From 9d54246bf7dad2129beb0add68295bfb530b8e23 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 21 Sep 2025 18:52:23 +0000 Subject: [PATCH 0001/1216] python3Packages.cogapp: 3.5.1 -> 3.6.0 --- pkgs/development/python-modules/cogapp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cogapp/default.nix b/pkgs/development/python-modules/cogapp/default.nix index 76b48aec073f..bd737273ca99 100644 --- a/pkgs/development/python-modules/cogapp/default.nix +++ b/pkgs/development/python-modules/cogapp/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "cogapp"; - version = "3.5.1"; + version = "3.6.0"; pyproject = true; src = fetchFromGitHub { owner = "nedbat"; repo = "cog"; tag = "v${version}"; - hash = "sha256-tUFqvG1SzoMc/cWAIOpNaf161KbRqscjNnxThg9slu8="; + hash = "sha256-46ojLTu1elNcjmWSKJuGKDG4XETLLnJDIpL2Al6/aX0="; }; build-system = [ setuptools ]; From 56d6e4a01be7eeaa98c65e47de46dbc8c36858e4 Mon Sep 17 00:00:00 2001 From: Bryan Richter Date: Mon, 13 Oct 2025 09:03:39 +0300 Subject: [PATCH 0002/1216] Revert "nixos/weechat: Drop user home directory configuration" This reverts commit e66ee6f45f1ce59a07a5fc88f2c95bb3dc06a01a. Fixes #390443 --- nixos/modules/services/misc/weechat.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix index 9c975336315a..f4607cf3fa8c 100644 --- a/nixos/modules/services/misc/weechat.nix +++ b/nixos/modules/services/misc/weechat.nix @@ -48,7 +48,9 @@ in users = { groups.weechat = { }; users.weechat = { + createHome = true; group = "weechat"; + home = cfg.root; isSystemUser = true; }; }; From 23c842ff8e31744cb65835c1d0916d1d9e1b79e1 Mon Sep 17 00:00:00 2001 From: Raphael Borun Das Gupta Date: Tue, 21 Oct 2025 09:07:19 +0200 Subject: [PATCH 0003/1216] python3{10,11,12,13}Packages.pytest-rerunfailures: 16.0.1 -> 16.1 diff: https://github.com/pytest-dev/pytest-rerunfailures/compare/16.0.1...16.1 --- .../python-modules/pytest-rerunfailures/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/pkgs/development/python-modules/pytest-rerunfailures/default.nix index afd0505c9dee..dd02efcf070f 100644 --- a/pkgs/development/python-modules/pytest-rerunfailures/default.nix +++ b/pkgs/development/python-modules/pytest-rerunfailures/default.nix @@ -11,16 +11,16 @@ buildPythonPackage rec { pname = "pytest-rerunfailures"; - version = "16.0.1"; + version = "16.1"; pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "pytest-dev"; repo = "pytest-rerunfailures"; tag = version; - hash = "sha256-4/BgvfVcs7MdULlhafZypNzzag4ITALStHI1tIoAPL4="; + hash = "sha256-EvjgqJQb4Nw7rn/wVLfHoq9iUnJ4vQ1kwSL5fetHv6M="; }; build-system = [ setuptools ]; From f9d44dca96c65c0ddb0003e32ea51b32252a8b7d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 4 Nov 2025 07:19:54 +0000 Subject: [PATCH 0004/1216] amf-headers: 1.4.36 -> 1.5.0 --- pkgs/by-name/am/amf-headers/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/am/amf-headers/package.nix b/pkgs/by-name/am/amf-headers/package.nix index 29d5dc1bf9ef..1b0c2e945f03 100644 --- a/pkgs/by-name/am/amf-headers/package.nix +++ b/pkgs/by-name/am/amf-headers/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "amf-headers"; - version = "1.4.36"; + version = "1.5.0"; src = fetchFromGitHub { owner = "GPUOpen-LibrariesAndSDKs"; repo = "AMF"; tag = "v${version}"; - sha256 = "sha256-0PgWEq+329/EhI0/CgPsCkJ4CiTsFe56w2O+AcjVUdc="; + sha256 = "sha256-ZVC1e4S5CNpfl3ewHR9aVfYwxDBE7/BJ6OyH2kF00fQ="; }; installPhase = '' From b0c0edfd73e4c0605ffd0abf2853dc051aa9d56a Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Tue, 26 Aug 2025 19:13:09 +0200 Subject: [PATCH 0005/1216] sourceHanPackages: move packages to toplevel only --- pkgs/data/fonts/source-han/default.nix | 14 +++++++------- pkgs/top-level/aliases.nix | 7 +++++++ pkgs/top-level/all-packages.nix | 17 +++++++++-------- pkgs/top-level/packages-config.nix | 1 - 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/pkgs/data/fonts/source-han/default.nix b/pkgs/data/fonts/source-han/default.nix index 4dc5c06fa11c..f68a2c75ca55 100644 --- a/pkgs/data/fonts/source-han/default.nix +++ b/pkgs/data/fonts/source-han/default.nix @@ -86,7 +86,7 @@ let }; in { - sans = makeSuperOTC { + source-han-sans = makeSuperOTC { family = "sans"; description = "sans-serif"; rev = "2.005R"; @@ -95,7 +95,7 @@ in prefix = "01_"; }; - serif = makeSuperOTC { + source-han-serif = makeSuperOTC { family = "serif"; description = "serif"; rev = "2.003R"; @@ -104,35 +104,35 @@ in prefix = "01_"; }; - mono = makeSuperOTC { + source-han-mono = makeSuperOTC { family = "mono"; description = "monospaced"; rev = "1.002"; hash = "sha256-DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME="; }; - sans-vf-otf = makeVariable { + source-han-sans-vf-otf = makeVariable { family = "sans"; version = "2.005"; hash = "sha256-7/THncqTE6IpPezcX14eYRRC8WR/xPv0XjfOPEfF8aU="; format = "otf"; }; - sans-vf-ttf = makeVariable { + source-han-sans-vf-ttf = makeVariable { family = "sans"; version = "2.005"; hash = "sha256-CL5kjZzCiNvdcwiFflTlarINpeYxvuqZH+4ayiIQdD8="; format = "ttf"; }; - serif-vf-otf = makeVariable { + source-han-serif-vf-otf = makeVariable { family = "serif"; version = "2.003"; hash = "sha256-a6295Ukha9QY5ByMr2FUy13j5gZ1itnezvfJWmJjqt0="; format = "otf"; }; - serif-vf-ttf = makeVariable { + source-han-serif-vf-ttf = makeVariable { family = "serif"; version = "2.003"; hash = "sha256-F+FUQunfyAEBVV10lZxC3dzGTWhHgHzpTO8CjC3n4WY="; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 47bc57b53499..bbcc86b704d7 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1384,6 +1384,13 @@ mapAliases { source-han-serif-korean = throw "'source-han-serif-korean' has been renamed to/replaced by 'source-han-serif'"; # Converted to throw 2025-10-27 source-han-serif-simplified-chinese = throw "'source-han-serif-simplified-chinese' has been renamed to/replaced by 'source-han-serif'"; # Converted to throw 2025-10-27 source-han-serif-traditional-chinese = throw "'source-han-serif-traditional-chinese' has been renamed to/replaced by 'source-han-serif'"; # Converted to throw 2025-10-27 + sourceHanPackages.mono = warnAlias "'sourceHanPackages.mono' has been renamed to ''source-han-mono" source-han-mono; # Added 2025-11-03 + sourceHanPackages.sans = warnAlias "'sourceHanPackages.sans' has been renamed to ''source-han-sans" source-han-sans; # Added 2025-11-03 + sourceHanPackages.sans-vf-otf = warnAlias "'sourceHanPackages.sans-vf-otf' has been renamed to ''source-han-sans-vf-otf" source-han-sans-vf-otf; # Added 2025-11-03 + sourceHanPackages.sans-vf-ttf = warnAlias "'sourceHanPackages.sans-vf-ttf' has been renamed to ''source-han-sans-vf-ttf" source-han-sans-vf-ttf; # Added 2025-11-03 + sourceHanPackages.serif = warnAlias "'sourceHanPackages.serif' has been renamed to ''source-han-serif" source-han-serif; # Added 2025-11-03 + sourceHanPackages.serif-vf-otf = warnAlias "'sourceHanPackages.serif-vf-otf' has been renamed to ''source-han-serif-vf-otf" source-han-serif-vf-otf; # Added 2025-11-03 + sourceHanPackages.serif-vf-ttf = warnAlias "'sourceHanPackages.serif-vf-ttf' has been renamed to ''source-han-serif-vf-ttf" source-han-serif-vf-ttf; # Added 2025-11-03 sourceHanSansPackages.japanese = throw "'sourceHanSansPackages.japanese' has been renamed to/replaced by 'source-han-sans'"; # Converted to throw 2025-10-27 sourceHanSansPackages.korean = throw "'sourceHanSansPackages.korean' has been renamed to/replaced by 'source-han-sans'"; # Converted to throw 2025-10-27 sourceHanSansPackages.simplified-chinese = throw "'sourceHanSansPackages.simplified-chinese' has been renamed to/replaced by 'source-han-sans'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe5ec8f968c8..78be5ef91121 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10596,14 +10596,15 @@ with pkgs; pretendard-std ; - sourceHanPackages = dontRecurseIntoAttrs (callPackage ../data/fonts/source-han { }); - source-han-sans = sourceHanPackages.sans; - source-han-serif = sourceHanPackages.serif; - source-han-mono = sourceHanPackages.mono; - source-han-sans-vf-otf = sourceHanPackages.sans-vf-otf; - source-han-sans-vf-ttf = sourceHanPackages.sans-vf-ttf; - source-han-serif-vf-otf = sourceHanPackages.serif-vf-otf; - source-han-serif-vf-ttf = sourceHanPackages.serif-vf-ttf; + inherit (callPackage ../data/fonts/source-han { }) + source-han-sans + source-han-serif + source-han-mono + source-han-sans-vf-otf + source-han-sans-vf-ttf + source-han-serif-vf-otf + source-han-serif-vf-ttf + ; tango-icon-theme = callPackage ../data/icons/tango-icon-theme { gtk = res.gtk2; diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index cb09d08eed98..078971b6e7df 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -12,7 +12,6 @@ lib.mapAttrs (_: set: lib.recurseIntoAttrs set) { inherit (super) rPackages - sourceHanPackages ; # emacsPackages is an alias for emacs.pkgs From 646a67d0a1400d2b6baa60a76bafd3189feabbcf Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 14 Nov 2025 22:32:21 +0000 Subject: [PATCH 0006/1216] serd: 0.32.4 -> 0.32.6 Changes: https://gitlab.com/drobilla/serd/-/blob/v0.32.6/NEWS?ref_type=tags --- pkgs/by-name/se/serd/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/se/serd/package.nix b/pkgs/by-name/se/serd/package.nix index f7deb8c01c13..8f55f417ee4b 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.4"; + version = "0.32.6"; outputs = [ "out" @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://download.drobilla.net/serd-${finalAttrs.version}.tar.xz"; - hash = "sha256-y++1aejbaGvoxpyzhmqVOMfLBV6PJCF91qRHHv+n00k="; + hash = "sha256-D74JSVL+F2uk2k8vdn3ftfYOZ+ZNF2G0ODoLhyz9Bxo="; }; nativeBuildInputs = [ From 9e861a1d02b32c3476732517f54ff86e728da3fb Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 17 Nov 2025 06:29:00 +0000 Subject: [PATCH 0007/1216] lilv: 0.24.26 -> 0.26.0 Changes: https://drobilla.net/2025/11/12/lilv-0-26-0.html --- pkgs/by-name/li/lilv/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/lilv/package.nix b/pkgs/by-name/li/lilv/package.nix index 9a1ecddac6f9..c72a97e0bda7 100644 --- a/pkgs/by-name/li/lilv/package.nix +++ b/pkgs/by-name/li/lilv/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { pname = "lilv"; - version = "0.24.26"; + version = "0.26.0"; outputs = [ "out" @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://download.drobilla.net/${pname}-${version}.tar.xz"; - hash = "sha256-Iv7tMLwPlSOEolwvb0sE5tQ4NkCHmO1lqKk0wFXV2Kw="; + hash = "sha256-kS+dAlprXZYkTY3FHnXb/GeT45h2tTwZbboWYjCNt/A="; }; nativeBuildInputs = [ From f1159132b8c47272e3eaa29222eb46833f9bce29 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 19 Nov 2025 22:06:38 +0000 Subject: [PATCH 0008/1216] freeglut: 3.6.0 -> 3.8.0 Changes: https://github.com/freeglut/freeglut/releases/tag/v3.8.0 --- pkgs/by-name/fr/freeglut/package.nix | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/fr/freeglut/package.nix b/pkgs/by-name/fr/freeglut/package.nix index 4397b47e08d5..9f5598e552b1 100644 --- a/pkgs/by-name/fr/freeglut/package.nix +++ b/pkgs/by-name/fr/freeglut/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchurl, - fetchpatch, libICE, libXext, libXi, @@ -16,29 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "freeglut"; - version = "3.6.0"; + version = "3.8.0"; src = fetchurl { url = "mirror://sourceforge/freeglut/freeglut-${finalAttrs.version}.tar.gz"; - sha256 = "sha256-nD1NZRb7+gKA7ck8d2mPtzA+RDwaqvN9Jp4yiKbD6lI="; + hash = "sha256-Z03K/yUBDgnkUK7EWLiHDZ6YxG+ZU420V6tlmzIdmYk="; }; - patches = [ - (fetchpatch { - name = "freeglut-fix-cmake-4.patch"; - url = "https://github.com/freeglut/freeglut/commit/2294389397912c9a6505a88221abb7dca0a4fb79.patch"; - hash = "sha256-buNhlVUbDekklnar6KFWN/GUKE+jMEqTGrY3LY0LwVs="; - }) - - # Fix build with gcc15 - # https://github.com/freeglut/freeglut/pull/187 - (fetchpatch { - name = "freeglut-fix-fgPlatformDestroyContext-prototype-for-C23.patch"; - url = "https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338.patch"; - hash = "sha256-agXw3JHq81tx5514kkorvuU5mX4E3AV930hy1OJl4L0="; - }) - ]; - outputs = [ "out" "dev" From f6a56a06a057887c7c050713648558464e3e5a03 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 20 Nov 2025 06:44:01 +0000 Subject: [PATCH 0009/1216] bmake: 20250804 -> 20251111 --- pkgs/by-name/bm/bmake/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bm/bmake/package.nix b/pkgs/by-name/bm/bmake/package.nix index a762ea5eadda..8c7c6841cf3e 100644 --- a/pkgs/by-name/bm/bmake/package.nix +++ b/pkgs/by-name/bm/bmake/package.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "bmake"; - version = "20250804"; + version = "20251111"; src = fetchurl { url = "https://www.crufty.net/ftp/pub/sjg/bmake-${finalAttrs.version}.tar.gz"; - hash = "sha256-C0kDdkSyUyBtLnENRuMoWeYt/ixsjnIYrkOfLvUN6K0="; + hash = "sha256-RaP4UVZ3uo85M9ghP0u2EaXDyIOAvi5GIi+kRwlQYGA="; }; patches = [ From 82cfb9af55de5bb24b0e50aec2a36fefe52011fc Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 30 Nov 2025 11:03:06 +0000 Subject: [PATCH 0010/1216] linuxPackages_latest.systemtap: 5.2 -> 5.4 --- pkgs/by-name/sy/systemtap-unwrapped/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sy/systemtap-unwrapped/package.nix b/pkgs/by-name/sy/systemtap-unwrapped/package.nix index 22109e888eff..820eb2cf263b 100644 --- a/pkgs/by-name/sy/systemtap-unwrapped/package.nix +++ b/pkgs/by-name/sy/systemtap-unwrapped/package.nix @@ -4,6 +4,7 @@ fetchgit, pkg-config, gettext, + boost, cpio, elfutils, python3, @@ -11,12 +12,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "systemtap"; - version = "5.2"; + version = "5.4"; src = fetchgit { url = "git://sourceware.org/git/systemtap.git"; rev = "release-${finalAttrs.version}"; - hash = "sha256-SUPNarZW8vdK9hQaI2kU+rfKWIPiXB4BvJvRNC1T9tU="; + hash = "sha256-11ecQFiBaWOZcbS5Qqf/41heiJM1wSttx0eMoVQImZc="; }; nativeBuildInputs = [ @@ -26,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: { python3.pkgs.setuptools ]; buildInputs = [ + boost elfutils gettext python3 From a07a72737159175ad58420e92e1660d0f2168875 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 30 Nov 2025 12:30:48 +0000 Subject: [PATCH 0011/1216] ed: 1.22.2 -> 1.22.3 --- pkgs/by-name/ed/ed/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/ed/package.nix b/pkgs/by-name/ed/ed/package.nix index 46e352ef2c68..72c63580d2ae 100644 --- a/pkgs/by-name/ed/ed/package.nix +++ b/pkgs/by-name/ed/ed/package.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "ed"; - version = "1.22.2"; + version = "1.22.3"; src = fetchurl { url = "mirror://gnu/ed/ed-${finalAttrs.version}.tar.lz"; - hash = "sha256-9Y0VJCBW4Vr3bxPzTGDYkPoqLVywq++RwRXk2DeU/+M="; + hash = "sha256-R6Vd38UtSh/291WfvQDPlIoWts8VHsUgOSdhrq5Ol74="; }; nativeBuildInputs = [ lzip ]; From 4ef2a18e9e358202347b9a67418bf7f1e51f7322 Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 25 Nov 2025 14:20:25 +0100 Subject: [PATCH 0012/1216] nixos/restic-rest-server: set ReusePort=true for socket to make restarts more robust --- nixos/modules/services/backup/restic-rest-server.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index e8d34e879dc5..4abe906388a6 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -134,6 +134,9 @@ in systemd.sockets.restic-rest-server = { listenStreams = [ cfg.listenAddress ]; wantedBy = [ "sockets.target" ]; + socketConfig = { + ReusePort = true; + }; }; systemd.tmpfiles.rules = lib.mkIf cfg.privateRepos [ From f02f30a021790004f211f988f2ca047127c848e5 Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 25 Nov 2025 14:21:35 +0100 Subject: [PATCH 0013/1216] nixos/restic-rest-server: set FreeBind=true for socket... in order to allow binding to not (yet) locally available interfaces. man 5 systemd.socket says: > For robustness reasons it is recommended to use this option > whenever you bind a socket to a specific IP address. --- nixos/modules/services/backup/restic-rest-server.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index 4abe906388a6..6b374e0b0213 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -136,6 +136,7 @@ in wantedBy = [ "sockets.target" ]; socketConfig = { ReusePort = true; + FreeBind = true; }; }; From 5c5876f84e0cb85438489405ba9bdc247c6ad43f Mon Sep 17 00:00:00 2001 From: Julia Brunenberg Date: Mon, 1 Dec 2025 11:51:48 +0100 Subject: [PATCH 0014/1216] mvoice: init at 0-unstable-2025-09-19 --- pkgs/by-name/mv/mvoice/package.nix | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 pkgs/by-name/mv/mvoice/package.nix diff --git a/pkgs/by-name/mv/mvoice/package.nix b/pkgs/by-name/mv/mvoice/package.nix new file mode 100644 index 000000000000..d5d9b1edb92f --- /dev/null +++ b/pkgs/by-name/mv/mvoice/package.nix @@ -0,0 +1,82 @@ +{ + lib, + stdenv, + gettext, + fltk-minimal, + alsa-lib, + opendht, + msgpack-cxx, + fmt, + gnutls, + nlohmann_json, + curl, + copyDesktopItems, + makeDesktopItem, + fetchFromGitHub, +}: +stdenv.mkDerivation { + pname = "mvoice"; + version = "0-unstable-2025-09-19"; + + src = fetchFromGitHub { + owner = "n7tae"; + repo = "mvoice"; + rev = "aef3662ee6ef86ecb10a71dd686ca41a067162c0"; + hash = "sha256-FosfD1949shlPXq594gdqodlXM3cGKpFi68tc+/YQ4g="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + copyDesktopItems + fltk-minimal + gettext + ]; + + buildInputs = [ + alsa-lib + curl + fltk-minimal + fmt + gnutls + msgpack-cxx + nlohmann_json + opendht + ]; + + desktopItems = [ + (makeDesktopItem { + name = "mvoice"; + desktopName = "MVoice"; + comment = "MVoice by N7TAE - M17 figital voice gateway"; + exec = "mvoice"; + categories = [ + "Network" + "X-Ham Radio" + ]; + }) + ]; + + postPatch = '' + # fix hardcoded paths in Makefile + substituteInPlace Makefile \ + --replace-fail "g++" "\$(CXX)" \ + --replace-fail "/bin/cp" "cp" + ''; + + makeFlags = [ + "BASEDIR=$(out)" + "CFGDIR=.config/mvoice" + "DEBUG=false" + "USE44100=false" + "USE_DHT=true" + ]; + + meta = { + description = "M17 digital voice gateway and module for voice and data modes"; + homepage = "https://github.com/n7tae/mvoice"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.juliabru ]; + }; +} From 7021a565aaa91b181c38d2ccbd0aee688f591c29 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 5 Dec 2025 05:16:00 +0000 Subject: [PATCH 0015/1216] guile: 3.0.10 -> 3.0.11 --- pkgs/development/interpreters/guile/3.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix index 979c1acb5671..9eb59f1130f9 100644 --- a/pkgs/development/interpreters/guile/3.0.nix +++ b/pkgs/development/interpreters/guile/3.0.nix @@ -26,11 +26,11 @@ let in builder rec { pname = "guile"; - version = "3.0.10"; + version = "3.0.11"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-vXFoUX/VJjM0RtT3q4FlJ5JWNAlPvTcyLhfiuNjnY4g="; + sha256 = "sha256-gYx50jZlen+pb7NkE3zHtBs73uDWXGF0ygN2lVlXlGA="; }; outputs = [ From a8b4088124f80293ac2e6a09a48a01214605626c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 6 Dec 2025 11:06:58 -0800 Subject: [PATCH 0016/1216] python3Packages.trove-classifiers: 2025.11.14.15 -> 2025.12.1.14 Changelog: https://github.com/pypa/trove-classifiers/releases/tag/2025.12.1.14 --- pkgs/development/python-modules/trove-classifiers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/trove-classifiers/default.nix b/pkgs/development/python-modules/trove-classifiers/default.nix index a13f3db23913..97b6fb4e6ead 100644 --- a/pkgs/development/python-modules/trove-classifiers/default.nix +++ b/pkgs/development/python-modules/trove-classifiers/default.nix @@ -10,13 +10,13 @@ let self = buildPythonPackage rec { pname = "trove-classifiers"; - version = "2025.11.14.15"; + version = "2025.12.1.14"; pyproject = true; src = fetchPypi { pname = "trove_classifiers"; inherit version; - hash = "sha256-a2D0nUC72JW8YdjcQU/C8ihtcOty7SNUjbjPlPYoBMo="; + hash = "sha256-p08EAFJPyDYgqb50oHB0tcvnWU/U2X/Uwr/eYl/cFjM="; }; postPatch = '' From 9999bd59d0785859cf4472900448f98ae533c634 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 9 Dec 2025 01:01:52 +0100 Subject: [PATCH 0017/1216] c-ares: 1.34.5 -> 1.34.6 https://c-ares.org/changelog.html#1_34_6 https://github.com/c-ares/c-ares/security/advisories/GHSA-jq53-42q6-pqr5 Fixes: CVE-2025-62408 --- pkgs/development/libraries/c-ares/default.nix | 9 +--- .../c-ares/fix-link-local-dns-servers.patch | 50 ------------------- 2 files changed, 2 insertions(+), 57 deletions(-) delete mode 100644 pkgs/development/libraries/c-ares/fix-link-local-dns-servers.patch diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index 3bd0f48bc8f6..9dfa4a1679ea 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -18,19 +18,14 @@ stdenv.mkDerivation rec { pname = "c-ares"; - version = "1.34.5"; + version = "1.34.6"; 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-fZNXkOmvCBwlxJX9E8LPzaR5KYNBjpY1jvbnMg7gY0Y="; + hash = "sha256-kS3XzDs+innFL9f7nA9Ozwqqc+Re/aiAJmotbia4TvU="; }; - patches = [ - # Fix being unable to use Ipv6 link-local DNS servers. See: https://github.com/c-ares/c-ares/pull/997. - ./fix-link-local-dns-servers.patch - ]; - outputs = [ "out" "dev" diff --git a/pkgs/development/libraries/c-ares/fix-link-local-dns-servers.patch b/pkgs/development/libraries/c-ares/fix-link-local-dns-servers.patch deleted file mode 100644 index 07a5b5f2084c..000000000000 --- a/pkgs/development/libraries/c-ares/fix-link-local-dns-servers.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0fbeb87f65ad9e9e6cead10d778291db71489f34 Mon Sep 17 00:00:00 2001 -From: iucoen <68678186+iucoen@users.noreply.github.com> -Date: Thu, 5 Jun 2025 20:08:43 -0700 -Subject: [PATCH] Fix IPv6 link-local nameservers in /etc/resolv.conf (#997) - -There are two issues that broke link-local nameservers in resolv.conf -1. channel->sock_funcs needs to be initialized before -ares_init_by_sysconfig() -2. The aif_nametoindex and aif_indextoname function pointers were not -initlized at all. ---- - src/lib/ares_init.c | 4 ++-- - src/lib/ares_set_socket_functions.c | 2 ++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/lib/ares_init.c b/src/lib/ares_init.c -index ae78262a11..ce6181833c 100644 ---- a/src/lib/ares_init.c -+++ b/src/lib/ares_init.c -@@ -271,6 +271,8 @@ int ares_init_options(ares_channel_t **channelptr, - goto done; - } - -+ ares_set_socket_functions_def(channel); -+ - /* Initialize Server List */ - channel->servers = - ares_slist_create(channel->rand_state, server_sort_cb, server_destroy_cb); -@@ -346,8 +348,6 @@ int ares_init_options(ares_channel_t **channelptr, - goto done; - } - -- ares_set_socket_functions_def(channel); -- - /* Initialize the event thread */ - if (channel->optmask & ARES_OPT_EVENT_THREAD) { - ares_event_thread_t *e = NULL; -diff --git a/src/lib/ares_set_socket_functions.c b/src/lib/ares_set_socket_functions.c -index cfe434327d..9994e81df5 100644 ---- a/src/lib/ares_set_socket_functions.c -+++ b/src/lib/ares_set_socket_functions.c -@@ -127,6 +127,8 @@ ares_status_t - channel->sock_funcs.asendto = funcs->asendto; - channel->sock_funcs.agetsockname = funcs->agetsockname; - channel->sock_funcs.abind = funcs->abind; -+ channel->sock_funcs.aif_nametoindex = funcs->aif_nametoindex; -+ channel->sock_funcs.aif_indextoname = funcs->aif_indextoname; - } - - /* Implement newer versions here ...*/ \ No newline at end of file From 5cd23047dcc3c3c705ea00a6a0bf080c7343955d Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 9 Dec 2025 04:18:15 +0000 Subject: [PATCH 0018/1216] at-spi2-core: fix eval for static platforms e.g. `pkgsStatic.at-spi2-core`. the postFixup stage references `wrapGAppsHook`, which would ordinarily handle dconf. in fact `wrapGAppsHook` conditions `dconf` based on availability so do the same here. see: pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix --- pkgs/by-name/at/at-spi2-core/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/at/at-spi2-core/package.nix b/pkgs/by-name/at/at-spi2-core/package.nix index 1ca88332ea10..040a9fab558e 100644 --- a/pkgs/by-name/at/at-spi2-core/package.nix +++ b/pkgs/by-name/at/at-spi2-core/package.nix @@ -7,6 +7,7 @@ pkg-config, gobject-introspection, buildPackages, + withDconf ? !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform dconf, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages, @@ -102,7 +103,7 @@ stdenv.mkDerivation rec { postFixup = '' # Cannot use wrapGAppsHook'due to a dependency cycle wrapProgram $out/libexec/at-spi-bus-launcher \ - --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" \ + ${lib.optionalString withDconf ''--prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"''} \ --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} ''; From 9554ffdead150c8cea0afc92d54aad0f420d7fd0 Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 9 Dec 2025 04:39:31 +0000 Subject: [PATCH 0019/1216] at-spi2-core: fix build for static platforms fixes `nix-build -A pkgsStatic.at-spi2-core` --- pkgs/by-name/at/at-spi2-core/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/at/at-spi2-core/package.nix b/pkgs/by-name/at/at-spi2-core/package.nix index 040a9fab558e..9e16504031fd 100644 --- a/pkgs/by-name/at/at-spi2-core/package.nix +++ b/pkgs/by-name/at/at-spi2-core/package.nix @@ -91,6 +91,13 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (!systemdSupport) [ "-Duse_systemd=false" + ] + ++ lib.optionals (!withIntrospection) [ + (lib.mesonEnable "introspection" false) + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + # The adaptor is only available as a shared object, as gtk2 loads it dynamically + (lib.mesonBool "gtk2_atk_adaptor" false) ]; passthru = { From 16e156491b6035a7a941480187db40f1bd466195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 9 Dec 2025 17:13:24 -0800 Subject: [PATCH 0020/1216] python3Packages.backports-zstd: 1.1.0 -> 1.2.0 Diff: https://github.com/rogdham/backports.zstd/compare/v1.1.0...v1.2.0 Changelog: https://github.com/rogdham/backports.zstd/blob/v1.2.0/CHANGELOG.md --- pkgs/development/python-modules/backports-zstd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/backports-zstd/default.nix b/pkgs/development/python-modules/backports-zstd/default.nix index ec965af56c47..8d29cfcf48bd 100644 --- a/pkgs/development/python-modules/backports-zstd/default.nix +++ b/pkgs/development/python-modules/backports-zstd/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "backports-zstd"; - version = "1.1.0"; + version = "1.2.0"; pyproject = true; src = fetchFromGitHub { @@ -20,7 +20,7 @@ buildPythonPackage rec { postFetch = '' rm -r "$out/src/c/zstd" ''; - hash = "sha256-qgPtLl8oPvM9XDlW72NNX1JqCxzcnLlHyUNNxU9e2PY="; + hash = "sha256-qKobd0TSdZhaBJlitWkRF4zj3Td8fk97GhXp2gZM1Ic="; }; postPatch = '' From 7b764c8da3637ebd53848e85071e793e77b98309 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 12 Dec 2025 00:08:42 +0000 Subject: [PATCH 0021/1216] libdrm: 2.4.129 -> 2.4.131 Changes: - https://lists.x.org/archives/xorg-announce/2025-December/003646.html - https://lists.x.org/archives/xorg-announce/2025-December/003647.html --- pkgs/by-name/li/libdrm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libdrm/package.nix b/pkgs/by-name/li/libdrm/package.nix index a56344d168b2..8edb48ef2fe8 100644 --- a/pkgs/by-name/li/libdrm/package.nix +++ b/pkgs/by-name/li/libdrm/package.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "libdrm"; - version = "2.4.129"; + version = "2.4.131"; src = fetchurl { url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-WXgYP5eNaX4mpQugZhdJZO+wq5fKoeyqG4Yfvl3fd9w="; + hash = "sha256-RbqZg7UciWQGo9ZU3oHTE7lTt25jkeJ5cHPVQ8X2F9U="; }; outputs = [ From c44a597a9148d9e6ef790c1c063dace82c0ce368 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Thu, 11 Dec 2025 15:24:04 +0100 Subject: [PATCH 0022/1216] tzdata: 2025b -> 2025c https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/message/TAGXKYLMAQRZRFTERQ33CEKOW7KRJVAK/ --- pkgs/by-name/tz/tzdata/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tz/tzdata/package.nix b/pkgs/by-name/tz/tzdata/package.nix index 773419da35cb..146b46dc230d 100644 --- a/pkgs/by-name/tz/tzdata/package.nix +++ b/pkgs/by-name/tz/tzdata/package.nix @@ -8,16 +8,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "tzdata"; - version = "2025b"; + version = "2025c"; srcs = [ (fetchurl { url = "https://data.iana.org/time-zones/releases/tzdata${finalAttrs.version}.tar.gz"; - hash = "sha256-EYEEEzRfx4BQF+J+qfpIhf10zWGykRcRrQOPXSjXFHQ="; + hash = "sha256-SqeeTv/uU/xAKf/l9uvpeTcoLrzfOG1dLakc6EFC+Vc="; }) (fetchurl { url = "https://data.iana.org/time-zones/releases/tzcode${finalAttrs.version}.tar.gz"; - hash = "sha256-Bfj+2zUl7nDUnIfT+ueKig265P6HqlZcZc2plIrhNew="; + hash = "sha256-aX6+ZiVESu9QgPWOSdA0JLu1Lgi/SD0921rPEMvRV0A="; }) ]; From 25f0d1212e1bbc65cf2cc8052c6143a6b9fe3e91 Mon Sep 17 00:00:00 2001 From: Alexander Bantyev Date: Sat, 13 Dec 2025 00:02:59 +0100 Subject: [PATCH 0023/1216] perl: add tests.withCheck Adds perl.passthru.tests.withCheck, which runs the test suite provided with perl. --- pkgs/development/interpreters/perl/default.nix | 3 +++ pkgs/development/interpreters/perl/interpreter.nix | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 8fc7b5dd07a3..cab0ea1a2268 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -12,6 +12,7 @@ let perlOnHostForHost, perlOnTargetForTarget, perlAttr ? null, + tests ? { }, self, # is perlOnHostForTarget }: let @@ -64,6 +65,8 @@ let inherit overrides; self = perlOnBuild; }; + + inherit tests; }; in diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index ee59b10344c5..7d8faef7f0f6 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -46,7 +46,8 @@ let in stdenv.mkDerivation ( - rec { + finalAttrs: + { inherit version; pname = "perl"; @@ -257,9 +258,16 @@ stdenv.mkDerivation ( perlOnHostForHost = override pkgsHostHost.${perlAttr}; perlOnTargetForTarget = if lib.hasAttr perlAttr pkgsTargetTarget then (override pkgsTargetTarget.${perlAttr}) else { }; - }; - doCheck = false; # some tests fail, expensive + tests.withCheck = finalAttrs.finalPackage.overrideAttrs (_: { + preCheck = '' + # Weird test failure, can't even understand what it's about + # Disable the test for now + sed -i '/ext\/Pod-Html\/t\/htmldir3.*/d' MANIFEST + ''; + doCheck = true; + }); + }; # TODO: it seems like absolute paths to some coreutils is required. postInstall = '' From d7b24b856e0b11feb92dd633d155ca98731f6601 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 13 Dec 2025 10:30:09 +0100 Subject: [PATCH 0024/1216] stdenv: fix prefixKey for structuredAttrs --- pkgs/stdenv/generic/setup.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index f051ae6c7d44..5c047faafcf6 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1455,7 +1455,16 @@ configurePhase() { fi if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then - prependToVar configureFlags "${prefixKey:---prefix=}$prefix" + # For __structuredAttrs: if prefixKey ends in a space, + # we need to add the prefixKey and the prefix as separate entries, + # and since we prepend, we do it in reverse order. + local -r prefixKeyOrDefault="${prefixKey:---prefix=}" + if [ "${prefixKeyOrDefault: -1}" = " " ]; then + prependToVar configureFlags "$prefix" + prependToVar configureFlags "${prefixKeyOrDefault::-1}" + else + prependToVar configureFlags "$prefixKeyOrDefault$prefix" + fi fi if [[ -f "$configureScript" ]]; then From 022b6ae355c2ba3af6917c548c731451dbca5424 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 13 Dec 2025 10:30:25 +0100 Subject: [PATCH 0025/1216] eresi: enable structuredAttrs --- pkgs/by-name/er/eresi/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/er/eresi/package.nix b/pkgs/by-name/er/eresi/package.nix index 817cd76ef664..0e2783ad658b 100644 --- a/pkgs/by-name/er/eresi/package.nix +++ b/pkgs/by-name/er/eresi/package.nix @@ -84,6 +84,8 @@ stdenv.mkDerivation rec { installTargets = lib.singleton "install" ++ lib.optional stdenv.hostPlatform.is64bit "install64"; + __structuredAttrs = true; + meta = { description = "ERESI Reverse Engineering Software Interface"; license = lib.licenses.gpl2Only; From 161fd0c2dc5cd1f1fd68658e54ad108a20aedcb1 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 13 Dec 2025 11:26:06 +0100 Subject: [PATCH 0026/1216] go: enable structuredAttrs --- pkgs/development/compilers/go/1.24.nix | 77 +++++++++++++++----------- pkgs/development/compilers/go/1.25.nix | 77 +++++++++++++++----------- 2 files changed, 90 insertions(+), 64 deletions(-) diff --git a/pkgs/development/compilers/go/1.24.nix b/pkgs/development/compilers/go/1.24.nix index b1fd87ac1a6e..5c4277e3af7e 100644 --- a/pkgs/development/compilers/go/1.24.nix +++ b/pkgs/development/compilers/go/1.24.nix @@ -64,35 +64,38 @@ stdenv.mkDerivation (finalAttrs: { ./go-env-go_ldso.patch ]; - inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; - # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. - # Go will nevertheless build a for host system that we will copy over in - # the install phase. - GOHOSTOS = stdenv.buildPlatform.go.GOOS; - GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; + env = { + inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; + # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. + # Go will nevertheless build a for host system that we will copy over in + # the install phase. + GOHOSTOS = stdenv.buildPlatform.go.GOOS; + GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; - # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those - # to be different from CC/CXX - CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; - CXX_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}c++" else null; + GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 + # Wasi does not support CGO + # ppc64/linux CGO is incomplete/borked, and will likely not receive any further improvements + # https://github.com/golang/go/issues/8912 + # https://github.com/golang/go/issues/13192 + CGO_ENABLED = + if + ( + stdenv.targetPlatform.isWasi + || (stdenv.targetPlatform.isPower64 && stdenv.targetPlatform.isBigEndian) + ) + then + 0 + else + 1; - GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 - # Wasi does not support CGO - # ppc64/linux CGO is incomplete/borked, and will likely not receive any further improvements - # https://github.com/golang/go/issues/8912 - # https://github.com/golang/go/issues/13192 - CGO_ENABLED = - if - ( - stdenv.targetPlatform.isWasi - || (stdenv.targetPlatform.isPower64 && stdenv.targetPlatform.isBigEndian) - ) - then - 0 - else - 1; - - GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + } + // lib.optionalAttrs isCross { + # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those + # to be different from CC/CXX + CC_FOR_TARGET = "${targetCC}/bin/${targetCC.targetPrefix}cc"; + CXX_FOR_TARGET = "${targetCC}/bin/${targetCC.targetPrefix}c++"; + }; buildPhase = '' runHook preBuild @@ -112,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: { # interpreter for cross # When CGO is not supported we rely on static binaries being built # since they don't need an ELF interpreter - export GO_EXTLINK_ENABLED=${toString finalAttrs.CGO_ENABLED} + export GO_EXTLINK_ENABLED=${toString finalAttrs.env.CGO_ENABLED} ''} ulimit -a @@ -133,9 +136,13 @@ stdenv.mkDerivation (finalAttrs: { mv bin/*_*/* bin rmdir bin/*_* ${lib.optionalString - (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + ( + !( + finalAttrs.env.GOHOSTARCH == finalAttrs.env.GOARCH && finalAttrs.env.GOOS == finalAttrs.env.GOHOSTOS + ) + ) '' - rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} + rm -rf pkg/${finalAttrs.env.GOHOSTOS}_${finalAttrs.env.GOHOSTARCH} pkg/tool/${finalAttrs.env.GOHOSTOS}_${finalAttrs.env.GOHOSTARCH} '' } '' @@ -143,9 +150,13 @@ stdenv.mkDerivation (finalAttrs: { lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' rm -rf bin/*_* ${lib.optionalString - (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + ( + !( + finalAttrs.env.GOHOSTARCH == finalAttrs.env.GOARCH && finalAttrs.env.GOOS == finalAttrs.env.GOHOSTOS + ) + ) '' - rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH} + rm -rf pkg/${finalAttrs.env.GOOS}_${finalAttrs.env.GOARCH} pkg/tool/${finalAttrs.env.GOOS}_${finalAttrs.env.GOARCH} '' } '' @@ -170,6 +181,8 @@ stdenv.mkDerivation (finalAttrs: { }; }; + __structuredAttrs = true; + meta = { changelog = "https://go.dev/doc/devel/release#go${lib.versions.majorMinor finalAttrs.version}"; description = "Go Programming language"; diff --git a/pkgs/development/compilers/go/1.25.nix b/pkgs/development/compilers/go/1.25.nix index fe7dba89c6b8..9d1f55ffbc5d 100644 --- a/pkgs/development/compilers/go/1.25.nix +++ b/pkgs/development/compilers/go/1.25.nix @@ -65,35 +65,38 @@ stdenv.mkDerivation (finalAttrs: { ./go-env-go_ldso.patch ]; - inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; - # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. - # Go will nevertheless build a for host system that we will copy over in - # the install phase. - GOHOSTOS = stdenv.buildPlatform.go.GOOS; - GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; + env = { + inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; + # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. + # Go will nevertheless build a for host system that we will copy over in + # the install phase. + GOHOSTOS = stdenv.buildPlatform.go.GOOS; + GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; - # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those - # to be different from CC/CXX - CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; - CXX_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}c++" else null; + GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 + # Wasi does not support CGO + # ppc64/linux CGO is incomplete/borked, and will likely not receive any further improvements + # https://github.com/golang/go/issues/8912 + # https://github.com/golang/go/issues/13192 + CGO_ENABLED = + if + ( + stdenv.targetPlatform.isWasi + || (stdenv.targetPlatform.isPower64 && stdenv.targetPlatform.isBigEndian) + ) + then + 0 + else + 1; - GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 - # Wasi does not support CGO - # ppc64/linux CGO is incomplete/borked, and will likely not receive any further improvements - # https://github.com/golang/go/issues/8912 - # https://github.com/golang/go/issues/13192 - CGO_ENABLED = - if - ( - stdenv.targetPlatform.isWasi - || (stdenv.targetPlatform.isPower64 && stdenv.targetPlatform.isBigEndian) - ) - then - 0 - else - 1; - - GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + } + // lib.optionalAttrs isCross { + # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those + # to be different from CC/CXX + CC_FOR_TARGET = "${targetCC}/bin/${targetCC.targetPrefix}cc"; + CXX_FOR_TARGET = "${targetCC}/bin/${targetCC.targetPrefix}c++"; + }; buildPhase = '' runHook preBuild @@ -113,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: { # interpreter for cross # When CGO is not supported we rely on static binaries being built # since they don't need an ELF interpreter - export GO_EXTLINK_ENABLED=${toString finalAttrs.CGO_ENABLED} + export GO_EXTLINK_ENABLED=${toString finalAttrs.env.CGO_ENABLED} ''} ulimit -a @@ -134,9 +137,13 @@ stdenv.mkDerivation (finalAttrs: { mv bin/*_*/* bin rmdir bin/*_* ${lib.optionalString - (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + ( + !( + finalAttrs.env.GOHOSTARCH == finalAttrs.env.GOARCH && finalAttrs.env.GOOS == finalAttrs.env.GOHOSTOS + ) + ) '' - rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} + rm -rf pkg/${finalAttrs.env.GOHOSTOS}_${finalAttrs.env.GOHOSTARCH} pkg/tool/${finalAttrs.env.GOHOSTOS}_${finalAttrs.env.GOHOSTARCH} '' } '' @@ -144,9 +151,13 @@ stdenv.mkDerivation (finalAttrs: { lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' rm -rf bin/*_* ${lib.optionalString - (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + ( + !( + finalAttrs.env.GOHOSTARCH == finalAttrs.env.GOARCH && finalAttrs.env.GOOS == finalAttrs.env.GOHOSTOS + ) + ) '' - rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH} + rm -rf pkg/${finalAttrs.env.GOOS}_${finalAttrs.env.GOARCH} pkg/tool/${finalAttrs.env.GOOS}_${finalAttrs.env.GOARCH} '' } '' @@ -171,6 +182,8 @@ stdenv.mkDerivation (finalAttrs: { }; }; + __structuredAttrs = true; + meta = { changelog = "https://go.dev/doc/devel/release#go${lib.versions.majorMinor finalAttrs.version}"; description = "Go Programming language"; From 176c6512ba96423c2c2ee921dbb215b17480a126 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sun, 30 Nov 2025 12:48:57 -0500 Subject: [PATCH 0027/1216] darwin.libcxx: 19.1.2+apple-sdk-15.5 -> 20.1.0+apple-sdk-26.0 --- pkgs/os-specific/darwin/libcxx/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/libcxx/default.nix b/pkgs/os-specific/darwin/libcxx/default.nix index f1a0e63833b5..dd5b8694518a 100644 --- a/pkgs/os-specific/darwin/libcxx/default.nix +++ b/pkgs/os-specific/darwin/libcxx/default.nix @@ -1,7 +1,7 @@ { # Use the text-based stubs and headers from the latest SDK (currently 15.x). This is safe because # using features that are not available on an older deployment target is a hard error. - apple-sdk_15, + apple-sdk_26, stdenvNoCC, }: @@ -9,8 +9,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "libcxx"; # Keep this in sync with the corresponding LLVM libc++ version # defined as `_LIBCPP_VERSION` in `usr/include/c++/v1/__config`. - version = "19.1.2+apple-sdk-${apple-sdk_15.version}"; - inherit (apple-sdk_15) src; + version = "20.1.0+apple-sdk-${apple-sdk_26.version}"; + inherit (apple-sdk_26) src; dontConfigure = true; dontBuild = true; From 50776d0e56eb99bbe1401e13489091186dbd445e Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 27 Nov 2025 11:27:55 -0500 Subject: [PATCH 0028/1216] apple-sdk: drop `FamilyDisplayName` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The correct setting name is actually `PlatformFamilyDisplayName`, which comes from the SDK in `SDKSettings.json`. It’s not part of `Info.plist`. --- pkgs/by-name/ap/apple-sdk/common/plists.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/ap/apple-sdk/common/plists.nix b/pkgs/by-name/ap/apple-sdk/common/plists.nix index 70184d89429b..a79581e7767d 100644 --- a/pkgs/by-name/ap/apple-sdk/common/plists.nix +++ b/pkgs/by-name/ap/apple-sdk/common/plists.nix @@ -16,7 +16,6 @@ let STRIP_PNG_TEXT = "NO"; }; Description = if stdenvNoCC.hostPlatform.isMacOS then "macOS" else "iOS"; - FamilyDisplayName = Description; FamilyIdentifier = lib.toLower xcodePlatform; FamilyName = Description; Identifier = CFBundleIdentifier; From a601aca3693be49cbaa18de023537e0593bccefa Mon Sep 17 00:00:00 2001 From: illustris Date: Wed, 26 Nov 2025 13:23:50 +0530 Subject: [PATCH 0029/1216] proxmox-auto-install-assistant: 9.0.7 -> 9.1.6 --- .../proxmox-auto-install-assistant/Cargo.lock | 613 ++++++++---------- .../locale-info.json | 2 +- .../package.nix | 28 +- 3 files changed, 293 insertions(+), 350 deletions(-) diff --git a/pkgs/by-name/pr/proxmox-auto-install-assistant/Cargo.lock b/pkgs/by-name/pr/proxmox-auto-install-assistant/Cargo.lock index 371a2fd33482..909cb230ddfb 100644 --- a/pkgs/by-name/pr/proxmox-auto-install-assistant/Cargo.lock +++ b/pkgs/by-name/pr/proxmox-auto-install-assistant/Cargo.lock @@ -15,7 +15,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -23,18 +23,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] name = "anyhow" -version = "1.0.99" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "autocfg" @@ -44,9 +44,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-lc-rs" -version = "1.14.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b8ff6c09cd57b16da53641caa860168b88c172a5ee163b0288d3d6eea12786" +checksum = "6b5ce75405893cd713f9ab8e297d8e438f624dde7d706108285f7e17a25a180f" dependencies = [ "aws-lc-sys", "zeroize", @@ -54,11 +54,10 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.31.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e44d16778acaf6a9ec9899b92cebd65580b83f685446bf2e1f5d3d732f99dcd" +checksum = "179c3777a8b5e70e90ea426114ffc565b2c1a9f82f6c4a0c5a34aa6ef5e781b6" dependencies = [ - "bindgen", "cc", "cmake", "dunce", @@ -77,31 +76,11 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "bindgen" -version = "0.72.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn", -] - [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] name = "block-buffer" @@ -114,9 +93,9 @@ dependencies = [ [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" [[package]] name = "castaway" @@ -129,9 +108,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.37" +version = "1.2.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65193589c6404eb80b450d618eaf9a2cafaaafd57ecce47370519ef674a7bd44" +checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a" dependencies = [ "find-msvc-tools", "jobserver", @@ -145,31 +124,17 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] -name = "clang-sys" -version = "1.8.1" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "cmake" @@ -290,9 +255,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "typenum", @@ -323,7 +288,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac7ac0eb0cede3dfdfebf4d5f22354e05a730b79c25fd03481fc69fcfba0a73e" dependencies = [ - "proc-macro2", + "proc-macro2 1.0.103", ] [[package]] @@ -367,9 +332,9 @@ checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -379,15 +344,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", - "quote", - "syn", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "deranged" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", ] @@ -415,10 +380,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] -name = "either" -version = "1.15.0" +name = "endian_trait" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "77c844962d33db56fe7024846eeb8db92c79ccb68d3752a0ee37c261ac79fd46" +dependencies = [ + "endian_trait_derive", +] + +[[package]] +name = "endian_trait_derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a03aff727e0a6b907127d45940d06dec1ca6c0c3df1fdfa647780c32d2b61ca0" +dependencies = [ + "quote 0.4.2", + "syn 0.12.15", +] [[package]] name = "enum-map" @@ -435,9 +413,9 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -456,9 +434,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f43e744e4ea338060faee68ed933e46e722fb7f3617e722a5772d7e856d8b3ce" dependencies = [ "darling", - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -474,7 +452,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.0", + "windows-sys 0.61.2", ] [[package]] @@ -485,15 +463,15 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "find-msvc-tools" -version = "0.1.1" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] name = "flate2" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "miniz_oxide", @@ -544,19 +522,19 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.5+wasi-0.2.4", + "wasip2", ] [[package]] @@ -567,9 +545,9 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "hashbrown" -version = "0.15.5" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "hex" @@ -579,12 +557,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -602,23 +579,14 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "2.11.1" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", "hashbrown", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.15" @@ -653,7 +621,7 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "libc", ] @@ -665,19 +633,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.175" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" - -[[package]] -name = "libloading" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" -dependencies = [ - "cfg-if", - "windows-targets 0.53.3", -] +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "linux-raw-sys" @@ -693,11 +651,10 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "lock_api" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] @@ -709,15 +666,18 @@ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "memchr" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] -name = "minimal-lexical" -version = "0.2.1" +name = "memoffset" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] [[package]] name = "miniz_oxide" @@ -726,18 +686,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", "log", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] @@ -758,13 +719,16 @@ dependencies = [ ] [[package]] -name = "nom" -version = "7.1.3" +name = "nix" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "memchr", - "minimal-lexical", + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", + "memoffset", ] [[package]] @@ -851,9 +815,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssl" -version = "0.10.73" +version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ "bitflags", "cfg-if", @@ -870,9 +834,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -883,9 +847,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.109" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -895,9 +859,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -905,15 +869,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.11" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -951,39 +915,39 @@ dependencies = [ ] [[package]] -name = "prettyplease" -version = "0.2.37" +name = "proc-macro2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +checksum = "cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0" dependencies = [ - "proc-macro2", - "syn", + "unicode-xid", ] [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] [[package]] name = "proxmox-auto-install-assistant" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "glob", "proxmox-auto-installer", "proxmox-installer-common", + "proxmox-sys", "serde_json", "toml", ] [[package]] name = "proxmox-auto-installer" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "glob", @@ -998,7 +962,7 @@ dependencies = [ [[package]] name = "proxmox-chroot" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "proxmox-installer-common", @@ -1008,7 +972,7 @@ dependencies = [ [[package]] name = "proxmox-fetch-answer" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "log", @@ -1021,7 +985,7 @@ dependencies = [ [[package]] name = "proxmox-installer-common" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "hex", @@ -1038,9 +1002,22 @@ dependencies = [ "ureq", ] +[[package]] +name = "proxmox-io" +version = "1.2.1" +source = "git+https://github.com/proxmox/proxmox-rs?rev=b4aade2a20e12326d2a239279cbc12d12cc50a43#b4aade2a20e12326d2a239279cbc12d12cc50a43" +dependencies = [ + "endian_trait", +] + +[[package]] +name = "proxmox-lang" +version = "1.5.0" +source = "git+https://github.com/proxmox/proxmox-rs?rev=b4aade2a20e12326d2a239279cbc12d12cc50a43#b4aade2a20e12326d2a239279cbc12d12cc50a43" + [[package]] name = "proxmox-post-hook" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "proxmox-auto-installer", @@ -1049,9 +1026,26 @@ dependencies = [ "serde_json", ] +[[package]] +name = "proxmox-sys" +version = "1.0.0" +source = "git+https://github.com/proxmox/proxmox-rs?rev=b4aade2a20e12326d2a239279cbc12d12cc50a43#b4aade2a20e12326d2a239279cbc12d12cc50a43" +dependencies = [ + "anyhow", + "libc", + "log", + "nix", + "openssl", + "proxmox-io", + "proxmox-lang", + "regex", + "serde", + "serde_json", +] + [[package]] name = "proxmox-tui-installer" -version = "9.0.7" +version = "9.1.6" dependencies = [ "anyhow", "cursive", @@ -1061,11 +1055,20 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.40" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408" dependencies = [ - "proc-macro2", + "proc-macro2 0.2.3", +] + +[[package]] +name = "quote" +version = "1.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +dependencies = [ + "proc-macro2 1.0.103", ] [[package]] @@ -1076,18 +1079,18 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "redox_syscall" -version = "0.5.17" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags", ] [[package]] name = "regex" -version = "1.11.2" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -1097,9 +1100,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -1108,9 +1111,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "ring" @@ -1126,12 +1129,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - [[package]] name = "rustix" version = "0.38.44" @@ -1155,14 +1152,14 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.61.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.31" +version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ "aws-lc-rs", "log", @@ -1181,21 +1178,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "schannel", "security-framework 2.11.1", ] [[package]] name = "rustls-native-certs" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923" dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.4.0", + "security-framework 3.5.1", ] [[package]] @@ -1207,29 +1204,20 @@ dependencies = [ "base64 0.21.7", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" dependencies = [ "zeroize", ] [[package]] name = "rustls-platform-verifier" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be59af91596cac372a6942530653ad0c3a246cdd491aaa9dcaee47f88d67d5a0" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", @@ -1237,13 +1225,13 @@ dependencies = [ "log", "once_cell", "rustls", - "rustls-native-certs 0.8.1", + "rustls-native-certs 0.8.2", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework 3.4.0", + "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1254,9 +1242,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.5" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a37813727b78798e53c2bec3f5e8fe12a6d6f8389bf9ca7802add4c9905ad8" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "aws-lc-rs", "ring", @@ -1291,7 +1279,7 @@ version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.61.0", + "windows-sys 0.61.2", ] [[package]] @@ -1315,9 +1303,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.4.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ "bitflags", "core-foundation 0.10.1", @@ -1338,9 +1326,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.223" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a505d71960adde88e293da5cb5eda57093379f64e61cf77bf0e6a63af07a7bac" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ "serde_core", "serde_derive", @@ -1348,22 +1336,22 @@ dependencies = [ [[package]] name = "serde_core" -version = "1.0.223" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20f57cbd357666aa7b3ac84a90b4ea328f1d4ddb6772b430caa5d9e1309bb9e9" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.223" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d428d07faf17e306e699ec1e91996e5a165ba5d6bce5b5155173e91a8a01a56" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -1426,9 +1414,9 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" dependencies = [ "libc", "mio", @@ -1437,13 +1425,19 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" dependencies = [ "libc", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "smallvec" version = "1.15.1" @@ -1464,26 +1458,37 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.106" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "c97c05b8ebc34ddd6b967994d5c6e9852fa92f8b82b3858c39451f97346dcce5" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2 0.2.3", + "quote 0.4.2", + "unicode-xid", +] + +[[package]] +name = "syn" +version = "2.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +dependencies = [ + "proc-macro2 1.0.103", + "quote 1.0.42", "unicode-ident", ] [[package]] name = "tempfile" -version = "3.22.0" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.61.0", + "windows-sys 0.61.2", ] [[package]] @@ -1501,18 +1506,19 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "time" -version = "0.3.43" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", + "itoa", "libc", "num-conv", "num_threads", @@ -1581,15 +1587,15 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "unicode-ident" -version = "1.0.19" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-segmentation" @@ -1603,6 +1609,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + [[package]] name = "untrusted" version = "0.9.0" @@ -1611,16 +1623,15 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "3.1.2" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99ba1025f18a4a3fc3e9b48c868e9beb4f24f4b4b1a325bada26bd4119f46537" +checksum = "d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a" dependencies = [ "base64 0.22.1", "flate2", "log", "percent-encoding", "rustls", - "rustls-pemfile 2.2.0", "rustls-pki-types", "rustls-platform-verifier", "ureq-proto", @@ -1630,9 +1641,9 @@ dependencies = [ [[package]] name = "ureq-proto" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b4531c118335662134346048ddb0e54cc86bd7e81866757873055f0e38f5d2" +checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" dependencies = [ "base64 0.22.1", "http", @@ -1674,38 +1685,29 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" -[[package]] -name = "wasi" -version = "0.14.5+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4494f6290a82f5fe584817a676a34b9d6763e8d9d18204009fb31dceca98fd4" -dependencies = [ - "wasip2", -] - [[package]] name = "wasip2" -version = "1.0.0+wasi-0.2.4" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03fa2761397e5bd52002cd7e73110c71af2109aca4e521a9f40473fe685b0a24" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ "wit-bindgen", ] [[package]] name = "webpki-root-certs" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a" +checksum = "ee3e3b5f5e80bc89f30ce8d0343bf4e5f12341c51f3e26cbeecbc7c85443e85b" dependencies = [ "rustls-pki-types", ] [[package]] name = "webpki-roots" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" dependencies = [ "rustls-pki-types", ] @@ -1732,7 +1734,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.0", + "windows-sys 0.61.2", ] [[package]] @@ -1743,15 +1745,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-link" -version = "0.1.3" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-link" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-sys" @@ -1782,11 +1778,11 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.0", + "windows-link", ] [[package]] @@ -1813,30 +1809,13 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", + "windows_i686_gnullvm", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] -[[package]] -name = "windows-targets" -version = "0.53.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" -dependencies = [ - "windows-link 0.1.3", - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", -] - [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -1849,12 +1828,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -1867,12 +1840,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -1885,24 +1852,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -1915,12 +1870,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -1933,12 +1882,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -1951,12 +1894,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -1969,26 +1906,20 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen" -version = "0.45.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "xi-unicode" @@ -2004,26 +1935,26 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ - "proc-macro2", - "quote", - "syn", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" diff --git a/pkgs/by-name/pr/proxmox-auto-install-assistant/locale-info.json b/pkgs/by-name/pr/proxmox-auto-install-assistant/locale-info.json index 06143cfe516e..c594cf592767 100644 --- a/pkgs/by-name/pr/proxmox-auto-install-assistant/locale-info.json +++ b/pkgs/by-name/pr/proxmox-auto-install-assistant/locale-info.json @@ -1 +1 @@ -{"cczones":{"ad":{"Europe/Andorra":1},"ae":{"Asia/Dubai":1},"af":{"Asia/Kabul":1},"ag":{"America/Antigua":1},"ai":{"America/Anguilla":1},"al":{"Europe/Tirane":1},"am":{"Asia/Yerevan":1},"ao":{"Africa/Luanda":1},"aq":{"Antarctica/Casey":1,"Antarctica/Davis":1,"Antarctica/DumontDUrville":1,"Antarctica/Mawson":1,"Antarctica/McMurdo":1,"Antarctica/Palmer":1,"Antarctica/Rothera":1,"Antarctica/Syowa":1,"Antarctica/Troll":1,"Antarctica/Vostok":1},"ar":{"America/Argentina/Buenos_Aires":1,"America/Argentina/Catamarca":1,"America/Argentina/Cordoba":1,"America/Argentina/Jujuy":1,"America/Argentina/La_Rioja":1,"America/Argentina/Mendoza":1,"America/Argentina/Rio_Gallegos":1,"America/Argentina/Salta":1,"America/Argentina/San_Juan":1,"America/Argentina/San_Luis":1,"America/Argentina/Tucuman":1,"America/Argentina/Ushuaia":1},"as":{"Pacific/Pago_Pago":1},"at":{"Europe/Vienna":1},"au":{"Antarctica/Macquarie":1,"Australia/Adelaide":1,"Australia/Brisbane":1,"Australia/Broken_Hill":1,"Australia/Darwin":1,"Australia/Eucla":1,"Australia/Hobart":1,"Australia/Lindeman":1,"Australia/Lord_Howe":1,"Australia/Melbourne":1,"Australia/Perth":1,"Australia/Sydney":1},"aw":{"America/Aruba":1},"ax":{"Europe/Mariehamn":1},"az":{"Asia/Baku":1},"ba":{"Europe/Sarajevo":1},"bb":{"America/Barbados":1},"bd":{"Asia/Dhaka":1},"be":{"Europe/Brussels":1},"bf":{"Africa/Ouagadougou":1},"bg":{"Europe/Sofia":1},"bh":{"Asia/Bahrain":1},"bi":{"Africa/Bujumbura":1},"bj":{"Africa/Porto-Novo":1},"bl":{"America/St_Barthelemy":1},"bm":{"Atlantic/Bermuda":1},"bn":{"Asia/Brunei":1},"bo":{"America/La_Paz":1},"bq":{"America/Kralendijk":1},"br":{"America/Araguaina":1,"America/Bahia":1,"America/Belem":1,"America/Boa_Vista":1,"America/Campo_Grande":1,"America/Cuiaba":1,"America/Eirunepe":1,"America/Fortaleza":1,"America/Maceio":1,"America/Manaus":1,"America/Noronha":1,"America/Porto_Velho":1,"America/Recife":1,"America/Rio_Branco":1,"America/Santarem":1,"America/Sao_Paulo":1},"bs":{"America/Nassau":1},"bt":{"Asia/Thimphu":1},"bw":{"Africa/Gaborone":1},"by":{"Europe/Minsk":1},"bz":{"America/Belize":1},"ca":{"America/Atikokan":1,"America/Blanc-Sablon":1,"America/Cambridge_Bay":1,"America/Creston":1,"America/Dawson":1,"America/Dawson_Creek":1,"America/Edmonton":1,"America/Fort_Nelson":1,"America/Glace_Bay":1,"America/Goose_Bay":1,"America/Halifax":1,"America/Inuvik":1,"America/Iqaluit":1,"America/Moncton":1,"America/Rankin_Inlet":1,"America/Regina":1,"America/Resolute":1,"America/St_Johns":1,"America/Swift_Current":1,"America/Toronto":1,"America/Vancouver":1,"America/Whitehorse":1,"America/Winnipeg":1},"cc":{"Indian/Cocos":1},"cd":{"Africa/Kinshasa":1,"Africa/Lubumbashi":1},"cf":{"Africa/Bangui":1},"cg":{"Africa/Brazzaville":1},"ch":{"Europe/Zurich":1},"ci":{"Africa/Abidjan":1},"ck":{"Pacific/Rarotonga":1},"cl":{"America/Coyhaique":1,"America/Punta_Arenas":1,"America/Santiago":1,"Pacific/Easter":1},"cm":{"Africa/Douala":1},"cn":{"Asia/Shanghai":1,"Asia/Urumqi":1},"co":{"America/Bogota":1},"cr":{"America/Costa_Rica":1},"cu":{"America/Havana":1},"cv":{"Atlantic/Cape_Verde":1},"cw":{"America/Curacao":1},"cx":{"Indian/Christmas":1},"cy":{"Asia/Famagusta":1,"Asia/Nicosia":1},"cz":{"Europe/Prague":1},"de":{"Europe/Berlin":1,"Europe/Busingen":1},"dj":{"Africa/Djibouti":1},"dk":{"Europe/Copenhagen":1},"dm":{"America/Dominica":1},"do":{"America/Santo_Domingo":1},"dz":{"Africa/Algiers":1},"ec":{"America/Guayaquil":1,"Pacific/Galapagos":1},"ee":{"Europe/Tallinn":1},"eg":{"Africa/Cairo":1},"eh":{"Africa/El_Aaiun":1},"er":{"Africa/Asmara":1},"es":{"Africa/Ceuta":1,"Atlantic/Canary":1,"Europe/Madrid":1},"et":{"Africa/Addis_Ababa":1},"fi":{"Europe/Helsinki":1},"fj":{"Pacific/Fiji":1},"fk":{"Atlantic/Stanley":1},"fm":{"Pacific/Chuuk":1,"Pacific/Kosrae":1,"Pacific/Pohnpei":1},"fo":{"Atlantic/Faroe":1},"fr":{"Europe/Paris":1},"ga":{"Africa/Libreville":1},"gb":{"Europe/London":1},"gd":{"America/Grenada":1},"ge":{"Asia/Tbilisi":1},"gf":{"America/Cayenne":1},"gg":{"Europe/Guernsey":1},"gh":{"Africa/Accra":1},"gi":{"Europe/Gibraltar":1},"gl":{"America/Danmarkshavn":1,"America/Nuuk":1,"America/Scoresbysund":1,"America/Thule":1},"gm":{"Africa/Banjul":1},"gn":{"Africa/Conakry":1},"gp":{"America/Guadeloupe":1},"gq":{"Africa/Malabo":1},"gr":{"Europe/Athens":1},"gs":{"Atlantic/South_Georgia":1},"gt":{"America/Guatemala":1},"gu":{"Pacific/Guam":1},"gw":{"Africa/Bissau":1},"gy":{"America/Guyana":1},"hk":{"Asia/Hong_Kong":1},"hn":{"America/Tegucigalpa":1},"hr":{"Europe/Zagreb":1},"ht":{"America/Port-au-Prince":1},"hu":{"Europe/Budapest":1},"id":{"Asia/Jakarta":1,"Asia/Jayapura":1,"Asia/Makassar":1,"Asia/Pontianak":1},"ie":{"Europe/Dublin":1},"il":{"Asia/Jerusalem":1},"im":{"Europe/Isle_of_Man":1},"in":{"Asia/Kolkata":1},"io":{"Indian/Chagos":1},"iq":{"Asia/Baghdad":1},"ir":{"Asia/Tehran":1},"is":{"Atlantic/Reykjavik":1},"it":{"Europe/Rome":1},"je":{"Europe/Jersey":1},"jm":{"America/Jamaica":1},"jo":{"Asia/Amman":1},"jp":{"Asia/Tokyo":1},"ke":{"Africa/Nairobi":1},"kg":{"Asia/Bishkek":1},"kh":{"Asia/Phnom_Penh":1},"ki":{"Pacific/Kanton":1,"Pacific/Kiritimati":1,"Pacific/Tarawa":1},"km":{"Indian/Comoro":1},"kn":{"America/St_Kitts":1},"kp":{"Asia/Pyongyang":1},"kr":{"Asia/Seoul":1},"kw":{"Asia/Kuwait":1},"ky":{"America/Cayman":1},"kz":{"Asia/Almaty":1,"Asia/Aqtau":1,"Asia/Aqtobe":1,"Asia/Atyrau":1,"Asia/Oral":1,"Asia/Qostanay":1,"Asia/Qyzylorda":1},"la":{"Asia/Vientiane":1},"lb":{"Asia/Beirut":1},"lc":{"America/St_Lucia":1},"li":{"Europe/Vaduz":1},"lk":{"Asia/Colombo":1},"lr":{"Africa/Monrovia":1},"ls":{"Africa/Maseru":1},"lt":{"Europe/Vilnius":1},"lu":{"Europe/Luxembourg":1},"lv":{"Europe/Riga":1},"ly":{"Africa/Tripoli":1},"ma":{"Africa/Casablanca":1},"mc":{"Europe/Monaco":1},"md":{"Europe/Chisinau":1},"me":{"Europe/Podgorica":1},"mf":{"America/Marigot":1},"mg":{"Indian/Antananarivo":1},"mh":{"Pacific/Kwajalein":1,"Pacific/Majuro":1},"mk":{"Europe/Skopje":1},"ml":{"Africa/Bamako":1},"mm":{"Asia/Yangon":1},"mn":{"Asia/Hovd":1,"Asia/Ulaanbaatar":1},"mo":{"Asia/Macau":1},"mp":{"Pacific/Saipan":1},"mq":{"America/Martinique":1},"mr":{"Africa/Nouakchott":1},"ms":{"America/Montserrat":1},"mt":{"Europe/Malta":1},"mu":{"Indian/Mauritius":1},"mv":{"Indian/Maldives":1},"mw":{"Africa/Blantyre":1},"mx":{"America/Bahia_Banderas":1,"America/Cancun":1,"America/Chihuahua":1,"America/Ciudad_Juarez":1,"America/Hermosillo":1,"America/Matamoros":1,"America/Mazatlan":1,"America/Merida":1,"America/Mexico_City":1,"America/Monterrey":1,"America/Ojinaga":1,"America/Tijuana":1},"my":{"Asia/Kuala_Lumpur":1,"Asia/Kuching":1},"mz":{"Africa/Maputo":1},"na":{"Africa/Windhoek":1},"nc":{"Pacific/Noumea":1},"ne":{"Africa/Niamey":1},"nf":{"Pacific/Norfolk":1},"ng":{"Africa/Lagos":1},"ni":{"America/Managua":1},"nl":{"Europe/Amsterdam":1},"no":{"Europe/Oslo":1},"np":{"Asia/Kathmandu":1},"nr":{"Pacific/Nauru":1},"nu":{"Pacific/Niue":1},"nz":{"Pacific/Auckland":1,"Pacific/Chatham":1},"om":{"Asia/Muscat":1},"pa":{"America/Panama":1},"pe":{"America/Lima":1},"pf":{"Pacific/Gambier":1,"Pacific/Marquesas":1,"Pacific/Tahiti":1},"pg":{"Pacific/Bougainville":1,"Pacific/Port_Moresby":1},"ph":{"Asia/Manila":1},"pk":{"Asia/Karachi":1},"pl":{"Europe/Warsaw":1},"pm":{"America/Miquelon":1},"pn":{"Pacific/Pitcairn":1},"pr":{"America/Puerto_Rico":1},"ps":{"Asia/Gaza":1,"Asia/Hebron":1},"pt":{"Atlantic/Azores":1,"Atlantic/Madeira":1,"Europe/Lisbon":1},"pw":{"Pacific/Palau":1},"py":{"America/Asuncion":1},"qa":{"Asia/Qatar":1},"re":{"Indian/Reunion":1},"ro":{"Europe/Bucharest":1},"rs":{"Europe/Belgrade":1},"ru":{"Asia/Anadyr":1,"Asia/Barnaul":1,"Asia/Chita":1,"Asia/Irkutsk":1,"Asia/Kamchatka":1,"Asia/Khandyga":1,"Asia/Krasnoyarsk":1,"Asia/Magadan":1,"Asia/Novokuznetsk":1,"Asia/Novosibirsk":1,"Asia/Omsk":1,"Asia/Sakhalin":1,"Asia/Srednekolymsk":1,"Asia/Tomsk":1,"Asia/Ust-Nera":1,"Asia/Vladivostok":1,"Asia/Yakutsk":1,"Asia/Yekaterinburg":1,"Europe/Astrakhan":1,"Europe/Kaliningrad":1,"Europe/Kirov":1,"Europe/Moscow":1,"Europe/Samara":1,"Europe/Saratov":1,"Europe/Ulyanovsk":1,"Europe/Volgograd":1},"rw":{"Africa/Kigali":1},"sa":{"Asia/Riyadh":1},"sb":{"Pacific/Guadalcanal":1},"sc":{"Indian/Mahe":1},"sd":{"Africa/Khartoum":1},"se":{"Europe/Stockholm":1},"sg":{"Asia/Singapore":1},"sh":{"Atlantic/St_Helena":1},"si":{"Europe/Ljubljana":1},"sj":{"Arctic/Longyearbyen":1},"sk":{"Europe/Bratislava":1},"sl":{"Africa/Freetown":1},"sm":{"Europe/San_Marino":1},"sn":{"Africa/Dakar":1},"so":{"Africa/Mogadishu":1},"sr":{"America/Paramaribo":1},"ss":{"Africa/Juba":1},"st":{"Africa/Sao_Tome":1},"sv":{"America/El_Salvador":1},"sx":{"America/Lower_Princes":1},"sy":{"Asia/Damascus":1},"sz":{"Africa/Mbabane":1},"tc":{"America/Grand_Turk":1},"td":{"Africa/Ndjamena":1},"tf":{"Indian/Kerguelen":1},"tg":{"Africa/Lome":1},"th":{"Asia/Bangkok":1},"tj":{"Asia/Dushanbe":1},"tk":{"Pacific/Fakaofo":1},"tl":{"Asia/Dili":1},"tm":{"Asia/Ashgabat":1},"tn":{"Africa/Tunis":1},"to":{"Pacific/Tongatapu":1},"tr":{"Europe/Istanbul":1},"tt":{"America/Port_of_Spain":1},"tv":{"Pacific/Funafuti":1},"tw":{"Asia/Taipei":1},"tz":{"Africa/Dar_es_Salaam":1},"ua":{"Europe/Kyiv":1,"Europe/Simferopol":1},"ug":{"Africa/Kampala":1},"um":{"Pacific/Midway":1,"Pacific/Wake":1},"us":{"America/Adak":1,"America/Anchorage":1,"America/Boise":1,"America/Chicago":1,"America/Denver":1,"America/Detroit":1,"America/Indiana/Indianapolis":1,"America/Indiana/Knox":1,"America/Indiana/Marengo":1,"America/Indiana/Petersburg":1,"America/Indiana/Tell_City":1,"America/Indiana/Vevay":1,"America/Indiana/Vincennes":1,"America/Indiana/Winamac":1,"America/Juneau":1,"America/Kentucky/Louisville":1,"America/Kentucky/Monticello":1,"America/Los_Angeles":1,"America/Menominee":1,"America/Metlakatla":1,"America/New_York":1,"America/Nome":1,"America/North_Dakota/Beulah":1,"America/North_Dakota/Center":1,"America/North_Dakota/New_Salem":1,"America/Phoenix":1,"America/Sitka":1,"America/Yakutat":1,"Pacific/Honolulu":1},"uy":{"America/Montevideo":1},"uz":{"Asia/Samarkand":1,"Asia/Tashkent":1},"va":{"Europe/Vatican":1},"vc":{"America/St_Vincent":1},"ve":{"America/Caracas":1},"vg":{"America/Tortola":1},"vi":{"America/St_Thomas":1},"vn":{"Asia/Ho_Chi_Minh":1},"vu":{"Pacific/Efate":1},"wf":{"Pacific/Wallis":1},"ws":{"Pacific/Apia":1},"ye":{"Asia/Aden":1},"yt":{"Indian/Mayotte":1},"za":{"Africa/Johannesburg":1},"zm":{"Africa/Lusaka":1},"zw":{"Africa/Harare":1}},"country":{"ad":{"kmap":"","mirror":"","name":"Andorra","zone":"Europe/Andorra"},"ae":{"kmap":"","mirror":"","name":"United Arab Emirates","zone":"Asia/Dubai"},"af":{"kmap":"","mirror":"","name":"Afghanistan","zone":"Asia/Kabul"},"ag":{"kmap":"","mirror":"","name":"Antigua and Barbuda","zone":"America/Antigua"},"ai":{"kmap":"","mirror":"","name":"Anguilla","zone":"America/Anguilla"},"al":{"kmap":"","mirror":"","name":"Albania","zone":"Europe/Tirane"},"am":{"kmap":"","mirror":"","name":"Armenia","zone":"Asia/Yerevan"},"ao":{"kmap":"","mirror":"","name":"Angola","zone":"Africa/Luanda"},"aq":{"kmap":"","mirror":"","name":"Antarctica","zone":"Antarctica/McMurdo"},"ar":{"kmap":"","mirror":"","name":"Argentina","zone":"America/Argentina/Buenos_Aires"},"as":{"kmap":"","mirror":"","name":"American Samoa","zone":"Pacific/Pago_Pago"},"at":{"kmap":"de","mirror":"ftp.at.debian.org","name":"Austria","zone":"Europe/Vienna"},"au":{"kmap":"","mirror":"ftp.au.debian.org","name":"Australia","zone":"Australia/Lord_Howe"},"aw":{"kmap":"","mirror":"","name":"Aruba","zone":"America/Aruba"},"ax":{"kmap":"","mirror":"","name":"Åland Islands","zone":"Europe/Mariehamn"},"az":{"kmap":"","mirror":"","name":"Azerbaijan","zone":"Asia/Baku"},"ba":{"kmap":"","mirror":"","name":"Bosnia and Herzegovina","zone":"Europe/Sarajevo"},"bb":{"kmap":"","mirror":"","name":"Barbados","zone":"America/Barbados"},"bd":{"kmap":"","mirror":"","name":"Bangladesh","zone":"Asia/Dhaka"},"be":{"kmap":"fr-be","mirror":"ftp.be.debian.org","name":"Belgium","zone":"Europe/Brussels"},"bf":{"kmap":"","mirror":"","name":"Burkina Faso","zone":"Africa/Ouagadougou"},"bg":{"kmap":"","mirror":"ftp.bg.debian.org","name":"Bulgaria","zone":"Europe/Sofia"},"bh":{"kmap":"","mirror":"","name":"Bahrain","zone":"Asia/Bahrain"},"bi":{"kmap":"","mirror":"","name":"Burundi","zone":"Africa/Bujumbura"},"bj":{"kmap":"","mirror":"","name":"Benin","zone":"Africa/Porto-Novo"},"bl":{"kmap":"","mirror":"","name":"Saint Barthélemy","zone":"America/St_Barthelemy"},"bm":{"kmap":"","mirror":"","name":"Bermuda","zone":"Atlantic/Bermuda"},"bn":{"kmap":"","mirror":"","name":"Brunei Darussalam","zone":"Asia/Brunei"},"bo":{"kmap":"","mirror":"","name":"Bolivia","zone":"America/La_Paz"},"bq":{"kmap":"","mirror":"","name":"Bonaire, Sint Eustatius and Saba","zone":"America/Kralendijk"},"br":{"kmap":"pt-br","mirror":"ftp.br.debian.org","name":"Brazil","zone":"America/Noronha"},"bs":{"kmap":"","mirror":"","name":"Bahamas","zone":"America/Nassau"},"bt":{"kmap":"","mirror":"","name":"Bhutan","zone":"Asia/Thimphu"},"bv":{"kmap":"","mirror":"","name":"Bouvet Island"},"bw":{"kmap":"","mirror":"","name":"Botswana","zone":"Africa/Gaborone"},"by":{"kmap":"","mirror":"","name":"Belarus","zone":"Europe/Minsk"},"bz":{"kmap":"","mirror":"","name":"Belize","zone":"America/Belize"},"ca":{"kmap":"en-us","mirror":"ftp.ca.debian.org","name":"Canada","zone":"America/St_Johns"},"cc":{"kmap":"","mirror":"","name":"Cocos (Keeling) Islands","zone":"Indian/Cocos"},"cd":{"kmap":"","mirror":"","name":"Congo, The Democratic Republic of the","zone":"Africa/Kinshasa"},"cf":{"kmap":"","mirror":"","name":"Central African Republic","zone":"Africa/Bangui"},"cg":{"kmap":"","mirror":"","name":"Congo","zone":"Africa/Brazzaville"},"ch":{"kmap":"de-ch","mirror":"ftp.ch.debian.org","name":"Switzerland","zone":"Europe/Zurich"},"ci":{"kmap":"","mirror":"","name":"Côte d'Ivoire","zone":"Africa/Abidjan"},"ck":{"kmap":"","mirror":"","name":"Cook Islands","zone":"Pacific/Rarotonga"},"cl":{"kmap":"","mirror":"ftp.cl.debian.org","name":"Chile","zone":"America/Santiago"},"cm":{"kmap":"","mirror":"","name":"Cameroon","zone":"Africa/Douala"},"cn":{"kmap":"","mirror":"","name":"China","zone":"Asia/Shanghai"},"co":{"kmap":"","mirror":"","name":"Colombia","zone":"America/Bogota"},"cr":{"kmap":"","mirror":"","name":"Costa Rica","zone":"America/Costa_Rica"},"cu":{"kmap":"","mirror":"","name":"Cuba","zone":"America/Havana"},"cv":{"kmap":"","mirror":"","name":"Cabo Verde","zone":"Atlantic/Cape_Verde"},"cw":{"kmap":"","mirror":"","name":"Curaçao","zone":"America/Curacao"},"cx":{"kmap":"","mirror":"","name":"Christmas Island","zone":"Indian/Christmas"},"cy":{"kmap":"","mirror":"","name":"Cyprus","zone":"Asia/Nicosia"},"cz":{"kmap":"","mirror":"ftp.cz.debian.org","name":"Czechia","zone":"Europe/Prague"},"de":{"kmap":"de","mirror":"ftp.de.debian.org","name":"Germany","zone":"Europe/Berlin"},"dj":{"kmap":"","mirror":"","name":"Djibouti","zone":"Africa/Djibouti"},"dk":{"kmap":"dk","mirror":"ftp.dk.debian.org","name":"Denmark","zone":"Europe/Copenhagen"},"dm":{"kmap":"","mirror":"","name":"Dominica","zone":"America/Dominica"},"do":{"kmap":"","mirror":"","name":"Dominican Republic","zone":"America/Santo_Domingo"},"dz":{"kmap":"","mirror":"","name":"Algeria","zone":"Africa/Algiers"},"ec":{"kmap":"","mirror":"","name":"Ecuador","zone":"America/Guayaquil"},"ee":{"kmap":"","mirror":"ftp.ee.debian.org","name":"Estonia","zone":"Europe/Tallinn"},"eg":{"kmap":"","mirror":"","name":"Egypt","zone":"Africa/Cairo"},"eh":{"kmap":"","mirror":"","name":"Western Sahara","zone":"Africa/El_Aaiun"},"er":{"kmap":"","mirror":"","name":"Eritrea","zone":"Africa/Asmara"},"es":{"kmap":"es","mirror":"ftp.es.debian.org","name":"Spain","zone":"Europe/Madrid"},"et":{"kmap":"","mirror":"","name":"Ethiopia","zone":"Africa/Addis_Ababa"},"fi":{"kmap":"fi","mirror":"ftp.fi.debian.org","name":"Finland","zone":"Europe/Helsinki"},"fj":{"kmap":"","mirror":"","name":"Fiji","zone":"Pacific/Fiji"},"fk":{"kmap":"","mirror":"","name":"Falkland Islands (Malvinas)","zone":"Atlantic/Stanley"},"fm":{"kmap":"","mirror":"","name":"Micronesia, Federated States of","zone":"Pacific/Chuuk"},"fo":{"kmap":"","mirror":"","name":"Faroe Islands","zone":"Atlantic/Faroe"},"fr":{"kmap":"fr","mirror":"ftp.fr.debian.org","name":"France","zone":"Europe/Paris"},"ga":{"kmap":"","mirror":"","name":"Gabon","zone":"Africa/Libreville"},"gb":{"kmap":"en-gb","mirror":"ftp.uk.debian.org","name":"United Kingdom","zone":"Europe/London"},"gd":{"kmap":"","mirror":"","name":"Grenada","zone":"America/Grenada"},"ge":{"kmap":"","mirror":"","name":"Georgia","zone":"Asia/Tbilisi"},"gf":{"kmap":"","mirror":"","name":"French Guiana","zone":"America/Cayenne"},"gg":{"kmap":"","mirror":"","name":"Guernsey","zone":"Europe/Guernsey"},"gh":{"kmap":"","mirror":"","name":"Ghana","zone":"Africa/Accra"},"gi":{"kmap":"es","mirror":"","name":"Gibraltar","zone":"Europe/Gibraltar"},"gl":{"kmap":"","mirror":"","name":"Greenland","zone":"America/Nuuk"},"gm":{"kmap":"","mirror":"","name":"Gambia","zone":"Africa/Banjul"},"gn":{"kmap":"","mirror":"","name":"Guinea","zone":"Africa/Conakry"},"gp":{"kmap":"","mirror":"","name":"Guadeloupe","zone":"America/Guadeloupe"},"gq":{"kmap":"","mirror":"","name":"Equatorial Guinea","zone":"Africa/Malabo"},"gr":{"kmap":"","mirror":"ftp.gr.debian.org","name":"Greece","zone":"Europe/Athens"},"gs":{"kmap":"","mirror":"","name":"South Georgia and the South Sandwich Islands","zone":"Atlantic/South_Georgia"},"gt":{"kmap":"","mirror":"","name":"Guatemala","zone":"America/Guatemala"},"gu":{"kmap":"","mirror":"","name":"Guam","zone":"Pacific/Guam"},"gw":{"kmap":"","mirror":"","name":"Guinea-Bissau","zone":"Africa/Bissau"},"gy":{"kmap":"","mirror":"","name":"Guyana","zone":"America/Guyana"},"hk":{"kmap":"","mirror":"ftp.hk.debian.org","name":"Hong Kong","zone":"Asia/Hong_Kong"},"hm":{"kmap":"","mirror":"","name":"Heard Island and McDonald Islands"},"hn":{"kmap":"","mirror":"","name":"Honduras","zone":"America/Tegucigalpa"},"hr":{"kmap":"","mirror":"ftp.hr.debian.org","name":"Croatia","zone":"Europe/Zagreb"},"ht":{"kmap":"","mirror":"","name":"Haiti","zone":"America/Port-au-Prince"},"hu":{"kmap":"hu","mirror":"ftp.hu.debian.org","name":"Hungary","zone":"Europe/Budapest"},"id":{"kmap":"","mirror":"","name":"Indonesia","zone":"Asia/Jakarta"},"ie":{"kmap":"","mirror":"ftp.ie.debian.org","name":"Ireland","zone":"Europe/Dublin"},"il":{"kmap":"","mirror":"","name":"Israel","zone":"Asia/Jerusalem"},"im":{"kmap":"","mirror":"","name":"Isle of Man","zone":"Europe/Isle_of_Man"},"in":{"kmap":"","mirror":"","name":"India","zone":"Asia/Kolkata"},"io":{"kmap":"","mirror":"","name":"British Indian Ocean Territory","zone":"Indian/Chagos"},"iq":{"kmap":"","mirror":"","name":"Iraq","zone":"Asia/Baghdad"},"ir":{"kmap":"","mirror":"","name":"Iran","zone":"Asia/Tehran"},"is":{"kmap":"is","mirror":"ftp.is.debian.org","name":"Iceland","zone":"Atlantic/Reykjavik"},"it":{"kmap":"it","mirror":"ftp.it.debian.org","name":"Italy","zone":"Europe/Rome"},"je":{"kmap":"","mirror":"","name":"Jersey","zone":"Europe/Jersey"},"jm":{"kmap":"","mirror":"","name":"Jamaica","zone":"America/Jamaica"},"jo":{"kmap":"","mirror":"","name":"Jordan","zone":"Asia/Amman"},"jp":{"kmap":"jp","mirror":"ftp.jp.debian.org","name":"Japan","zone":"Asia/Tokyo"},"ke":{"kmap":"","mirror":"","name":"Kenya","zone":"Africa/Nairobi"},"kg":{"kmap":"","mirror":"","name":"Kyrgyzstan","zone":"Asia/Bishkek"},"kh":{"kmap":"","mirror":"","name":"Cambodia","zone":"Asia/Phnom_Penh"},"ki":{"kmap":"","mirror":"","name":"Kiribati","zone":"Pacific/Tarawa"},"km":{"kmap":"","mirror":"","name":"Comoros","zone":"Indian/Comoro"},"kn":{"kmap":"","mirror":"","name":"Saint Kitts and Nevis","zone":"America/St_Kitts"},"kp":{"kmap":"","mirror":"","name":"North Korea","zone":"Asia/Pyongyang"},"kr":{"kmap":"","mirror":"ftp.kr.debian.org","name":"South Korea","zone":"Asia/Seoul"},"kw":{"kmap":"","mirror":"","name":"Kuwait","zone":"Asia/Kuwait"},"ky":{"kmap":"","mirror":"","name":"Cayman Islands","zone":"America/Cayman"},"kz":{"kmap":"","mirror":"","name":"Kazakhstan","zone":"Asia/Almaty"},"la":{"kmap":"","mirror":"","name":"Laos","zone":"Asia/Vientiane"},"lb":{"kmap":"","mirror":"","name":"Lebanon","zone":"Asia/Beirut"},"lc":{"kmap":"","mirror":"","name":"Saint Lucia","zone":"America/St_Lucia"},"li":{"kmap":"de-ch","mirror":"","name":"Liechtenstein","zone":"Europe/Vaduz"},"lk":{"kmap":"","mirror":"","name":"Sri Lanka","zone":"Asia/Colombo"},"lr":{"kmap":"","mirror":"","name":"Liberia","zone":"Africa/Monrovia"},"ls":{"kmap":"","mirror":"","name":"Lesotho","zone":"Africa/Maseru"},"lt":{"kmap":"lt","mirror":"","name":"Lithuania","zone":"Europe/Vilnius"},"lu":{"kmap":"fr-ch","mirror":"","name":"Luxembourg","zone":"Europe/Luxembourg"},"lv":{"kmap":"","mirror":"","name":"Latvia","zone":"Europe/Riga"},"ly":{"kmap":"","mirror":"","name":"Libya","zone":"Africa/Tripoli"},"ma":{"kmap":"","mirror":"","name":"Morocco","zone":"Africa/Casablanca"},"mc":{"kmap":"","mirror":"","name":"Monaco","zone":"Europe/Monaco"},"md":{"kmap":"","mirror":"","name":"Moldova","zone":"Europe/Chisinau"},"me":{"kmap":"","mirror":"","name":"Montenegro","zone":"Europe/Podgorica"},"mf":{"kmap":"","mirror":"","name":"Saint Martin (French part)","zone":"America/Marigot"},"mg":{"kmap":"","mirror":"","name":"Madagascar","zone":"Indian/Antananarivo"},"mh":{"kmap":"","mirror":"","name":"Marshall Islands","zone":"Pacific/Majuro"},"mk":{"kmap":"mk","mirror":"","name":"North Macedonia","zone":"Europe/Skopje"},"ml":{"kmap":"","mirror":"","name":"Mali","zone":"Africa/Bamako"},"mm":{"kmap":"","mirror":"","name":"Myanmar","zone":"Asia/Yangon"},"mn":{"kmap":"","mirror":"","name":"Mongolia","zone":"Asia/Ulaanbaatar"},"mo":{"kmap":"","mirror":"","name":"Macao","zone":"Asia/Macau"},"mp":{"kmap":"","mirror":"","name":"Northern Mariana Islands","zone":"Pacific/Saipan"},"mq":{"kmap":"","mirror":"","name":"Martinique","zone":"America/Martinique"},"mr":{"kmap":"","mirror":"","name":"Mauritania","zone":"Africa/Nouakchott"},"ms":{"kmap":"","mirror":"","name":"Montserrat","zone":"America/Montserrat"},"mt":{"kmap":"","mirror":"","name":"Malta","zone":"Europe/Malta"},"mu":{"kmap":"","mirror":"","name":"Mauritius","zone":"Indian/Mauritius"},"mv":{"kmap":"","mirror":"","name":"Maldives","zone":"Indian/Maldives"},"mw":{"kmap":"","mirror":"","name":"Malawi","zone":"Africa/Blantyre"},"mx":{"kmap":"","mirror":"ftp.mx.debian.org","name":"Mexico","zone":"America/Mexico_City"},"my":{"kmap":"","mirror":"","name":"Malaysia","zone":"Asia/Kuala_Lumpur"},"mz":{"kmap":"","mirror":"","name":"Mozambique","zone":"Africa/Maputo"},"na":{"kmap":"","mirror":"","name":"Namibia","zone":"Africa/Windhoek"},"nc":{"kmap":"","mirror":"","name":"New Caledonia","zone":"Pacific/Noumea"},"ne":{"kmap":"","mirror":"","name":"Niger","zone":"Africa/Niamey"},"nf":{"kmap":"","mirror":"","name":"Norfolk Island","zone":"Pacific/Norfolk"},"ng":{"kmap":"","mirror":"","name":"Nigeria","zone":"Africa/Lagos"},"ni":{"kmap":"","mirror":"","name":"Nicaragua","zone":"America/Managua"},"nl":{"kmap":"en-us","mirror":"ftp.nl.debian.org","name":"Netherlands","zone":"Europe/Amsterdam"},"no":{"kmap":"no","mirror":"ftp.no.debian.org","name":"Norway","zone":"Europe/Oslo"},"np":{"kmap":"","mirror":"","name":"Nepal","zone":"Asia/Kathmandu"},"nr":{"kmap":"","mirror":"","name":"Nauru","zone":"Pacific/Nauru"},"nu":{"kmap":"","mirror":"","name":"Niue","zone":"Pacific/Niue"},"nz":{"kmap":"","mirror":"ftp.nz.debian.org","name":"New Zealand","zone":"Pacific/Auckland"},"om":{"kmap":"","mirror":"","name":"Oman","zone":"Asia/Muscat"},"pa":{"kmap":"","mirror":"","name":"Panama","zone":"America/Panama"},"pe":{"kmap":"","mirror":"","name":"Peru","zone":"America/Lima"},"pf":{"kmap":"","mirror":"","name":"French Polynesia","zone":"Pacific/Tahiti"},"pg":{"kmap":"","mirror":"","name":"Papua New Guinea","zone":"Pacific/Port_Moresby"},"ph":{"kmap":"","mirror":"","name":"Philippines","zone":"Asia/Manila"},"pk":{"kmap":"","mirror":"","name":"Pakistan","zone":"Asia/Karachi"},"pl":{"kmap":"pl","mirror":"ftp.pl.debian.org","name":"Poland","zone":"Europe/Warsaw"},"pm":{"kmap":"","mirror":"","name":"Saint Pierre and Miquelon","zone":"America/Miquelon"},"pn":{"kmap":"","mirror":"","name":"Pitcairn","zone":"Pacific/Pitcairn"},"pr":{"kmap":"","mirror":"","name":"Puerto Rico","zone":"America/Puerto_Rico"},"ps":{"kmap":"","mirror":"","name":"Palestine, State of","zone":"Asia/Gaza"},"pt":{"kmap":"pt","mirror":"ftp.pt.debian.org","name":"Portugal","zone":"Europe/Lisbon"},"pw":{"kmap":"","mirror":"","name":"Palau","zone":"Pacific/Palau"},"py":{"kmap":"","mirror":"","name":"Paraguay","zone":"America/Asuncion"},"qa":{"kmap":"","mirror":"","name":"Qatar","zone":"Asia/Qatar"},"re":{"kmap":"","mirror":"","name":"Réunion","zone":"Indian/Reunion"},"ro":{"kmap":"","mirror":"ftp.ro.debian.org","name":"Romania","zone":"Europe/Bucharest"},"rs":{"kmap":"","mirror":"","name":"Serbia","zone":"Europe/Belgrade"},"ru":{"kmap":"","mirror":"ftp.ru.debian.org","name":"Russian Federation","zone":"Europe/Kaliningrad"},"rw":{"kmap":"","mirror":"","name":"Rwanda","zone":"Africa/Kigali"},"sa":{"kmap":"","mirror":"","name":"Saudi Arabia","zone":"Asia/Riyadh"},"sb":{"kmap":"","mirror":"","name":"Solomon Islands","zone":"Pacific/Guadalcanal"},"sc":{"kmap":"","mirror":"","name":"Seychelles","zone":"Indian/Mahe"},"sd":{"kmap":"","mirror":"","name":"Sudan","zone":"Africa/Khartoum"},"se":{"kmap":"","mirror":"ftp.se.debian.org","name":"Sweden","zone":"Europe/Stockholm"},"sg":{"kmap":"","mirror":"","name":"Singapore","zone":"Asia/Singapore"},"sh":{"kmap":"","mirror":"","name":"Saint Helena, Ascension and Tristan da Cunha","zone":"Atlantic/St_Helena"},"si":{"kmap":"si","mirror":"ftp.si.debian.org","name":"Slovenia","zone":"Europe/Ljubljana"},"sj":{"kmap":"","mirror":"","name":"Svalbard and Jan Mayen","zone":"Arctic/Longyearbyen"},"sk":{"kmap":"","mirror":"ftp.sk.debian.org","name":"Slovakia","zone":"Europe/Bratislava"},"sl":{"kmap":"","mirror":"","name":"Sierra Leone","zone":"Africa/Freetown"},"sm":{"kmap":"","mirror":"","name":"San Marino","zone":"Europe/San_Marino"},"sn":{"kmap":"","mirror":"","name":"Senegal","zone":"Africa/Dakar"},"so":{"kmap":"","mirror":"","name":"Somalia","zone":"Africa/Mogadishu"},"sr":{"kmap":"","mirror":"","name":"Suriname","zone":"America/Paramaribo"},"ss":{"kmap":"","mirror":"","name":"South Sudan","zone":"Africa/Juba"},"st":{"kmap":"","mirror":"","name":"Sao Tome and Principe","zone":"Africa/Sao_Tome"},"sv":{"kmap":"","mirror":"","name":"El Salvador","zone":"America/El_Salvador"},"sx":{"kmap":"","mirror":"","name":"Sint Maarten (Dutch part)","zone":"America/Lower_Princes"},"sy":{"kmap":"","mirror":"","name":"Syria","zone":"Asia/Damascus"},"sz":{"kmap":"","mirror":"","name":"Eswatini","zone":"Africa/Mbabane"},"tc":{"kmap":"","mirror":"","name":"Turks and Caicos Islands","zone":"America/Grand_Turk"},"td":{"kmap":"","mirror":"","name":"Chad","zone":"Africa/Ndjamena"},"tf":{"kmap":"","mirror":"","name":"French Southern Territories","zone":"Indian/Kerguelen"},"tg":{"kmap":"","mirror":"","name":"Togo","zone":"Africa/Lome"},"th":{"kmap":"","mirror":"","name":"Thailand","zone":"Asia/Bangkok"},"tj":{"kmap":"","mirror":"","name":"Tajikistan","zone":"Asia/Dushanbe"},"tk":{"kmap":"","mirror":"","name":"Tokelau","zone":"Pacific/Fakaofo"},"tl":{"kmap":"","mirror":"","name":"Timor-Leste","zone":"Asia/Dili"},"tm":{"kmap":"","mirror":"","name":"Turkmenistan","zone":"Asia/Ashgabat"},"tn":{"kmap":"","mirror":"","name":"Tunisia","zone":"Africa/Tunis"},"to":{"kmap":"","mirror":"","name":"Tonga","zone":"Pacific/Tongatapu"},"tr":{"kmap":"","mirror":"ftp.tr.debian.org","name":"Türkiye","zone":"Europe/Istanbul"},"tt":{"kmap":"","mirror":"","name":"Trinidad and Tobago","zone":"America/Port_of_Spain"},"tv":{"kmap":"","mirror":"","name":"Tuvalu","zone":"Pacific/Funafuti"},"tw":{"kmap":"","mirror":"ftp.tw.debian.org","name":"Taiwan","zone":"Asia/Taipei"},"tz":{"kmap":"","mirror":"","name":"Tanzania","zone":"Africa/Dar_es_Salaam"},"ua":{"kmap":"","mirror":"","name":"Ukraine","zone":"Europe/Simferopol"},"ug":{"kmap":"","mirror":"","name":"Uganda","zone":"Africa/Kampala"},"um":{"kmap":"","mirror":"","name":"United States Minor Outlying Islands","zone":"Pacific/Midway"},"us":{"kmap":"en-us","mirror":"ftp.us.debian.org","name":"United States","zone":"America/New_York"},"uy":{"kmap":"","mirror":"","name":"Uruguay","zone":"America/Montevideo"},"uz":{"kmap":"","mirror":"","name":"Uzbekistan","zone":"Asia/Samarkand"},"va":{"kmap":"it","mirror":"","name":"Holy See (Vatican City State)","zone":"Europe/Vatican"},"vc":{"kmap":"","mirror":"","name":"Saint Vincent and the Grenadines","zone":"America/St_Vincent"},"ve":{"kmap":"","mirror":"","name":"Venezuela","zone":"America/Caracas"},"vg":{"kmap":"","mirror":"","name":"Virgin Islands, British","zone":"America/Tortola"},"vi":{"kmap":"","mirror":"","name":"Virgin Islands, U.S.","zone":"America/St_Thomas"},"vn":{"kmap":"","mirror":"","name":"Vietnam","zone":"Asia/Ho_Chi_Minh"},"vu":{"kmap":"","mirror":"","name":"Vanuatu","zone":"Pacific/Efate"},"wf":{"kmap":"","mirror":"","name":"Wallis and Futuna","zone":"Pacific/Wallis"},"ws":{"kmap":"","mirror":"","name":"Samoa","zone":"Pacific/Apia"},"ye":{"kmap":"","mirror":"","name":"Yemen","zone":"Asia/Aden"},"yt":{"kmap":"","mirror":"","name":"Mayotte","zone":"Indian/Mayotte"},"za":{"kmap":"","mirror":"","name":"South Africa","zone":"Africa/Johannesburg"},"zm":{"kmap":"","mirror":"","name":"Zambia","zone":"Africa/Lusaka"},"zw":{"kmap":"","mirror":"","name":"Zimbabwe","zone":"Africa/Harare"}},"countryhash":{"afghanistan":"af","albania":"al","algeria":"dz","american samoa":"as","andorra":"ad","angola":"ao","anguilla":"ai","antarctica":"aq","antigua and barbuda":"ag","argentina":"ar","armenia":"am","aruba":"aw","australia":"au","austria":"at","azerbaijan":"az","bahamas":"bs","bahrain":"bh","bangladesh":"bd","barbados":"bb","belarus":"by","belgium":"be","belize":"bz","benin":"bj","bermuda":"bm","bhutan":"bt","bolivia":"bo","bonaire, sint eustatius and saba":"bq","bosnia and herzegovina":"ba","botswana":"bw","bouvet island":"bv","brazil":"br","british indian ocean territory":"io","brunei darussalam":"bn","bulgaria":"bg","burkina faso":"bf","burundi":"bi","cabo verde":"cv","cambodia":"kh","cameroon":"cm","canada":"ca","cayman islands":"ky","central african republic":"cf","chad":"td","chile":"cl","china":"cn","christmas island":"cx","cocos (keeling) islands":"cc","colombia":"co","comoros":"km","congo":"cg","congo, the democratic republic of the":"cd","cook islands":"ck","costa rica":"cr","croatia":"hr","cuba":"cu","curaçao":"cw","cyprus":"cy","czechia":"cz","côte d'ivoire":"ci","denmark":"dk","djibouti":"dj","dominica":"dm","dominican republic":"do","ecuador":"ec","egypt":"eg","el salvador":"sv","equatorial guinea":"gq","eritrea":"er","estonia":"ee","eswatini":"sz","ethiopia":"et","falkland islands (malvinas)":"fk","faroe islands":"fo","fiji":"fj","finland":"fi","france":"fr","french guiana":"gf","french polynesia":"pf","french southern territories":"tf","gabon":"ga","gambia":"gm","georgia":"ge","germany":"de","ghana":"gh","gibraltar":"gi","greece":"gr","greenland":"gl","grenada":"gd","guadeloupe":"gp","guam":"gu","guatemala":"gt","guernsey":"gg","guinea":"gn","guinea-bissau":"gw","guyana":"gy","haiti":"ht","heard island and mcdonald islands":"hm","holy see (vatican city state)":"va","honduras":"hn","hong kong":"hk","hungary":"hu","iceland":"is","india":"in","indonesia":"id","iran":"ir","iraq":"iq","ireland":"ie","isle of man":"im","israel":"il","italy":"it","jamaica":"jm","japan":"jp","jersey":"je","jordan":"jo","kazakhstan":"kz","kenya":"ke","kiribati":"ki","kuwait":"kw","kyrgyzstan":"kg","laos":"la","latvia":"lv","lebanon":"lb","lesotho":"ls","liberia":"lr","libya":"ly","liechtenstein":"li","lithuania":"lt","luxembourg":"lu","macao":"mo","madagascar":"mg","malawi":"mw","malaysia":"my","maldives":"mv","mali":"ml","malta":"mt","marshall islands":"mh","martinique":"mq","mauritania":"mr","mauritius":"mu","mayotte":"yt","mexico":"mx","micronesia, federated states of":"fm","moldova":"md","monaco":"mc","mongolia":"mn","montenegro":"me","montserrat":"ms","morocco":"ma","mozambique":"mz","myanmar":"mm","namibia":"na","nauru":"nr","nepal":"np","netherlands":"nl","new caledonia":"nc","new zealand":"nz","nicaragua":"ni","niger":"ne","nigeria":"ng","niue":"nu","norfolk island":"nf","north korea":"kp","north macedonia":"mk","northern mariana islands":"mp","norway":"no","oman":"om","pakistan":"pk","palau":"pw","palestine, state of":"ps","panama":"pa","papua new guinea":"pg","paraguay":"py","peru":"pe","philippines":"ph","pitcairn":"pn","poland":"pl","portugal":"pt","puerto rico":"pr","qatar":"qa","romania":"ro","russian federation":"ru","rwanda":"rw","réunion":"re","saint barthélemy":"bl","saint helena, ascension and tristan da cunha":"sh","saint kitts and nevis":"kn","saint lucia":"lc","saint martin (french part)":"mf","saint pierre and miquelon":"pm","saint vincent and the grenadines":"vc","samoa":"ws","san marino":"sm","sao tome and principe":"st","saudi arabia":"sa","senegal":"sn","serbia":"rs","seychelles":"sc","sierra leone":"sl","singapore":"sg","sint maarten (dutch part)":"sx","slovakia":"sk","slovenia":"si","solomon islands":"sb","somalia":"so","south africa":"za","south georgia and the south sandwich islands":"gs","south korea":"kr","south sudan":"ss","spain":"es","sri lanka":"lk","sudan":"sd","suriname":"sr","svalbard and jan mayen":"sj","sweden":"se","switzerland":"ch","syria":"sy","taiwan":"tw","tajikistan":"tj","tanzania":"tz","thailand":"th","timor-leste":"tl","togo":"tg","tokelau":"tk","tonga":"to","trinidad and tobago":"tt","tunisia":"tn","turkmenistan":"tm","turks and caicos islands":"tc","tuvalu":"tv","türkiye":"tr","uganda":"ug","ukraine":"ua","united arab emirates":"ae","united kingdom":"gb","united states":"us","united states minor outlying islands":"um","uruguay":"uy","uzbekistan":"uz","vanuatu":"vu","venezuela":"ve","vietnam":"vn","virgin islands, british":"vg","virgin islands, u.s.":"vi","wallis and futuna":"wf","western sahara":"eh","yemen":"ye","zambia":"zm","zimbabwe":"zw","åland islands":"ax"},"kmap":{"de":{"console":"qwertz/de-latin1-nodeadkeys.kmap.gz","kvm":"de","name":"German","x11":"de","x11var":"nodeadkeys"},"de-ch":{"console":"qwertz/sg-latin1.kmap.gz","kvm":"de-ch","name":"Swiss-German","x11":"ch","x11var":"de_nodeadkeys"},"dk":{"console":"qwerty/dk-latin1.kmap.gz","kvm":"da","name":"Danish","x11":"dk","x11var":"nodeadkeys"},"en-gb":{"console":"qwerty/uk.kmap.gz","kvm":"en-gb","name":"United Kingdom","x11":"gb","x11var":""},"en-us":{"console":"qwerty/us-latin1.kmap.gz","kvm":"en-us","name":"U.S. English","x11":"us","x11var":""},"es":{"console":"qwerty/es.kmap.gz","kvm":"es","name":"Spanish","x11":"es","x11var":"nodeadkeys"},"fi":{"console":"qwerty/fi-latin1.kmap.gz","kvm":"fi","name":"Finnish","x11":"fi","x11var":"nodeadkeys"},"fr":{"console":"azerty/fr-latin1.kmap.gz","kvm":"fr","name":"French","x11":"fr","x11var":"nodeadkeys"},"fr-be":{"console":"azerty/be2-latin1.kmap.gz","kvm":"fr-be","name":"Belgium-French","x11":"be","x11var":"nodeadkeys"},"fr-ca":{"console":"qwerty/cf.kmap.gz","kvm":"fr-ca","name":"Canada-French","x11":"ca","x11var":"fr-legacy"},"fr-ch":{"console":"qwertz/fr_CH-latin1.kmap.gz","kvm":"fr-ch","name":"Swiss-French","x11":"ch","x11var":"fr_nodeadkeys"},"hu":{"console":"qwertz/hu.kmap.gz","kvm":"hu","name":"Hungarian","x11":"hu","x11var":""},"is":{"console":"qwerty/is-latin1.kmap.gz","kvm":"is","name":"Icelandic","x11":"is","x11var":"nodeadkeys"},"it":{"console":"qwerty/it2.kmap.gz","kvm":"it","name":"Italian","x11":"it","x11var":"nodeadkeys"},"jp":{"console":"qwerty/jp106.kmap.gz","kvm":"ja","name":"Japanese","x11":"jp","x11var":""},"lt":{"console":"qwerty/lt.kmap.gz","kvm":"lt","name":"Lithuanian","x11":"lt","x11var":"std"},"mk":{"console":"qwerty/mk.kmap.gz","kvm":"mk","name":"Macedonian","x11":"mk","x11var":"nodeadkeys"},"nl":{"console":"qwerty/nl.kmap.gz","kvm":"nl","name":"Dutch","x11":"nl","x11var":""},"no":{"console":"qwerty/no-latin1.kmap.gz","kvm":"no","name":"Norwegian","x11":"no","x11var":"nodeadkeys"},"pl":{"console":"qwerty/pl.kmap.gz","kvm":"pl","name":"Polish","x11":"pl","x11var":""},"pt":{"console":"qwerty/pt-latin1.kmap.gz","kvm":"pt","name":"Portuguese","x11":"pt","x11var":"nodeadkeys"},"pt-br":{"console":"qwerty/br-latin1.kmap.gz","kvm":"pt-br","name":"Brazil-Portuguese","x11":"br","x11var":"nodeadkeys"},"se":{"console":"qwerty/se-latin1.kmap.gz","kvm":"sv","name":"Swedish","x11":"se","x11var":"nodeadkeys"},"si":{"console":"qwertz/slovene.kmap.gz","kvm":"sl","name":"Slovenian","x11":"si","x11var":""},"tr":{"console":"qwerty/trq.kmap.gz","kvm":"tr","name":"Turkish","x11":"tr","x11var":""}},"kmaphash":{"Belgium-French":"fr-be","Brazil-Portuguese":"pt-br","Canada-French":"fr-ca","Danish":"dk","Dutch":"nl","Finnish":"fi","French":"fr","German":"de","Hungarian":"hu","Icelandic":"is","Italian":"it","Japanese":"jp","Lithuanian":"lt","Macedonian":"mk","Norwegian":"no","Polish":"pl","Portuguese":"pt","Slovenian":"si","Spanish":"es","Swedish":"se","Swiss-French":"fr-ch","Swiss-German":"de-ch","Turkish":"tr","U.S. English":"en-us","United Kingdom":"en-gb"},"zones":{"Africa/Abidjan":1,"Africa/Accra":1,"Africa/Addis_Ababa":1,"Africa/Algiers":1,"Africa/Asmara":1,"Africa/Bamako":1,"Africa/Bangui":1,"Africa/Banjul":1,"Africa/Bissau":1,"Africa/Blantyre":1,"Africa/Brazzaville":1,"Africa/Bujumbura":1,"Africa/Cairo":1,"Africa/Casablanca":1,"Africa/Ceuta":1,"Africa/Conakry":1,"Africa/Dakar":1,"Africa/Dar_es_Salaam":1,"Africa/Djibouti":1,"Africa/Douala":1,"Africa/El_Aaiun":1,"Africa/Freetown":1,"Africa/Gaborone":1,"Africa/Harare":1,"Africa/Johannesburg":1,"Africa/Juba":1,"Africa/Kampala":1,"Africa/Khartoum":1,"Africa/Kigali":1,"Africa/Kinshasa":1,"Africa/Lagos":1,"Africa/Libreville":1,"Africa/Lome":1,"Africa/Luanda":1,"Africa/Lubumbashi":1,"Africa/Lusaka":1,"Africa/Malabo":1,"Africa/Maputo":1,"Africa/Maseru":1,"Africa/Mbabane":1,"Africa/Mogadishu":1,"Africa/Monrovia":1,"Africa/Nairobi":1,"Africa/Ndjamena":1,"Africa/Niamey":1,"Africa/Nouakchott":1,"Africa/Ouagadougou":1,"Africa/Porto-Novo":1,"Africa/Sao_Tome":1,"Africa/Tripoli":1,"Africa/Tunis":1,"Africa/Windhoek":1,"America/Adak":1,"America/Anchorage":1,"America/Anguilla":1,"America/Antigua":1,"America/Araguaina":1,"America/Argentina/Buenos_Aires":1,"America/Argentina/Catamarca":1,"America/Argentina/Cordoba":1,"America/Argentina/Jujuy":1,"America/Argentina/La_Rioja":1,"America/Argentina/Mendoza":1,"America/Argentina/Rio_Gallegos":1,"America/Argentina/Salta":1,"America/Argentina/San_Juan":1,"America/Argentina/San_Luis":1,"America/Argentina/Tucuman":1,"America/Argentina/Ushuaia":1,"America/Aruba":1,"America/Asuncion":1,"America/Atikokan":1,"America/Bahia":1,"America/Bahia_Banderas":1,"America/Barbados":1,"America/Belem":1,"America/Belize":1,"America/Blanc-Sablon":1,"America/Boa_Vista":1,"America/Bogota":1,"America/Boise":1,"America/Cambridge_Bay":1,"America/Campo_Grande":1,"America/Cancun":1,"America/Caracas":1,"America/Cayenne":1,"America/Cayman":1,"America/Chicago":1,"America/Chihuahua":1,"America/Ciudad_Juarez":1,"America/Costa_Rica":1,"America/Coyhaique":1,"America/Creston":1,"America/Cuiaba":1,"America/Curacao":1,"America/Danmarkshavn":1,"America/Dawson":1,"America/Dawson_Creek":1,"America/Denver":1,"America/Detroit":1,"America/Dominica":1,"America/Edmonton":1,"America/Eirunepe":1,"America/El_Salvador":1,"America/Fort_Nelson":1,"America/Fortaleza":1,"America/Glace_Bay":1,"America/Goose_Bay":1,"America/Grand_Turk":1,"America/Grenada":1,"America/Guadeloupe":1,"America/Guatemala":1,"America/Guayaquil":1,"America/Guyana":1,"America/Halifax":1,"America/Havana":1,"America/Hermosillo":1,"America/Indiana/Indianapolis":1,"America/Indiana/Knox":1,"America/Indiana/Marengo":1,"America/Indiana/Petersburg":1,"America/Indiana/Tell_City":1,"America/Indiana/Vevay":1,"America/Indiana/Vincennes":1,"America/Indiana/Winamac":1,"America/Inuvik":1,"America/Iqaluit":1,"America/Jamaica":1,"America/Juneau":1,"America/Kentucky/Louisville":1,"America/Kentucky/Monticello":1,"America/Kralendijk":1,"America/La_Paz":1,"America/Lima":1,"America/Los_Angeles":1,"America/Lower_Princes":1,"America/Maceio":1,"America/Managua":1,"America/Manaus":1,"America/Marigot":1,"America/Martinique":1,"America/Matamoros":1,"America/Mazatlan":1,"America/Menominee":1,"America/Merida":1,"America/Metlakatla":1,"America/Mexico_City":1,"America/Miquelon":1,"America/Moncton":1,"America/Monterrey":1,"America/Montevideo":1,"America/Montserrat":1,"America/Nassau":1,"America/New_York":1,"America/Nome":1,"America/Noronha":1,"America/North_Dakota/Beulah":1,"America/North_Dakota/Center":1,"America/North_Dakota/New_Salem":1,"America/Nuuk":1,"America/Ojinaga":1,"America/Panama":1,"America/Paramaribo":1,"America/Phoenix":1,"America/Port-au-Prince":1,"America/Port_of_Spain":1,"America/Porto_Velho":1,"America/Puerto_Rico":1,"America/Punta_Arenas":1,"America/Rankin_Inlet":1,"America/Recife":1,"America/Regina":1,"America/Resolute":1,"America/Rio_Branco":1,"America/Santarem":1,"America/Santiago":1,"America/Santo_Domingo":1,"America/Sao_Paulo":1,"America/Scoresbysund":1,"America/Sitka":1,"America/St_Barthelemy":1,"America/St_Johns":1,"America/St_Kitts":1,"America/St_Lucia":1,"America/St_Thomas":1,"America/St_Vincent":1,"America/Swift_Current":1,"America/Tegucigalpa":1,"America/Thule":1,"America/Tijuana":1,"America/Toronto":1,"America/Tortola":1,"America/Vancouver":1,"America/Whitehorse":1,"America/Winnipeg":1,"America/Yakutat":1,"Antarctica/Casey":1,"Antarctica/Davis":1,"Antarctica/DumontDUrville":1,"Antarctica/Macquarie":1,"Antarctica/Mawson":1,"Antarctica/McMurdo":1,"Antarctica/Palmer":1,"Antarctica/Rothera":1,"Antarctica/Syowa":1,"Antarctica/Troll":1,"Antarctica/Vostok":1,"Arctic/Longyearbyen":1,"Asia/Aden":1,"Asia/Almaty":1,"Asia/Amman":1,"Asia/Anadyr":1,"Asia/Aqtau":1,"Asia/Aqtobe":1,"Asia/Ashgabat":1,"Asia/Atyrau":1,"Asia/Baghdad":1,"Asia/Bahrain":1,"Asia/Baku":1,"Asia/Bangkok":1,"Asia/Barnaul":1,"Asia/Beirut":1,"Asia/Bishkek":1,"Asia/Brunei":1,"Asia/Chita":1,"Asia/Colombo":1,"Asia/Damascus":1,"Asia/Dhaka":1,"Asia/Dili":1,"Asia/Dubai":1,"Asia/Dushanbe":1,"Asia/Famagusta":1,"Asia/Gaza":1,"Asia/Hebron":1,"Asia/Ho_Chi_Minh":1,"Asia/Hong_Kong":1,"Asia/Hovd":1,"Asia/Irkutsk":1,"Asia/Jakarta":1,"Asia/Jayapura":1,"Asia/Jerusalem":1,"Asia/Kabul":1,"Asia/Kamchatka":1,"Asia/Karachi":1,"Asia/Kathmandu":1,"Asia/Khandyga":1,"Asia/Kolkata":1,"Asia/Krasnoyarsk":1,"Asia/Kuala_Lumpur":1,"Asia/Kuching":1,"Asia/Kuwait":1,"Asia/Macau":1,"Asia/Magadan":1,"Asia/Makassar":1,"Asia/Manila":1,"Asia/Muscat":1,"Asia/Nicosia":1,"Asia/Novokuznetsk":1,"Asia/Novosibirsk":1,"Asia/Omsk":1,"Asia/Oral":1,"Asia/Phnom_Penh":1,"Asia/Pontianak":1,"Asia/Pyongyang":1,"Asia/Qatar":1,"Asia/Qostanay":1,"Asia/Qyzylorda":1,"Asia/Riyadh":1,"Asia/Sakhalin":1,"Asia/Samarkand":1,"Asia/Seoul":1,"Asia/Shanghai":1,"Asia/Singapore":1,"Asia/Srednekolymsk":1,"Asia/Taipei":1,"Asia/Tashkent":1,"Asia/Tbilisi":1,"Asia/Tehran":1,"Asia/Thimphu":1,"Asia/Tokyo":1,"Asia/Tomsk":1,"Asia/Ulaanbaatar":1,"Asia/Urumqi":1,"Asia/Ust-Nera":1,"Asia/Vientiane":1,"Asia/Vladivostok":1,"Asia/Yakutsk":1,"Asia/Yangon":1,"Asia/Yekaterinburg":1,"Asia/Yerevan":1,"Atlantic/Azores":1,"Atlantic/Bermuda":1,"Atlantic/Canary":1,"Atlantic/Cape_Verde":1,"Atlantic/Faroe":1,"Atlantic/Madeira":1,"Atlantic/Reykjavik":1,"Atlantic/South_Georgia":1,"Atlantic/St_Helena":1,"Atlantic/Stanley":1,"Australia/Adelaide":1,"Australia/Brisbane":1,"Australia/Broken_Hill":1,"Australia/Darwin":1,"Australia/Eucla":1,"Australia/Hobart":1,"Australia/Lindeman":1,"Australia/Lord_Howe":1,"Australia/Melbourne":1,"Australia/Perth":1,"Australia/Sydney":1,"Europe/Amsterdam":1,"Europe/Andorra":1,"Europe/Astrakhan":1,"Europe/Athens":1,"Europe/Belgrade":1,"Europe/Berlin":1,"Europe/Bratislava":1,"Europe/Brussels":1,"Europe/Bucharest":1,"Europe/Budapest":1,"Europe/Busingen":1,"Europe/Chisinau":1,"Europe/Copenhagen":1,"Europe/Dublin":1,"Europe/Gibraltar":1,"Europe/Guernsey":1,"Europe/Helsinki":1,"Europe/Isle_of_Man":1,"Europe/Istanbul":1,"Europe/Jersey":1,"Europe/Kaliningrad":1,"Europe/Kirov":1,"Europe/Kyiv":1,"Europe/Lisbon":1,"Europe/Ljubljana":1,"Europe/London":1,"Europe/Luxembourg":1,"Europe/Madrid":1,"Europe/Malta":1,"Europe/Mariehamn":1,"Europe/Minsk":1,"Europe/Monaco":1,"Europe/Moscow":1,"Europe/Oslo":1,"Europe/Paris":1,"Europe/Podgorica":1,"Europe/Prague":1,"Europe/Riga":1,"Europe/Rome":1,"Europe/Samara":1,"Europe/San_Marino":1,"Europe/Sarajevo":1,"Europe/Saratov":1,"Europe/Simferopol":1,"Europe/Skopje":1,"Europe/Sofia":1,"Europe/Stockholm":1,"Europe/Tallinn":1,"Europe/Tirane":1,"Europe/Ulyanovsk":1,"Europe/Vaduz":1,"Europe/Vatican":1,"Europe/Vienna":1,"Europe/Vilnius":1,"Europe/Volgograd":1,"Europe/Warsaw":1,"Europe/Zagreb":1,"Europe/Zurich":1,"Indian/Antananarivo":1,"Indian/Chagos":1,"Indian/Christmas":1,"Indian/Cocos":1,"Indian/Comoro":1,"Indian/Kerguelen":1,"Indian/Mahe":1,"Indian/Maldives":1,"Indian/Mauritius":1,"Indian/Mayotte":1,"Indian/Reunion":1,"Pacific/Apia":1,"Pacific/Auckland":1,"Pacific/Bougainville":1,"Pacific/Chatham":1,"Pacific/Chuuk":1,"Pacific/Easter":1,"Pacific/Efate":1,"Pacific/Fakaofo":1,"Pacific/Fiji":1,"Pacific/Funafuti":1,"Pacific/Galapagos":1,"Pacific/Gambier":1,"Pacific/Guadalcanal":1,"Pacific/Guam":1,"Pacific/Honolulu":1,"Pacific/Kanton":1,"Pacific/Kiritimati":1,"Pacific/Kosrae":1,"Pacific/Kwajalein":1,"Pacific/Majuro":1,"Pacific/Marquesas":1,"Pacific/Midway":1,"Pacific/Nauru":1,"Pacific/Niue":1,"Pacific/Norfolk":1,"Pacific/Noumea":1,"Pacific/Pago_Pago":1,"Pacific/Palau":1,"Pacific/Pitcairn":1,"Pacific/Pohnpei":1,"Pacific/Port_Moresby":1,"Pacific/Rarotonga":1,"Pacific/Saipan":1,"Pacific/Tahiti":1,"Pacific/Tarawa":1,"Pacific/Tongatapu":1,"Pacific/Wake":1,"Pacific/Wallis":1}} +{"cczones":{"ad":{"Europe/Andorra":1},"ae":{"Asia/Dubai":1},"af":{"Asia/Kabul":1},"ag":{"America/Antigua":1},"ai":{"America/Anguilla":1},"al":{"Europe/Tirane":1},"am":{"Asia/Yerevan":1},"ao":{"Africa/Luanda":1},"aq":{"Antarctica/Casey":1,"Antarctica/Davis":1,"Antarctica/DumontDUrville":1,"Antarctica/Mawson":1,"Antarctica/McMurdo":1,"Antarctica/Palmer":1,"Antarctica/Rothera":1,"Antarctica/Syowa":1,"Antarctica/Troll":1,"Antarctica/Vostok":1},"ar":{"America/Argentina/Buenos_Aires":1,"America/Argentina/Catamarca":1,"America/Argentina/Cordoba":1,"America/Argentina/Jujuy":1,"America/Argentina/La_Rioja":1,"America/Argentina/Mendoza":1,"America/Argentina/Rio_Gallegos":1,"America/Argentina/Salta":1,"America/Argentina/San_Juan":1,"America/Argentina/San_Luis":1,"America/Argentina/Tucuman":1,"America/Argentina/Ushuaia":1},"as":{"Pacific/Pago_Pago":1},"at":{"Europe/Vienna":1},"au":{"Antarctica/Macquarie":1,"Australia/Adelaide":1,"Australia/Brisbane":1,"Australia/Broken_Hill":1,"Australia/Darwin":1,"Australia/Eucla":1,"Australia/Hobart":1,"Australia/Lindeman":1,"Australia/Lord_Howe":1,"Australia/Melbourne":1,"Australia/Perth":1,"Australia/Sydney":1},"aw":{"America/Aruba":1},"ax":{"Europe/Mariehamn":1},"az":{"Asia/Baku":1},"ba":{"Europe/Sarajevo":1},"bb":{"America/Barbados":1},"bd":{"Asia/Dhaka":1},"be":{"Europe/Brussels":1},"bf":{"Africa/Ouagadougou":1},"bg":{"Europe/Sofia":1},"bh":{"Asia/Bahrain":1},"bi":{"Africa/Bujumbura":1},"bj":{"Africa/Porto-Novo":1},"bl":{"America/St_Barthelemy":1},"bm":{"Atlantic/Bermuda":1},"bn":{"Asia/Brunei":1},"bo":{"America/La_Paz":1},"bq":{"America/Kralendijk":1},"br":{"America/Araguaina":1,"America/Bahia":1,"America/Belem":1,"America/Boa_Vista":1,"America/Campo_Grande":1,"America/Cuiaba":1,"America/Eirunepe":1,"America/Fortaleza":1,"America/Maceio":1,"America/Manaus":1,"America/Noronha":1,"America/Porto_Velho":1,"America/Recife":1,"America/Rio_Branco":1,"America/Santarem":1,"America/Sao_Paulo":1},"bs":{"America/Nassau":1},"bt":{"Asia/Thimphu":1},"bw":{"Africa/Gaborone":1},"by":{"Europe/Minsk":1},"bz":{"America/Belize":1},"ca":{"America/Atikokan":1,"America/Blanc-Sablon":1,"America/Cambridge_Bay":1,"America/Creston":1,"America/Dawson":1,"America/Dawson_Creek":1,"America/Edmonton":1,"America/Fort_Nelson":1,"America/Glace_Bay":1,"America/Goose_Bay":1,"America/Halifax":1,"America/Inuvik":1,"America/Iqaluit":1,"America/Moncton":1,"America/Rankin_Inlet":1,"America/Regina":1,"America/Resolute":1,"America/St_Johns":1,"America/Swift_Current":1,"America/Toronto":1,"America/Vancouver":1,"America/Whitehorse":1,"America/Winnipeg":1},"cc":{"Indian/Cocos":1},"cd":{"Africa/Kinshasa":1,"Africa/Lubumbashi":1},"cf":{"Africa/Bangui":1},"cg":{"Africa/Brazzaville":1},"ch":{"Europe/Zurich":1},"ci":{"Africa/Abidjan":1},"ck":{"Pacific/Rarotonga":1},"cl":{"America/Coyhaique":1,"America/Punta_Arenas":1,"America/Santiago":1,"Pacific/Easter":1},"cm":{"Africa/Douala":1},"cn":{"Asia/Shanghai":1,"Asia/Urumqi":1},"co":{"America/Bogota":1},"cr":{"America/Costa_Rica":1},"cu":{"America/Havana":1},"cv":{"Atlantic/Cape_Verde":1},"cw":{"America/Curacao":1},"cx":{"Indian/Christmas":1},"cy":{"Asia/Famagusta":1,"Asia/Nicosia":1},"cz":{"Europe/Prague":1},"de":{"Europe/Berlin":1,"Europe/Busingen":1},"dj":{"Africa/Djibouti":1},"dk":{"Europe/Copenhagen":1},"dm":{"America/Dominica":1},"do":{"America/Santo_Domingo":1},"dz":{"Africa/Algiers":1},"ec":{"America/Guayaquil":1,"Pacific/Galapagos":1},"ee":{"Europe/Tallinn":1},"eg":{"Africa/Cairo":1},"eh":{"Africa/El_Aaiun":1},"er":{"Africa/Asmara":1},"es":{"Africa/Ceuta":1,"Atlantic/Canary":1,"Europe/Madrid":1},"et":{"Africa/Addis_Ababa":1},"fi":{"Europe/Helsinki":1},"fj":{"Pacific/Fiji":1},"fk":{"Atlantic/Stanley":1},"fm":{"Pacific/Chuuk":1,"Pacific/Kosrae":1,"Pacific/Pohnpei":1},"fo":{"Atlantic/Faroe":1},"fr":{"Europe/Paris":1},"ga":{"Africa/Libreville":1},"gb":{"Europe/London":1},"gd":{"America/Grenada":1},"ge":{"Asia/Tbilisi":1},"gf":{"America/Cayenne":1},"gg":{"Europe/Guernsey":1},"gh":{"Africa/Accra":1},"gi":{"Europe/Gibraltar":1},"gl":{"America/Danmarkshavn":1,"America/Nuuk":1,"America/Scoresbysund":1,"America/Thule":1},"gm":{"Africa/Banjul":1},"gn":{"Africa/Conakry":1},"gp":{"America/Guadeloupe":1},"gq":{"Africa/Malabo":1},"gr":{"Europe/Athens":1},"gs":{"Atlantic/South_Georgia":1},"gt":{"America/Guatemala":1},"gu":{"Pacific/Guam":1},"gw":{"Africa/Bissau":1},"gy":{"America/Guyana":1},"hk":{"Asia/Hong_Kong":1},"hn":{"America/Tegucigalpa":1},"hr":{"Europe/Zagreb":1},"ht":{"America/Port-au-Prince":1},"hu":{"Europe/Budapest":1},"id":{"Asia/Jakarta":1,"Asia/Jayapura":1,"Asia/Makassar":1,"Asia/Pontianak":1},"ie":{"Europe/Dublin":1},"il":{"Asia/Jerusalem":1},"im":{"Europe/Isle_of_Man":1},"in":{"Asia/Kolkata":1},"io":{"Indian/Chagos":1},"iq":{"Asia/Baghdad":1},"ir":{"Asia/Tehran":1},"is":{"Atlantic/Reykjavik":1},"it":{"Europe/Rome":1},"je":{"Europe/Jersey":1},"jm":{"America/Jamaica":1},"jo":{"Asia/Amman":1},"jp":{"Asia/Tokyo":1},"ke":{"Africa/Nairobi":1},"kg":{"Asia/Bishkek":1},"kh":{"Asia/Phnom_Penh":1},"ki":{"Pacific/Kanton":1,"Pacific/Kiritimati":1,"Pacific/Tarawa":1},"km":{"Indian/Comoro":1},"kn":{"America/St_Kitts":1},"kp":{"Asia/Pyongyang":1},"kr":{"Asia/Seoul":1},"kw":{"Asia/Kuwait":1},"ky":{"America/Cayman":1},"kz":{"Asia/Almaty":1,"Asia/Aqtau":1,"Asia/Aqtobe":1,"Asia/Atyrau":1,"Asia/Oral":1,"Asia/Qostanay":1,"Asia/Qyzylorda":1},"la":{"Asia/Vientiane":1},"lb":{"Asia/Beirut":1},"lc":{"America/St_Lucia":1},"li":{"Europe/Vaduz":1},"lk":{"Asia/Colombo":1},"lr":{"Africa/Monrovia":1},"ls":{"Africa/Maseru":1},"lt":{"Europe/Vilnius":1},"lu":{"Europe/Luxembourg":1},"lv":{"Europe/Riga":1},"ly":{"Africa/Tripoli":1},"ma":{"Africa/Casablanca":1},"mc":{"Europe/Monaco":1},"md":{"Europe/Chisinau":1},"me":{"Europe/Podgorica":1},"mf":{"America/Marigot":1},"mg":{"Indian/Antananarivo":1},"mh":{"Pacific/Kwajalein":1,"Pacific/Majuro":1},"mk":{"Europe/Skopje":1},"ml":{"Africa/Bamako":1},"mm":{"Asia/Yangon":1},"mn":{"Asia/Hovd":1,"Asia/Ulaanbaatar":1},"mo":{"Asia/Macau":1},"mp":{"Pacific/Saipan":1},"mq":{"America/Martinique":1},"mr":{"Africa/Nouakchott":1},"ms":{"America/Montserrat":1},"mt":{"Europe/Malta":1},"mu":{"Indian/Mauritius":1},"mv":{"Indian/Maldives":1},"mw":{"Africa/Blantyre":1},"mx":{"America/Bahia_Banderas":1,"America/Cancun":1,"America/Chihuahua":1,"America/Ciudad_Juarez":1,"America/Hermosillo":1,"America/Matamoros":1,"America/Mazatlan":1,"America/Merida":1,"America/Mexico_City":1,"America/Monterrey":1,"America/Ojinaga":1,"America/Tijuana":1},"my":{"Asia/Kuala_Lumpur":1,"Asia/Kuching":1},"mz":{"Africa/Maputo":1},"na":{"Africa/Windhoek":1},"nc":{"Pacific/Noumea":1},"ne":{"Africa/Niamey":1},"nf":{"Pacific/Norfolk":1},"ng":{"Africa/Lagos":1},"ni":{"America/Managua":1},"nl":{"Europe/Amsterdam":1},"no":{"Europe/Oslo":1},"np":{"Asia/Kathmandu":1},"nr":{"Pacific/Nauru":1},"nu":{"Pacific/Niue":1},"nz":{"Pacific/Auckland":1,"Pacific/Chatham":1},"om":{"Asia/Muscat":1},"pa":{"America/Panama":1},"pe":{"America/Lima":1},"pf":{"Pacific/Gambier":1,"Pacific/Marquesas":1,"Pacific/Tahiti":1},"pg":{"Pacific/Bougainville":1,"Pacific/Port_Moresby":1},"ph":{"Asia/Manila":1},"pk":{"Asia/Karachi":1},"pl":{"Europe/Warsaw":1},"pm":{"America/Miquelon":1},"pn":{"Pacific/Pitcairn":1},"pr":{"America/Puerto_Rico":1},"ps":{"Asia/Gaza":1,"Asia/Hebron":1},"pt":{"Atlantic/Azores":1,"Atlantic/Madeira":1,"Europe/Lisbon":1},"pw":{"Pacific/Palau":1},"py":{"America/Asuncion":1},"qa":{"Asia/Qatar":1},"re":{"Indian/Reunion":1},"ro":{"Europe/Bucharest":1},"rs":{"Europe/Belgrade":1},"ru":{"Asia/Anadyr":1,"Asia/Barnaul":1,"Asia/Chita":1,"Asia/Irkutsk":1,"Asia/Kamchatka":1,"Asia/Khandyga":1,"Asia/Krasnoyarsk":1,"Asia/Magadan":1,"Asia/Novokuznetsk":1,"Asia/Novosibirsk":1,"Asia/Omsk":1,"Asia/Sakhalin":1,"Asia/Srednekolymsk":1,"Asia/Tomsk":1,"Asia/Ust-Nera":1,"Asia/Vladivostok":1,"Asia/Yakutsk":1,"Asia/Yekaterinburg":1,"Europe/Astrakhan":1,"Europe/Kaliningrad":1,"Europe/Kirov":1,"Europe/Moscow":1,"Europe/Samara":1,"Europe/Saratov":1,"Europe/Ulyanovsk":1,"Europe/Volgograd":1},"rw":{"Africa/Kigali":1},"sa":{"Asia/Riyadh":1},"sb":{"Pacific/Guadalcanal":1},"sc":{"Indian/Mahe":1},"sd":{"Africa/Khartoum":1},"se":{"Europe/Stockholm":1},"sg":{"Asia/Singapore":1},"sh":{"Atlantic/St_Helena":1},"si":{"Europe/Ljubljana":1},"sj":{"Arctic/Longyearbyen":1},"sk":{"Europe/Bratislava":1},"sl":{"Africa/Freetown":1},"sm":{"Europe/San_Marino":1},"sn":{"Africa/Dakar":1},"so":{"Africa/Mogadishu":1},"sr":{"America/Paramaribo":1},"ss":{"Africa/Juba":1},"st":{"Africa/Sao_Tome":1},"sv":{"America/El_Salvador":1},"sx":{"America/Lower_Princes":1},"sy":{"Asia/Damascus":1},"sz":{"Africa/Mbabane":1},"tc":{"America/Grand_Turk":1},"td":{"Africa/Ndjamena":1},"tf":{"Indian/Kerguelen":1},"tg":{"Africa/Lome":1},"th":{"Asia/Bangkok":1},"tj":{"Asia/Dushanbe":1},"tk":{"Pacific/Fakaofo":1},"tl":{"Asia/Dili":1},"tm":{"Asia/Ashgabat":1},"tn":{"Africa/Tunis":1},"to":{"Pacific/Tongatapu":1},"tr":{"Europe/Istanbul":1},"tt":{"America/Port_of_Spain":1},"tv":{"Pacific/Funafuti":1},"tw":{"Asia/Taipei":1},"tz":{"Africa/Dar_es_Salaam":1},"ua":{"Europe/Kyiv":1,"Europe/Simferopol":1},"ug":{"Africa/Kampala":1},"um":{"Pacific/Midway":1,"Pacific/Wake":1},"us":{"America/Adak":1,"America/Anchorage":1,"America/Boise":1,"America/Chicago":1,"America/Denver":1,"America/Detroit":1,"America/Indiana/Indianapolis":1,"America/Indiana/Knox":1,"America/Indiana/Marengo":1,"America/Indiana/Petersburg":1,"America/Indiana/Tell_City":1,"America/Indiana/Vevay":1,"America/Indiana/Vincennes":1,"America/Indiana/Winamac":1,"America/Juneau":1,"America/Kentucky/Louisville":1,"America/Kentucky/Monticello":1,"America/Los_Angeles":1,"America/Menominee":1,"America/Metlakatla":1,"America/New_York":1,"America/Nome":1,"America/North_Dakota/Beulah":1,"America/North_Dakota/Center":1,"America/North_Dakota/New_Salem":1,"America/Phoenix":1,"America/Sitka":1,"America/Yakutat":1,"Pacific/Honolulu":1},"uy":{"America/Montevideo":1},"uz":{"Asia/Samarkand":1,"Asia/Tashkent":1},"va":{"Europe/Vatican":1},"vc":{"America/St_Vincent":1},"ve":{"America/Caracas":1},"vg":{"America/Tortola":1},"vi":{"America/St_Thomas":1},"vn":{"Asia/Ho_Chi_Minh":1},"vu":{"Pacific/Efate":1},"wf":{"Pacific/Wallis":1},"ws":{"Pacific/Apia":1},"ye":{"Asia/Aden":1},"yt":{"Indian/Mayotte":1},"za":{"Africa/Johannesburg":1},"zm":{"Africa/Lusaka":1},"zw":{"Africa/Harare":1}},"country":{"ad":{"kmap":"","name":"Andorra","zone":"Europe/Andorra"},"ae":{"kmap":"","name":"United Arab Emirates","zone":"Asia/Dubai"},"af":{"kmap":"","name":"Afghanistan","zone":"Asia/Kabul"},"ag":{"kmap":"","name":"Antigua and Barbuda","zone":"America/Antigua"},"ai":{"kmap":"","name":"Anguilla","zone":"America/Anguilla"},"al":{"kmap":"","name":"Albania","zone":"Europe/Tirane"},"am":{"kmap":"","name":"Armenia","zone":"Asia/Yerevan"},"ao":{"kmap":"","name":"Angola","zone":"Africa/Luanda"},"aq":{"kmap":"","name":"Antarctica","zone":"Antarctica/McMurdo"},"ar":{"kmap":"","name":"Argentina","zone":"America/Argentina/Buenos_Aires"},"as":{"kmap":"","name":"American Samoa","zone":"Pacific/Pago_Pago"},"at":{"kmap":"de","name":"Austria","zone":"Europe/Vienna"},"au":{"kmap":"","name":"Australia","zone":"Australia/Lord_Howe"},"aw":{"kmap":"","name":"Aruba","zone":"America/Aruba"},"ax":{"kmap":"","name":"Åland Islands","zone":"Europe/Mariehamn"},"az":{"kmap":"","name":"Azerbaijan","zone":"Asia/Baku"},"ba":{"kmap":"","name":"Bosnia and Herzegovina","zone":"Europe/Sarajevo"},"bb":{"kmap":"","name":"Barbados","zone":"America/Barbados"},"bd":{"kmap":"","name":"Bangladesh","zone":"Asia/Dhaka"},"be":{"kmap":"fr-be","name":"Belgium","zone":"Europe/Brussels"},"bf":{"kmap":"","name":"Burkina Faso","zone":"Africa/Ouagadougou"},"bg":{"kmap":"","name":"Bulgaria","zone":"Europe/Sofia"},"bh":{"kmap":"","name":"Bahrain","zone":"Asia/Bahrain"},"bi":{"kmap":"","name":"Burundi","zone":"Africa/Bujumbura"},"bj":{"kmap":"","name":"Benin","zone":"Africa/Porto-Novo"},"bl":{"kmap":"","name":"Saint Barthélemy","zone":"America/St_Barthelemy"},"bm":{"kmap":"","name":"Bermuda","zone":"Atlantic/Bermuda"},"bn":{"kmap":"","name":"Brunei Darussalam","zone":"Asia/Brunei"},"bo":{"kmap":"","name":"Bolivia","zone":"America/La_Paz"},"bq":{"kmap":"","name":"Bonaire, Sint Eustatius and Saba","zone":"America/Kralendijk"},"br":{"kmap":"pt-br","name":"Brazil","zone":"America/Noronha"},"bs":{"kmap":"","name":"Bahamas","zone":"America/Nassau"},"bt":{"kmap":"","name":"Bhutan","zone":"Asia/Thimphu"},"bv":{"kmap":"","name":"Bouvet Island"},"bw":{"kmap":"","name":"Botswana","zone":"Africa/Gaborone"},"by":{"kmap":"","name":"Belarus","zone":"Europe/Minsk"},"bz":{"kmap":"","name":"Belize","zone":"America/Belize"},"ca":{"kmap":"en-us","name":"Canada","zone":"America/St_Johns"},"cc":{"kmap":"","name":"Cocos (Keeling) Islands","zone":"Indian/Cocos"},"cd":{"kmap":"","name":"Congo, The Democratic Republic of the","zone":"Africa/Kinshasa"},"cf":{"kmap":"","name":"Central African Republic","zone":"Africa/Bangui"},"cg":{"kmap":"","name":"Congo","zone":"Africa/Brazzaville"},"ch":{"kmap":"de-ch","name":"Switzerland","zone":"Europe/Zurich"},"ci":{"kmap":"","name":"Côte d'Ivoire","zone":"Africa/Abidjan"},"ck":{"kmap":"","name":"Cook Islands","zone":"Pacific/Rarotonga"},"cl":{"kmap":"","name":"Chile","zone":"America/Santiago"},"cm":{"kmap":"","name":"Cameroon","zone":"Africa/Douala"},"cn":{"kmap":"","name":"China","zone":"Asia/Shanghai"},"co":{"kmap":"","name":"Colombia","zone":"America/Bogota"},"cr":{"kmap":"","name":"Costa Rica","zone":"America/Costa_Rica"},"cu":{"kmap":"","name":"Cuba","zone":"America/Havana"},"cv":{"kmap":"","name":"Cabo Verde","zone":"Atlantic/Cape_Verde"},"cw":{"kmap":"","name":"Curaçao","zone":"America/Curacao"},"cx":{"kmap":"","name":"Christmas Island","zone":"Indian/Christmas"},"cy":{"kmap":"","name":"Cyprus","zone":"Asia/Nicosia"},"cz":{"kmap":"","name":"Czechia","zone":"Europe/Prague"},"de":{"kmap":"de","name":"Germany","zone":"Europe/Berlin"},"dj":{"kmap":"","name":"Djibouti","zone":"Africa/Djibouti"},"dk":{"kmap":"dk","name":"Denmark","zone":"Europe/Copenhagen"},"dm":{"kmap":"","name":"Dominica","zone":"America/Dominica"},"do":{"kmap":"","name":"Dominican Republic","zone":"America/Santo_Domingo"},"dz":{"kmap":"","name":"Algeria","zone":"Africa/Algiers"},"ec":{"kmap":"","name":"Ecuador","zone":"America/Guayaquil"},"ee":{"kmap":"","name":"Estonia","zone":"Europe/Tallinn"},"eg":{"kmap":"","name":"Egypt","zone":"Africa/Cairo"},"eh":{"kmap":"","name":"Western Sahara","zone":"Africa/El_Aaiun"},"er":{"kmap":"","name":"Eritrea","zone":"Africa/Asmara"},"es":{"kmap":"es","name":"Spain","zone":"Europe/Madrid"},"et":{"kmap":"","name":"Ethiopia","zone":"Africa/Addis_Ababa"},"fi":{"kmap":"fi","name":"Finland","zone":"Europe/Helsinki"},"fj":{"kmap":"","name":"Fiji","zone":"Pacific/Fiji"},"fk":{"kmap":"","name":"Falkland Islands (Malvinas)","zone":"Atlantic/Stanley"},"fm":{"kmap":"","name":"Micronesia, Federated States of","zone":"Pacific/Chuuk"},"fo":{"kmap":"","name":"Faroe Islands","zone":"Atlantic/Faroe"},"fr":{"kmap":"fr","name":"France","zone":"Europe/Paris"},"ga":{"kmap":"","name":"Gabon","zone":"Africa/Libreville"},"gb":{"kmap":"en-gb","name":"United Kingdom","zone":"Europe/London"},"gd":{"kmap":"","name":"Grenada","zone":"America/Grenada"},"ge":{"kmap":"","name":"Georgia","zone":"Asia/Tbilisi"},"gf":{"kmap":"","name":"French Guiana","zone":"America/Cayenne"},"gg":{"kmap":"","name":"Guernsey","zone":"Europe/Guernsey"},"gh":{"kmap":"","name":"Ghana","zone":"Africa/Accra"},"gi":{"kmap":"es","name":"Gibraltar","zone":"Europe/Gibraltar"},"gl":{"kmap":"","name":"Greenland","zone":"America/Nuuk"},"gm":{"kmap":"","name":"Gambia","zone":"Africa/Banjul"},"gn":{"kmap":"","name":"Guinea","zone":"Africa/Conakry"},"gp":{"kmap":"","name":"Guadeloupe","zone":"America/Guadeloupe"},"gq":{"kmap":"","name":"Equatorial Guinea","zone":"Africa/Malabo"},"gr":{"kmap":"","name":"Greece","zone":"Europe/Athens"},"gs":{"kmap":"","name":"South Georgia and the South Sandwich Islands","zone":"Atlantic/South_Georgia"},"gt":{"kmap":"","name":"Guatemala","zone":"America/Guatemala"},"gu":{"kmap":"","name":"Guam","zone":"Pacific/Guam"},"gw":{"kmap":"","name":"Guinea-Bissau","zone":"Africa/Bissau"},"gy":{"kmap":"","name":"Guyana","zone":"America/Guyana"},"hk":{"kmap":"","name":"Hong Kong","zone":"Asia/Hong_Kong"},"hm":{"kmap":"","name":"Heard Island and McDonald Islands"},"hn":{"kmap":"","name":"Honduras","zone":"America/Tegucigalpa"},"hr":{"kmap":"","name":"Croatia","zone":"Europe/Zagreb"},"ht":{"kmap":"","name":"Haiti","zone":"America/Port-au-Prince"},"hu":{"kmap":"hu","name":"Hungary","zone":"Europe/Budapest"},"id":{"kmap":"","name":"Indonesia","zone":"Asia/Jakarta"},"ie":{"kmap":"","name":"Ireland","zone":"Europe/Dublin"},"il":{"kmap":"","name":"Israel","zone":"Asia/Jerusalem"},"im":{"kmap":"","name":"Isle of Man","zone":"Europe/Isle_of_Man"},"in":{"kmap":"","name":"India","zone":"Asia/Kolkata"},"io":{"kmap":"","name":"British Indian Ocean Territory","zone":"Indian/Chagos"},"iq":{"kmap":"","name":"Iraq","zone":"Asia/Baghdad"},"ir":{"kmap":"","name":"Iran","zone":"Asia/Tehran"},"is":{"kmap":"is","name":"Iceland","zone":"Atlantic/Reykjavik"},"it":{"kmap":"it","name":"Italy","zone":"Europe/Rome"},"je":{"kmap":"","name":"Jersey","zone":"Europe/Jersey"},"jm":{"kmap":"","name":"Jamaica","zone":"America/Jamaica"},"jo":{"kmap":"","name":"Jordan","zone":"Asia/Amman"},"jp":{"kmap":"jp","name":"Japan","zone":"Asia/Tokyo"},"ke":{"kmap":"","name":"Kenya","zone":"Africa/Nairobi"},"kg":{"kmap":"","name":"Kyrgyzstan","zone":"Asia/Bishkek"},"kh":{"kmap":"","name":"Cambodia","zone":"Asia/Phnom_Penh"},"ki":{"kmap":"","name":"Kiribati","zone":"Pacific/Tarawa"},"km":{"kmap":"","name":"Comoros","zone":"Indian/Comoro"},"kn":{"kmap":"","name":"Saint Kitts and Nevis","zone":"America/St_Kitts"},"kp":{"kmap":"","name":"North Korea","zone":"Asia/Pyongyang"},"kr":{"kmap":"","name":"South Korea","zone":"Asia/Seoul"},"kw":{"kmap":"","name":"Kuwait","zone":"Asia/Kuwait"},"ky":{"kmap":"","name":"Cayman Islands","zone":"America/Cayman"},"kz":{"kmap":"","name":"Kazakhstan","zone":"Asia/Almaty"},"la":{"kmap":"","name":"Laos","zone":"Asia/Vientiane"},"lb":{"kmap":"","name":"Lebanon","zone":"Asia/Beirut"},"lc":{"kmap":"","name":"Saint Lucia","zone":"America/St_Lucia"},"li":{"kmap":"de-ch","name":"Liechtenstein","zone":"Europe/Vaduz"},"lk":{"kmap":"","name":"Sri Lanka","zone":"Asia/Colombo"},"lr":{"kmap":"","name":"Liberia","zone":"Africa/Monrovia"},"ls":{"kmap":"","name":"Lesotho","zone":"Africa/Maseru"},"lt":{"kmap":"lt","name":"Lithuania","zone":"Europe/Vilnius"},"lu":{"kmap":"fr-ch","name":"Luxembourg","zone":"Europe/Luxembourg"},"lv":{"kmap":"","name":"Latvia","zone":"Europe/Riga"},"ly":{"kmap":"","name":"Libya","zone":"Africa/Tripoli"},"ma":{"kmap":"","name":"Morocco","zone":"Africa/Casablanca"},"mc":{"kmap":"","name":"Monaco","zone":"Europe/Monaco"},"md":{"kmap":"","name":"Moldova","zone":"Europe/Chisinau"},"me":{"kmap":"","name":"Montenegro","zone":"Europe/Podgorica"},"mf":{"kmap":"","name":"Saint Martin (French part)","zone":"America/Marigot"},"mg":{"kmap":"","name":"Madagascar","zone":"Indian/Antananarivo"},"mh":{"kmap":"","name":"Marshall Islands","zone":"Pacific/Majuro"},"mk":{"kmap":"mk","name":"North Macedonia","zone":"Europe/Skopje"},"ml":{"kmap":"","name":"Mali","zone":"Africa/Bamako"},"mm":{"kmap":"","name":"Myanmar","zone":"Asia/Yangon"},"mn":{"kmap":"","name":"Mongolia","zone":"Asia/Ulaanbaatar"},"mo":{"kmap":"","name":"Macao","zone":"Asia/Macau"},"mp":{"kmap":"","name":"Northern Mariana Islands","zone":"Pacific/Saipan"},"mq":{"kmap":"","name":"Martinique","zone":"America/Martinique"},"mr":{"kmap":"","name":"Mauritania","zone":"Africa/Nouakchott"},"ms":{"kmap":"","name":"Montserrat","zone":"America/Montserrat"},"mt":{"kmap":"","name":"Malta","zone":"Europe/Malta"},"mu":{"kmap":"","name":"Mauritius","zone":"Indian/Mauritius"},"mv":{"kmap":"","name":"Maldives","zone":"Indian/Maldives"},"mw":{"kmap":"","name":"Malawi","zone":"Africa/Blantyre"},"mx":{"kmap":"","name":"Mexico","zone":"America/Mexico_City"},"my":{"kmap":"","name":"Malaysia","zone":"Asia/Kuala_Lumpur"},"mz":{"kmap":"","name":"Mozambique","zone":"Africa/Maputo"},"na":{"kmap":"","name":"Namibia","zone":"Africa/Windhoek"},"nc":{"kmap":"","name":"New Caledonia","zone":"Pacific/Noumea"},"ne":{"kmap":"","name":"Niger","zone":"Africa/Niamey"},"nf":{"kmap":"","name":"Norfolk Island","zone":"Pacific/Norfolk"},"ng":{"kmap":"","name":"Nigeria","zone":"Africa/Lagos"},"ni":{"kmap":"","name":"Nicaragua","zone":"America/Managua"},"nl":{"kmap":"en-us","name":"Netherlands","zone":"Europe/Amsterdam"},"no":{"kmap":"no","name":"Norway","zone":"Europe/Oslo"},"np":{"kmap":"","name":"Nepal","zone":"Asia/Kathmandu"},"nr":{"kmap":"","name":"Nauru","zone":"Pacific/Nauru"},"nu":{"kmap":"","name":"Niue","zone":"Pacific/Niue"},"nz":{"kmap":"","name":"New Zealand","zone":"Pacific/Auckland"},"om":{"kmap":"","name":"Oman","zone":"Asia/Muscat"},"pa":{"kmap":"","name":"Panama","zone":"America/Panama"},"pe":{"kmap":"","name":"Peru","zone":"America/Lima"},"pf":{"kmap":"","name":"French Polynesia","zone":"Pacific/Tahiti"},"pg":{"kmap":"","name":"Papua New Guinea","zone":"Pacific/Port_Moresby"},"ph":{"kmap":"","name":"Philippines","zone":"Asia/Manila"},"pk":{"kmap":"","name":"Pakistan","zone":"Asia/Karachi"},"pl":{"kmap":"pl","name":"Poland","zone":"Europe/Warsaw"},"pm":{"kmap":"","name":"Saint Pierre and Miquelon","zone":"America/Miquelon"},"pn":{"kmap":"","name":"Pitcairn","zone":"Pacific/Pitcairn"},"pr":{"kmap":"","name":"Puerto Rico","zone":"America/Puerto_Rico"},"ps":{"kmap":"","name":"Palestine, State of","zone":"Asia/Gaza"},"pt":{"kmap":"pt","name":"Portugal","zone":"Europe/Lisbon"},"pw":{"kmap":"","name":"Palau","zone":"Pacific/Palau"},"py":{"kmap":"","name":"Paraguay","zone":"America/Asuncion"},"qa":{"kmap":"","name":"Qatar","zone":"Asia/Qatar"},"re":{"kmap":"","name":"Réunion","zone":"Indian/Reunion"},"ro":{"kmap":"","name":"Romania","zone":"Europe/Bucharest"},"rs":{"kmap":"","name":"Serbia","zone":"Europe/Belgrade"},"ru":{"kmap":"","name":"Russian Federation","zone":"Europe/Kaliningrad"},"rw":{"kmap":"","name":"Rwanda","zone":"Africa/Kigali"},"sa":{"kmap":"","name":"Saudi Arabia","zone":"Asia/Riyadh"},"sb":{"kmap":"","name":"Solomon Islands","zone":"Pacific/Guadalcanal"},"sc":{"kmap":"","name":"Seychelles","zone":"Indian/Mahe"},"sd":{"kmap":"","name":"Sudan","zone":"Africa/Khartoum"},"se":{"kmap":"","name":"Sweden","zone":"Europe/Stockholm"},"sg":{"kmap":"","name":"Singapore","zone":"Asia/Singapore"},"sh":{"kmap":"","name":"Saint Helena, Ascension and Tristan da Cunha","zone":"Atlantic/St_Helena"},"si":{"kmap":"si","name":"Slovenia","zone":"Europe/Ljubljana"},"sj":{"kmap":"","name":"Svalbard and Jan Mayen","zone":"Arctic/Longyearbyen"},"sk":{"kmap":"","name":"Slovakia","zone":"Europe/Bratislava"},"sl":{"kmap":"","name":"Sierra Leone","zone":"Africa/Freetown"},"sm":{"kmap":"","name":"San Marino","zone":"Europe/San_Marino"},"sn":{"kmap":"","name":"Senegal","zone":"Africa/Dakar"},"so":{"kmap":"","name":"Somalia","zone":"Africa/Mogadishu"},"sr":{"kmap":"","name":"Suriname","zone":"America/Paramaribo"},"ss":{"kmap":"","name":"South Sudan","zone":"Africa/Juba"},"st":{"kmap":"","name":"Sao Tome and Principe","zone":"Africa/Sao_Tome"},"sv":{"kmap":"","name":"El Salvador","zone":"America/El_Salvador"},"sx":{"kmap":"","name":"Sint Maarten (Dutch part)","zone":"America/Lower_Princes"},"sy":{"kmap":"","name":"Syria","zone":"Asia/Damascus"},"sz":{"kmap":"","name":"Eswatini","zone":"Africa/Mbabane"},"tc":{"kmap":"","name":"Turks and Caicos Islands","zone":"America/Grand_Turk"},"td":{"kmap":"","name":"Chad","zone":"Africa/Ndjamena"},"tf":{"kmap":"","name":"French Southern Territories","zone":"Indian/Kerguelen"},"tg":{"kmap":"","name":"Togo","zone":"Africa/Lome"},"th":{"kmap":"","name":"Thailand","zone":"Asia/Bangkok"},"tj":{"kmap":"","name":"Tajikistan","zone":"Asia/Dushanbe"},"tk":{"kmap":"","name":"Tokelau","zone":"Pacific/Fakaofo"},"tl":{"kmap":"","name":"Timor-Leste","zone":"Asia/Dili"},"tm":{"kmap":"","name":"Turkmenistan","zone":"Asia/Ashgabat"},"tn":{"kmap":"","name":"Tunisia","zone":"Africa/Tunis"},"to":{"kmap":"","name":"Tonga","zone":"Pacific/Tongatapu"},"tr":{"kmap":"","name":"Türkiye","zone":"Europe/Istanbul"},"tt":{"kmap":"","name":"Trinidad and Tobago","zone":"America/Port_of_Spain"},"tv":{"kmap":"","name":"Tuvalu","zone":"Pacific/Funafuti"},"tw":{"kmap":"","name":"Taiwan","zone":"Asia/Taipei"},"tz":{"kmap":"","name":"Tanzania","zone":"Africa/Dar_es_Salaam"},"ua":{"kmap":"","name":"Ukraine","zone":"Europe/Simferopol"},"ug":{"kmap":"","name":"Uganda","zone":"Africa/Kampala"},"um":{"kmap":"","name":"United States Minor Outlying Islands","zone":"Pacific/Midway"},"us":{"kmap":"en-us","name":"United States","zone":"America/New_York"},"uy":{"kmap":"","name":"Uruguay","zone":"America/Montevideo"},"uz":{"kmap":"","name":"Uzbekistan","zone":"Asia/Samarkand"},"va":{"kmap":"it","name":"Holy See (Vatican City State)","zone":"Europe/Vatican"},"vc":{"kmap":"","name":"Saint Vincent and the Grenadines","zone":"America/St_Vincent"},"ve":{"kmap":"","name":"Venezuela","zone":"America/Caracas"},"vg":{"kmap":"","name":"Virgin Islands, British","zone":"America/Tortola"},"vi":{"kmap":"","name":"Virgin Islands, U.S.","zone":"America/St_Thomas"},"vn":{"kmap":"","name":"Vietnam","zone":"Asia/Ho_Chi_Minh"},"vu":{"kmap":"","name":"Vanuatu","zone":"Pacific/Efate"},"wf":{"kmap":"","name":"Wallis and Futuna","zone":"Pacific/Wallis"},"ws":{"kmap":"","name":"Samoa","zone":"Pacific/Apia"},"ye":{"kmap":"","name":"Yemen","zone":"Asia/Aden"},"yt":{"kmap":"","name":"Mayotte","zone":"Indian/Mayotte"},"za":{"kmap":"","name":"South Africa","zone":"Africa/Johannesburg"},"zm":{"kmap":"","name":"Zambia","zone":"Africa/Lusaka"},"zw":{"kmap":"","name":"Zimbabwe","zone":"Africa/Harare"}},"countryhash":{"afghanistan":"af","albania":"al","algeria":"dz","american samoa":"as","andorra":"ad","angola":"ao","anguilla":"ai","antarctica":"aq","antigua and barbuda":"ag","argentina":"ar","armenia":"am","aruba":"aw","australia":"au","austria":"at","azerbaijan":"az","bahamas":"bs","bahrain":"bh","bangladesh":"bd","barbados":"bb","belarus":"by","belgium":"be","belize":"bz","benin":"bj","bermuda":"bm","bhutan":"bt","bolivia":"bo","bonaire, sint eustatius and saba":"bq","bosnia and herzegovina":"ba","botswana":"bw","bouvet island":"bv","brazil":"br","british indian ocean territory":"io","brunei darussalam":"bn","bulgaria":"bg","burkina faso":"bf","burundi":"bi","cabo verde":"cv","cambodia":"kh","cameroon":"cm","canada":"ca","cayman islands":"ky","central african republic":"cf","chad":"td","chile":"cl","china":"cn","christmas island":"cx","cocos (keeling) islands":"cc","colombia":"co","comoros":"km","congo":"cg","congo, the democratic republic of the":"cd","cook islands":"ck","costa rica":"cr","croatia":"hr","cuba":"cu","curaçao":"cw","cyprus":"cy","czechia":"cz","côte d'ivoire":"ci","denmark":"dk","djibouti":"dj","dominica":"dm","dominican republic":"do","ecuador":"ec","egypt":"eg","el salvador":"sv","equatorial guinea":"gq","eritrea":"er","estonia":"ee","eswatini":"sz","ethiopia":"et","falkland islands (malvinas)":"fk","faroe islands":"fo","fiji":"fj","finland":"fi","france":"fr","french guiana":"gf","french polynesia":"pf","french southern territories":"tf","gabon":"ga","gambia":"gm","georgia":"ge","germany":"de","ghana":"gh","gibraltar":"gi","greece":"gr","greenland":"gl","grenada":"gd","guadeloupe":"gp","guam":"gu","guatemala":"gt","guernsey":"gg","guinea":"gn","guinea-bissau":"gw","guyana":"gy","haiti":"ht","heard island and mcdonald islands":"hm","holy see (vatican city state)":"va","honduras":"hn","hong kong":"hk","hungary":"hu","iceland":"is","india":"in","indonesia":"id","iran":"ir","iraq":"iq","ireland":"ie","isle of man":"im","israel":"il","italy":"it","jamaica":"jm","japan":"jp","jersey":"je","jordan":"jo","kazakhstan":"kz","kenya":"ke","kiribati":"ki","kuwait":"kw","kyrgyzstan":"kg","laos":"la","latvia":"lv","lebanon":"lb","lesotho":"ls","liberia":"lr","libya":"ly","liechtenstein":"li","lithuania":"lt","luxembourg":"lu","macao":"mo","madagascar":"mg","malawi":"mw","malaysia":"my","maldives":"mv","mali":"ml","malta":"mt","marshall islands":"mh","martinique":"mq","mauritania":"mr","mauritius":"mu","mayotte":"yt","mexico":"mx","micronesia, federated states of":"fm","moldova":"md","monaco":"mc","mongolia":"mn","montenegro":"me","montserrat":"ms","morocco":"ma","mozambique":"mz","myanmar":"mm","namibia":"na","nauru":"nr","nepal":"np","netherlands":"nl","new caledonia":"nc","new zealand":"nz","nicaragua":"ni","niger":"ne","nigeria":"ng","niue":"nu","norfolk island":"nf","north korea":"kp","north macedonia":"mk","northern mariana islands":"mp","norway":"no","oman":"om","pakistan":"pk","palau":"pw","palestine, state of":"ps","panama":"pa","papua new guinea":"pg","paraguay":"py","peru":"pe","philippines":"ph","pitcairn":"pn","poland":"pl","portugal":"pt","puerto rico":"pr","qatar":"qa","romania":"ro","russian federation":"ru","rwanda":"rw","réunion":"re","saint barthélemy":"bl","saint helena, ascension and tristan da cunha":"sh","saint kitts and nevis":"kn","saint lucia":"lc","saint martin (french part)":"mf","saint pierre and miquelon":"pm","saint vincent and the grenadines":"vc","samoa":"ws","san marino":"sm","sao tome and principe":"st","saudi arabia":"sa","senegal":"sn","serbia":"rs","seychelles":"sc","sierra leone":"sl","singapore":"sg","sint maarten (dutch part)":"sx","slovakia":"sk","slovenia":"si","solomon islands":"sb","somalia":"so","south africa":"za","south georgia and the south sandwich islands":"gs","south korea":"kr","south sudan":"ss","spain":"es","sri lanka":"lk","sudan":"sd","suriname":"sr","svalbard and jan mayen":"sj","sweden":"se","switzerland":"ch","syria":"sy","taiwan":"tw","tajikistan":"tj","tanzania":"tz","thailand":"th","timor-leste":"tl","togo":"tg","tokelau":"tk","tonga":"to","trinidad and tobago":"tt","tunisia":"tn","turkmenistan":"tm","turks and caicos islands":"tc","tuvalu":"tv","türkiye":"tr","uganda":"ug","ukraine":"ua","united arab emirates":"ae","united kingdom":"gb","united states":"us","united states minor outlying islands":"um","uruguay":"uy","uzbekistan":"uz","vanuatu":"vu","venezuela":"ve","vietnam":"vn","virgin islands, british":"vg","virgin islands, u.s.":"vi","wallis and futuna":"wf","western sahara":"eh","yemen":"ye","zambia":"zm","zimbabwe":"zw","åland islands":"ax"},"kmap":{"de":{"console":"qwertz/de-latin1-nodeadkeys.kmap.gz","kvm":"de","name":"German","x11":"de","x11var":"nodeadkeys"},"de-ch":{"console":"qwertz/sg-latin1.kmap.gz","kvm":"de-ch","name":"Swiss-German","x11":"ch","x11var":"de_nodeadkeys"},"dk":{"console":"qwerty/dk-latin1.kmap.gz","kvm":"da","name":"Danish","x11":"dk","x11var":"nodeadkeys"},"en-gb":{"console":"qwerty/uk.kmap.gz","kvm":"en-gb","name":"United Kingdom","x11":"gb","x11var":""},"en-us":{"console":"qwerty/us-latin1.kmap.gz","kvm":"en-us","name":"U.S. English","x11":"us","x11var":""},"es":{"console":"qwerty/es.kmap.gz","kvm":"es","name":"Spanish","x11":"es","x11var":"nodeadkeys"},"fi":{"console":"qwerty/fi-latin1.kmap.gz","kvm":"fi","name":"Finnish","x11":"fi","x11var":"nodeadkeys"},"fr":{"console":"azerty/fr-latin1.kmap.gz","kvm":"fr","name":"French","x11":"fr","x11var":"nodeadkeys"},"fr-be":{"console":"azerty/be2-latin1.kmap.gz","kvm":"fr-be","name":"Belgium-French","x11":"be","x11var":"nodeadkeys"},"fr-ca":{"console":"qwerty/cf.kmap.gz","kvm":"fr-ca","name":"Canada-French","x11":"ca","x11var":"fr-legacy"},"fr-ch":{"console":"qwertz/fr_CH-latin1.kmap.gz","kvm":"fr-ch","name":"Swiss-French","x11":"ch","x11var":"fr_nodeadkeys"},"hu":{"console":"qwertz/hu.kmap.gz","kvm":"hu","name":"Hungarian","x11":"hu","x11var":""},"is":{"console":"qwerty/is-latin1.kmap.gz","kvm":"is","name":"Icelandic","x11":"is","x11var":"nodeadkeys"},"it":{"console":"qwerty/it2.kmap.gz","kvm":"it","name":"Italian","x11":"it","x11var":"nodeadkeys"},"jp":{"console":"qwerty/jp106.kmap.gz","kvm":"ja","name":"Japanese","x11":"jp","x11var":""},"lt":{"console":"qwerty/lt.kmap.gz","kvm":"lt","name":"Lithuanian","x11":"lt","x11var":"std"},"mk":{"console":"qwerty/mk.kmap.gz","kvm":"mk","name":"Macedonian","x11":"mk","x11var":"nodeadkeys"},"nl":{"console":"qwerty/nl.kmap.gz","kvm":"nl","name":"Dutch","x11":"nl","x11var":""},"no":{"console":"qwerty/no-latin1.kmap.gz","kvm":"no","name":"Norwegian","x11":"no","x11var":"nodeadkeys"},"pl":{"console":"qwerty/pl.kmap.gz","kvm":"pl","name":"Polish","x11":"pl","x11var":""},"pt":{"console":"qwerty/pt-latin1.kmap.gz","kvm":"pt","name":"Portuguese","x11":"pt","x11var":"nodeadkeys"},"pt-br":{"console":"qwerty/br-latin1.kmap.gz","kvm":"pt-br","name":"Brazil-Portuguese","x11":"br","x11var":"nodeadkeys"},"se":{"console":"qwerty/se-latin1.kmap.gz","kvm":"sv","name":"Swedish","x11":"se","x11var":"nodeadkeys"},"si":{"console":"qwertz/slovene.kmap.gz","kvm":"sl","name":"Slovenian","x11":"si","x11var":""},"tr":{"console":"qwerty/trq.kmap.gz","kvm":"tr","name":"Turkish","x11":"tr","x11var":""}},"kmaphash":{"Belgium-French":"fr-be","Brazil-Portuguese":"pt-br","Canada-French":"fr-ca","Danish":"dk","Dutch":"nl","Finnish":"fi","French":"fr","German":"de","Hungarian":"hu","Icelandic":"is","Italian":"it","Japanese":"jp","Lithuanian":"lt","Macedonian":"mk","Norwegian":"no","Polish":"pl","Portuguese":"pt","Slovenian":"si","Spanish":"es","Swedish":"se","Swiss-French":"fr-ch","Swiss-German":"de-ch","Turkish":"tr","U.S. English":"en-us","United Kingdom":"en-gb"},"zones":{"Africa/Abidjan":1,"Africa/Accra":1,"Africa/Addis_Ababa":1,"Africa/Algiers":1,"Africa/Asmara":1,"Africa/Bamako":1,"Africa/Bangui":1,"Africa/Banjul":1,"Africa/Bissau":1,"Africa/Blantyre":1,"Africa/Brazzaville":1,"Africa/Bujumbura":1,"Africa/Cairo":1,"Africa/Casablanca":1,"Africa/Ceuta":1,"Africa/Conakry":1,"Africa/Dakar":1,"Africa/Dar_es_Salaam":1,"Africa/Djibouti":1,"Africa/Douala":1,"Africa/El_Aaiun":1,"Africa/Freetown":1,"Africa/Gaborone":1,"Africa/Harare":1,"Africa/Johannesburg":1,"Africa/Juba":1,"Africa/Kampala":1,"Africa/Khartoum":1,"Africa/Kigali":1,"Africa/Kinshasa":1,"Africa/Lagos":1,"Africa/Libreville":1,"Africa/Lome":1,"Africa/Luanda":1,"Africa/Lubumbashi":1,"Africa/Lusaka":1,"Africa/Malabo":1,"Africa/Maputo":1,"Africa/Maseru":1,"Africa/Mbabane":1,"Africa/Mogadishu":1,"Africa/Monrovia":1,"Africa/Nairobi":1,"Africa/Ndjamena":1,"Africa/Niamey":1,"Africa/Nouakchott":1,"Africa/Ouagadougou":1,"Africa/Porto-Novo":1,"Africa/Sao_Tome":1,"Africa/Tripoli":1,"Africa/Tunis":1,"Africa/Windhoek":1,"America/Adak":1,"America/Anchorage":1,"America/Anguilla":1,"America/Antigua":1,"America/Araguaina":1,"America/Argentina/Buenos_Aires":1,"America/Argentina/Catamarca":1,"America/Argentina/Cordoba":1,"America/Argentina/Jujuy":1,"America/Argentina/La_Rioja":1,"America/Argentina/Mendoza":1,"America/Argentina/Rio_Gallegos":1,"America/Argentina/Salta":1,"America/Argentina/San_Juan":1,"America/Argentina/San_Luis":1,"America/Argentina/Tucuman":1,"America/Argentina/Ushuaia":1,"America/Aruba":1,"America/Asuncion":1,"America/Atikokan":1,"America/Bahia":1,"America/Bahia_Banderas":1,"America/Barbados":1,"America/Belem":1,"America/Belize":1,"America/Blanc-Sablon":1,"America/Boa_Vista":1,"America/Bogota":1,"America/Boise":1,"America/Cambridge_Bay":1,"America/Campo_Grande":1,"America/Cancun":1,"America/Caracas":1,"America/Cayenne":1,"America/Cayman":1,"America/Chicago":1,"America/Chihuahua":1,"America/Ciudad_Juarez":1,"America/Costa_Rica":1,"America/Coyhaique":1,"America/Creston":1,"America/Cuiaba":1,"America/Curacao":1,"America/Danmarkshavn":1,"America/Dawson":1,"America/Dawson_Creek":1,"America/Denver":1,"America/Detroit":1,"America/Dominica":1,"America/Edmonton":1,"America/Eirunepe":1,"America/El_Salvador":1,"America/Fort_Nelson":1,"America/Fortaleza":1,"America/Glace_Bay":1,"America/Goose_Bay":1,"America/Grand_Turk":1,"America/Grenada":1,"America/Guadeloupe":1,"America/Guatemala":1,"America/Guayaquil":1,"America/Guyana":1,"America/Halifax":1,"America/Havana":1,"America/Hermosillo":1,"America/Indiana/Indianapolis":1,"America/Indiana/Knox":1,"America/Indiana/Marengo":1,"America/Indiana/Petersburg":1,"America/Indiana/Tell_City":1,"America/Indiana/Vevay":1,"America/Indiana/Vincennes":1,"America/Indiana/Winamac":1,"America/Inuvik":1,"America/Iqaluit":1,"America/Jamaica":1,"America/Juneau":1,"America/Kentucky/Louisville":1,"America/Kentucky/Monticello":1,"America/Kralendijk":1,"America/La_Paz":1,"America/Lima":1,"America/Los_Angeles":1,"America/Lower_Princes":1,"America/Maceio":1,"America/Managua":1,"America/Manaus":1,"America/Marigot":1,"America/Martinique":1,"America/Matamoros":1,"America/Mazatlan":1,"America/Menominee":1,"America/Merida":1,"America/Metlakatla":1,"America/Mexico_City":1,"America/Miquelon":1,"America/Moncton":1,"America/Monterrey":1,"America/Montevideo":1,"America/Montserrat":1,"America/Nassau":1,"America/New_York":1,"America/Nome":1,"America/Noronha":1,"America/North_Dakota/Beulah":1,"America/North_Dakota/Center":1,"America/North_Dakota/New_Salem":1,"America/Nuuk":1,"America/Ojinaga":1,"America/Panama":1,"America/Paramaribo":1,"America/Phoenix":1,"America/Port-au-Prince":1,"America/Port_of_Spain":1,"America/Porto_Velho":1,"America/Puerto_Rico":1,"America/Punta_Arenas":1,"America/Rankin_Inlet":1,"America/Recife":1,"America/Regina":1,"America/Resolute":1,"America/Rio_Branco":1,"America/Santarem":1,"America/Santiago":1,"America/Santo_Domingo":1,"America/Sao_Paulo":1,"America/Scoresbysund":1,"America/Sitka":1,"America/St_Barthelemy":1,"America/St_Johns":1,"America/St_Kitts":1,"America/St_Lucia":1,"America/St_Thomas":1,"America/St_Vincent":1,"America/Swift_Current":1,"America/Tegucigalpa":1,"America/Thule":1,"America/Tijuana":1,"America/Toronto":1,"America/Tortola":1,"America/Vancouver":1,"America/Whitehorse":1,"America/Winnipeg":1,"America/Yakutat":1,"Antarctica/Casey":1,"Antarctica/Davis":1,"Antarctica/DumontDUrville":1,"Antarctica/Macquarie":1,"Antarctica/Mawson":1,"Antarctica/McMurdo":1,"Antarctica/Palmer":1,"Antarctica/Rothera":1,"Antarctica/Syowa":1,"Antarctica/Troll":1,"Antarctica/Vostok":1,"Arctic/Longyearbyen":1,"Asia/Aden":1,"Asia/Almaty":1,"Asia/Amman":1,"Asia/Anadyr":1,"Asia/Aqtau":1,"Asia/Aqtobe":1,"Asia/Ashgabat":1,"Asia/Atyrau":1,"Asia/Baghdad":1,"Asia/Bahrain":1,"Asia/Baku":1,"Asia/Bangkok":1,"Asia/Barnaul":1,"Asia/Beirut":1,"Asia/Bishkek":1,"Asia/Brunei":1,"Asia/Chita":1,"Asia/Colombo":1,"Asia/Damascus":1,"Asia/Dhaka":1,"Asia/Dili":1,"Asia/Dubai":1,"Asia/Dushanbe":1,"Asia/Famagusta":1,"Asia/Gaza":1,"Asia/Hebron":1,"Asia/Ho_Chi_Minh":1,"Asia/Hong_Kong":1,"Asia/Hovd":1,"Asia/Irkutsk":1,"Asia/Jakarta":1,"Asia/Jayapura":1,"Asia/Jerusalem":1,"Asia/Kabul":1,"Asia/Kamchatka":1,"Asia/Karachi":1,"Asia/Kathmandu":1,"Asia/Khandyga":1,"Asia/Kolkata":1,"Asia/Krasnoyarsk":1,"Asia/Kuala_Lumpur":1,"Asia/Kuching":1,"Asia/Kuwait":1,"Asia/Macau":1,"Asia/Magadan":1,"Asia/Makassar":1,"Asia/Manila":1,"Asia/Muscat":1,"Asia/Nicosia":1,"Asia/Novokuznetsk":1,"Asia/Novosibirsk":1,"Asia/Omsk":1,"Asia/Oral":1,"Asia/Phnom_Penh":1,"Asia/Pontianak":1,"Asia/Pyongyang":1,"Asia/Qatar":1,"Asia/Qostanay":1,"Asia/Qyzylorda":1,"Asia/Riyadh":1,"Asia/Sakhalin":1,"Asia/Samarkand":1,"Asia/Seoul":1,"Asia/Shanghai":1,"Asia/Singapore":1,"Asia/Srednekolymsk":1,"Asia/Taipei":1,"Asia/Tashkent":1,"Asia/Tbilisi":1,"Asia/Tehran":1,"Asia/Thimphu":1,"Asia/Tokyo":1,"Asia/Tomsk":1,"Asia/Ulaanbaatar":1,"Asia/Urumqi":1,"Asia/Ust-Nera":1,"Asia/Vientiane":1,"Asia/Vladivostok":1,"Asia/Yakutsk":1,"Asia/Yangon":1,"Asia/Yekaterinburg":1,"Asia/Yerevan":1,"Atlantic/Azores":1,"Atlantic/Bermuda":1,"Atlantic/Canary":1,"Atlantic/Cape_Verde":1,"Atlantic/Faroe":1,"Atlantic/Madeira":1,"Atlantic/Reykjavik":1,"Atlantic/South_Georgia":1,"Atlantic/St_Helena":1,"Atlantic/Stanley":1,"Australia/Adelaide":1,"Australia/Brisbane":1,"Australia/Broken_Hill":1,"Australia/Darwin":1,"Australia/Eucla":1,"Australia/Hobart":1,"Australia/Lindeman":1,"Australia/Lord_Howe":1,"Australia/Melbourne":1,"Australia/Perth":1,"Australia/Sydney":1,"Europe/Amsterdam":1,"Europe/Andorra":1,"Europe/Astrakhan":1,"Europe/Athens":1,"Europe/Belgrade":1,"Europe/Berlin":1,"Europe/Bratislava":1,"Europe/Brussels":1,"Europe/Bucharest":1,"Europe/Budapest":1,"Europe/Busingen":1,"Europe/Chisinau":1,"Europe/Copenhagen":1,"Europe/Dublin":1,"Europe/Gibraltar":1,"Europe/Guernsey":1,"Europe/Helsinki":1,"Europe/Isle_of_Man":1,"Europe/Istanbul":1,"Europe/Jersey":1,"Europe/Kaliningrad":1,"Europe/Kirov":1,"Europe/Kyiv":1,"Europe/Lisbon":1,"Europe/Ljubljana":1,"Europe/London":1,"Europe/Luxembourg":1,"Europe/Madrid":1,"Europe/Malta":1,"Europe/Mariehamn":1,"Europe/Minsk":1,"Europe/Monaco":1,"Europe/Moscow":1,"Europe/Oslo":1,"Europe/Paris":1,"Europe/Podgorica":1,"Europe/Prague":1,"Europe/Riga":1,"Europe/Rome":1,"Europe/Samara":1,"Europe/San_Marino":1,"Europe/Sarajevo":1,"Europe/Saratov":1,"Europe/Simferopol":1,"Europe/Skopje":1,"Europe/Sofia":1,"Europe/Stockholm":1,"Europe/Tallinn":1,"Europe/Tirane":1,"Europe/Ulyanovsk":1,"Europe/Vaduz":1,"Europe/Vatican":1,"Europe/Vienna":1,"Europe/Vilnius":1,"Europe/Volgograd":1,"Europe/Warsaw":1,"Europe/Zagreb":1,"Europe/Zurich":1,"Indian/Antananarivo":1,"Indian/Chagos":1,"Indian/Christmas":1,"Indian/Cocos":1,"Indian/Comoro":1,"Indian/Kerguelen":1,"Indian/Mahe":1,"Indian/Maldives":1,"Indian/Mauritius":1,"Indian/Mayotte":1,"Indian/Reunion":1,"Pacific/Apia":1,"Pacific/Auckland":1,"Pacific/Bougainville":1,"Pacific/Chatham":1,"Pacific/Chuuk":1,"Pacific/Easter":1,"Pacific/Efate":1,"Pacific/Fakaofo":1,"Pacific/Fiji":1,"Pacific/Funafuti":1,"Pacific/Galapagos":1,"Pacific/Gambier":1,"Pacific/Guadalcanal":1,"Pacific/Guam":1,"Pacific/Honolulu":1,"Pacific/Kanton":1,"Pacific/Kiritimati":1,"Pacific/Kosrae":1,"Pacific/Kwajalein":1,"Pacific/Majuro":1,"Pacific/Marquesas":1,"Pacific/Midway":1,"Pacific/Nauru":1,"Pacific/Niue":1,"Pacific/Norfolk":1,"Pacific/Noumea":1,"Pacific/Pago_Pago":1,"Pacific/Palau":1,"Pacific/Pitcairn":1,"Pacific/Pohnpei":1,"Pacific/Port_Moresby":1,"Pacific/Rarotonga":1,"Pacific/Saipan":1,"Pacific/Tahiti":1,"Pacific/Tarawa":1,"Pacific/Tongatapu":1,"Pacific/Wake":1,"Pacific/Wallis":1}} diff --git a/pkgs/by-name/pr/proxmox-auto-install-assistant/package.nix b/pkgs/by-name/pr/proxmox-auto-install-assistant/package.nix index 362470ee6c92..56234bb2f4ee 100644 --- a/pkgs/by-name/pr/proxmox-auto-install-assistant/package.nix +++ b/pkgs/by-name/pr/proxmox-auto-install-assistant/package.nix @@ -4,22 +4,25 @@ rustPlatform, pkg-config, openssl, + libxcrypt, + libisoburn, versionCheckHook, }: rustPlatform.buildRustPackage { pname = "proxmox-auto-install-assistant"; - version = "9.0.7"; + version = "9.1.6"; src = fetchgit { url = "git://git.proxmox.com/git/pve-installer.git"; - rev = "cfcaceacb797bfdbff8c7e8fed76e56642390b20"; - hash = "sha256-tXwNuT25GzQhdDtYiiQKPu6EPZQffUOZhBqkLZK/+DY="; + rev = "eab66c74a79663008ab12990bd27195a8d5c4204"; + hash = "sha256-nMyi3GfdQv/L05hpReSIoFrvmpbs4+5t/lUXXgP0bUs="; }; postPatch = '' rm -v .cargo/config.toml cp -v ${./Cargo.lock} Cargo.lock + chmod u+w Cargo.lock # pre-generated using `make locale-info.json` # depends on non-packaged perl modules and debian-specific files cp -v ${./locale-info.json} locale-info.json @@ -27,23 +30,32 @@ rustPlatform.buildRustPackage { buildAndTestSubdir = "proxmox-auto-install-assistant"; - cargoLock.lockFile = ./Cargo.lock; + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "proxmox-io-1.2.1" = "sha256-1F5PJKJ/Ys1EfFPqpP08pRiiTKOAt9IHZ/fbeYxH7SQ="; + "proxmox-lang-1.5.0" = "sha256-1F5PJKJ/Ys1EfFPqpP08pRiiTKOAt9IHZ/fbeYxH7SQ="; + "proxmox-sys-1.0.0" = "sha256-1F5PJKJ/Ys1EfFPqpP08pRiiTKOAt9IHZ/fbeYxH7SQ="; + }; + }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl.dev ]; + buildInputs = [ + libxcrypt + openssl.dev + ]; + + propagatedBuildInputs = [ libisoburn ]; postFixup = '' # these libraries are not actually necessary, only linked in by cargo # through crate dependencies (unfortunately) patchelf \ --remove-needed libcrypto.so.3 \ - --remove-needed libssl.so.3 \ $out/bin/proxmox-auto-install-assistant patchelf --shrink-rpath $out/bin/proxmox-auto-install-assistant ''; - disallowedReferences = [ openssl.out ]; - doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; From 70f40e0a3b8298f24bf3ce428a7737215d5bff96 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 14 Dec 2025 21:14:33 +0100 Subject: [PATCH 0030/1216] python313Packages.aiodns: 3.5.0 -> 3.6.1 Diff: https://github.com/saghul/aiodns/compare/v3.5.0...v3.6.1 Changelog: https://github.com/saghul/aiodns/releases/tag/v3.6.1 --- pkgs/development/python-modules/aiodns/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiodns/default.nix b/pkgs/development/python-modules/aiodns/default.nix index a0199d94a916..0c711ee81f50 100644 --- a/pkgs/development/python-modules/aiodns/default.nix +++ b/pkgs/development/python-modules/aiodns/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "aiodns"; - version = "3.5.0"; + version = "3.6.1"; pyproject = true; src = fetchFromGitHub { owner = "saghul"; repo = "aiodns"; tag = "v${version}"; - hash = "sha256-qabXwvJzZ4bq0R2Wkb0terZgjnRRt0/ymLcJkxChR6s="; + hash = "sha256-dRniMwmDAj8KtM/qMEJieUFq5h0e+PJydXpOT6xZA34="; }; build-system = [ setuptools ]; From 79429223426a2cd9000c69830a4ad6b3a8442406 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sun, 14 Dec 2025 16:56:05 -0500 Subject: [PATCH 0031/1216] moltenvk: 1.4.0 -> 1.4.1 https://github.com/KhronosGroup/MoltenVK/releases/tag/v1.4.1 --- pkgs/by-name/mo/moltenvk/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/mo/moltenvk/package.nix b/pkgs/by-name/mo/moltenvk/package.nix index 635d6ceab848..d39bb52b35e9 100644 --- a/pkgs/by-name/mo/moltenvk/package.nix +++ b/pkgs/by-name/mo/moltenvk/package.nix @@ -3,7 +3,7 @@ stdenv, fetchFromGitHub, gitUpdater, - apple-sdk_15, + apple-sdk_26, cereal, glslang, spirv-cross, @@ -21,12 +21,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "MoltenVK"; - version = "1.4.0"; + version = "1.4.1"; strictDeps = true; buildInputs = [ - apple-sdk_15 + apple-sdk_26 cereal glslang spirv-cross @@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "KhronosGroup"; repo = "MoltenVK"; rev = "v${finalAttrs.version}"; - hash = "sha256-ydXyah6/J6/1Lzuv+7JnMurkqnvQPs+6Vec0uUrxGq0="; + hash = "sha256-7S10p/XrQ/oMXuCnOU6gqnWMGMfP5vhimec1ThxmuIE="; }; postPatch = '' @@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: { while IFS= read -d "" proj; do echo "Updating deployment target to ${stdenv.hostPlatform.darwinMinVersion}: $proj" substituteInPlace "$proj" \ - --replace-fail 'MACOSX_DEPLOYMENT_TARGET = 10.15' "MACOSX_DEPLOYMENT_TARGET = $MACOSX_DEPLOYMENT_TARGET" + --replace-fail 'MACOSX_DEPLOYMENT_TARGET = 11.0' "MACOSX_DEPLOYMENT_TARGET = $MACOSX_DEPLOYMENT_TARGET" done < <(grep -Z -rl --include=project.pbxproj MACOSX_DEPLOYMENT_TARGET) # Move `mvkGitRevDerived.h` to a stable location From 182bcd0c1f24f6518590fffb12e0e2fafa57efdc Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 15 Dec 2025 11:11:37 +0100 Subject: [PATCH 0032/1216] rustc: fix build with structuredAttrs --- pkgs/development/compilers/rust/rustc.nix | 60 ++++++++++++----------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 43f4c9565165..ff2d0782ce61 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -76,33 +76,35 @@ stdenv.mkDerivation (finalAttrs: { # See: https://github.com/NixOS/nixpkgs/pull/56540#issuecomment-471624656 stripDebugList = [ "bin" ]; - NIX_LDFLAGS = toString ( - # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch' - # This doesn't apply to cross-building for FreeBSD because the host - # uses libstdc++, but the target (used for building std) uses libc++ - optional ( - stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && !useLLVM - ) "--push-state --as-needed -lstdc++ --pop-state" - ++ - optional - (stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && useLLVM) - "--push-state --as-needed -L${llvmPackages.libcxx}/lib -lc++ -lc++abi -lLLVM-${lib.versions.major llvmPackages.llvm.version} --pop-state" - ++ optional (stdenv.hostPlatform.isDarwin && !withBundledLLVM) "-lc++ -lc++abi" - ++ optional stdenv.hostPlatform.isDarwin "-rpath ${llvmSharedForHost.lib}/lib" - ); + env = { + NIX_LDFLAGS = toString ( + # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch' + # This doesn't apply to cross-building for FreeBSD because the host + # uses libstdc++, but the target (used for building std) uses libc++ + optional ( + stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && !useLLVM + ) "--push-state --as-needed -lstdc++ --pop-state" + ++ + optional + (stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && useLLVM) + "--push-state --as-needed -L${llvmPackages.libcxx}/lib -lc++ -lc++abi -lLLVM-${lib.versions.major llvmPackages.llvm.version} --pop-state" + ++ optional (stdenv.hostPlatform.isDarwin && !withBundledLLVM) "-lc++ -lc++abi" + ++ optional stdenv.hostPlatform.isDarwin "-rpath ${llvmSharedForHost.lib}/lib" + ); - RUSTFLAGS = lib.concatStringsSep " " ( - [ - # Increase codegen units to introduce parallelism within the compiler. - "-Ccodegen-units=10" - ] - ++ lib.optionals (stdenv.hostPlatform.rust.rustcTargetSpec == "x86_64-unknown-linux-gnu") [ - # Upstream defaults to lld on x86_64-unknown-linux-gnu, we want to use our linker - "-Clinker-features=-lld" - "-Clink-self-contained=-linker" - ] - ); - RUSTDOCFLAGS = "-A rustdoc::broken-intra-doc-links"; + RUSTFLAGS = lib.concatStringsSep " " ( + [ + # Increase codegen units to introduce parallelism within the compiler. + "-Ccodegen-units=10" + ] + ++ lib.optionals (stdenv.hostPlatform.rust.rustcTargetSpec == "x86_64-unknown-linux-gnu") [ + # Upstream defaults to lld on x86_64-unknown-linux-gnu, we want to use our linker + "-Clinker-features=-lld" + "-Clink-self-contained=-linker" + ] + ); + RUSTDOCFLAGS = "-A rustdoc::broken-intra-doc-links"; + }; # We need rust to build rust. If we don't provide it, configure will try to download it. # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py @@ -263,7 +265,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ # https://github.com/rust-lang/rust/issues/92173 - "--set rust.jemalloc" + "--set=rust.jemalloc" ] ++ optionals (useLLVM && !stdenv.targetPlatform.isFreeBSD) [ # https://github.com/NixOS/nixpkgs/issues/311930 @@ -279,7 +281,7 @@ stdenv.mkDerivation (finalAttrs: { # applies to functions that can be immediately compiled when building # std. Generic functions that do codegen when called in user code obey # -Cforce-frame-pointers specified then, if any) - "--set rust.frame-pointers" + "--set=rust.frame-pointers" ]; # if we already have a rust compiler for build just compile the target std @@ -451,6 +453,8 @@ stdenv.mkDerivation (finalAttrs: { // lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit firefox thunderbird; }; }; + __structuredAttrs = true; + meta = { homepage = "https://www.rust-lang.org/"; description = "Safe, concurrent, practical language"; From 7a83340a39b5f513b5996998179b5aa2d249c209 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 15 Dec 2025 19:48:06 +0000 Subject: [PATCH 0033/1216] libfabric: 2.3.1 -> 2.4.0 --- pkgs/by-name/li/libfabric/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libfabric/package.nix b/pkgs/by-name/li/libfabric/package.nix index 5cdf5fbf924d..125cc98968f7 100644 --- a/pkgs/by-name/li/libfabric/package.nix +++ b/pkgs/by-name/li/libfabric/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { pname = "libfabric"; - version = "2.3.1"; + version = "2.4.0"; enableParallelBuilding = true; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { owner = "ofiwg"; repo = "libfabric"; rev = "v${version}"; - sha256 = "sha256-Zaf7iGr2/HWiMcH7zERz5Y9YzJ0QpHCCs+bU+qmoQTI="; + sha256 = "sha256-C8k1caArVPBTtSggvAM7S660HpP99y9vac7oyf+HW2c="; }; outputs = [ From 43b5d35720d81b1d834f9300776aeed0a58d72c1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 15 Dec 2025 21:50:19 +0000 Subject: [PATCH 0034/1216] python3Packages.bleak: 1.1.1 -> 2.0.0 Diff: https://github.com/hbldh/bleak/compare/v1.1.1...v2.0.0 Changelog: https://github.com/hbldh/bleak/blob/v2.0.0/CHANGELOG.rst --- .../python-modules/bleak/default.nix | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/bleak/default.nix b/pkgs/development/python-modules/bleak/default.nix index 3351fe872a8b..bcdbb0924452 100644 --- a/pkgs/development/python-modules/bleak/default.nix +++ b/pkgs/development/python-modules/bleak/default.nix @@ -1,40 +1,46 @@ { lib, stdenv, - async-timeout, - bluez, buildPythonPackage, - dbus-fast, fetchFromGitHub, - poetry-core, - pytest-asyncio, - pytestCheckHook, + bluez, pythonOlder, - typing-extensions, + + # build-system + poetry-core, + + # dependencies + dbus-fast, pyobjc-core, pyobjc-framework-CoreBluetooth, pyobjc-framework-libdispatch, + typing-extensions, + async-timeout, + + pytest-asyncio, + pytestCheckHook, }: buildPythonPackage rec { pname = "bleak"; - version = "1.1.1"; + version = "2.0.0"; pyproject = true; - disabled = pythonOlder "3.9"; - src = fetchFromGitHub { owner = "hbldh"; repo = "bleak"; tag = "v${version}"; - hash = "sha256-z0Mxr1pUQWNEK01PKMV/CzpW+GeCRcv/+9BADts1FuU="; + hash = "sha256-UrKJoEyLa75HMCOgxmOqJi1z+32buMra+dwVe5qbBds="; }; - postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' + postPatch = # bleak checks BlueZ's version with a call to `bluetoothctl --version` - substituteInPlace bleak/backends/bluezdbus/version.py \ - --replace-fail \"bluetoothctl\" \"${bluez}/bin/bluetoothctl\" - ''; + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace bleak/backends/bluezdbus/version.py \ + --replace-fail \ + '"bluetoothctl"' \ + '"${lib.getExe' bluez "bluetoothctl"}"' + ''; build-system = [ poetry-core ]; From c979e06d934d64ddf38f511b26668e169df8b0c9 Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Mon, 15 Dec 2025 02:11:01 +0000 Subject: [PATCH 0035/1216] gnumake: build offline html documentation --- .../tools/build-managers/gnumake/default.nix | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index 81cfedf6f604..c944cdf724a9 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -5,6 +5,7 @@ autoreconfHook, guileSupport ? false, guile, + texinfo, # avoid guile depend on bootstrap to prevent dependency cycles inBootstrap ? false, pkg-config, @@ -40,7 +41,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config - ]; + ] + ++ lib.optionals (!inBootstrap) [ texinfo ]; + buildInputs = lib.optionals guileEnabled [ guile ]; configureFlags = lib.optional guileEnabled "--with-guile"; @@ -49,7 +52,18 @@ stdenv.mkDerivation rec { "out" "man" "info" - ]; + ] + ++ lib.optionals (!inBootstrap) [ "doc" ]; + + postBuild = lib.optionalString (!inBootstrap) '' + makeinfo --html --no-split doc/make.texi + ''; + + postInstall = lib.optionalString (!inBootstrap) '' + mkdir -p $doc/share/doc/$pname-$version + cp ./make.html $doc/share/doc/$pname-$version/index.html + ''; + separateDebugInfo = true; passthru.tests = { From eaac4295b2e03288a5f11c011f8bfbd70961657b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 16 Dec 2025 06:35:18 +0000 Subject: [PATCH 0036/1216] readline: 8.3p1 -> 8.3p3 --- pkgs/development/libraries/readline/readline-8.3-patches.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/readline/readline-8.3-patches.nix b/pkgs/development/libraries/readline/readline-8.3-patches.nix index 39f31814ee83..54d5848238eb 100644 --- a/pkgs/development/libraries/readline/readline-8.3-patches.nix +++ b/pkgs/development/libraries/readline/readline-8.3-patches.nix @@ -2,4 +2,6 @@ patch: [ (patch "001" "1pl4midx7kc56bw4ansrdpdjpanv1vmp0p6jghrrgrnv0qqs1w11") + (patch "002" "0wklr6h8p2nafk57wzz038j58a1bkrk1mbxsgjzxxxm9dcwn8wz2") + (patch "003" "0afvmkj17wm1af0yrcayzzhzhmkwkackjlmidrsgcf6f04vf3pkj") ] From 359262a8f7a8f1385b43275e7e16abe9368895a9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 16 Dec 2025 07:30:53 +0000 Subject: [PATCH 0037/1216] liburing: 2.12 -> 2.13 --- pkgs/by-name/li/liburing/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/liburing/package.nix b/pkgs/by-name/li/liburing/package.nix index 9fdfe41e9b7a..d47a689a4cdf 100644 --- a/pkgs/by-name/li/liburing/package.nix +++ b/pkgs/by-name/li/liburing/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "liburing"; - version = "2.12"; + version = "2.13"; src = fetchFromGitHub { owner = "axboe"; repo = "liburing"; tag = "liburing-${version}"; - hash = "sha256-sEMzkyjrCc49ogfUnzdgNtEXmW0Tz/PUKo99C965428="; + hash = "sha256-ZWM+SKeRw5iivyj0mHSxC6yw492N7CThx/pp4FJhkCo="; }; separateDebugInfo = true; From 46c9b038115578838bb508918c1da6ca0accab09 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Tue, 16 Dec 2025 13:46:50 -0400 Subject: [PATCH 0038/1216] libiconv: fix cygwin build --- pkgs/development/libraries/libiconv/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix index 8a166dfe0ea9..a7c3b193c9d0 100644 --- a/pkgs/development/libraries/libiconv/default.nix +++ b/pkgs/development/libraries/libiconv/default.nix @@ -76,7 +76,11 @@ stdenv.mkDerivation rec { (lib.enableFeature enableStatic "static") (lib.enableFeature enableShared "shared") ] - ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; + ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic" + # Work around build failure caused by the gnulib workaround for + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114870. + # remove after gnulib is updated + ++ lib.optional stdenv.hostPlatform.isCygwin "gl_cv_clean_version_stddef=yes"; passthru = { inherit setupHooks; }; From 15b2e4e73223d5a1a142f50e7a03e684dba43091 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Sat, 13 Sep 2025 18:18:39 -0300 Subject: [PATCH 0039/1216] zstd: fix cygwin build --- pkgs/tools/compression/zstd/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix index 13da3b9f7de4..a014b652d313 100644 --- a/pkgs/tools/compression/zstd/default.nix +++ b/pkgs/tools/compression/zstd/default.nix @@ -111,6 +111,13 @@ stdenv.mkDerivation (finalAttrs: { '' ); + # replace invalid symlinks when executable suffix is .exe + postInstall = lib.optionalString stdenv.hostPlatform.isCygwin '' + for link in unzstd zstdcat zstdmt; do + ln -sf zstd.exe $bin/bin/$link + done + ''; + outputs = [ "bin" "dev" From 91cf291d3260cc1a7a4a9131e250cf1f6c8a0451 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 17 Dec 2025 01:34:45 +0100 Subject: [PATCH 0040/1216] x265: fix build with structuredAttrs --- pkgs/by-name/x2/x265/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/x2/x265/package.nix b/pkgs/by-name/x2/x265/package.nix index c3610a634857..c18c1a72d1f1 100644 --- a/pkgs/by-name/x2/x265/package.nix +++ b/pkgs/by-name/x2/x265/package.nix @@ -151,8 +151,8 @@ stdenv.mkDerivation rec { preConfigure = lib.optionalString multibitdepthSupport '' - cmake -B build-10bits $cmakeFlags "''${cmakeFlagsArray[@]}" $cmakeStaticLibFlags - cmake -B build-12bits $cmakeFlags "''${cmakeFlagsArray[@]}" $cmakeStaticLibFlags -DMAIN12=ON + cmake -B build-10bits "''${cmakeFlags[@]}" "''${cmakeFlagsArray[@]}" "''${cmakeStaticLibFlags[@]}" + cmake -B build-12bits "''${cmakeFlags[@]}" "''${cmakeFlagsArray[@]}" "''${cmakeStaticLibFlags[@]}" -DMAIN12=ON cmakeFlagsArray+=( -DEXTRA_LIB="x265-10.a;x265-12.a" -DEXTRA_LINK_FLAGS=-L. @@ -198,6 +198,8 @@ stdenv.mkDerivation rec { ln -s $out/bin/*.dll $out/lib ''; + __structuredAttrs = true; + meta = { description = "Library for encoding H.265/HEVC video streams"; mainProgram = "x265"; From b770f35b4de1c7ad0a323e805b4bae59786e3c20 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 17 Dec 2025 00:58:14 +0100 Subject: [PATCH 0041/1216] openldap: fix build with structuredAttrs --- pkgs/by-name/op/openldap/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/op/openldap/package.nix b/pkgs/by-name/op/openldap/package.nix index 3ebf541856ef..2a680d4c0f09 100644 --- a/pkgs/by-name/op/openldap/package.nix +++ b/pkgs/by-name/op/openldap/package.nix @@ -108,8 +108,8 @@ stdenv.mkDerivation rec { ]; postBuild = '' - for module in $extraContribModules; do - make $makeFlags CC=$CC -C contrib/slapd-modules/$module + for module in ''${extraContribModules[@]}; do + make ''${makeFlags[@]} CC=$CC -C contrib/slapd-modules/$module done ''; @@ -144,8 +144,8 @@ stdenv.mkDerivation rec { ]; postInstall = lib.optionalString withModules '' - for module in $extraContribModules; do - make $installFlags install -C contrib/slapd-modules/$module + for module in ''${extraContribModules[@]}; do + make ''${installFlags[@]} install -C contrib/slapd-modules/$module done chmod +x "$out"/lib/*.{so,dylib} ''; From 51c78494b9ff1a5a4833e15177bfd6631a8e3e3c Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 17 Dec 2025 00:58:22 +0100 Subject: [PATCH 0042/1216] openldap: use --replace-fail instead of --replace --- pkgs/by-name/op/openldap/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/op/openldap/package.nix b/pkgs/by-name/op/openldap/package.nix index 2a680d4c0f09..cf67b943b3c9 100644 --- a/pkgs/by-name/op/openldap/package.nix +++ b/pkgs/by-name/op/openldap/package.nix @@ -115,7 +115,7 @@ stdenv.mkDerivation rec { preCheck = '' substituteInPlace tests/scripts/all \ - --replace "/bin/rm" "rm" + --replace-fail "/bin/rm" "rm" # skip flaky tests # https://bugs.openldap.org/show_bug.cgi?id=8623 From 270b71041a865b30e3676da83247d63802869137 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 17 Dec 2025 02:00:57 +0100 Subject: [PATCH 0043/1216] x265: clean up flags, use finalAttrs --- pkgs/by-name/x2/x265/package.nix | 83 ++++++++++++++++---------------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/pkgs/by-name/x2/x265/package.nix b/pkgs/by-name/x2/x265/package.nix index c18c1a72d1f1..08cd86aaac54 100644 --- a/pkgs/by-name/x2/x265/package.nix +++ b/pkgs/by-name/x2/x265/package.nix @@ -33,12 +33,10 @@ }: let - mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF"; - isCross = stdenv.buildPlatform != stdenv.hostPlatform; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "x265"; version = "4.1"; @@ -50,7 +48,7 @@ stdenv.mkDerivation rec { # Check that x265Version.txt contains the expected version number # whether we fetch a source tarball or a tag from the git repo src = fetchurl { - url = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_${version}.tar.gz"; + url = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_${finalAttrs.version}.tar.gz"; hash = "sha256-oxaZxqiYBrdLAVHl5qffZd5LSQUEgv5ev4pDedevjyk="; }; @@ -89,18 +87,18 @@ stdenv.mkDerivation rec { }) ]; - sourceRoot = "x265_${version}/source"; + sourceRoot = "x265_${finalAttrs.version}/source"; postPatch = '' substituteInPlace cmake/Version.cmake \ - --replace-fail "unknown" "${version}" \ - --replace-fail "0.0" "${version}" + --replace-fail "unknown" "${finalAttrs.version}" \ + --replace-fail "0.0" "${finalAttrs.version}" '' # There is broken and complicated logic when setting X265_LATEST_TAG for # mingwW64 builds. This bypasses the logic by setting it at the end of the # file + lib.optionalString stdenv.hostPlatform.isMinGW '' - echo 'set(X265_LATEST_TAG "${version}")' >> ./cmake/Version.cmake + echo 'set(X265_LATEST_TAG "${finalAttrs.version}")' >> ./cmake/Version.cmake ''; nativeBuildInputs = [ @@ -110,15 +108,15 @@ stdenv.mkDerivation rec { ++ lib.optionals numaSupport [ numactl ]; cmakeFlags = [ - "-DENABLE_ALPHA=ON" - "-DENABLE_MULTIVIEW=ON" - "-DENABLE_SCC_EXT=ON" + (lib.cmakeBool "ENABLE_ALPHA" true) + (lib.cmakeBool "ENABLE_MULTIVIEW" true) + (lib.cmakeBool "ENABLE_SCC_EXT" true) "-Wno-dev" - (mkFlag custatsSupport "DETAILED_CU_STATS") - (mkFlag debugSupport "CHECKED_BUILD") - (mkFlag ppaSupport "ENABLE_PPA") - (mkFlag vtuneSupport "ENABLE_VTUNE") - (mkFlag werrorSupport "WARNINGS_AS_ERRORS") + (lib.cmakeBool "DETAILED_CU_STATS" custatsSupport) + (lib.cmakeBool "CHECKED_BUILD" debugSupport) + (lib.cmakeBool "ENABLE_PPA" ppaSupport) + (lib.cmakeBool "ENABLE_VTUNE" vtuneSupport) + (lib.cmakeBool "WARNINGS_AS_ERRORS" werrorSupport) ] ++ lib.optionals stdenv.hostPlatform.isPower [ # baseline for everything but ppc64le doesn't have AltiVec @@ -128,46 +126,49 @@ stdenv.mkDerivation rec { (lib.cmakeBool "CPU_POWER8" (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian)) ] # Clang does not support the endfunc directive so use GCC. - ++ lib.optional ( - stdenv.cc.isClang && !stdenv.targetPlatform.isDarwin && !stdenv.targetPlatform.isFreeBSD - ) "-DCMAKE_ASM_COMPILER=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}gcc" + ++ + lib.optionals + (stdenv.cc.isClang && !stdenv.targetPlatform.isDarwin && !stdenv.targetPlatform.isFreeBSD) + [ + (lib.cmakeFeature "CMAKE_ASM_COMPILER" "${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}gcc") + ] # Neon support ++ lib.optionals (neonSupport && stdenv.hostPlatform.isAarch32) [ - "-DENABLE_NEON=ON" - "-DCPU_HAS_NEON=ON" - "-DENABLE_ASSEMBLY=ON" + (lib.cmakeBool "ENABLE_NEON" true) + (lib.cmakeBool "CPU_HAS_NEON" true) + (lib.cmakeBool "ENABLE_ASSEMBLY" true) ]; cmakeStaticLibFlags = [ - "-DHIGH_BIT_DEPTH=ON" - "-DENABLE_CLI=OFF" - "-DENABLE_SHARED=OFF" - "-DEXPORT_C_API=OFF" + (lib.cmakeBool "HIGH_BIT_DEPTH" true) + (lib.cmakeBool "ENABLE_CLI" false) + (lib.cmakeBool "ENABLE_SHARED" false) + (lib.cmakeBool "EXPORT_C_API" false) ] ++ lib.optionals isCross [ - (mkFlag stdenv.hostPlatform.isAarch32 "CROSS_COMPILE_ARM") - (mkFlag stdenv.hostPlatform.isAarch64 "CROSS_COMPILE_ARM64") + (lib.cmakeBool "CROSS_COMPILE_ARM" stdenv.hostPlatform.isAarch32) + (lib.cmakeBool "CROSS_COMPILE_ARM64" stdenv.hostPlatform.isAarch64) ]; preConfigure = lib.optionalString multibitdepthSupport '' cmake -B build-10bits "''${cmakeFlags[@]}" "''${cmakeFlagsArray[@]}" "''${cmakeStaticLibFlags[@]}" - cmake -B build-12bits "''${cmakeFlags[@]}" "''${cmakeFlagsArray[@]}" "''${cmakeStaticLibFlags[@]}" -DMAIN12=ON + cmake -B build-12bits "''${cmakeFlags[@]}" "''${cmakeFlagsArray[@]}" "''${cmakeStaticLibFlags[@]}" ${lib.cmakeBool "MAIN12" true} cmakeFlagsArray+=( - -DEXTRA_LIB="x265-10.a;x265-12.a" - -DEXTRA_LINK_FLAGS=-L. - -DLINKED_10BIT=ON - -DLINKED_12BIT=ON + ${lib.cmakeFeature "EXTRA_LIB" "\"x265-10.a;x265-12.a\""} + ${lib.cmakeFeature "EXTRA_LINK_FLAGS" "-L."} + ${lib.cmakeBool "LINKED_10BIT" true} + ${lib.cmakeBool "LINKED_12BIT" true} ) '' + '' cmakeFlagsArray+=( - -DGIT_ARCHETYPE=1 # https://bugs.gentoo.org/814116 - ${mkFlag (!stdenv.hostPlatform.isStatic) "ENABLE_SHARED"} - -DHIGH_BIT_DEPTH=OFF - -DENABLE_HDR10_PLUS=ON - ${mkFlag cliSupport "ENABLE_CLI"} - ${mkFlag unittestsSupport "ENABLE_TESTS"} + ${lib.cmakeBool "GIT_ARCHETYPE" true} # https://bugs.gentoo.org/814116 + ${lib.cmakeBool "ENABLE_SHARED" (!stdenv.hostPlatform.isStatic)} + ${lib.cmakeBool "HIGH_BIT_DEPTH" false} + ${lib.cmakeBool "ENABLE_HDR10_PLUS" true} + ${lib.cmakeBool "ENABLE_CLI" cliSupport} + ${lib.cmakeBool "ENABLE_TESTS" unittestsSupport} ) ''; @@ -205,10 +206,10 @@ stdenv.mkDerivation rec { mainProgram = "x265"; homepage = "https://www.x265.org"; changelog = "https://x265.readthedocs.io/en/master/releasenotes.html#version-${ - lib.strings.replaceStrings [ "." ] [ "-" ] version + lib.strings.replaceStrings [ "." ] [ "-" ] finalAttrs.version }"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ codyopel ]; platforms = lib.platforms.all; }; -} +}) From 7e7d0c93f886c1b79f2f28b67764404841c83a9c Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Tue, 16 Dec 2025 17:10:23 -0800 Subject: [PATCH 0044/1216] tailscale: 1.90.9 -> 1.92.3 tailscale (1.92.3) * Fix panic in client during automatic WireGuard configuration. tailscale (1.92.1) * Feature: Support PROXY protocol in Tailscale Funnel and Serve to forward client source IP and port. * Feature: Add support for static Peer Relay endpoints via 'tailscale set --relay-server-static-endpoints'. * Feature: Add support for Workload Identity Federation authentication in 'tailscale up' via '--client-id' and '--id-token' flags. * Feature: Allow configuring remote targets as destinations for Tailscale Services. * Improvement: Enhance Peer Relay connection reliability by sending multiple forward bind packets per handshake. * Improvement: Include more candidate IP:port pairs in Peer Relay endpoint advertisements. * Improvement: Automatically record node peer information in network flow logs. * Improvement: Stabilize JSON output format for 'tailscale lock log'. --- pkgs/by-name/ta/tailscale/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ta/tailscale/package.nix b/pkgs/by-name/ta/tailscale/package.nix index 9f55a5263c28..e76305461a08 100644 --- a/pkgs/by-name/ta/tailscale/package.nix +++ b/pkgs/by-name/ta/tailscale/package.nix @@ -24,7 +24,7 @@ buildGoModule (finalAttrs: { pname = "tailscale"; - version = "1.90.9"; + version = "1.92.3"; outputs = [ "out" @@ -35,10 +35,10 @@ buildGoModule (finalAttrs: { owner = "tailscale"; repo = "tailscale"; tag = "v${finalAttrs.version}"; - hash = "sha256-gfpjP1i9077VR/sDclnz+QXJcCffuS0i33m75zo91kM="; + hash = "sha256-6dE3kgYABAVtrAjGWnWZ3X4Aq7yJagxNEk6BSyIC3Yk="; }; - vendorHash = "sha256-AUOjLomba75qfzb9Vxc0Sktyeces6hBSuOMgboWcDnE="; + vendorHash = "sha256-jJSSXMyUqcJoZuqfSlBsKDQezyqS+jDkRglMMjG1K8g="; nativeBuildInputs = [ makeWrapper From faec7b8323e852a0038d865aa65a01f4f8bca766 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 17 Dec 2025 02:44:48 +0100 Subject: [PATCH 0045/1216] python3Packages.eth-hash: fix build with structuredAttrs --- pkgs/development/python-modules/eth-hash/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/eth-hash/default.nix b/pkgs/development/python-modules/eth-hash/default.nix index cea7774011cf..c2d6683d349c 100644 --- a/pkgs/development/python-modules/eth-hash/default.nix +++ b/pkgs/development/python-modules/eth-hash/default.nix @@ -32,7 +32,7 @@ buildPythonPackage rec { ] ++ optional-dependencies.pycryptodome # safe-pysha3 is not available on pypy - ++ lib.optional (!isPyPy) optional-dependencies.pysha3; + ++ lib.optionals (!isPyPy) optional-dependencies.pysha3; # Backends need to be tested separately and can not use hook checkPhase = '' @@ -51,6 +51,8 @@ buildPythonPackage rec { pysha3 = [ safe-pysha3 ]; }; + __structuredAttrs = true; + meta = { description = "Ethereum hashing function keccak256"; homepage = "https://github.com/ethereum/eth-hash"; From f495cf4d820537a06cda31cdf7334e5bba812a91 Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Wed, 17 Dec 2025 14:11:16 +1100 Subject: [PATCH 0046/1216] python3Packages.filelock: 3.20.0 -> 3.20.1 https://github.com/tox-dev/py-filelock/releases/tag/3.20.1 --- pkgs/development/python-modules/filelock/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix index 926bc2ad5cfd..760286a19faf 100644 --- a/pkgs/development/python-modules/filelock/default.nix +++ b/pkgs/development/python-modules/filelock/default.nix @@ -12,12 +12,12 @@ buildPythonPackage rec { pname = "filelock"; - version = "3.20.0"; + version = "3.20.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-cR6UO07GvkLh1OZpC0jcF1yCKWdGa7McDCk/NDNME/Q="; + hash = "sha256-uDYJSLNRuA9CCHjYUWUZoiBLB6783P0kkSpdMxJ/GIw="; }; build-system = [ From adb23eecadf8b34b12f0bcc41e641c1130f52b31 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 10 Dec 2025 17:08:00 +0000 Subject: [PATCH 0047/1216] python312Packages.httpx-aiohttp: 0.1.9 -> 0.1.12 CHANGELOG: https://github.com/karpetrosyan/httpx-aiohttp/releases/tag/0.1.12 DIFF: https://github.com/karpetrosyan/httpx-aiohttp/compare/0.1.9...0.1.12 --- pkgs/development/python-modules/httpx-aiohttp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/httpx-aiohttp/default.nix b/pkgs/development/python-modules/httpx-aiohttp/default.nix index 1223fc607040..9295882b144b 100644 --- a/pkgs/development/python-modules/httpx-aiohttp/default.nix +++ b/pkgs/development/python-modules/httpx-aiohttp/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "httpx-aiohttp"; - version = "0.1.9"; + version = "0.1.12"; pyproject = true; src = fetchFromGitHub { owner = "karpetrosyan"; repo = "httpx-aiohttp"; tag = version; - hash = "sha256-XngJwwolGsiT5AAsDvyQWOi4VEp7ItMdqeoQG6cyDlk="; + hash = "sha256-5k/+oEsW2oPN2OM0jXU/+FcsWQLvSdYgM8AuzTU9XrI="; fetchSubmodules = true; }; From 158939332641e21752961a8d97c1bcd1bf045537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=20Bla=C5=A1kovi=C4=87?= Date: Mon, 15 Dec 2025 08:23:35 +0000 Subject: [PATCH 0048/1216] rust: 1.91.1 -> 1.92.0 --- .../compilers/rust/{1_91.nix => 1_92.nix} | 43 ++++++++++--------- .../compilers/rust/ignore-missing-docs.patch | 11 +++++ pkgs/top-level/all-packages.nix | 8 ++-- 3 files changed, 37 insertions(+), 25 deletions(-) rename pkgs/development/compilers/rust/{1_91.nix => 1_92.nix} (55%) create mode 100644 pkgs/development/compilers/rust/ignore-missing-docs.patch diff --git a/pkgs/development/compilers/rust/1_91.nix b/pkgs/development/compilers/rust/1_92.nix similarity index 55% rename from pkgs/development/compilers/rust/1_91.nix rename to pkgs/development/compilers/rust/1_92.nix index c9d31d1899d4..572446c1d2a4 100644 --- a/pkgs/development/compilers/rust/1_91.nix +++ b/pkgs/development/compilers/rust/1_92.nix @@ -50,8 +50,9 @@ let in import ./default.nix { - rustcVersion = "1.91.1"; - rustcSha256 = "sha256-ONziBdOfYVcSYfBEQjehzp7+y5cOdg2OxNlXr1tEVyM="; + rustcVersion = "1.92.0"; + rustcSha256 = "sha256-ng0sp1x+J1/cdYJVv0sDr7PWXRVDYCdGkHyTO2kBw7g="; + rustcPatches = [ ./ignore-missing-docs.patch ]; llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; llvmSharedForHost = llvmSharedFor pkgsBuildHost; @@ -65,30 +66,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.91.1"; + bootstrapVersion = "1.92.0"; # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` bootstrapHashes = { - i686-unknown-linux-gnu = "b596ac56c67cf893e58ecf3263e59ac10157e9f50047e8d3d84faf288273ea47"; - x86_64-unknown-linux-gnu = "1c955c040dd087e4751d15588ddec288b4208bea16f8ec5046c164877e55fff7"; - x86_64-unknown-linux-musl = "e690ea46a73b11268c0487a4bca440142d69de7c0ca062fcdf2b99ad0e42e8e5"; - arm-unknown-linux-gnueabihf = "4899619845a875b2e51825943fad66cf42dced0e1f66470222ff0653776bd59e"; - armv7-unknown-linux-gnueabihf = "c51a61f304c0019c57169b964ec26f7a7ff7dcefaf42b973237f96fb457b25c8"; - aarch64-unknown-linux-gnu = "50213385f288b8760b2efd54ac066ef9a76475e778cbe3b0fcbd3f898fc00674"; - aarch64-unknown-linux-musl = "d374258cd00b4069e44266ab58b321208187511606236ebcc791a5a2d86554e1"; - x86_64-apple-darwin = "05adbd08e6535ed22a9c3d8f11d90df51eb6393488cbbb0c81f2b18d56e4d1ee"; - aarch64-apple-darwin = "f6727c9ab64a5b2a15623f29a023faf0c6a6aeb1347d102b88d595e5c1d9beae"; - powerpc64-unknown-linux-gnu = "94d86d13af288c4a06c8ea8b563e3889d55cc6064a06defd3b612eeeda902b93"; - powerpc64le-unknown-linux-gnu = "355f8043cd506fa718892eeedeebc9d6cc3de1a7757fdb8385c7bdc4cbc853ac"; - powerpc64le-unknown-linux-musl = "c17d51f54c00a371fbab80519b454a901a4b36b9f5a3a692e8816480d8f87067"; - riscv64gc-unknown-linux-gnu = "08230d9c59105270b2e06c5e87078a2a478efcacef8a88aedcccca9f317fa492"; - s390x-unknown-linux-gnu = "fb87330d72636d30f0a9b4b640f994186fc3ad0c0f3c89b2e0f7f31cfd7885f6"; - loongarch64-unknown-linux-gnu = "be6f676ae2ad80d4242798429915f708e3ecae7c895936c5fee172a4f7f2eec8"; - loongarch64-unknown-linux-musl = "7b071bc98d1e42dd802cc5b5bb83a9467d02ad6621231363519c869d322dcd5f"; - x86_64-unknown-freebsd = "9e231fa573b6bb99654a689687aede2014d4c21ac3c8422534c990c859632f50"; + i686-unknown-linux-gnu = "0028378e76fc10255677a5398886664f619c15757f3e830d7464f3c716bc3f7e"; + x86_64-unknown-linux-gnu = "6e5efd6c25953b2732d4e6b1842512536650c68cf72a8b99a0fc566012dd6ca5"; + x86_64-unknown-linux-musl = "1a257be51efac7bea14d5566e521777b85c473ee42524a38abb181c6443c38e4"; + arm-unknown-linux-gnueabihf = "e8d400cc169f858915f8c5bd23070d5b7f63ca8b1d14a5ef53423d952e33a794"; + armv7-unknown-linux-gnueabihf = "1c0f84532a91f3ce7223613565f15f8992a8e09859d699c163a7782d15d6beef"; + aarch64-unknown-linux-gnu = "c812028423c3d7dd7ba99f66101e9e1aa3f66eab44a1285f41c363825d49dca4"; + aarch64-unknown-linux-musl = "ad412daf7b31aadbeb12f836ed14983f5d1d0717bd444e305f94ee68ea822fcd"; + x86_64-apple-darwin = "fc6868991e61e9262272effbb8956b23428430f5f4300c1b48eaae3969f8af2a"; + aarch64-apple-darwin = "235a6cca2dd4881130a9ae61ad1149bbf28bba184dd4621700f0c98c97457716"; + powerpc64-unknown-linux-gnu = "189dd8a254202d32066f123b42497b88f809a11680842e67c68e48a4200b6caf"; + powerpc64le-unknown-linux-gnu = "e2fe00a3c91f21c52947ebf96b4da016c9def5ccfedd1c335f30746db58bbf35"; + powerpc64le-unknown-linux-musl = "4655468ef2ccc3d6eaf55015054970ab4a8fb79d853add830c9e4016551b7101"; + riscv64gc-unknown-linux-gnu = "c2d1b80d3c69edcca5c0d2b2042fad43fdb06fa614a8cd09063c1c259dca8a7e"; + s390x-unknown-linux-gnu = "1ca05b6bd892c358ae0a12acbb605560529d80633abebb43ec004142205d7bd2"; + loongarch64-unknown-linux-gnu = "2f9a85ff1816d6e28a96c1f5b9c9c5d9fe710a20a36f172c41bc289cc780956e"; + loongarch64-unknown-linux-musl = "4fe07780b1ac08baee71de2ddbd275ba14cc082df54ea5a95055514130152546"; + x86_64-unknown-freebsd = "f32b7d8d5ad5c186fa496dd0b7202899f89e93870940e41c37e576f324494189"; }; - selectRustPackage = pkgs: pkgs.rust_1_91; + selectRustPackage = pkgs: pkgs.rust_1_92; } ( diff --git a/pkgs/development/compilers/rust/ignore-missing-docs.patch b/pkgs/development/compilers/rust/ignore-missing-docs.patch new file mode 100644 index 000000000000..1d433a59713d --- /dev/null +++ b/pkgs/development/compilers/rust/ignore-missing-docs.patch @@ -0,0 +1,11 @@ +index 897f59f530..c94a4a804f 100644 +--- a/library/core/src/os/mod.rs ++++ b/library/core/src/os/mod.rs +@@ -1,6 +1,7 @@ + //! OS-specific functionality. + + #![unstable(feature = "darwin_objc", issue = "145496")] ++#[allow(missing_docs)] + + #[cfg(all( + doc, diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b2c7cf8d12d..b7489c8d27a7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5091,15 +5091,15 @@ with pkgs; wrapRustcWith = { rustc-unwrapped, ... }@args: callPackage ../build-support/rust/rustc-wrapper args; wrapRustc = rustc-unwrapped: wrapRustcWith { inherit rustc-unwrapped; }; - rust_1_91 = callPackage ../development/compilers/rust/1_91.nix { }; - rust = rust_1_91; + rust_1_92 = callPackage ../development/compilers/rust/1_92.nix { }; + rust = rust_1_92; mrustc = callPackage ../development/compilers/mrustc { }; mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { }; mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { }; - rustPackages_1_91 = rust_1_91.packages.stable; - rustPackages = rustPackages_1_91; + rustPackages_1_92 = rust_1_92.packages.stable; + rustPackages = rustPackages_1_92; inherit (rustPackages) cargo From 1191bdc681e2f51d13b24d77b4e1c5e83eb4deaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 17 Dec 2025 01:42:16 -0800 Subject: [PATCH 0049/1216] python3Packages.charset-normalizer: 3.4.3 -> 3.4.4 Diff: https://github.com/jawah/charset_normalizer/compare/3.4.3...3.4.4 Changelog: https://github.com/jawah/charset_normalizer/blob/3.4.4/CHANGELOG.md --- .../python-modules/charset-normalizer/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix index 609126f572ce..e5df64dc15a8 100644 --- a/pkgs/development/python-modules/charset-normalizer/default.nix +++ b/pkgs/development/python-modules/charset-normalizer/default.nix @@ -8,24 +8,22 @@ pytestCheckHook, requests, setuptools, - setuptools-scm, }: buildPythonPackage rec { pname = "charset-normalizer"; - version = "3.4.3"; + version = "3.4.4"; pyproject = true; src = fetchFromGitHub { owner = "jawah"; repo = "charset_normalizer"; tag = version; - hash = "sha256-ZEHxBErjjvofqe3rkkgiEuEJcoluwo+2nZrLfrsHn5Q="; + hash = "sha256-MtSBKG8bXUsgEPyXxMRBPPFI8mfuIETy6UVshe7yqGg="; }; build-system = [ setuptools - setuptools-scm ] ++ lib.optional (!isPyPy) mypy; From 4a894b31c328bae8dee8cfcc20f6a59f97b8ab3f Mon Sep 17 00:00:00 2001 From: Ben Zeng Date: Tue, 16 Dec 2025 20:33:06 +0200 Subject: [PATCH 0050/1216] auto-patchelf: add --preserve-origin arg If --preserve-origin is set and this ELF file's existing RUNPATH/RPATH contains a $ORIGIN entry that resolves to the same directory, that $ORIGIN entry is added instead of an absolute path. --- .../au/auto-patchelf/source/auto-patchelf.py | 57 +++++++++++++++++-- 1 file changed, 53 insertions(+), 4 deletions(-) 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 bf8882818dd9..360756375f48 100644 --- a/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py +++ b/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py @@ -204,6 +204,36 @@ def find_dependency(soname: str, soarch: str, soabi: str) -> Optional[Path]: return None +def find_first_matching_rpath_with_origin(binary: Path, lib_dir: Path, rpaths: list[str]) -> Optional[Path]: + """ + If lib_dir equals one of the existing $ORIGIN-based RPATH entries + (after resolving $ORIGIN relative to this binary), return that $ORIGIN + entry to preserve it; otherwise return None. + + Note: we return a Path constructed from the RPATH string (which may + contain $ORIGIN). This is intentional so that the caller can treat it + uniformly with other Path entries when building the final RPATH string + (via Path.as_posix). We do not expect this Path to exist on the + filesystem; it functions as a display value. + """ + try: + # resolve(strict=False) does not require the path to exist, but may still + # raise RuntimeError (cycles) or OSError in odd environments. Guard those. + lib_dir_realpath = lib_dir.resolve() + except (OSError, RuntimeError): + return None + for rpath in rpaths: + if "$ORIGIN" not in rpath: + continue + try: + candidate_rpath_realpath = (binary.parent / rpath.replace("$ORIGIN", ".")).resolve() + except (OSError, RuntimeError): + continue + if candidate_rpath_realpath == lib_dir_realpath: + return Path(rpath) + return None + + @dataclass class Dependency: file: Path # The file that contains the dependency @@ -211,7 +241,7 @@ class Dependency: found: bool = False # Whether it was found somewhere -def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list[Path] = [], keep_libc: bool = False, extra_args: list[str] = []) -> list[Dependency]: +def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list[Path] = [], keep_libc: bool = False, preserve_origin: bool = False, extra_args: list[str] = []) -> list[Dependency]: try: with open_elf(path) as elf: @@ -242,6 +272,7 @@ def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list file_is_dynamic_executable = is_dynamic_executable(elf) file_dependencies = get_dependencies(elf) + get_dlopen_dependencies(elf) + existing_rpaths = get_rpath(elf) except ELFError: return [] @@ -279,7 +310,10 @@ def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list # and resolved automatically by the dynamic linker, unless # keep_libc is enabled. # 3. If a candidate is found in our library dependencies, that - # dependency should be added to rpath. + # dependency should be added to rpath. If --preserve-origin + # is set and this file's existing RUNPATH/RPATH contains a $ORIGIN + # entry that resolves to the same directory, we add that $ORIGIN + # entry instead of an absolute path. # 4. If all of the above fail, libc dependencies should still be # considered found. This is in contrast to step 2, because # enabling keep_libc should allow libc to be found in step 3 @@ -299,7 +333,8 @@ def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list was_found = True break elif found_dependency := find_dependency(candidate.name, file_arch, file_osabi): - rpath.append(found_dependency) + origin_rpath_entry = find_first_matching_rpath_with_origin(path, found_dependency, existing_rpaths) if preserve_origin else None + rpath.append(origin_rpath_entry or found_dependency) dependencies.append(Dependency(path, candidate, found=True)) print(f" {candidate} -> found: {found_dependency}") was_found = True @@ -315,6 +350,12 @@ def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list rpath.extend(append_rpaths) + # Keep any existing $ORIGIN entries that didn't match a discovered dependency (i.e. dlopen-only lookups) + if preserve_origin: + for existing_rpath in existing_rpaths: + if "$ORIGIN" in existing_rpath: + rpath.append(Path(existing_rpath)) + # Dedup the rpath rpath_str = ":".join(dict.fromkeys(map(Path.as_posix, rpath))) @@ -335,6 +376,7 @@ def auto_patchelf( ignore_missing: list[str] = [], append_rpaths: list[Path] = [], keep_libc: bool = False, + preserve_origin: bool = False, add_existing: bool = True, extra_args: list[str] = []) -> None: @@ -351,7 +393,7 @@ def auto_patchelf( dependencies = [] for path in chain.from_iterable(glob(p, '*', recursive) for p in paths_to_patch): if not path.is_symlink() and path.is_file(): - dependencies += auto_patchelf_file(path, runtime_deps, append_rpaths, keep_libc, extra_args) + dependencies += auto_patchelf_file(path, runtime_deps, append_rpaths, keep_libc, preserve_origin, extra_args) missing = [dep for dep in dependencies if not dep.found] @@ -431,6 +473,12 @@ def main() -> None: action="store_true", help="Attempt to search for and relink libc dependencies.", ) + parser.add_argument( + "--preserve-origin", + dest="preserve_origin", + action="store_true", + help="When possible, replace absolute RPATH entries with original $ORIGIN entries that resolve to the same directory.", + ) parser.add_argument( "--ignore-existing", dest="add_existing", @@ -460,6 +508,7 @@ def main() -> None: args.ignore_missing, append_rpaths=args.append_rpaths, keep_libc=args.keep_libc, + preserve_origin=args.preserve_origin, add_existing=args.add_existing, extra_args=args.extra_args) From 4f0b794d1500e644ebd25d13335cfccc65ebcd47 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 17 Dec 2025 15:13:30 +0200 Subject: [PATCH 0051/1216] tests.auto-patchelf-hook-preserve-origin: init This adds a test for the autoPatchelfHook --preserve-origin feature. --- .../default.nix | 91 +++++++++++++++++++ .../lib-main.c | 14 +++ pkgs/test/default.nix | 2 + pkgs/test/stdenv-inputs/default.nix | 3 + 4 files changed, 110 insertions(+) create mode 100644 pkgs/test/auto-patchelf-hook-preserve-origin/default.nix create mode 100644 pkgs/test/auto-patchelf-hook-preserve-origin/lib-main.c diff --git a/pkgs/test/auto-patchelf-hook-preserve-origin/default.nix b/pkgs/test/auto-patchelf-hook-preserve-origin/default.nix new file mode 100644 index 000000000000..7685f41e91c9 --- /dev/null +++ b/pkgs/test/auto-patchelf-hook-preserve-origin/default.nix @@ -0,0 +1,91 @@ +{ + lib, + stdenv, + tests, + autoPatchelfHook, + patchelf, +}: + +let + foo = tests.stdenv-inputs.foo; + bar = tests.stdenv-inputs.bar; + + # similar to lib-check in stdenv-inputs, but we ship + # binary and libraries in the same output, and only + # $ORIGIN/../lib in RUNPATH. + lib-check = stdenv.mkDerivation { + name = "lib-check-bundle"; + + buildInputs = [ + foo + bar + ]; + + nativeBuildInputs = [ + patchelf + ]; + + buildCommand = '' + $CC -lfoo -lbar -Wl,-rpath,'$ORIGIN/../lib' -o lib-check ${./lib-main.c} + + # Shrink RUNPATH to only keep the $ORIGIN/../lib one, + # dropping references to foo and bar store path. + patchelf --shrink-rpath --allowed-rpath-prefixes '$ORIGIN/../lib' lib-check + + + mkdir -p $out/lib $out/bin + cp ${lib.getDev foo}/lib/* ${lib.getDev bar}/lib/* $out/lib/ + cp lib-check $out/bin/ + + # Make sure the binary still works + $out/bin/lib-check + ''; + + disallowedReferences = [ + (lib.getDev foo) + (lib.getDev bar) + ]; + }; + # We treat `lib-check` as binaries and libraries coming from somewhere, + # and run `autoPatchelfHook` on them, but setting `--preserve-origin`. + # If we wouldn't,`autoPatchelfHook` would replace `RUNPATH` with a + # (self-)reference. + lib-check-autopatchelfed = stdenv.mkDerivation { + name = "lib-check-autopatchelfed"; + + nativeBuildInputs = [ + autoPatchelfHook + ]; + + autoPatchelfFlags = [ "--preserve-origin" ]; + + dontUnpack = true; + + # we don't set buildCommand because we want to ensure fixupPhase + # (containing autoPatchelfHook) is run. + installPhase = '' + mkdir -p $out + cp -R ${lib-check}/* $out + ''; + + # Should not refer to our source nor to itself. + disallowedReferences = [ + lib-check + "out" + ]; + }; +in +stdenv.mkDerivation { + name = "auto-patchelf-hook-preserve-origin"; + + buildCommand = '' + # Ensure the binary still works + ${lib-check-autopatchelfed}/bin/lib-check + touch $out + ''; + + meta.platforms = lib.platforms.all; + passthru = { + inherit lib-check lib-check-autopatchelfed; + }; +} diff --git a/pkgs/test/auto-patchelf-hook-preserve-origin/lib-main.c b/pkgs/test/auto-patchelf-hook-preserve-origin/lib-main.c new file mode 100644 index 000000000000..c9488fe43e55 --- /dev/null +++ b/pkgs/test/auto-patchelf-hook-preserve-origin/lib-main.c @@ -0,0 +1,14 @@ +#include + +extern unsigned int foo(void); +extern unsigned int bar(void); + +int main(int argc, char **argv) +{ + if (foo() != 42) + return 1; + if (bar() != 42) + return 1; + fprintf(stderr, "ok\n"); + return 0; +} diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 4c613135e977..da33cd9c07b0 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -225,6 +225,8 @@ in auto-patchelf-hook = callPackage ./auto-patchelf-hook { }; + auto-patchelf-hook-preserve-origin = callPackage ./auto-patchelf-hook-preserve-origin { }; + # Accumulate all passthru.tests from arrayUtilities into a single attribute set. arrayUtilities = recurseIntoAttrs ( concatMapAttrs ( diff --git a/pkgs/test/stdenv-inputs/default.nix b/pkgs/test/stdenv-inputs/default.nix index 9ffe2e6479ce..2615c905045d 100644 --- a/pkgs/test/stdenv-inputs/default.nix +++ b/pkgs/test/stdenv-inputs/default.nix @@ -70,4 +70,7 @@ stdenv.mkDerivation { ''; meta.platforms = lib.platforms.all; + passthru = { + inherit foo bar; + }; } From dd36729232ce83245d0003e45655d926ba4b4b6a Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Wed, 17 Dec 2025 20:00:25 +0100 Subject: [PATCH 0052/1216] xorg-server: 21.1.20 -> 21.1.21 Fixes some regressions https://lists.x.org/archives/xorg-announce/2025-November/003643.html Fixes #471620 --- pkgs/by-name/xo/xorg-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xo/xorg-server/package.nix b/pkgs/by-name/xo/xorg-server/package.nix index 271d279dd4a4..05ca3b60a138 100644 --- a/pkgs/by-name/xo/xorg-server/package.nix +++ b/pkgs/by-name/xo/xorg-server/package.nix @@ -65,13 +65,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "xorg-server"; - version = "21.1.20"; + version = "21.1.21"; outputs = [ "out" ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) "dev"; src = fetchurl { url = "mirror://xorg/individual/xserver/xorg-server-${finalAttrs.version}.tar.xz"; - hash = "sha256-dpW8YYJLOoG2utL3iwVADKAVAD3kAtGzIhFxBbcC6Tc="; + hash = "sha256-wMvlVFs/ZFuuYCS4MNHRFUqVY1BoOk5Ssv/1sPoatRk="; }; patches = From d25c3c94248818330a174ac5402c24d18d1463fc Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Wed, 17 Dec 2025 11:14:32 +0100 Subject: [PATCH 0053/1216] awstats: 7.9 -> 8.0 --- pkgs/by-name/aw/awstats/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/aw/awstats/package.nix b/pkgs/by-name/aw/awstats/package.nix index b92e889ee4fa..7cbd9b9972e8 100644 --- a/pkgs/by-name/aw/awstats/package.nix +++ b/pkgs/by-name/aw/awstats/package.nix @@ -7,11 +7,11 @@ perlPackages.buildPerlPackage rec { pname = "awstats"; - version = "7.9"; + version = "8.0"; src = fetchurl { url = "mirror://sourceforge/awstats/${pname}-${version}.tar.gz"; - sha256 = "sha256-YVF47TE9NDFfFaUi2xpdEsqcOV43hbsGKAq/+V2aBUY="; + sha256 = "sha256-Pvdv+WxTmEd92KERNOJm5TikhwZ/aQajrIo4v9EcEeA="; }; postPatch = '' @@ -27,7 +27,10 @@ perlPackages.buildPerlPackage rec { propagatedBuildOutputs = [ ]; # otherwise out propagates bin -> cycle - buildInputs = [ ]; # plugins will need some + buildInputs = with perlPackages; [ + JSONXS + TryTiny + ]; preConfigure = '' touch Makefile.PL From 0af1e870c8086bac3709e656a054e216a9805278 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 12 Dec 2025 19:46:06 +0100 Subject: [PATCH 0054/1216] ffmpeg: fix hardcoded tables the newly released patche versions of ffmpeg fail to compile with it enabled see: https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/21102 --- pkgs/development/libraries/ffmpeg/generic.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index a8dc55ce3f86..27054512f1f7 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -453,6 +453,11 @@ stdenv.mkDerivation ( ] ++ optionals (lib.versionAtLeast version "5.1") [ ./nvccflags-cpp14.patch + (fetchpatch2 { + name = "unbreak-hardcoded-tables.patch"; + url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/1d47ae65bf6df91246cbe25c997b25947f7a4d1d"; + hash = ""; + }) ] ++ optionals (lib.versionAtLeast version "6.1" && lib.versionOlder version "6.2") [ (fetchpatch2 { From e714623cd3ab2da8c25713f6da820f7880582048 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 12 Dec 2025 19:46:06 +0100 Subject: [PATCH 0055/1216] ffmpeg: remove lcevcdec patch from newer versions this patch is no longer needed on version 8.0.1w --- pkgs/development/libraries/ffmpeg/generic.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 27054512f1f7..a9d52f33349c 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -490,6 +490,8 @@ stdenv.mkDerivation ( url = "https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/raw/a02c1a15706ea832c0d52a4d66be8fb29499801a/add-av_stream_get_first_dts-for-chromium.patch"; hash = "sha256-DbH6ieJwDwTjKOdQ04xvRcSLeeLP2Z2qEmqeo8HsPr4="; }) + ] + ++ optionals (lib.versionAtLeast version "7.1" && lib.versionOlder version "8.0") [ (fetchpatch2 { name = "lcevcdec-4.0.0-compat.patch"; url = "https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/fa23202cc7baab899894e8d22d82851a84967848.patch"; From ddf609ecdf7f95b8f54c90eef17b89c4d3f675c9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 12 Dec 2025 19:46:06 +0100 Subject: [PATCH 0056/1216] ffmpeg_6: 6.1.3 -> 6.1.4 --- pkgs/development/libraries/ffmpeg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index fb761f6f7c7c..16dddee98a15 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -21,8 +21,8 @@ let }; v6 = { - version = "6.1.3"; - hash = "sha256-NQnPOfiNmurY+L9/B7eVQc2JpOi0jhv5g9kVWsTzpis="; + version = "6.1.4"; + hash = "sha256-hqLohRNkoy5jGlaNlCRVoPwwsW7TDgCX1OKsGIM6IYg="; }; v7 = { From 9064fd320ca959c413f1a09afd398a3aef4a184d Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 12 Dec 2025 19:46:06 +0100 Subject: [PATCH 0057/1216] ffmpeg_7: 7.1.2 -> 7.1.3 --- pkgs/development/libraries/ffmpeg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index 16dddee98a15..f984dec57e1f 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -26,8 +26,8 @@ let }; v7 = { - version = "7.1.2"; - hash = "sha256-MF/0oSOhxGWuOu6Yat7O68iOvgZ+wKjpQ8zSkwpWXqQ="; + version = "7.1.3"; + hash = "sha256-1w4OSlz88D2pnZVXQcI4uyX+triNK0NXzlsyt7GGSLU="; }; v8 = { version = "8.0"; From f1ec69e0ddbef4f50d3cd567841a0adcfd001afe Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 12 Dec 2025 19:46:06 +0100 Subject: [PATCH 0058/1216] ffmpeg_8: 8.0 -> 8.0.1 --- pkgs/development/libraries/ffmpeg/default.nix | 4 ++-- pkgs/development/libraries/ffmpeg/generic.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index f984dec57e1f..0e82e63014c1 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -30,8 +30,8 @@ let hash = "sha256-1w4OSlz88D2pnZVXQcI4uyX+triNK0NXzlsyt7GGSLU="; }; v8 = { - version = "8.0"; - hash = "sha256-okNZ1/m/thFAY3jK/GSV0+WZFnjrMr8uBPsOdH6Wq9E="; + version = "8.0.1"; + hash = "sha256-eA5fP/uZqF5+jDDt4tHArGqyt7zbrLZ21v+Lchr8OS8="; }; in diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index a9d52f33349c..cd1ce7f98961 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -456,7 +456,7 @@ stdenv.mkDerivation ( (fetchpatch2 { name = "unbreak-hardcoded-tables.patch"; url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/1d47ae65bf6df91246cbe25c997b25947f7a4d1d"; - hash = ""; + hash = "sha256-ulB5BujAkoRJ8VHou64Th3E94z6m+l6v9DpG7/9nYsM="; }) ] ++ optionals (lib.versionAtLeast version "6.1" && lib.versionOlder version "6.2") [ From db2bda051f15b14845bc274a797f3e8f0ed0ad8f Mon Sep 17 00:00:00 2001 From: Coca Date: Wed, 17 Dec 2025 20:58:16 +0000 Subject: [PATCH 0059/1216] monocraft: 4.0 -> 4.2.1 --- pkgs/by-name/mo/monocraft/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/mo/monocraft/package.nix b/pkgs/by-name/mo/monocraft/package.nix index 78876b6a546c..d967852c8c3b 100644 --- a/pkgs/by-name/mo/monocraft/package.nix +++ b/pkgs/by-name/mo/monocraft/package.nix @@ -5,7 +5,7 @@ }: let - version = "4.0"; + version = "4.2.1"; relArtifact = name: hash: fetchurl { @@ -18,9 +18,9 @@ stdenvNoCC.mkDerivation { inherit version; srcs = [ - (relArtifact "Monocraft.ttc" "sha256-SBzl/X2PQOq1cY4dlqO89BDwCrP+/LYwZ9X24p2LDCs=") - (relArtifact "Monocraft-no-ligatures.ttc" "sha256-jFZ5Fr/cBwGVsdy7lPqLiLlKtzjF5OIWVkwZI6gR3W4=") - (relArtifact "Monocraft-nerd-fonts-patched.ttc" "sha256-lYAb8hgmv4VyrzeHr4LnfuSN9L+4fpDEMX/P++fq8Dc=") + (relArtifact "Monocraft.ttc" "sha256-DqGuoS8D1VKkafwBfxnqkntTv50h5gpBxcR2w/rzx/k=") + (relArtifact "Monocraft-no-ligatures.ttc" "sha256-k+55umK30KZT39kNXFGflJ461k7EgwRrQX8sxpQ4MdA=") + (relArtifact "Monocraft-nerd-fonts-patched.ttc" "sha256-Z/iP+efGVg9s9g+wYv01OnL2LcJlRGKVDGW2PtU9l1Q=") ]; dontUnpack = true; From 4b76bc68dd40b46c459edb277458cd5027f2c345 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 17 Dec 2025 21:59:43 +0000 Subject: [PATCH 0060/1216] iwd: revert "get rid of readline segfault" `readline-8.1p3` patch set contains the fix. Remove the override to avoid patch application failures. This reverts commit a9238a1e6f6613af99defa286595a8bfc83853ed. --- pkgs/by-name/iw/iwd/package.nix | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/pkgs/by-name/iw/iwd/package.nix b/pkgs/by-name/iw/iwd/package.nix index d0381262d2b3..2422f0fc52f5 100644 --- a/pkgs/by-name/iw/iwd/package.nix +++ b/pkgs/by-name/iw/iwd/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchgit, - fetchpatch, autoreconfHook, pkg-config, ell, @@ -14,24 +13,6 @@ gitUpdater, }: -let - # fix segfault in iwctl with readline-8.3 - # https://lists.gnu.org/archive/html/bug-readline/2025-07/msg00007.htmlP - readline-patch = fetchpatch { - url = "https://lists.gnu.org/archive/html/bug-readline/2025-07/txtmA7rksnmmi.txt"; - hash = "sha256-QSS1GUJ2i/bF2ksvUtw27oqFHuTHALi+7QwxMFt9ZaM="; - stripLen = 2; - }; - - myreadline = ( - readline.overrideAttrs ( - _final: prev: { - patches = (prev.patches or [ ]) ++ [ readline-patch ]; - } - ) - ); -in - stdenv.mkDerivation (finalAttrs: { pname = "iwd"; version = "3.10"; @@ -66,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ ell python3Packages.python - myreadline + readline ]; nativeCheckInputs = [ openssl ]; From 0583bb436224938447230e722e8c3e5d7ea26782 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Wed, 17 Dec 2025 17:18:32 -0500 Subject: [PATCH 0061/1216] ed: disable tests on Darwin --- pkgs/by-name/ed/ed/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/ed/package.nix b/pkgs/by-name/ed/ed/package.nix index 72c63580d2ae..a541f87ea020 100644 --- a/pkgs/by-name/ed/ed/package.nix +++ b/pkgs/by-name/ed/ed/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "ed"; - version = "1.22.3"; + version = "1.22.3"; # Check if Darwin tests were fixed before updating. src = fetchurl { url = "mirror://gnu/ed/ed-${finalAttrs.version}.tar.lz"; @@ -31,7 +31,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - doCheck = true; + # https://github.com/NixOS/nixpkgs/pull/471828 + doCheck = !stdenv.buildPlatform.isDarwin; passthru = { tests.version = testers.testVersion { From e4bf5af26ddce97d6abd6760a328ffa5c6971698 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Wed, 17 Dec 2025 18:41:50 -0800 Subject: [PATCH 0062/1216] llvmPackages_21: 21.1.7 -> 21.1.8 --- pkgs/development/compilers/llvm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 0d8f1156db4b..9389fe592edb 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -25,7 +25,7 @@ let "18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE="; "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; "20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw="; - "21.1.7".officialRelease.sha256 = "sha256-SaRJ7+iZMhhBdcUDuJpMAY4REQVhrvYMqI2aq3Kz08o="; + "21.1.8".officialRelease.sha256 = "sha256-pgd8g9Yfvp7abjCCKSmIn1smAROjqtfZaJkaUkBSKW0="; "22.0.0-git".gitRelease = { rev = "8f51da369e6e7f13bea941e61b4b2c5fa81216f5"; rev-version = "22.0.0-unstable-2025-12-14"; From 2fe821fe05c96f2f843f5d04e5b48fd93d08e467 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 18 Dec 2025 06:43:54 +0000 Subject: [PATCH 0063/1216] wayland-protocols: 1.46 -> 1.47 Changes: https://lore.freedesktop.org/wayland-devel/aUAqqkhyv6-OKvUo@gmail.com/ --- pkgs/development/libraries/wayland/protocols.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix index 760e4918059b..676191efcd7e 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "wayland-protocols"; - version = "1.46"; + version = "1.47"; doCheck = stdenv.hostPlatform == stdenv.buildPlatform @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://gitlab.freedesktop.org/wayland/${finalAttrs.pname}/-/releases/${finalAttrs.version}/downloads/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; - hash = "sha256-/Q3gVqiV+ki9GqXwuN/u1FQQG4i8fhxhqVNCLrcdsWc="; + hash = "sha256-X9Q0m8vJurmkb4z3fR9DQpanoFLIdECglPY/z2KljiA="; }; postPatch = lib.optionalString finalAttrs.finalPackage.doCheck '' From bb2d0d3ad8632710f78e566afffe542592ad6a90 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 11:36:59 +0000 Subject: [PATCH 0064/1216] libva: 2.22.0 -> 2.23.0 --- pkgs/development/libraries/libva/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 2c006a60769d..f27c5bb59eb1 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.22.0"; + version = "2.23.0"; src = fetchFromGitHub { owner = "intel"; repo = "libva"; rev = finalAttrs.version; - sha256 = "sha256-0eOYxyMt2M2lkhoWOhoUQgP/1LYY3QQqSF5TdRUuCbs="; + sha256 = "sha256-ePtzZPzBnkhV0cV3Nw/pgOnKnzDkk7U2Svzo0e1YMbc="; }; outputs = [ From 6e2827e835bb48f3226bb1f822074c55a65c257f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:04:52 +0000 Subject: [PATCH 0065/1216] memcached: 1.6.39 -> 1.6.40 --- pkgs/by-name/me/memcached/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/me/memcached/package.nix b/pkgs/by-name/me/memcached/package.nix index d25370d20c83..78cee0e3bdae 100644 --- a/pkgs/by-name/me/memcached/package.nix +++ b/pkgs/by-name/me/memcached/package.nix @@ -8,12 +8,12 @@ }: stdenv.mkDerivation rec { - version = "1.6.39"; + version = "1.6.40"; pname = "memcached"; src = fetchurl { url = "https://memcached.org/files/${pname}-${version}.tar.gz"; - sha256 = "sha256-I+VQfpM7FUYxYdTF05IbDF80C1Qtbt1/bF4Xw08Ro2M="; + sha256 = "sha256-o9Ng6doiIaSb+ark5ogPLUTaayovrjmxkRucp2SI+/0="; }; configureFlags = [ From 356e4b709944a4ffdc3711849faea46048f8b04d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:52:02 +0000 Subject: [PATCH 0066/1216] libdecor: 0.2.4 -> 0.2.5 --- pkgs/by-name/li/libdecor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libdecor/package.nix b/pkgs/by-name/li/libdecor/package.nix index cbb9d9fada26..2954748ce73f 100644 --- a/pkgs/by-name/li/libdecor/package.nix +++ b/pkgs/by-name/li/libdecor/package.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { pname = "libdecor"; - version = "0.2.4"; + version = "0.2.5"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "libdecor"; repo = "libdecor"; rev = version; - hash = "sha256-l0MmNpC+449BaluynbzG5d0/v57F5rltOIBzBagkYbc="; + hash = "sha256-sUktv/k+4IdJ55uH3F6z8XqaAOTic6miuyZ9U+NhtQQ="; }; outputs = [ From 32119d46c05d77e689607aa95890e6d5995f8383 Mon Sep 17 00:00:00 2001 From: Arian van Putten Date: Thu, 18 Dec 2025 22:26:21 +0100 Subject: [PATCH 0067/1216] systemd: 258.2 -> 258.3 --- pkgs/os-specific/linux/systemd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 071d67509065..072c923b5380 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -207,13 +207,13 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "258.2"; + version = "258.3"; src = fetchFromGitHub { owner = "systemd"; repo = "systemd"; rev = "v${finalAttrs.version}"; - hash = "sha256-1iWeuNefDOIEUSTzxzvt+jfcs6sSMPhxQfdwp0mqUjQ="; + hash = "sha256-wpg/0z7xrB8ysPaa/zNp1mz+yYRCGyXz0ODZcKapovM="; }; # On major changes, or when otherwise required, you *must* : From c539824a2e56612fced7d56c4cdb1c681cddfaff Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 19 Dec 2025 06:17:22 +0000 Subject: [PATCH 0068/1216] xz: 5.8.1 -> 5.8.2 Changes: https://github.com/tukaani-project/xz/releases/tag/v5.8.2 --- pkgs/tools/compression/xz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index b89d3d79b4bf..ed8fc7a0bab6 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "xz"; - version = "5.8.1"; + version = "5.8.2"; src = fetchurl { url = with finalAttrs; "https://github.com/tukaani-project/xz/releases/download/v${version}/xz-${version}.tar.xz"; - hash = "sha256-C1T3nfhZElBN4LFK7Hlx4/lkSRrxgS2DRHAFgHUTzZ4="; + hash = "sha256-iQlm7D9dXMFRB3h54VfAWTUApSL0E6xQuibSKpoUUhQ="; }; strictDeps = true; From 0abd4eeb911157b4ba2ebab029dd2900dbe2aa66 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 19 Dec 2025 13:08:42 +0000 Subject: [PATCH 0069/1216] cryptsetup: 2.8.1 -> 2.8.2 --- pkgs/by-name/cr/cryptsetup/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cr/cryptsetup/package.nix b/pkgs/by-name/cr/cryptsetup/package.nix index 5ab95727c063..f7ffd4f8d031 100644 --- a/pkgs/by-name/cr/cryptsetup/package.nix +++ b/pkgs/by-name/cr/cryptsetup/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "cryptsetup"; - version = "2.8.1"; + version = "2.8.2"; outputs = [ "bin" @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { url = "mirror://kernel/linux/utils/cryptsetup/v${lib.versions.majorMinor finalAttrs.version}/" + "cryptsetup-${finalAttrs.version}.tar.xz"; - hash = "sha256-LDN563ZZfcq1CRFEmwE+JpfEv/zHFtu/DZsOj7u0b7Q="; + hash = "sha256-3Z7emHWXbLJfPSm/q/NDscYPYYZka2fvXkDmCrSTXsE="; }; patches = [ From 40046da46e160e8fd8cd4762190e9750d5294039 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Fri, 19 Dec 2025 14:00:38 +0100 Subject: [PATCH 0070/1216] rust-cbindgen: fix for structuredAttrs --- pkgs/by-name/ru/rust-cbindgen/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ru/rust-cbindgen/package.nix b/pkgs/by-name/ru/rust-cbindgen/package.nix index 0190edf76fea..0dd8cb8d72ef 100644 --- a/pkgs/by-name/ru/rust-cbindgen/package.nix +++ b/pkgs/by-name/ru/rust-cbindgen/package.nix @@ -33,16 +33,16 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # Disable tests that require rust unstable features # https://github.com/eqrion/cbindgen/issues/338 - "--skip test_expand" - "--skip test_bitfield" - "--skip lib_default_uses_debug_build" - "--skip lib_explicit_debug_build" - "--skip lib_explicit_release_build" + "--skip=test_expand" + "--skip=test_bitfield" + "--skip=lib_default_uses_debug_build" + "--skip=lib_explicit_debug_build" + "--skip=lib_explicit_release_build" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # WORKAROUND: test_body fails when using clang # https://github.com/eqrion/cbindgen/issues/628 - "--skip test_body" + "--skip=test_body" ]; passthru.tests = { From d4fd918e2cc23edc1fb05c4cdaf3d6b677e0490b Mon Sep 17 00:00:00 2001 From: David McFarland Date: Sat, 13 Sep 2025 21:01:31 -0300 Subject: [PATCH 0071/1216] libarchive: fix cygwin build --- pkgs/by-name/li/libarchive/package.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/li/libarchive/package.nix b/pkgs/by-name/li/libarchive/package.nix index 1cfcfd29c4b7..7fd71b4ed95a 100644 --- a/pkgs/by-name/li/libarchive/package.nix +++ b/pkgs/by-name/li/libarchive/package.nix @@ -102,14 +102,15 @@ stdenv.mkDerivation (finalAttrs: { acl ]; - hardeningDisable = [ "strictflexarrays3" ]; + hardeningDisable = [ + "strictflexarrays3" + ] + # some tests won't compile because this makes memcpy a macro: + # libarchive/test/test_write_format_mtree_preset_digests.c:2020:29: error: macro "memcpy" passed 66 arguments, but takes just 3 + ++ lib.optional stdenv.hostPlatform.isCygwin "fortify"; configureFlags = lib.optional (!xarSupport) "--without-xml2"; - preBuild = lib.optionalString stdenv.hostPlatform.isCygwin '' - echo "#include " >> config.h - ''; - # https://github.com/libarchive/libarchive/issues/1475 doCheck = !stdenv.hostPlatform.isMusl; From 1ef65f918d57ba814e97490e9d64bbd835421eeb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 19 Dec 2025 21:05:05 +0000 Subject: [PATCH 0072/1216] xorg.xorgproto: 2024.1 -> 2025.1 --- pkgs/by-name/xo/xorgproto/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xo/xorgproto/package.nix b/pkgs/by-name/xo/xorgproto/package.nix index a0766a9979a4..f75e6d51e44c 100644 --- a/pkgs/by-name/xo/xorgproto/package.nix +++ b/pkgs/by-name/xo/xorgproto/package.nix @@ -12,11 +12,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xorgproto"; - version = "2024.1"; + version = "2025.1"; src = fetchurl { url = "mirror://xorg/individual/proto/xorgproto-${finalAttrs.version}.tar.xz"; - hash = "sha256-NyIl/UCBW4QjVH9diQxd68cuiLkQiPv7ExWMIElcy1k="; + hash = "sha256-VomMcWwFeN+KLYKMnD5cUoJ3cFwEhDgagZYP4aZ2aOg="; }; patches = [ From 9c57c24adef0bc733b363b11280f5a411124ab27 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 19 Dec 2025 21:37:05 +0000 Subject: [PATCH 0073/1216] libopenmpt: 0.8.3 -> 0.8.4 --- pkgs/by-name/li/libopenmpt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libopenmpt/package.nix b/pkgs/by-name/li/libopenmpt/package.nix index 23a5ea99f42e..59c06637b483 100644 --- a/pkgs/by-name/li/libopenmpt/package.nix +++ b/pkgs/by-name/li/libopenmpt/package.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "libopenmpt"; - version = "0.8.3"; + version = "0.8.4"; outputs = [ "out" @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; - hash = "sha256-JdSGpNqXKIGSdO0JWf15ocY1iVRxDVTBQEfGRXyMqKw="; + hash = "sha256-Yn+b8RqsrmFaHyyYLH6IyyHxGy1vAmeUb3yCxerklDs="; }; enableParallelBuilding = true; From ff1906466c2c6ed467d9735229c2f80db8213558 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 2 Dec 2025 14:22:12 +0000 Subject: [PATCH 0074/1216] prefetch-npm-deps: Rename directory to match name --- ci/OWNERS | 2 +- .../node/{fetch-npm-deps => prefetch-npm-deps}/.gitignore | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/Cargo.lock | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/Cargo.toml | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/default.nix | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/src/cacache.rs | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/src/main.rs | 0 .../{fetch-npm-deps => prefetch-npm-deps}/src/parse/lock.rs | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/src/parse/mod.rs | 0 .../node/{fetch-npm-deps => prefetch-npm-deps}/src/util.rs | 0 pkgs/top-level/all-packages.nix | 2 +- 11 files changed, 2 insertions(+), 2 deletions(-) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/.gitignore (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/Cargo.lock (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/Cargo.toml (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/default.nix (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/src/cacache.rs (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/src/main.rs (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/src/parse/lock.rs (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/src/parse/mod.rs (100%) rename pkgs/build-support/node/{fetch-npm-deps => prefetch-npm-deps}/src/util.rs (100%) diff --git a/ci/OWNERS b/ci/OWNERS index 7e78d66a1855..5c98ed8f654b 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -436,7 +436,7 @@ pkgs/by-name/fo/forgejo/ @adamcstephens @bendlas @emilylange # Node.js /pkgs/build-support/node/build-npm-package @winterqt -/pkgs/build-support/node/fetch-npm-deps @winterqt +/pkgs/build-support/node/prefetch-npm-deps @winterqt /doc/languages-frameworks/javascript.section.md @winterqt /pkgs/development/tools/pnpm @Scrumplex @gepbird diff --git a/pkgs/build-support/node/fetch-npm-deps/.gitignore b/pkgs/build-support/node/prefetch-npm-deps/.gitignore similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/.gitignore rename to pkgs/build-support/node/prefetch-npm-deps/.gitignore diff --git a/pkgs/build-support/node/fetch-npm-deps/Cargo.lock b/pkgs/build-support/node/prefetch-npm-deps/Cargo.lock similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/Cargo.lock rename to pkgs/build-support/node/prefetch-npm-deps/Cargo.lock diff --git a/pkgs/build-support/node/fetch-npm-deps/Cargo.toml b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/Cargo.toml rename to pkgs/build-support/node/prefetch-npm-deps/Cargo.toml diff --git a/pkgs/build-support/node/fetch-npm-deps/default.nix b/pkgs/build-support/node/prefetch-npm-deps/default.nix similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/default.nix rename to pkgs/build-support/node/prefetch-npm-deps/default.nix diff --git a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs b/pkgs/build-support/node/prefetch-npm-deps/src/cacache.rs similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/src/cacache.rs rename to pkgs/build-support/node/prefetch-npm-deps/src/cacache.rs diff --git a/pkgs/build-support/node/fetch-npm-deps/src/main.rs b/pkgs/build-support/node/prefetch-npm-deps/src/main.rs similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/src/main.rs rename to pkgs/build-support/node/prefetch-npm-deps/src/main.rs diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs b/pkgs/build-support/node/prefetch-npm-deps/src/parse/lock.rs similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs rename to pkgs/build-support/node/prefetch-npm-deps/src/parse/lock.rs diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs b/pkgs/build-support/node/prefetch-npm-deps/src/parse/mod.rs similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs rename to pkgs/build-support/node/prefetch-npm-deps/src/parse/mod.rs diff --git a/pkgs/build-support/node/fetch-npm-deps/src/util.rs b/pkgs/build-support/node/prefetch-npm-deps/src/util.rs similarity index 100% rename from pkgs/build-support/node/fetch-npm-deps/src/util.rs rename to pkgs/build-support/node/prefetch-npm-deps/src/util.rs diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19131e8c0e99..066facfaa3f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3124,7 +3124,7 @@ with pkgs; npmHooks = recurseIntoAttrs (callPackage ../build-support/node/build-npm-package/hooks { }); - inherit (callPackages ../build-support/node/fetch-npm-deps { }) + inherit (callPackages ../build-support/node/prefetch-npm-deps { }) fetchNpmDeps prefetch-npm-deps ; From ca4684c9a37b769224b480942a5432b4e30cdfb6 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 2 Dec 2025 14:23:16 +0000 Subject: [PATCH 0075/1216] prefetch-npm-deps: Fix isahc `default-features` 2024 warning --- pkgs/build-support/node/prefetch-npm-deps/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml index dcb7e28a49dd..976d7c68c26e 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml +++ b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml @@ -11,7 +11,7 @@ backoff = "0.4.0" data-encoding = "2.5.0" digest = "0.10.7" env_logger = "0.11.3" -isahc = { version = "1.7.2", default_features = false } +isahc = { version = "1.7.2", default-features = false } log = "0.4.21" nix-nar = "0.3.0" rayon = "1.10.0" From 1cfd281c2c1ed4bd548f77a8cf8eff1848b89b97 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 2 Dec 2025 14:23:42 +0000 Subject: [PATCH 0076/1216] prefetch-npm-deps: Run `cargo update` --- .../node/prefetch-npm-deps/Cargo.lock | 952 +++++++++++++----- 1 file changed, 679 insertions(+), 273 deletions(-) diff --git a/pkgs/build-support/node/prefetch-npm-deps/Cargo.lock b/pkgs/build-support/node/prefetch-npm-deps/Cargo.lock index dcabca0aeafd..cb526a711d97 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/Cargo.lock +++ b/pkgs/build-support/node/prefetch-npm-deps/Cargo.lock @@ -1,69 +1,71 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "async-channel" @@ -78,9 +80,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backoff" @@ -88,7 +90,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ - "getrandom", + "getrandom 0.2.16", "instant", "rand", ] @@ -101,9 +103,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] name = "block-buffer" @@ -116,15 +118,15 @@ dependencies = [ [[package]] name = "bytes" -version = "1.6.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" [[package]] name = "camino" -version = "1.1.6" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" [[package]] name = "castaway" @@ -134,45 +136,49 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" [[package]] name = "cc" -version = "1.0.94" +version = "1.2.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "9f50d563227a1c37cc0a263f64eca3334388c01c5e4c4861a9def205c614383c" +dependencies = [ + "find-msvc-tools", + "shlex", +] [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -189,15 +195,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "typenum", @@ -205,9 +211,9 @@ dependencies = [ [[package]] name = "curl" -version = "0.4.46" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" +checksum = "79fc3b6dd0b87ba36e565715bf9a2ced221311db47bd18011676f24a6066edbc" dependencies = [ "curl-sys", "libc", @@ -215,14 +221,14 @@ dependencies = [ "openssl-sys", "schannel", "socket2", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "curl-sys" -version = "0.4.72+curl-8.6.0" +version = "0.4.84+curl-8.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea" +checksum = "abc4294dc41b882eaff37973c2ec3ae203d0091341ee68fbadd1d06e0c18a73b" dependencies = [ "cc", "libc", @@ -230,14 +236,14 @@ dependencies = [ "openssl-sys", "pkg-config", "vcpkg", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "digest" @@ -250,16 +256,27 @@ dependencies = [ ] [[package]] -name = "either" -version = "1.11.0" +name = "displaydoc" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "env_filter" -version = "0.1.0" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" dependencies = [ "log", "regex", @@ -267,25 +284,25 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.3" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" dependencies = [ "anstream", "anstyle", "env_filter", - "humantime", + "jiff", "log", ] [[package]] name = "errno" -version = "0.3.8" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -305,9 +322,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] name = "fnv" @@ -317,24 +340,24 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -363,15 +386,27 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", "wasi", ] +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + [[package]] name = "http" version = "0.2.12" @@ -384,39 +419,131 @@ dependencies = [ ] [[package]] -name = "humantime" -version = "2.1.0" +name = "icu_collections" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] [[package]] name = "idna" -version = "0.5.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] [[package]] name = "is_executable" -version = "1.0.1" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9acdc6d67b75e626ad644734e8bc6df893d9cd2a834129065d3dd6158ea9c8" +checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4" dependencies = [ - "winapi", + "windows-sys 0.60.2", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + [[package]] name = "isahc" version = "1.7.2" @@ -444,21 +571,45 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", +] + +[[package]] +name = "jiff-static" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] name = "libc" -version = "0.2.153" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" dependencies = [ "cc", "libc", @@ -468,21 +619,27 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "log" -version = "0.4.21" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "nix-nar" @@ -498,21 +655,27 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -522,30 +685,30 @@ dependencies = [ [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", @@ -554,15 +717,15 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polling" @@ -581,10 +744,37 @@ dependencies = [ ] [[package]] -name = "ppv-lite86" -version = "0.2.17" +name = "portable-atomic" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "f59e70c4aef1e55797c2e8fd94a4f2a973fc972cfde0e0b05f683667b0cd39dd" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] name = "prefetch-npm-deps" @@ -610,22 +800,28 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "rand" version = "0.8.5" @@ -653,14 +849,14 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.16", ] [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -668,9 +864,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -678,9 +874,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -690,9 +886,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -701,28 +897,28 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "rustix" -version = "0.38.32" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -735,27 +931,37 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "serde" -version = "1.0.198" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -764,13 +970,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", + "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -786,9 +994,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -796,13 +1004,16 @@ dependencies = [ ] [[package]] -name = "slab" -version = "0.4.9" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "sluice" @@ -816,15 +1027,27 @@ dependencies = [ ] [[package]] -name = "socket2" -version = "0.5.6" +name = "smallvec" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + [[package]] name = "symlink" version = "0.1.0" @@ -833,9 +1056,9 @@ checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" [[package]] name = "syn" -version = "2.0.59" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -843,31 +1066,10 @@ dependencies = [ ] [[package]] -name = "tempfile" -version = "3.10.1" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand 2.0.2", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "thiserror" -version = "1.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", @@ -875,25 +1077,53 @@ dependencies = [ ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "tempfile" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ - "tinyvec_macros", + "fastrand 2.3.0", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", ] [[package]] -name = "tinyvec_macros" -version = "0.1.1" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -903,9 +1133,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", @@ -914,9 +1144,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", ] @@ -933,36 +1163,21 @@ dependencies = [ [[package]] name = "typenum" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "url" -version = "2.5.0" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", @@ -971,10 +1186,16 @@ dependencies = [ ] [[package]] -name = "utf8parse" -version = "0.2.1" +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "vcpkg" @@ -984,15 +1205,15 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -1006,40 +1227,33 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "winapi" -version = "0.3.9" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "wit-bindgen", ] -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "winapi", + "windows-sys 0.61.2", ] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-sys" @@ -1052,11 +1266,29 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.52.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", ] [[package]] @@ -1076,18 +1308,35 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -1098,9 +1347,15 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -1110,9 +1365,15 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -1122,15 +1383,27 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -1140,9 +1413,15 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -1152,9 +1431,15 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -1164,9 +1449,15 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -1176,6 +1467,121 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] From bb37dfe300c969b70435304ee0629cfb96423e9a Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 2 Dec 2025 14:31:14 +0000 Subject: [PATCH 0077/1216] prefetch-npm-deps: Bump edition to 2024 and apply `cargo clippy` and `rustfmt` fixes --- .../node/prefetch-npm-deps/Cargo.toml | 2 +- .../node/prefetch-npm-deps/src/main.rs | 116 +++++++++--------- .../node/prefetch-npm-deps/src/parse/lock.rs | 14 +-- .../node/prefetch-npm-deps/src/parse/mod.rs | 31 +++-- .../node/prefetch-npm-deps/src/util.rs | 43 ++++--- 5 files changed, 108 insertions(+), 98 deletions(-) diff --git a/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml index 976d7c68c26e..39ee48ce9f6e 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml +++ b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "prefetch-npm-deps" version = "0.1.0" -edition = "2021" +edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/pkgs/build-support/node/prefetch-npm-deps/src/main.rs b/pkgs/build-support/node/prefetch-npm-deps/src/main.rs index 8cc8708211dc..cdac7ef84c0b 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/src/main.rs +++ b/pkgs/build-support/node/prefetch-npm-deps/src/main.rs @@ -38,7 +38,7 @@ fn cache_map_path() -> Option { /// `dependencies` key in v2 lockfiles designed for backwards compatibility with v1 parsers is removed because of inconsistent data. fn fixup_lockfile( mut lock: Map, - cache: &Option>, + cache: Option<&HashMap>, ) -> anyhow::Result>> { let mut fixed = false; @@ -64,29 +64,29 @@ fn fixup_lockfile( .ok_or_else(|| anyhow!("packages isn't a map"))? .values_mut() { - if let Some(Value::String(resolved)) = package.get("resolved") { - if let Some(Value::String(integrity)) = package.get("integrity") { - if resolved.starts_with("git+") { + if let Some(Value::String(resolved)) = package.get("resolved") + && let Some(Value::String(integrity)) = package.get("integrity") + { + if resolved.starts_with("git+") { + fixed = true; + + package + .as_object_mut() + .ok_or_else(|| anyhow!("package isn't a map"))? + .remove("integrity"); + } else if let Some(cache_hashes) = cache { + let cache_hash = cache_hashes + .get(resolved) + .expect("dependency should have a hash"); + + if integrity != cache_hash { fixed = true; - package + *package .as_object_mut() .ok_or_else(|| anyhow!("package isn't a map"))? - .remove("integrity"); - } else if let Some(cache_hashes) = cache { - let cache_hash = cache_hashes - .get(resolved) - .expect("dependency should have a hash"); - - if integrity != cache_hash { - fixed = true; - - *package - .as_object_mut() - .ok_or_else(|| anyhow!("package isn't a map"))? - .get_mut("integrity") - .unwrap() = Value::String(cache_hash.clone()); - } + .get_mut("integrity") + .unwrap() = Value::String(cache_hash.clone()); } } } @@ -99,17 +99,13 @@ fn fixup_lockfile( v => bail!("unsupported lockfile version {v}"), } - if fixed { - Ok(Some(lock)) - } else { - Ok(None) - } + if fixed { Ok(Some(lock)) } else { Ok(None) } } // Recursive helper to fixup v1 lockfile deps fn fixup_v1_deps( dependencies: &mut Map, - cache: &Option>, + cache: Option<&HashMap>, fixed: &mut bool, ) { for dep in dependencies.values_mut() { @@ -117,31 +113,29 @@ fn fixup_v1_deps( .as_object() .expect("v1 dep must be object") .get("resolved") - { - if let Some(Value::String(integrity)) = dep + && let Some(Value::String(integrity)) = dep .as_object() .expect("v1 dep must be object") .get("integrity") - { - if resolved.starts_with("git+ssh://") { + { + if resolved.starts_with("git+ssh://") { + *fixed = true; + + dep.as_object_mut() + .expect("v1 dep must be object") + .remove("integrity"); + } else if let Some(cache_hashes) = cache { + let cache_hash = cache_hashes + .get(resolved) + .expect("dependency should have a hash"); + + if integrity != cache_hash { *fixed = true; - dep.as_object_mut() + *dep.as_object_mut() .expect("v1 dep must be object") - .remove("integrity"); - } else if let Some(cache_hashes) = cache { - let cache_hash = cache_hashes - .get(resolved) - .expect("dependency should have a hash"); - - if integrity != cache_hash { - *fixed = true; - - *dep.as_object_mut() - .expect("v1 dep must be object") - .get_mut("integrity") - .unwrap() = Value::String(cache_hash.clone()); - } + .get_mut("integrity") + .unwrap() = Value::String(cache_hash.clone()); } } } @@ -185,26 +179,30 @@ fn main() -> anyhow::Result<()> { process::exit(1); } - if let Ok(jobs) = env::var("NIX_BUILD_CORES") { - if !jobs.is_empty() { - rayon::ThreadPoolBuilder::new() - .num_threads( - jobs.parse() - .expect("NIX_BUILD_CORES must be a whole number"), - ) - .build_global() - .unwrap(); - } + if let Ok(jobs) = env::var("NIX_BUILD_CORES") + && !jobs.is_empty() + { + rayon::ThreadPoolBuilder::new() + .num_threads( + jobs.parse() + .expect("NIX_BUILD_CORES must be a whole number"), + ) + .build_global() + .unwrap(); } if args[1] == "--fixup-lockfile" { let lock = serde_json::from_str(&fs::read_to_string(&args[2])?)?; let cache = cache_map_path() - .map(|map_path| Ok::<_, anyhow::Error>(serde_json::from_slice(&fs::read(map_path)?)?)) + .map(|map_path| { + Ok::<_, anyhow::Error>(serde_json::from_slice::>( + &fs::read(map_path)?, + )?) + }) .transpose()?; - if let Some(fixed) = fixup_lockfile(lock, &cache)? { + if let Some(fixed) = fixup_lockfile(lock, cache.as_ref())? { println!("Fixing lockfile"); fs::write(&args[2], serde_json::to_string(&fixed)?)?; @@ -345,7 +343,7 @@ mod tests { hashes.insert(String::from("foo"), String::from("sha512-foo")); assert_eq!( - fixup_lockfile(input.as_object().unwrap().clone(), &Some(hashes))?, + fixup_lockfile(input.as_object().unwrap().clone(), Some(hashes).as_ref())?, Some(expected.as_object().unwrap().clone()) ); @@ -418,7 +416,7 @@ mod tests { hashes.insert(String::from("foo"), String::from("sha512-foo")); assert_eq!( - fixup_lockfile(input.as_object().unwrap().clone(), &Some(hashes))?, + fixup_lockfile(input.as_object().unwrap().clone(), Some(hashes).as_ref())?, Some(expected.as_object().unwrap().clone()) ); diff --git a/pkgs/build-support/node/prefetch-npm-deps/src/parse/lock.rs b/pkgs/build-support/node/prefetch-npm-deps/src/parse/lock.rs index 49bba8780c97..17c6c633ee8f 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/src/parse/lock.rs +++ b/pkgs/build-support/node/prefetch-npm-deps/src/parse/lock.rs @@ -1,8 +1,8 @@ -use anyhow::{anyhow, bail, Context}; +use anyhow::{Context, anyhow, bail}; use rayon::slice::ParallelSliceMut; use serde::{ - de::{self, Visitor}, Deserialize, Deserializer, + de::{self, Visitor}, }; use std::{ cmp::Ordering, @@ -132,7 +132,7 @@ impl<'de> Deserialize<'de> for HashCollection { struct HashCollectionVisitor; -impl<'de> Visitor<'de> for HashCollectionVisitor { +impl Visitor<'_> for HashCollectionVisitor { type Value = HashCollection; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { @@ -161,7 +161,7 @@ impl Hash { .ok_or_else(|| anyhow!("expected SRI hash, got {:?}", s.as_ref()))? .0; - if ALGOS.iter().any(|&a| algo == a) { + if ALGOS.contains(&algo) { Ok(Hash(s.as_ref().to_string())) } else { Err(anyhow!("unknown hash algorithm {algo:?}")) @@ -215,7 +215,7 @@ fn to_new_packages( if let UrlOrString::Url(v) = &package.version { if v.scheme() == "npm" { - if let Some(UrlOrString::Url(ref url)) = &package.resolved { + if let Some(UrlOrString::Url(url)) = &package.resolved { package.version = UrlOrString::Url(url.clone()); } } else { @@ -272,8 +272,8 @@ fn get_initial_url() -> anyhow::Result { #[cfg(test)] mod tests { use super::{ - get_initial_url, packages, to_new_packages, Hash, HashCollection, OldPackage, Package, - UrlOrString, + Hash, HashCollection, OldPackage, Package, UrlOrString, get_initial_url, packages, + to_new_packages, }; use std::{ cmp::Ordering, diff --git a/pkgs/build-support/node/prefetch-npm-deps/src/parse/mod.rs b/pkgs/build-support/node/prefetch-npm-deps/src/parse/mod.rs index 0bca33f03915..6c54d404f3cb 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/src/parse/mod.rs +++ b/pkgs/build-support/node/prefetch-npm-deps/src/parse/mod.rs @@ -1,4 +1,4 @@ -use anyhow::{anyhow, bail, Context}; +use anyhow::{Context, anyhow, bail}; use lock::UrlOrString; use log::{debug, info}; use rayon::prelude::*; @@ -8,7 +8,7 @@ use std::{ io::Write, process::{Command, Stdio}, }; -use tempfile::{tempdir, TempDir}; +use tempfile::{TempDir, tempdir}; use url::Url; use crate::util; @@ -33,7 +33,9 @@ pub fn lockfile( .collect::>>()?; if packages.is_empty() && !force_empty_cache { - bail!("No cacheable dependencies were found. Please inspect the upstream `package-lock.json` file and ensure that remote dependencies have `resolved` URLs and `integrity` hashes. If the lockfile is missing this data, attempt to get upstream to fix it via a tool like . If generating an empty cache is intentional and you would like to do it anyways, set `forceEmptyCache = true`."); + bail!( + "No cacheable dependencies were found. Please inspect the upstream `package-lock.json` file and ensure that remote dependencies have `resolved` URLs and `integrity` hashes. If the lockfile is missing this data, attempt to get upstream to fix it via a tool like . If generating an empty cache is intentional and you would like to do it anyways, set `forceEmptyCache = true`." + ); } let mut new = Vec::new(); @@ -49,7 +51,11 @@ pub fn lockfile( let path = dir.path().join("package"); - info!("recursively parsing lockfile for {} at {path:?}", pkg.name); + info!( + "recursively parsing lockfile for {} at {}", + pkg.name, + path.display() + ); let lockfile_contents = fs::read_to_string(path.join("package-lock.json")); @@ -71,7 +77,10 @@ pub fn lockfile( "prepare", ] { if scripts.contains_key(typ) && lockfile_contents.is_err() && !force_git_deps { - bail!("Git dependency {} contains install scripts, but has no lockfile, which is something that will probably break. Open an issue if you can't feasibly patch this dependency out, and we'll come up with a workaround.\nIf you'd like to attempt to try to use this dependency anyways, set `forceGitDeps = true`.", pkg.name); + bail!( + "Git dependency {} contains install scripts, but has no lockfile, which is something that will probably break. Open an issue if you can't feasibly patch this dependency out, and we'll come up with a workaround.\nIf you'd like to attempt to try to use this dependency anyways, set `forceGitDeps = true`.", + pkg.name + ); } } } @@ -310,7 +319,9 @@ fn get_hosted_git_url(url: &Url) -> anyhow::Result> { match get_url() { Some(u) => Ok(Some(u)), - None => Err(anyhow!("This lockfile either contains a Git dependency with an unsupported host, or a malformed URL in the lockfile: {url}")) + None => Err(anyhow!( + "This lockfile either contains a Git dependency with an unsupported host, or a malformed URL in the lockfile: {url}" + )), } } else { Ok(None) @@ -327,15 +338,17 @@ mod tests { for (input, expected) in [ ( "git+ssh://git@github.com/castlabs/electron-releases.git#fc5f78d046e8d7cdeb66345a2633c383ab41f525", - Some("https://codeload.github.com/castlabs/electron-releases/tar.gz/fc5f78d046e8d7cdeb66345a2633c383ab41f525"), + Some( + "https://codeload.github.com/castlabs/electron-releases/tar.gz/fc5f78d046e8d7cdeb66345a2633c383ab41f525", + ), ), ( "git+ssh://bitbucket.org/foo/bar#branch", - Some("https://bitbucket.org/foo/bar/get/branch.tar.gz") + Some("https://bitbucket.org/foo/bar/get/branch.tar.gz"), ), ( "git+ssh://git.sr.ht/~foo/bar#branch", - Some("https://git.sr.ht/~foo/bar/archive/branch.tar.gz") + Some("https://git.sr.ht/~foo/bar/archive/branch.tar.gz"), ), ] { assert_eq!( diff --git a/pkgs/build-support/node/prefetch-npm-deps/src/util.rs b/pkgs/build-support/node/prefetch-npm-deps/src/util.rs index 835f77a2f52c..aca0affad824 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/src/util.rs +++ b/pkgs/build-support/node/prefetch-npm-deps/src/util.rs @@ -1,10 +1,10 @@ use anyhow::bail; -use backoff::{retry, ExponentialBackoff}; +use backoff::{ExponentialBackoff, retry}; use data_encoding::BASE64; use digest::Digest; use isahc::{ - config::{CaCertificate, Configurable, RedirectPolicy, SslOption}, Body, Request, RequestExt, + config::{CaCertificate, Configurable, RedirectPolicy, SslOption}, }; use log::info; use nix_nar::{Encoder, NarError}; @@ -22,18 +22,19 @@ pub fn get_url(url: &Url) -> Result { let mut url = url.clone(); // Respect NIX_NPM_REGISTRY_OVERRIDES environment variable, which should be a JSON mapping in the shape of: // `{ "registry.example.com": "my-registry.local", ... }` - if let Some(host) = url.host_str() { - if let Ok(npm_mirrors) = env::var("NIX_NPM_REGISTRY_OVERRIDES") { - if let Ok(mirrors) = serde_json::from_str::>(&npm_mirrors) { - if let Some(mirror) = mirrors.get(host).and_then(serde_json::Value::as_str) { - let mirror_url = Url::parse(mirror)?; - url.set_path(&(mirror_url.path().to_owned() + url.path())); - url.set_host(Some(mirror_url.host_str().expect(format!("Mirror URL without host part: {mirror_url}").as_str())))?; - eprintln!("Replaced URL {url_} with {url}"); - } - } - } + if let Some(host) = url.host_str() + && let Ok(npm_mirrors) = env::var("NIX_NPM_REGISTRY_OVERRIDES") + && let Ok(mirrors) = serde_json::from_str::>(&npm_mirrors) + && let Some(mirror) = mirrors.get(host).and_then(serde_json::Value::as_str) + { + let mirror_url = Url::parse(mirror)?; + url.set_path(&(mirror_url.path().to_owned() + url.path())); + url.set_host(Some(mirror_url.host_str().unwrap_or_else(|| { + panic!("Mirror URL without host part: {mirror_url}") + })))?; + eprintln!("Replaced URL {url_} with {url}"); } + let mut request = Request::get(url.as_str()).redirect_policy(RedirectPolicy::Limit(10)); // Respect SSL_CERT_FILE if environment variable exists @@ -51,15 +52,13 @@ pub fn get_url(url: &Url) -> Result { // Respect NIX_NPM_TOKENS environment variable, which should be a JSON mapping in the shape of: // `{ "registry.example.com": "example-registry-bearer-token", ... }` - if let Some(host) = url.host_str() { - if let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") { - if let Ok(tokens) = serde_json::from_str::>(&npm_tokens) { - if let Some(token) = tokens.get(host).and_then(serde_json::Value::as_str) { - info!("Found NPM token for {}. Adding authorization header to request.", host); - request = request.header("Authorization", format!("Bearer {token}")); - } - } - } + if let Some(host) = url.host_str() + && let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") + && let Ok(tokens) = serde_json::from_str::>(&npm_tokens) + && let Some(token) = tokens.get(host).and_then(serde_json::Value::as_str) + { + info!("Found NPM token for {host}. Adding authorization header to request."); + request = request.header("Authorization", format!("Bearer {token}")); } let res = request.body(())?.send()?; From 22526da87d13b9df2e6134e3622c847206ab0d60 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 2 Dec 2025 15:12:58 +0000 Subject: [PATCH 0078/1216] prefetch-npm-deps: Enable full LTO --- pkgs/build-support/node/prefetch-npm-deps/Cargo.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml index 39ee48ce9f6e..d5f789d3eed9 100644 --- a/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml +++ b/pkgs/build-support/node/prefetch-npm-deps/Cargo.toml @@ -22,3 +22,8 @@ sha2 = "0.10.8" tempfile = "3.10.1" url = { version = "2.5.0", features = ["serde"] } walkdir = "2.5.0" + +[profile.release] +codegen-units = 1 +lto = true +opt-level = 3 From 158a7606e57f249a1d02d1fe2f8ea93897e49e6c Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Fri, 19 Dec 2025 21:44:56 +1100 Subject: [PATCH 0079/1216] python3Packages.fonttools: 4.60.1 -> 4.61.1 Release notes: https://github.com/fonttools/fonttools/releases/tag/4.61.1 --- pkgs/development/python-modules/fonttools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index 595f9084eb15..f93a7bd2152b 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "fonttools"; - version = "4.60.1"; + version = "4.61.1"; pyproject = true; src = fetchFromGitHub { owner = "fonttools"; repo = "fonttools"; tag = version; - hash = "sha256-h/JRItD5IHlhNSamxRxk/dvyAKUFayzxHvlW7v4N1s8="; + hash = "sha256-762bqAhOqqnuNSH8yFLTBnzYuigs716nt+uC1UwUqT4="; }; build-system = [ From 4456d48f6c61e6bf9e5df82dab77480cb33397d7 Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Sat, 20 Dec 2025 12:58:22 +1100 Subject: [PATCH 0080/1216] python3Packages.werkzeug: 3.1.3 -> 3.1.4 https://github.com/pallets/werkzeug/releases/tag/3.1.4 Security fix: - CVE-2025-66221 --- pkgs/development/python-modules/werkzeug/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index 785f57e3ca41..45ce5c9b62d7 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "werkzeug"; - version = "3.1.3"; + version = "3.1.4"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; - hash = "sha256-YHI86UXBkyhnl5DjKCzHWKpKYEDkuzMPU9MPpUbUR0Y="; + hash = "sha256-zTzZixuS3Dt7OZUDiCbGgJfcsW+bqmOr418g6v65/l4="; }; build-system = [ flit-core ]; From 4e5bdb37c7461dd93c4b12adc3f1e128bc770ce4 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 20 Dec 2025 21:14:18 +0000 Subject: [PATCH 0081/1216] gdb: 16.3 -> 17.1 Changes: https://www.sourceware.org/gdb/download/ANNOUNCEMENT --- pkgs/development/tools/misc/gdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 1e80532dcb97..9ca6edd26495 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -53,11 +53,11 @@ assert pythonSupport -> python3 != null; stdenv.mkDerivation rec { pname = targetPrefix + basename + lib.optionalString hostCpuOnly "-host-cpu-only"; - version = "16.3"; + version = "17.1"; src = fetchurl { url = "mirror://gnu/gdb/${basename}-${version}.tar.xz"; - hash = "sha256-vPzQlVKKmHkXrPn/8/FnIYFpSSbMGNYJyZ0AQsACJMU="; + hash = "sha256-FJlvX3TJ9o9aVD/cRbyngAIH+R+SrupsLnkYIsfG2HY="; }; postPatch = From 0f9a3ade0bc80d9e05abf6d5c2658086b8d5693d Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 20 Dec 2025 21:47:04 +0000 Subject: [PATCH 0082/1216] re2c: 4.3.1 -> 4.4 Changes: https://re2c.org/releases/release_notes.html#release-4-4 --- pkgs/by-name/re/re2c/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/re2c/package.nix b/pkgs/by-name/re/re2c/package.nix index f3cd39eb7c81..e5c119b9572f 100644 --- a/pkgs/by-name/re/re2c/package.nix +++ b/pkgs/by-name/re/re2c/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "re2c"; - version = "4.3.1"; + version = "4.4"; src = fetchFromGitHub { owner = "skvadrik"; repo = "re2c"; rev = version; - hash = "sha256-ihtAB6HLgYhX+FKPFy01RByy/M468YrHv2v5wB9bJws="; + hash = "sha256-/uQOcbK63le1FsGM7RF8NDRGMk4fs2g+u3hBGX2rBv4="; }; nativeBuildInputs = [ From e70fb322aa2663fba12452f5841ce52447602952 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 21 Dec 2025 07:01:44 +0000 Subject: [PATCH 0083/1216] mpg123: 1.33.3 -> 1.33.4 Changes: https://www.mpg123.de/#2025-12-20 --- pkgs/applications/audio/mpg123/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index fb95111cbfe5..e526288734e1 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -21,11 +21,11 @@ assert withConplay -> !libOnly; stdenv.mkDerivation rec { pname = "${lib.optionalString libOnly "lib"}mpg123"; - version = "1.33.3"; + version = "1.33.4"; src = fetchurl { url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2"; - hash = "sha256-agxkct0VbiE8IGj0ARXru3OXjC2HPma64qJQ4tIZjSY="; + hash = "sha256-OujJ/4Cpe/wOIuifvNdGh+yk/B2zFbEmB/J/ActaR9k="; }; outputs = [ From 3d38e808e3dd2de8f5657525e1c98fc1cc1582dc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 21 Dec 2025 13:06:00 +0000 Subject: [PATCH 0084/1216] rdma-core: 60.0 -> 61.0 --- pkgs/by-name/rd/rdma-core/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/rd/rdma-core/package.nix b/pkgs/by-name/rd/rdma-core/package.nix index 6eeab6eed2ac..d7ea22a79621 100644 --- a/pkgs/by-name/rd/rdma-core/package.nix +++ b/pkgs/by-name/rd/rdma-core/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "rdma-core"; - version = "60.0"; + version = "61.0"; src = fetchFromGitHub { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${finalAttrs.version}"; - hash = "sha256-2V8I/kcOr+/5JxyIAln/r7NnL6bET3vUPgg7PGNe1vc="; + hash = "sha256-5CmQvS1M3zJryJu4hAf8JrCOPTkmxJijmLEnrWzH+d4="; }; strictDeps = true; From 67898b4f6e30964267c3e3a47fc591d7af5ce9fc Mon Sep 17 00:00:00 2001 From: Haonan Chen Date: Sat, 20 Dec 2025 17:15:37 +0800 Subject: [PATCH 0085/1216] bintools-wrapper: fix rpath handling with symlinks in the store #454199 --- .../bintools-wrapper/ld-wrapper.sh | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh index 944e45edac1b..ae76e7a223f7 100644 --- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh @@ -202,13 +202,32 @@ if [[ "$NIX_DONT_SET_RPATH_@suffixSalt@" != 1 && "$linkType" != static-pie ]]; t # the link time chosen objects will be those of runtime linking. declare -A rpaths for dir in ${libDirs+"${libDirs[@]}"}; do - if [[ "$dir" =~ [/.][/.] ]] && dir2=$(readlink -f "$dir"); then + # If the path is in the store, do not resolve any symlinks and add it to the rpath. + # Resolving symlinks in the store breaks bootstrapping, see issue #454199. + # If it is outside the store, resolve symlinks step by step until it falls + # into the store or it becomes not a symlink. + # Always canonicalize the path before checking it is in the store or not. + if dir2=$(realpath -s "$dir"); then dir="$dir2" + else + continue fi + while [ -z "${rpaths[$dir]:-}" ] && [[ "$dir" != "${NIX_STORE:-}"/* ]] && [ -L "$dir" ]; do + if dir2=$(readlink "$dir"); then + dir="dir2" + else + break + fi + if dir2=$(realpath -s "$dir"); then + dir="dir2" + else + break + fi + done + # If the path turns out to be outside the store, we do not add it to rpath. + # This typically happens for libraries in /tmp that are later + # copied to $out/lib. If not, we're screwed. if [ -n "${rpaths[$dir]:-}" ] || [[ "$dir" != "${NIX_STORE:-}"/* ]]; then - # If the path is not in the store, don't add it to the rpath. - # This typically happens for libraries in /tmp that are later - # copied to $out/lib. If not, we're screwed. continue fi for path in "$dir"/*; do From c0d952e0dbf38c6e286c64644c2daf6bb8175f53 Mon Sep 17 00:00:00 2001 From: Justin Chen <42143810+StarryReverie@users.noreply.github.com> Date: Sun, 14 Dec 2025 10:58:26 +0800 Subject: [PATCH 0086/1216] fmt: 12.0.0 -> 12.1.0 Changelog: https://github.com/fmtlib/fmt/releases/tag/12.1.0 Closes #465179 --- pkgs/development/libraries/fmt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix index 281acff35b35..3b9a89e670f4 100644 --- a/pkgs/development/libraries/fmt/default.nix +++ b/pkgs/development/libraries/fmt/default.nix @@ -99,7 +99,7 @@ in }; fmt_12 = generic { - version = "12.0.0"; - hash = "sha256-AZDmIeU1HbadC+K0TIAGogvVnxt0oE9U6ocpawIgl6g="; + version = "12.1.0"; + hash = "sha256-ZmI1Dv0ZabPlxa02OpERI47jp7zFfjpeWCy1WyuPYZ0="; }; } From a5ee8a8cbaa2264f4e565dbe0cc31eb05a1562b6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 17 Dec 2025 20:13:39 +0000 Subject: [PATCH 0087/1216] xterm: 404 -> 406 Changes: - https://invisible-island.net/xterm/xterm.log.html#xterm_405 - https://invisible-island.net/xterm/xterm.log.html#xterm_406 --- pkgs/by-name/xt/xterm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xt/xterm/package.nix b/pkgs/by-name/xt/xterm/package.nix index 1503f2432788..bce051e71103 100644 --- a/pkgs/by-name/xt/xterm/package.nix +++ b/pkgs/by-name/xt/xterm/package.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "404"; + version = "406"; src = fetchurl { urls = [ "https://invisible-island.net/archives/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - hash = "sha256-YzMvkhwie6WeWJ+gff2tFZnBCshZ6ibHKsHdSkG1ZaQ="; + hash = "sha256-Bm6y1mQwiX/h2t0nFVTM2uM9d8USEmp1j8TeN7EUh5k="; }; patches = [ ./sixel-256.support.patch ]; From fe9c75c96ac6cfd7414682f0e1947a4c5a7cdb1f Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 13 Dec 2025 13:12:14 +0100 Subject: [PATCH 0088/1216] aalib: fix build with structuredAttrs --- pkgs/by-name/aa/aalib/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/aa/aalib/package.nix b/pkgs/by-name/aa/aalib/package.nix index 2dc9439397a8..fb602b2ee596 100644 --- a/pkgs/by-name/aa/aalib/package.nix +++ b/pkgs/by-name/aa/aalib/package.nix @@ -33,11 +33,13 @@ stdenv.mkDerivation rec { # The fuloong2f is not supported by aalib still preConfigure = '' - configureFlagsArray+=( - "--bindir=$bin/bin" - "--includedir=$dev/include" + # The configure script does the correct thing when 'system' is already set + # Export it explicitly in case __structuredAttrs is true. + export system + appendToVar configureFlags \ + "--bindir=$bin/bin" \ + "--includedir=$dev/include" \ "--libdir=$out/lib" - ) ''; buildInputs = [ ncurses ]; @@ -54,7 +56,7 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $dev/bin mv $bin/bin/aalib-config $dev/bin/aalib-config - substituteInPlace $out/lib/libaa.la --replace "${ncurses.dev}/lib" "${ncurses.out}/lib" + substituteInPlace $out/lib/libaa.la --replace-fail "${ncurses.dev}/lib" "${ncurses.out}/lib" ''; meta = { From ce227d4c5d91fcafee956481446bb1fea041eb25 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Tue, 23 Dec 2025 14:51:20 -0800 Subject: [PATCH 0089/1216] util-linux: 2.41.2 -> 2.41.3 --- pkgs/by-name/ut/util-linux/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ut/util-linux/package.nix b/pkgs/by-name/ut/util-linux/package.nix index 2127517fe8e0..0cb22af94bd6 100644 --- a/pkgs/by-name/ut/util-linux/package.nix +++ b/pkgs/by-name/ut/util-linux/package.nix @@ -40,11 +40,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "util-linux" + lib.optionalString isMinimal "-minimal"; - version = "2.41.2"; + version = "2.41.3"; src = fetchurl { url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor finalAttrs.version}/util-linux-${finalAttrs.version}.tar.xz"; - hash = "sha256-YGKh2JtXGmGTLm/AIR82BgxBg1aLge6GbPNjvOn2WD4="; + hash = "sha256-MzDYc/D861VguJp9wU5PMoi72IDpaQPtm1DsK1eZ5Ys="; }; patches = [ From ecf9e069a9cb329c722ebd76a2adfad6d11660c2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 24 Dec 2025 01:06:43 +0000 Subject: [PATCH 0090/1216] fluidsynth: 2.5.1 -> 2.5.2 --- pkgs/by-name/fl/fluidsynth/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fl/fluidsynth/package.nix b/pkgs/by-name/fl/fluidsynth/package.nix index 60852d919bf6..00fe283c9c45 100644 --- a/pkgs/by-name/fl/fluidsynth/package.nix +++ b/pkgs/by-name/fl/fluidsynth/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fluidsynth"; - version = "2.5.1"; + version = "2.5.2"; src = fetchFromGitHub { owner = "FluidSynth"; repo = "fluidsynth"; tag = "v${finalAttrs.version}"; - hash = "sha256-gTkW2X7fcmxJwYf13Yma6cBigz4sbsb99dBSYTDlcyY="; + hash = "sha256-Ei6ts6gmC3jg1b7nORUCYxoAzoPoN3foyVnrmhpqHTs="; fetchSubmodules = true; }; From 84a84491a3b11e7ed48d11a4eff12273395c3fb7 Mon Sep 17 00:00:00 2001 From: Thomas Gebert Date: Tue, 23 Dec 2025 20:09:27 -0500 Subject: [PATCH 0091/1216] bigpemu: 1.19 -> 1.21 --- pkgs/by-name/bi/bigpemu/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bigpemu/package.nix b/pkgs/by-name/bi/bigpemu/package.nix index 320783d687ae..17bb5335b921 100644 --- a/pkgs/by-name/bi/bigpemu/package.nix +++ b/pkgs/by-name/bi/bigpemu/package.nix @@ -11,12 +11,12 @@ let bigpemu-unwrapped = stdenv.mkDerivation rec { pname = "BigPEmu"; - version = "1.19"; + version = "1.21"; src = fetchurl { url = "https://www.richwhitehouse.com/jaguar/builds/BigPEmu_Linux64_v${ builtins.replaceStrings [ "." ] [ "" ] version }.tar.gz"; - hash = "sha256-kiZ9yzDRkDLzd5EtjIn32TL27Y2GG8ysG0zTM1JRyTU="; + hash = "sha256-DCHgGZMmi2R0PFhAgxNh/jzuT1ONjrofFgO04cgacrA="; }; installPhase = '' From 462ff56510454b88e921e7409602f60f4db1ab53 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 24 Dec 2025 03:14:35 +0000 Subject: [PATCH 0092/1216] alsa-ucm-conf: 1.2.14 -> 1.2.15.1 --- pkgs/by-name/al/alsa-ucm-conf/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/alsa-ucm-conf/package.nix b/pkgs/by-name/al/alsa-ucm-conf/package.nix index 40be0117fc3a..a8390137be78 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.14"; + version = "1.2.15.1"; src = fetchurl { url = "mirror://alsa/lib/alsa-ucm-conf-${finalAttrs.version}.tar.bz2"; - hash = "sha256-MumAn1ktkrl4qhAy41KTwzuNDx7Edfk3Aiw+6aMGnCE="; + hash = "sha256-JGxdWdIXtvf0ehH9EPG3ZtJavLDZyZavMHm7nJrFobA="; }; dontBuild = true; From 8c4fa80840cc3a514ae64163ac31cedcf02f87b3 Mon Sep 17 00:00:00 2001 From: Theo Paris Date: Tue, 23 Dec 2025 19:05:05 -0800 Subject: [PATCH 0093/1216] llvmPackages.compiler-rt: fix nolibc build Signed-off-by: Theo Paris Change-Id: Ieae2b7b767f744fac4a4f9fc46e949db6a6a6964 --- pkgs/development/compilers/llvm/common/compiler-rt/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix index a81e79aad26c..f8bd069f849f 100644 --- a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix @@ -10,7 +10,6 @@ cmake, ninja, python3, - libllvm, jq, libcxx, linuxHeaders, @@ -61,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: { '' + '' cp -r ${monorepoSrc}/compiler-rt "$out" + cp -r ${monorepoSrc}/llvm "$out" '' ) else @@ -90,7 +90,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake python3 - libllvm.dev ninja ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ jq ]; From b8ced9471d40a0cdad2aa740501503a907bf5632 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 24 Dec 2025 12:58:24 +0000 Subject: [PATCH 0094/1216] cryptsetup: 2.8.2 -> 2.8.3 Changes: https://gitlab.com/cryptsetup/cryptsetup/-/compare/v2.8.2...v2.8.3?from_project_id=195655 --- pkgs/by-name/cr/cryptsetup/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cr/cryptsetup/package.nix b/pkgs/by-name/cr/cryptsetup/package.nix index f7ffd4f8d031..d310ed986ca9 100644 --- a/pkgs/by-name/cr/cryptsetup/package.nix +++ b/pkgs/by-name/cr/cryptsetup/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "cryptsetup"; - version = "2.8.2"; + version = "2.8.3"; outputs = [ "bin" @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { url = "mirror://kernel/linux/utils/cryptsetup/v${lib.versions.majorMinor finalAttrs.version}/" + "cryptsetup-${finalAttrs.version}.tar.xz"; - hash = "sha256-3Z7emHWXbLJfPSm/q/NDscYPYYZka2fvXkDmCrSTXsE="; + hash = "sha256-SoojuLnRoyUEUuQKzq1EIaA+RaOJVK0FlWNPQmaqgA8="; }; patches = [ From 920ca4c52a787247f4d52d5a1b4a591357588ca9 Mon Sep 17 00:00:00 2001 From: Ad Date: Sat, 20 Dec 2025 23:36:08 -0500 Subject: [PATCH 0095/1216] polkit: 126 -> 127 Fixes: #472582 --- pkgs/by-name/po/polkit/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/po/polkit/package.nix b/pkgs/by-name/po/polkit/package.nix index f804931304d8..31231f32d736 100644 --- a/pkgs/by-name/po/polkit/package.nix +++ b/pkgs/by-name/po/polkit/package.nix @@ -42,7 +42,7 @@ let in stdenv.mkDerivation rec { pname = "polkit"; - version = "126"; + version = "127"; outputs = [ "bin" @@ -55,19 +55,13 @@ stdenv.mkDerivation rec { owner = "polkit-org"; repo = "polkit"; rev = version; - hash = "sha256-ZSqgW//q5DFIsmY17U93mJcK/CHSCHphKTHsTxp40q8="; + hash = "sha256-YTugETy0rqu/bv53jV1UeGqSK79bRXR52EJNcTblvzo="; }; patches = [ # Allow changing base for paths in pkg-config file as before. # https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/100 ./0001-build-Use-datarootdir-in-Meson-generated-pkg-config-.patch - - (fetchpatch { - name = "elogind.patch"; - url = "https://github.com/polkit-org/polkit/commit/55ee1b70456eca8281dda9612c485c619122f202.patch"; - hash = "sha256-XOsDyYFBDWxs0PGAgqm3OSUycKR8fYa2ySZqBl8EX7E="; - }) ]; depsBuildBuild = [ From 92848a8fa03d4f0cee162876e570eac934b8a769 Mon Sep 17 00:00:00 2001 From: Ad Date: Wed, 24 Dec 2025 12:29:43 -0500 Subject: [PATCH 0096/1216] nixos/polkit: remove SUID wrapper for polkit-agent-helper-1 Polkit v127 no longer requires a SUID `polkit-agent-helper-1` and instead recommends using a socket-activated `polkit-agent-helper` service[1]. [1] --- nixos/modules/security/polkit.nix | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index 27a70c7c4896..ca0a88246528 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -78,6 +78,8 @@ in ]; systemd.services.polkit.stopIfChanged = false; + systemd.sockets."polkit-agent-helper".wantedBy = [ "sockets.target" ]; + # The polkit daemon reads action/rule files environment.pathsToLink = [ "/share/polkit-1" ]; @@ -94,19 +96,11 @@ in security.pam.services.polkit-1 = { }; - security.wrappers = { - pkexec = { - setuid = true; - owner = "root"; - group = "root"; - source = "${cfg.package.bin}/bin/pkexec"; - }; - polkit-agent-helper-1 = { - setuid = true; - owner = "root"; - group = "root"; - source = "${cfg.package.out}/lib/polkit-1/polkit-agent-helper-1"; - }; + security.wrappers.pkexec = { + setuid = true; + owner = "root"; + group = "root"; + source = "${cfg.package.bin}/bin/pkexec"; }; systemd.tmpfiles.rules = [ From 7cbf0c7688c172eb018634db8d68f21a99039b2f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 24 Dec 2025 21:10:15 +0000 Subject: [PATCH 0097/1216] libmpg123: 1.33.3 -> 1.33.4 --- pkgs/applications/audio/mpg123/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index fb95111cbfe5..e526288734e1 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -21,11 +21,11 @@ assert withConplay -> !libOnly; stdenv.mkDerivation rec { pname = "${lib.optionalString libOnly "lib"}mpg123"; - version = "1.33.3"; + version = "1.33.4"; src = fetchurl { url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2"; - hash = "sha256-agxkct0VbiE8IGj0ARXru3OXjC2HPma64qJQ4tIZjSY="; + hash = "sha256-OujJ/4Cpe/wOIuifvNdGh+yk/B2zFbEmB/J/ActaR9k="; }; outputs = [ From 39d029289ae2d1270aa8f565a7102e2acdc8c0b5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 24 Dec 2025 21:15:22 +0000 Subject: [PATCH 0098/1216] cmocka: 1.1.8 -> 2.0.1 --- pkgs/by-name/cm/cmocka/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cm/cmocka/package.nix b/pkgs/by-name/cm/cmocka/package.nix index e3a74a440395..baeea60c9fca 100644 --- a/pkgs/by-name/cm/cmocka/package.nix +++ b/pkgs/by-name/cm/cmocka/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "cmocka"; - version = "1.1.8"; + version = "2.0.1"; src = fetchurl { url = "https://cmocka.org/files/${lib.versions.majorMinor version}/cmocka-${version}.tar.xz"; - hash = "sha256-WENbVYdm1/THKboWO9867Di+07x2batoTjUm7Qqnx4A="; + hash = "sha256-PzUzOCuimrOr9cT0snt50WXw31HqWH3nSbEbaLQBkYA="; }; patches = [ From 0b960b8595ed799fb3bdf74640355f5a20d7a483 Mon Sep 17 00:00:00 2001 From: Shelvacu Date: Wed, 24 Dec 2025 13:08:47 -0800 Subject: [PATCH 0099/1216] srcOnly: override output{Dev,Bin,...}. fixes #308050 This wouldn't matter, except pkgs/build-support/setup-hooks/multiple-outputs.sh uses these and errors if they're set to a non-existent output. Ex: if `outputDev=dev`, then multiple-outputs tries to set `outputInclude=$dev`, but `dev` isn't set. --- pkgs/build-support/src-only/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/build-support/src-only/default.nix b/pkgs/build-support/src-only/default.nix index b732c6156041..f44e41a62eef 100644 --- a/pkgs/build-support/src-only/default.nix +++ b/pkgs/build-support/src-only/default.nix @@ -54,6 +54,19 @@ let dontInstall = false; installPhase = "cp -pr --reflink=auto -- . $out"; + + # the original derivation might've set something like outputDev = "lib", but "lib" isn't an output anymore + # some things get confused and error if one of these is set to an output that doesn't exist + # ex: pkgs/build-support/setup-hooks/multiple-outputs.sh + outputDev = "out"; + outputBin = "out"; + outputInclude = "out"; + outputLib = "out"; + outputDoc = "out"; + outputDevdoc = "out"; + outputMan = "out"; + outputDevman = "out"; + outputInfo = "out"; }; in From 3428238e9f00b0d8d75383b06a4fa7dfda3c6be8 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 18 Sep 2025 19:20:09 +0200 Subject: [PATCH 0100/1216] ogre-next: init at 3.0.0 Signed-off-by: Marcin Serwin --- pkgs/by-name/og/ogre-next/package.nix | 86 +++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 pkgs/by-name/og/ogre-next/package.nix diff --git a/pkgs/by-name/og/ogre-next/package.nix b/pkgs/by-name/og/ogre-next/package.nix new file mode 100644 index 000000000000..99e21f9fc2ac --- /dev/null +++ b/pkgs/by-name/og/ogre-next/package.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + + cmake, + ninja, + pkg-config, + + SDL2, + xorg, + libGL, + zlib, + freetype, + tinyxml, + openvr, + rapidjson, + zziplib, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "ogre-next"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "OGRECave"; + repo = "ogre-next"; + tag = "v${finalAttrs.version}"; + hash = "sha256-nJkCGKl9+6gApVtqk5OZjTOJllAJIiBKuquTYvR4NPs="; + }; + + patches = [ + (fetchpatch2 { + # https://github.com/OGRECave/ogre-next/pull/542 + url = "https://github.com/OGRECave/ogre-next/commit/c1dad50e8510dea9d75d97b0ace33a870993895c.patch?full_index=1"; + hash = "sha256-JYsksDxcLrkHqlgdP3KdHlFuvYxNazlchPGoTXE9LYQ="; + }) + ]; + + nativeBuildInputs = [ + cmake + pkg-config + ninja + ]; + + buildInputs = [ + SDL2 + freetype + zziplib + zlib + tinyxml + openvr + rapidjson + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGL + xorg.libX11 + xorg.libXaw + xorg.libXrandr + xorg.libXt + xorg.libxcb + ]; + + # TODO: Figure out Vulkan plugin deps + + cmakeFlags = [ + (lib.cmakeBool "OGRE_BUILD_COMPONENT_PLANAR_REFLECTIONS" true) + + # Use STB instead of freeimage since the latter is marked as insecure + (lib.cmakeBool "OGRE_CONFIG_ENABLE_FREEIMAGE" false) + (lib.cmakeBool "OGRE_CONFIG_ENABLE_STBI" true) + ]; + + meta = { + description = "3D Object-Oriented Graphics Rendering Engine"; + homepage = "https://www.ogre3d.org/"; + maintainers = with lib.maintainers; [ + marcin-serwin + ]; + platforms = lib.platforms.linux; + license = lib.licenses.mit; + + # build problems around NEON intrinsics + broken = stdenv.hostPlatform.isAarch64; + }; +}) From 5a32e16298e007442f91ed0f6fa4546ddf9a5ab5 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 18 Sep 2025 19:20:09 +0200 Subject: [PATCH 0101/1216] stuntrally: 2.7 -> 3.3 Signed-off-by: Marcin Serwin --- pkgs/games/stuntrally/default.nix | 95 +++++++++++-------- .../mygui-use-pkg-config-for-ogre-next.patch | 38 ++++++++ pkgs/games/stuntrally/mygui.nix | 65 +++++++++++++ ...untrally-init-data-dirs-to-nix-paths.patch | 26 +++++ ...ntrally-use-pkg-config-for-ogre-next.patch | 45 +++++++++ pkgs/top-level/all-packages.nix | 2 +- 6 files changed, 229 insertions(+), 42 deletions(-) create mode 100644 pkgs/games/stuntrally/mygui-use-pkg-config-for-ogre-next.patch create mode 100644 pkgs/games/stuntrally/mygui.nix create mode 100644 pkgs/games/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch create mode 100644 pkgs/games/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix index 656d4ca91510..4ab171a6d40f 100644 --- a/pkgs/games/stuntrally/default.nix +++ b/pkgs/games/stuntrally/default.nix @@ -2,87 +2,100 @@ lib, fetchFromGitHub, stdenv, + callPackage, cmake, boost, - ogre_13, - mygui, - ois, SDL2, - libX11, libvorbis, pkg-config, - makeWrapper, enet, - libXcursor, bullet, openal, - tinyxml, tinyxml-2, + rapidjson, + ogre-next, + ninja, + libX11, }: let - stuntrally_ogre = ogre_13.overrideAttrs (old: { - cmakeFlags = old.cmakeFlags ++ [ - "-DOGRE_NODELESS_POSITIONING=ON" - "-DOGRE_RESOURCEMANAGER_STRICT=0" - ]; - }); - stuntrally_mygui = mygui.override { - withOgre = true; - ogre = stuntrally_ogre; - }; + mygui = callPackage ./mygui.nix { }; in - stdenv.mkDerivation rec { pname = "stuntrally"; - version = "2.7"; + version = "3.3"; src = fetchFromGitHub { owner = "stuntrally"; - repo = "stuntrally"; - rev = version; - hash = "sha256-0Eh9ilIHSh/Uz8TuPnXxLQfy7KF7qqNXUgBXQUCz9ys="; + repo = "stuntrally3"; + tag = version; + hash = "sha256-BJMMsJ/ONZTpvXetaaHlgm6rih9oZmtJNBXv0IM855Y="; }; + tracks = fetchFromGitHub { owner = "stuntrally"; - repo = "tracks"; - rev = version; - hash = "sha256-fglm1FetFGHM/qGTtpxDb8+k2iAREn5DQR5GPujuLms="; + repo = "tracks3"; + tag = version; + hash = "sha256-nvIN5hIfTfnuJdlLNlmpmYo3WQhUxYWz14OFra/55w4="; }; - postPatch = '' - substituteInPlace config/*-default.cfg \ - --replace "screenshot_png = off" "screenshot_png = on" - substituteInPlace source/*/BaseApp_Create.cpp \ - --replace "Codec_FreeImage" "Codec_STBI" - ''; + patches = [ + ./stuntrally-use-pkg-config-for-ogre-next.patch + ./stuntrally-init-data-dirs-to-nix-paths.patch + ]; - preConfigure = '' - rmdir data/tracks - ln -s ${tracks}/ data/tracks + postPatch = '' + substituteInPlace bin/Release/plugins.cfg \ + --replace-fail "PluginFolder=." "PluginFolder=${ogre-next}/lib/OGRE/" + substituteInPlace src/vdrift/paths.cpp \ + --replace-fail "@GAME_DATA_DIR@" "$out/share/stuntrally3/data" \ + --replace-fail "@GAME_CONFIG_DIR@" "$out/share/stuntrally3/config" ''; nativeBuildInputs = [ cmake pkg-config - makeWrapper + ninja ]; + buildInputs = [ boost - stuntrally_ogre - stuntrally_mygui - ois + ogre-next + mygui + rapidjson SDL2 - libX11 libvorbis enet - libXcursor bullet openal - tinyxml tinyxml-2 + libX11 ]; + installPhase = '' + runHook preInstall + + pushd .. + + share_dir=$out/share/stuntrally3 + mkdir -p $share_dir + cp -r config $share_dir/config + cp bin/Release/plugins.cfg $share_dir/config + cp -r data $share_dir/data + cp -r ${tracks} $share_dir/data/tracks + + mkdir -p $out/bin + cp bin/Release/{sr-editor3,sr-translator,stuntrally3} $out/bin + + popd + + runHook postInstall + ''; + + passthru = { + inherit mygui; + }; + meta = { description = "Stunt Rally game with Track Editor, based on VDrift and OGRE"; homepage = "http://stuntrally.tuxfamily.org/"; diff --git a/pkgs/games/stuntrally/mygui-use-pkg-config-for-ogre-next.patch b/pkgs/games/stuntrally/mygui-use-pkg-config-for-ogre-next.patch new file mode 100644 index 000000000000..e5f0fc0d3cb5 --- /dev/null +++ b/pkgs/games/stuntrally/mygui-use-pkg-config-for-ogre-next.patch @@ -0,0 +1,38 @@ +diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake +index fcf7cc4..7239f20 100644 +--- a/CMake/Dependencies.cmake ++++ b/CMake/Dependencies.cmake +@@ -84,7 +84,10 @@ elseif(MYGUI_RENDERSYSTEM EQUAL 7) + endif() + elseif(MYGUI_RENDERSYSTEM EQUAL 8) + # Find OGRE +- find_package(OGRE_next) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(OGRE REQUIRED IMPORTED_TARGET GLOBAL OGRE) ++ pkg_check_modules(OGRE_HLMS REQUIRED IMPORTED_TARGET GLOBAL OGRE-Hlms) ++ set(OGRE_INCLUDE_DIR "${OGRE_INCLUDE_DIRS}") + macro_log_feature(OGRE_FOUND "ogre" "Support for the Ogre render system" "" TRUE "" "") + endif() + +diff --git a/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt b/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt +index c40cd8f..2647ae8 100644 +--- a/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt ++++ b/Platforms/Ogre2/Ogre2Platform/CMakeLists.txt +@@ -1,6 +1,6 @@ + set (PROJECTNAME MyGUI.Ogre2Platform) + +-message(STATUS "Platform Ogre-next:" ${OGRE_NEXT}) ++message(STATUS "Platform Ogre-next: ${OGRE_HLMS_INCLUDE_DIRS}") + + include_directories( + include +@@ -8,8 +8,7 @@ include_directories( + ${OGRE_CONFIG_INCLUDE_DIR} + ${OGRE_INCLUDE_DIR} + ${OGRE_SOURCE_DIR} +- ${OGRE_NEXT}/Components/Hlms/Unlit/include +- ${OGRE_NEXT}/Components/Hlms/Common/include ++ ${OGRE_HLMS_INCLUDE_DIRS} + ) + + include(${PROJECTNAME}.list) diff --git a/pkgs/games/stuntrally/mygui.nix b/pkgs/games/stuntrally/mygui.nix new file mode 100644 index 000000000000..111d3fe2266d --- /dev/null +++ b/pkgs/games/stuntrally/mygui.nix @@ -0,0 +1,65 @@ +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + ninja, + boost, + freetype, + libuuid, + ois, + ogre-next, + libX11, +}: +stdenv.mkDerivation { + pname = "mygui"; + version = "0-unstable-2024-02-01"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "cryham"; + repo = "mygui-next"; + rev = "a1490ffe01d503c31a00d8277007ffcb27a4258e"; + hash = "sha256-R80rTsbmkYtrjIYqdYmbfciEM4rtEzLtsM4XfShJwns="; + }; + + patches = [ ./mygui-use-pkg-config-for-ogre-next.patch ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'cmake_minimum_required(VERSION 2.6)' \ + 'cmake_minimum_required(VERSION 3.10)' + ''; + + nativeBuildInputs = [ + cmake + pkg-config + ninja + ]; + + buildInputs = [ + boost + freetype + libuuid + ois + ogre-next + libX11 + ]; + + cmakeFlags = [ + (lib.cmakeBool "MYGUI_BUILD_DEMOS" false) + (lib.cmakeBool "MYGUI_BUILD_TOOLS" false) + (lib.cmakeBool "MYGUI_DONT_USE_OBSOLETE" true) + (lib.cmakeFeature "MYGUI_RENDERSYSTEM" "8") + ]; + + meta = { + description = "Library for creating GUIs for games and 3D applications (Stunt Rally fork)"; + homepage = "http://mygui.info/"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/games/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch b/pkgs/games/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch new file mode 100644 index 000000000000..f02c20842004 --- /dev/null +++ b/pkgs/games/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch @@ -0,0 +1,26 @@ +diff --git a/src/common/Main.cpp b/src/common/Main.cpp +index f63a5b8..8260bcf 100644 +--- a/src/common/Main.cpp ++++ b/src/common/Main.cpp +@@ -154,7 +154,7 @@ void MainEntryPoints::createSystems( + PATHS::UserConfigDir()+"/", + PATHS::CacheDir()+"/", + PATHS::GameConfigDir()+"/", +- String("./") ); ++ PATHS::GameConfigDir()+"/" ); + + app->mGraphicsSystem = graphicsSystem; + +diff --git a/src/vdrift/paths.cpp b/src/vdrift/paths.cpp +index 9122031..d06bb59 100755 +--- a/src/vdrift/paths.cpp ++++ b/src/vdrift/paths.cpp +@@ -145,6 +145,8 @@ void PATHS::Init(bool log_paths) + fs::path exe = execname(); // binary dir + game_bin = exe.parent_path().string(); + ++ game_data = "@GAME_DATA_DIR@"; ++ game_config = "@GAME_CONFIG_DIR@"; + + // Find game data dir and defaults config dir + char *datadir = getenv("STUNTRALLY3_DATA_ROOT"); diff --git a/pkgs/games/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch b/pkgs/games/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch new file mode 100644 index 000000000000..6271caaea3f8 --- /dev/null +++ b/pkgs/games/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch @@ -0,0 +1,45 @@ +diff --git a/CMake/DependenciesConfig.cmake b/CMake/DependenciesConfig.cmake +index aca28ea..76f4186 100644 +--- a/CMake/DependenciesConfig.cmake ++++ b/CMake/DependenciesConfig.cmake +@@ -7,11 +7,14 @@ find_package(Bullet REQUIRED) + find_package(enet REQUIRED) + find_package(MyGUI REQUIRED) + find_package(Ogg REQUIRED) +-find_package(OGRE REQUIRED) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(OGRE REQUIRED IMPORTED_TARGET GLOBAL OGRE) ++pkg_check_modules(OGRE-Hlms REQUIRED IMPORTED_TARGET GLOBAL OGRE-Hlms) ++pkg_check_modules(OGRE-Overlay REQUIRED IMPORTED_TARGET GLOBAL OGRE-Overlay) + find_package(OpenAL REQUIRED) + find_package(RapidJSON REQUIRED) + find_package(SDL2 REQUIRED) + find_package(tinyxml2 REQUIRED) + find_package(Vorbis REQUIRED) + +-include(AddMissingTargets) +\ No newline at end of file ++include(AddMissingTargets) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d84ae0c..22c367d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -175,14 +175,16 @@ foreach( EXE ${EXE_LIST} ) + endif () + + target_link_libraries( +- ${EXE} ++ ${EXE} + PRIVATE + boost::boost + Bullet::Bullet + enet::enet + MyGUI::MyGUI + Ogg::ogg +- OGRE::OGRE ++ PkgConfig::OGRE ++ PkgConfig::OGRE-Hlms ++ PkgConfig::OGRE-Overlay + OpenAL::OpenAL + rapidjson + SDL2::SDL2 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6d24e7993433..d7c2af5b46f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12905,7 +12905,7 @@ with pkgs; protonup-ng = with python3Packages; toPythonApplication protonup-ng; - stuntrally = callPackage ../games/stuntrally { boost = boost183; }; + stuntrally = callPackage ../games/stuntrally { }; the-powder-toy = callPackage ../by-name/th/the-powder-toy/package.nix { lua = lua5_2; From 5e88eb2014a61515a3ac21bfe642b0db35a095fd Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sun, 21 Sep 2025 22:24:59 +0200 Subject: [PATCH 0102/1216] stuntrally: move to by-name Signed-off-by: Marcin Serwin --- .../st}/stuntrally/mygui-use-pkg-config-for-ogre-next.patch | 0 pkgs/{games => by-name/st}/stuntrally/mygui.nix | 0 .../default.nix => by-name/st/stuntrally/package.nix} | 0 .../st}/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch | 0 .../stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch | 0 pkgs/top-level/all-packages.nix | 2 -- 6 files changed, 2 deletions(-) rename pkgs/{games => by-name/st}/stuntrally/mygui-use-pkg-config-for-ogre-next.patch (100%) rename pkgs/{games => by-name/st}/stuntrally/mygui.nix (100%) rename pkgs/{games/stuntrally/default.nix => by-name/st/stuntrally/package.nix} (100%) rename pkgs/{games => by-name/st}/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch (100%) rename pkgs/{games => by-name/st}/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch (100%) diff --git a/pkgs/games/stuntrally/mygui-use-pkg-config-for-ogre-next.patch b/pkgs/by-name/st/stuntrally/mygui-use-pkg-config-for-ogre-next.patch similarity index 100% rename from pkgs/games/stuntrally/mygui-use-pkg-config-for-ogre-next.patch rename to pkgs/by-name/st/stuntrally/mygui-use-pkg-config-for-ogre-next.patch diff --git a/pkgs/games/stuntrally/mygui.nix b/pkgs/by-name/st/stuntrally/mygui.nix similarity index 100% rename from pkgs/games/stuntrally/mygui.nix rename to pkgs/by-name/st/stuntrally/mygui.nix diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/by-name/st/stuntrally/package.nix similarity index 100% rename from pkgs/games/stuntrally/default.nix rename to pkgs/by-name/st/stuntrally/package.nix diff --git a/pkgs/games/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch b/pkgs/by-name/st/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch similarity index 100% rename from pkgs/games/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch rename to pkgs/by-name/st/stuntrally/stuntrally-init-data-dirs-to-nix-paths.patch diff --git a/pkgs/games/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch b/pkgs/by-name/st/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch similarity index 100% rename from pkgs/games/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch rename to pkgs/by-name/st/stuntrally/stuntrally-use-pkg-config-for-ogre-next.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d7c2af5b46f2..6817de5251ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12905,8 +12905,6 @@ with pkgs; protonup-ng = with python3Packages; toPythonApplication protonup-ng; - stuntrally = callPackage ../games/stuntrally { }; - the-powder-toy = callPackage ../by-name/th/the-powder-toy/package.nix { lua = lua5_2; }; From 58f613d99619698ade40e90a32927fe7732ea27c Mon Sep 17 00:00:00 2001 From: Arian van Putten Date: Thu, 25 Dec 2025 13:04:31 +0100 Subject: [PATCH 0103/1216] systemd: remove systemd-initrd-luks-unl0kr from passthru IDK what unl0kr is. The tests have been broken on aarch64 since the beginning and it's not part of systemd. The maintainer of unl0kr can be responsible for maintaining the unl0kr tests --- pkgs/os-specific/linux/systemd/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 072c923b5380..882ab6b28f92 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -957,7 +957,6 @@ stdenv.mkDerivation (finalAttrs: { systemd-initrd-luks-empty-passphrase systemd-initrd-luks-password systemd-initrd-luks-tpm2 - systemd-initrd-luks-unl0kr systemd-initrd-modprobe systemd-initrd-shutdown systemd-initrd-simple From 19c82da75a3c89664e4e53f7c4016e5aefa2f4c7 Mon Sep 17 00:00:00 2001 From: Arian van Putten Date: Thu, 25 Dec 2025 13:06:51 +0100 Subject: [PATCH 0104/1216] nixos/tests/systemd-boot: only run tests on x86_64-linux They're all broken on aarch64-linux and makes it impossible for me to test systemd bumps by building the passthru tests Disable them on the platforms in question. We can fix them later. --- nixos/tests/systemd-boot.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index fe0bde317646..53f8db7a808c 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -158,7 +158,8 @@ in } ); - basicXbootldr = runTest ( + # TODO: Fix on aarch64-linux + basicXbootldr = runTestOn [ "x86_64-linux" ] ( { lib, ... }: { name = "systemd-boot-xbootldr"; @@ -282,7 +283,8 @@ in } ); - update = runTest ( + # TODO: Fix on aarch64-linux + update = runTestOn [ "x86_64-linux" ] ( { lib, ... }: { name = "systemd-boot-update"; @@ -457,7 +459,8 @@ in } ); - entryFilenameXbootldr = runTest ( + # TODO: Fix on aarch64-linux + entryFilenameXbootldr = runTestOn [ "x86_64-linux" ] ( { lib, ... }: { name = "systemd-boot-entry-filename-xbootldr"; From 3e2e7ddfe17364577ed82e675cf480cfd428e307 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 25 Dec 2025 13:30:25 +0100 Subject: [PATCH 0105/1216] cargo-c: 0.10.15 -> 0.10.19 Signed-off-by: Matthias Beyer --- pkgs/by-name/ca/cargo-c/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ca/cargo-c/package.nix b/pkgs/by-name/ca/cargo-c/package.nix index 557b21f65d0e..ce4cb935bcbc 100644 --- a/pkgs/by-name/ca/cargo-c/package.nix +++ b/pkgs/by-name/ca/cargo-c/package.nix @@ -12,19 +12,19 @@ let # this version may need to be updated along with package version - cargoVersion = "0.90.0"; + cargoVersion = "0.93.0"; in rustPlatform.buildRustPackage rec { pname = "cargo-c"; - version = "0.10.15"; + version = "0.10.19"; src = fetchCrate { inherit pname; version = "${version}+cargo-${cargoVersion}"; - hash = "sha256-szqDSHGihE+Oj8L3EBlC5XH4kSBYOptd0Xtk3MhXooQ="; + hash = "sha256-PrBmB+0tmU2MAUnRr+wx4g9hu0Y9i6WfR8U89bwiLVY="; }; - cargoHash = "sha256-36ygs/EhCktG1jmBnP9c7EgnfcWnGrqqcW3qAw+Yfy4="; + cargoHash = "sha256-EM/vAfW/ucOfK/XmAQn9Zk75eFb7pp8uZoByKbALCyo="; nativeBuildInputs = [ pkg-config From 579d446b2a44f719e4196573365cffd4edfa903d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 25 Dec 2025 16:13:57 +0000 Subject: [PATCH 0106/1216] libcdio: 2.2.0 -> 2.3.0 --- pkgs/by-name/li/libcdio/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libcdio/package.nix b/pkgs/by-name/li/libcdio/package.nix index 483868b4ea99..216b6c889f15 100644 --- a/pkgs/by-name/li/libcdio/package.nix +++ b/pkgs/by-name/li/libcdio/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libcdio"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "libcdio"; repo = "libcdio"; tag = finalAttrs.version; - hash = "sha256-izjZk2kz9PkLm9+INUdl1e7jMz3nUsQKdplKI9Io+CM="; + hash = "sha256-NZj6sMIhBORh2ZBs/WGI4BYri1REog4ovUug1t5p8Y8="; }; env = lib.optionalAttrs stdenv.hostPlatform.is32bit { From 693927196a3f46d40272d473efabf9d08e3221a0 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Thu, 25 Dec 2025 17:10:45 -0500 Subject: [PATCH 0107/1216] versionCheckHook: use coreutils env I was getting an "env: unrecognized option '--argv0=less'" error when using a package that used this hook in the bootstrap sequence. --- pkgs/by-name/ve/versionCheckHook/hook.sh | 2 +- pkgs/by-name/ve/versionCheckHook/package.nix | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ve/versionCheckHook/hook.sh b/pkgs/by-name/ve/versionCheckHook/hook.sh index 4a977fe7a888..dc902ae32faa 100644 --- a/pkgs/by-name/ve/versionCheckHook/hook.sh +++ b/pkgs/by-name/ve/versionCheckHook/hook.sh @@ -10,7 +10,7 @@ _handleCmdOutput(){ done fi - versionOutput="$(env \ + versionOutput="$(@envCommand@ \ --chdir=/ \ --argv0="$(basename "${command[0]}")" \ "${envArgs[@]}" \ diff --git a/pkgs/by-name/ve/versionCheckHook/package.nix b/pkgs/by-name/ve/versionCheckHook/package.nix index d5039db3f219..0cf103133e04 100644 --- a/pkgs/by-name/ve/versionCheckHook/package.nix +++ b/pkgs/by-name/ve/versionCheckHook/package.nix @@ -1,12 +1,14 @@ { lib, makeSetupHook, + coreutils, }: makeSetupHook { name = "version-check-hook"; substitutions = { storeDir = builtins.storeDir; + envCommand = lib.getExe' coreutils "env"; # Cannot call it env, because it isn't an attrset of environment variables! }; meta = { description = "Lookup for $version in the output of --help and --version"; From bdb9406968f0b6482d23533bf06c990e776dee21 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Fri, 26 Dec 2025 00:46:08 +0100 Subject: [PATCH 0108/1216] protobuf: fix setupHook for structuredAttrs --- pkgs/development/libraries/protobuf/generic.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix index 11fa9ebff6c1..61751afac015 100644 --- a/pkgs/development/libraries/protobuf/generic.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -60,12 +60,16 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + preHook = '' + export build_protobuf=${ + if (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) then + buildPackages."protobuf_${lib.versions.major version}" + else + (placeholder "out") + }; + ''; + # hook to provide the path to protoc executable, used at build time - build_protobuf = - if (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) then - buildPackages."protobuf_${lib.versions.major version}" - else - (placeholder "out"); setupHook = ./setup-hook.sh; nativeBuildInputs = [ From 5ea0f735fcd66f226b14bfa0520869f2ca46f2a9 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Thu, 25 Dec 2025 12:14:17 -0500 Subject: [PATCH 0109/1216] bison: disable checks when using LLVM/clang --- pkgs/by-name/bi/bison/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bison/package.nix b/pkgs/by-name/bi/bison/package.nix index f52f48ce51a3..e5c6eef040ae 100644 --- a/pkgs/by-name/bi/bison/package.nix +++ b/pkgs/by-name/bi/bison/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { pname = "bison"; - version = "3.8.2"; + version = "3.8.2"; # Check the note above doInstallCheck before updating. src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; @@ -46,7 +46,9 @@ stdenv.mkDerivation rec { # Normal check and install check largely execute the same test suite doCheck = false; - doInstallCheck = true; + # Tests were disabled on LLVM/Darwin due to https://github.com/NixOS/nixpkgs/issues/463659 + # TODO: enable doInstallCheck unconditionally when fixed upstream. + doInstallCheck = !stdenv.cc.isClang; meta = { homepage = "https://www.gnu.org/software/bison/"; From 4f596a2d51fa0b55cbf6d0e5f9d73c38f3cb8e0b Mon Sep 17 00:00:00 2001 From: Mag1cByt3s Date: Fri, 26 Dec 2025 07:31:28 +0100 Subject: [PATCH 0110/1216] netexec: 1.4.0 -> 1.5.0 --- pkgs/by-name/ne/netexec/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netexec/package.nix b/pkgs/by-name/ne/netexec/package.nix index 858d52bf0e49..9642b4f7c24d 100644 --- a/pkgs/by-name/ne/netexec/package.nix +++ b/pkgs/by-name/ne/netexec/package.nix @@ -10,11 +10,11 @@ let self = python; packageOverrides = self: super: { impacket = super.impacket.overridePythonAttrs { - version = "0.12.0-unstable-2025-03-14"; + version = "0.14.0-unstable-2025-12-03"; src = fetchFromGitHub { owner = "fortra"; repo = "impacket"; - rev = "8b4566b12fc79acb520d045dbae8f13446a9d4d7"; + rev = "caba5facdd3a01b5d0decc6daf5871839f22f792"; hash = "sha256-jyn5qSSAipGYhHm2EROwDHa227mnmW+d+0H0/++i1OY="; }; # Fix version to be compliant with Python packaging rules @@ -28,7 +28,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "netexec"; - version = "1.4.0"; + version = "1.5.0"; pyproject = true; src = fetchFromGitHub { From 772f012d4a2feb97818867f675d0b39469bed3f1 Mon Sep 17 00:00:00 2001 From: Mag1cByt3s Date: Fri, 26 Dec 2025 08:02:34 +0100 Subject: [PATCH 0111/1216] netexec: add missing python deps --- pkgs/by-name/ne/netexec/package.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/netexec/package.nix b/pkgs/by-name/ne/netexec/package.nix index 9642b4f7c24d..33b19d0428b8 100644 --- a/pkgs/by-name/ne/netexec/package.nix +++ b/pkgs/by-name/ne/netexec/package.nix @@ -35,7 +35,7 @@ python.pkgs.buildPythonApplication rec { owner = "Pennyw0rth"; repo = "NetExec"; tag = "v${version}"; - hash = "sha256-1yNnnPntJ5aceX3Z8yYAMLv5bSFfCFVp0pgxAySlVfE="; + hash = "sha256-gGyaEifIveoeVdeviLiQ6ZIHku//h9Hp84ffktAgxDY="; }; pythonRelaxDeps = true; @@ -43,11 +43,14 @@ python.pkgs.buildPythonApplication rec { pythonRemoveDeps = [ # Fail to detect dev version requirement "neo4j" + # No python package in nixpkgs; use bloodhound-py instead. + "bloodhound-ce" ]; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail " @ git+https://github.com/fortra/impacket.git" "" \ + --replace-fail " @ git+https://github.com/Pennyw0rth/Certipy" "" \ + --replace-fail " @ git+https://github.com/fortra/impacket" "" \ --replace-fail " @ git+https://github.com/wbond/oscrypto" "" \ --replace-fail " @ git+https://github.com/Pennyw0rth/NfsClient" "" ''; @@ -66,6 +69,7 @@ python.pkgs.buildPythonApplication rec { asyauth beautifulsoup4 bloodhound-py + certipy-ad dploot dsinternals impacket @@ -76,6 +80,7 @@ python.pkgs.buildPythonApplication rec { msldap neo4j paramiko + pefile pyasn1-modules pylnk3 pynfsclient From e0d4195924c7f73e7207326a13b1bd925d50438f Mon Sep 17 00:00:00 2001 From: DSeeLP <46624152+DSeeLP@users.noreply.github.com> Date: Fri, 26 Dec 2025 14:21:56 +0100 Subject: [PATCH 0112/1216] finamp: 0.9.21-beta -> 0.9.22-beta https://github.com/jmshrv/finamp/releases/tag/0.9.22-beta --- pkgs/by-name/fi/finamp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fi/finamp/package.nix b/pkgs/by-name/fi/finamp/package.nix index 11d9d6f34b18..599a70391f1a 100644 --- a/pkgs/by-name/fi/finamp/package.nix +++ b/pkgs/by-name/fi/finamp/package.nix @@ -9,7 +9,7 @@ makeDesktopItem, }: let - version = "0.9.21-beta"; + version = "0.9.22-beta"; in flutter338.buildFlutterApplication { inherit version; @@ -18,7 +18,7 @@ flutter338.buildFlutterApplication { owner = "jmshrv"; repo = "finamp"; rev = version; - hash = "sha256-Mb9oC9SJnZovcqjOJzh0bpWxZhbkfQWzFG9moghCmrw="; + hash = "sha256-SPt1p9+uyvfSry8Ry2BJyLC7HyWZe43wfAPK9BVkcnc="; }; pubspecLock = lib.importJSON ./pubspec.lock.json; From 396028240070d511f5503d345e1ae9b179514ebf Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 26 Dec 2025 13:34:43 +0000 Subject: [PATCH 0113/1216] libnl: 3.11.0 -> 3.12.0 Changes; https://github.com/thom311/libnl/compare/libnl3_11_0...libnl3_12_0 --- pkgs/by-name/li/libnl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libnl/package.nix b/pkgs/by-name/li/libnl/package.nix index a17cfc8a8841..21e441960d15 100644 --- a/pkgs/by-name/li/libnl/package.nix +++ b/pkgs/by-name/li/libnl/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "libnl"; - version = "3.11.0"; + version = "3.12.0"; src = fetchFromGitHub { repo = "libnl"; owner = "thom311"; rev = "libnl${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-GuYV2bUOhLedB/o9Rz6Py/G5HBK2iNefwrlkZJXgbnI="; + hash = "sha256-K77WamOf+/3PNXe/hI+OYg0EBgBqvDfNDamXYXcK7P8="; }; outputs = [ From b81005737857834d57051ee4674ae7a778317041 Mon Sep 17 00:00:00 2001 From: Mag1cByt3s Date: Fri, 26 Dec 2025 22:42:09 +0100 Subject: [PATCH 0114/1216] netexec: fix read-only nxc.conf file --- pkgs/by-name/ne/netexec/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/ne/netexec/package.nix b/pkgs/by-name/ne/netexec/package.nix index 33b19d0428b8..4f522f089b77 100644 --- a/pkgs/by-name/ne/netexec/package.nix +++ b/pkgs/by-name/ne/netexec/package.nix @@ -48,6 +48,10 @@ python.pkgs.buildPythonApplication rec { ]; postPatch = '' + substituteInPlace nxc/first_run.py \ + --replace-fail "from os import mkdir" "from os import mkdir, chmod" \ + --replace-fail "shutil.copy(default_path, NXC_PATH)" $'shutil.copy(default_path, CONFIG_PATH)\n chmod(CONFIG_PATH, 0o600)' + substituteInPlace pyproject.toml \ --replace-fail " @ git+https://github.com/Pennyw0rth/Certipy" "" \ --replace-fail " @ git+https://github.com/fortra/impacket" "" \ From 2863f5c324e03c0b9bf15e94e5509e5879f163d1 Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Wed, 5 Nov 2025 14:59:11 +0000 Subject: [PATCH 0115/1216] dr14_tmeter: 1.0.16 -> unstable-20250927 Apply suggestions from code review from @SuperSandro2000 --- pkgs/by-name/dr/dr14_tmeter/package.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 797550823ebd..09daa19712ad 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -5,22 +5,21 @@ pkgs, }: -python3Packages.buildPythonApplication rec { +python3Packages.buildPythonApplication { pname = "dr14_tmeter"; - version = "1.0.16"; + version = "1.0.16-unstable-2025-09-27"; format = "setuptools"; - disabled = !python3Packages.isPy3k; - src = fetchFromGitHub { - owner = "simon-r"; + owner = "hboetes"; repo = "dr14_t.meter"; - rev = "v${version}"; - sha256 = "1nfsasi7kx0myxkahbd7rz8796mcf5nsadrsjjpx2kgaaw5nkv1m"; + rev = "f9d62f60c30d9404d4c4b644931e76049332310c"; + sha256 = "sha256-3z9Gi32aG6Tk9UHpfT1VqmBZpFJrlKB+NZFu3CH+18U="; }; propagatedBuildInputs = with pkgs; [ python3Packages.numpy + python3Packages.mutagen flac vorbis-tools ffmpeg From 652e724f68fd2025d1b3a1a95d16884ee5641ca8 Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Wed, 5 Nov 2025 20:11:29 +0000 Subject: [PATCH 0116/1216] dr14_tmeter: add sciencentistguy as maintainer --- pkgs/by-name/dr/dr14_tmeter/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 09daa19712ad..887c046e2d13 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -35,6 +35,6 @@ python3Packages.buildPythonApplication { mainProgram = "dr14_tmeter"; license = lib.licenses.gpl3Plus; homepage = "http://dr14tmeter.sourceforge.net/"; - maintainers = [ ]; + maintainers = with maintainers; [ sciencentistguy ]; }; } From 8f58d081214cf2bbc9f310939fcda0c96a81761b Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Fri, 21 Nov 2025 10:05:39 +0000 Subject: [PATCH 0117/1216] dr14_t.meter: update homepage --- pkgs/by-name/dr/dr14_tmeter/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 887c046e2d13..921b920cc613 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -33,8 +33,8 @@ python3Packages.buildPythonApplication { meta = { description = "Compute the DR14 of a given audio file according to the procedure described by the Pleasurize Music Foundation"; mainProgram = "dr14_tmeter"; + homepage = "https://github.com/hboetes/dr14_t.meter"; + maintainers = with lib.maintainers; [ sciencentistguy ]; license = lib.licenses.gpl3Plus; - homepage = "http://dr14tmeter.sourceforge.net/"; - maintainers = with maintainers; [ sciencentistguy ]; }; } From 8934094ae48f3ce0772bd3534f4aaca7ca3be7c8 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 28 Dec 2025 11:17:17 +0000 Subject: [PATCH 0118/1216] linuxHeaders: 6.16.7 -> 6.18 --- pkgs/os-specific/linux/kernel-headers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index b03a97d348ad..9c228e1f4f1e 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -152,13 +152,13 @@ in linuxHeaders = let - version = "6.16.7"; + version = "6.18"; in makeLinuxHeaders { inherit version; src = fetchurl { url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz"; - hash = "sha256-W+PaoflCexvbNMSJTZwa36w4z/Z0N2/gYRowZXKaGoE="; + hash = "sha256-kQakYF2p4x/xdlnZWHgrgV+VkaswjQOw7iGq1sfc7Us="; }; patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms From 2c8543c3f311750ea569fdf16bdc629718960ce6 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Thu, 25 Dec 2025 17:28:41 -0500 Subject: [PATCH 0119/1216] gzip: add passthru test --- pkgs/tools/compression/gzip/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index e424c911dfff..11c1ad453ec2 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -6,6 +6,10 @@ updateAutotoolsGnuConfigScriptsHook, runtimeShellPackage, directoryListingUpdater, + # Tests + gzip, + less, + perl, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -45,6 +49,12 @@ stdenv.mkDerivation (finalAttrs: { "ZLESS_PROG=zless" ]; + nativeCheckInputs = [ + less + perl + ]; + doCheck = false; + # Many gzip executables are shell scripts that depend upon other gzip # executables being in $PATH. Rather than try to re-write all the # internal cross-references, just add $out/bin to PATH at the top of @@ -62,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { + tests.makecheck = gzip.overrideAttrs { doCheck = true; }; updateScript = directoryListingUpdater { inherit (finalAttrs) pname version; url = "https://ftp.gnu.org/gnu/gzip/"; From 65d2dc7a4b0a535f04edfa532f59b58a39f98b7f Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 28 Dec 2025 17:34:37 +0000 Subject: [PATCH 0120/1216] bpftools: add missing `openssl` depend https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=40863f4d6ef2c34bb00dd1070dfaf9d5f27a497e added `BPF` program signing support. This bork `bpftools` build as: sign.c:16:10: fatal error: openssl/opensslv.h: No such file or directory 16 | #include | ^~~~~~~~~~~~~~~~~~~~ --- pkgs/by-name/bp/bpftools/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/bp/bpftools/package.nix b/pkgs/by-name/bp/bpftools/package.nix index 0f2f39951445..b0ddef31f9f3 100644 --- a/pkgs/by-name/bp/bpftools/package.nix +++ b/pkgs/by-name/bp/bpftools/package.nix @@ -8,6 +8,7 @@ libbfd, libbfd_2_38, elfutils, + openssl, readline, zlib, python3, @@ -50,6 +51,7 @@ stdenv.mkDerivation rec { ++ [ elfutils zlib + openssl readline ]; From 42e624297fc0ae85a87ace22778844496d93a4f1 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Sun, 28 Dec 2025 19:35:59 +0100 Subject: [PATCH 0121/1216] lvm2: 2.03.37 -> 2.03.38 https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_38 --- pkgs/os-specific/linux/lvm2/2_03.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/lvm2/2_03.nix b/pkgs/os-specific/linux/lvm2/2_03.nix index 2081ba8eacc2..8a840541a28b 100644 --- a/pkgs/os-specific/linux/lvm2/2_03.nix +++ b/pkgs/os-specific/linux/lvm2/2_03.nix @@ -1,4 +1,4 @@ import ./common.nix { - version = "2.03.37"; - hash = "sha256-sCZWzDmi+GpwLEMtqw0DF+EhEfyp1iOhjxucP4e4ggA="; + version = "2.03.38"; + hash = "sha256-Mi1Ev0DeMY5ua1LFaZmq64axbIJnGHrC4BpE1NxSaWA="; } From 1ab76e74cef525d626546ddeed981b2a0820d97c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 29 Dec 2025 00:47:28 +0000 Subject: [PATCH 0122/1216] catch2_3: 3.11.0 -> 3.12.0 --- pkgs/by-name/ca/catch2_3/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ca/catch2_3/package.nix b/pkgs/by-name/ca/catch2_3/package.nix index 586fa9f3d9ed..fb439afc929b 100644 --- a/pkgs/by-name/ca/catch2_3/package.nix +++ b/pkgs/by-name/ca/catch2_3/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "catch2"; - version = "3.11.0"; + version = "3.12.0"; src = fetchFromGitHub { owner = "catchorg"; repo = "Catch2"; tag = "v${version}"; - hash = "sha256-7Dx7PhtRwkbo8vHF57sAns2fQZ442D3cMyCt25RvzJc="; + hash = "sha256-M1n2jWiA0hNCNqO3zSXRANiaMVCebn7/VU/4FfcjoA8="; }; patches = lib.optionals stdenv.cc.isClang [ From 33c39e378cb448330b01b298fdee5ca212fa866a Mon Sep 17 00:00:00 2001 From: zspher <66728045+zspher@users.noreply.github.com> Date: Fri, 26 Dec 2025 13:18:19 -0700 Subject: [PATCH 0123/1216] netcoredbg: 3.1.2-1054 -> 3.1.3-1062 - netcoredbg: use dotnet10 coreclr - netcoredbg: removed CMAKE fix --- pkgs/by-name/ne/netcoredbg/deps.json | 48 +++++++++++++------------- pkgs/by-name/ne/netcoredbg/package.nix | 45 ++++++++++++------------ 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/pkgs/by-name/ne/netcoredbg/deps.json b/pkgs/by-name/ne/netcoredbg/deps.json index 66a3323b62c1..47ee807db09c 100644 --- a/pkgs/by-name/ne/netcoredbg/deps.json +++ b/pkgs/by-name/ne/netcoredbg/deps.json @@ -31,63 +31,63 @@ }, { "pname": "Microsoft.Diagnostics.DbgShim", - "version": "9.0.621003", - "hash": "sha256-xdRwwLonXgqp4G+HWmFe5pEdv/x0L51/8jOqV5allZ4=" + "version": "9.0.652701", + "hash": "sha256-EVWVR132N7BTBxNTlBL/EWz8hd/Rxqra0R4xnKcN0pw=" }, { "pname": "Microsoft.Diagnostics.DbgShim.linux-arm", - "version": "9.0.621003", - "hash": "sha256-wcr6S8ktct8XNtXnEOCUHqA13N+7rQytgGkUsp1j4aU=" + "version": "9.0.652701", + "hash": "sha256-FVr/K2CV4kLZH1dRLg7201msmYvdnVJdtdYz/m02N/Y=" }, { "pname": "Microsoft.Diagnostics.DbgShim.linux-arm64", - "version": "9.0.621003", - "hash": "sha256-OGsfVeZ4LcgOb2aM/e38Kyw9YGBn0t0uH8qgFdj8SIA=" + "version": "9.0.652701", + "hash": "sha256-9EsI/x61T839NH0UUoqG20nney5V365ZCFR4VJJ0jjM=" }, { "pname": "Microsoft.Diagnostics.DbgShim.linux-musl-arm", - "version": "9.0.621003", - "hash": "sha256-ZUno/Sd0UWYVVD20sJj/HleDfLcb7kf32j5NvIAYSMc=" + "version": "9.0.652701", + "hash": "sha256-RLfYL/X6kpEn5oVCtbOjLAMenI2IrKDtPAInk8HCexc=" }, { "pname": "Microsoft.Diagnostics.DbgShim.linux-musl-arm64", - "version": "9.0.621003", - "hash": "sha256-SKrqZiGnDdisdCIIETozCuSgj3JCAZeWfo2Ru/sMmOw=" + "version": "9.0.652701", + "hash": "sha256-TSdYOwDvdoZSm1ZamYOIIZFtuoAXTC8uT030o9x9gGQ=" }, { "pname": "Microsoft.Diagnostics.DbgShim.linux-musl-x64", - "version": "9.0.621003", - "hash": "sha256-/kEBxB4puJJHwC71W2QQlOMykKCeNGvNy2j6s91g6jc=" + "version": "9.0.652701", + "hash": "sha256-8gfOZqsncJU9tu2zBW0P4leAh00hQoKr2wGFEdsGAYM=" }, { "pname": "Microsoft.Diagnostics.DbgShim.linux-x64", - "version": "9.0.621003", - "hash": "sha256-rW9QGI1awjHBHWaMwFtfhgXuR3X/PBxuks0DgnT2684=" + "version": "9.0.652701", + "hash": "sha256-5tGGBHkvJp1foB3fkrgKqVPR1nkiTDemPNG0FQ/2WhY=" }, { "pname": "Microsoft.Diagnostics.DbgShim.osx-arm64", - "version": "9.0.621003", - "hash": "sha256-BXi0IePavjClLQcSrXZXGOqkkoymdecw9ZFf5w0mpRs=" + "version": "9.0.652701", + "hash": "sha256-vJNeE3v2hiAqD+joH1+ef6lmQ0hE/NQvce1z4oV3Cug=" }, { "pname": "Microsoft.Diagnostics.DbgShim.osx-x64", - "version": "9.0.621003", - "hash": "sha256-FXkjxK3Bq4twUJ69aqsCgv2hNpO2Lkuz7EPAtqxJWd0=" + "version": "9.0.652701", + "hash": "sha256-dDtcRaRg3GoMDMYZ3MEVR1LEBbBHFZpIteZzaAo/GVs=" }, { "pname": "Microsoft.Diagnostics.DbgShim.win-arm64", - "version": "9.0.621003", - "hash": "sha256-NScEkmv6oh+wXn5D7Nb0AoNSb1PU+HgUpd8fpup+a6o=" + "version": "9.0.652701", + "hash": "sha256-KMrQhEVVB7hbDgdWpm2ZmQY66QiVg62C5x2DEhJvRnE=" }, { "pname": "Microsoft.Diagnostics.DbgShim.win-x64", - "version": "9.0.621003", - "hash": "sha256-sfe0tF2D3BpktS9J0o1xsR2cWIkDGhzXaUvKsgHDqC0=" + "version": "9.0.652701", + "hash": "sha256-hZCwn81P8v0Oh+PEXnzlCZIaSdDr5NvTOVf090LikKQ=" }, { "pname": "Microsoft.Diagnostics.DbgShim.win-x86", - "version": "9.0.621003", - "hash": "sha256-CRUYEGm3lqOO3FDn8kr3OUjxmIHNe1ntihN6UaFeDs8=" + "version": "9.0.652701", + "hash": "sha256-zxcpC/reDAaJ4A6Bsk3tcPfgdcOVcLYBMFBUT9Eb4bI=" }, { "pname": "Microsoft.NETCore.Platforms", diff --git a/pkgs/by-name/ne/netcoredbg/package.nix b/pkgs/by-name/ne/netcoredbg/package.nix index 36524bec3962..cbfac3b69565 100644 --- a/pkgs/by-name/ne/netcoredbg/package.nix +++ b/pkgs/by-name/ne/netcoredbg/package.nix @@ -12,30 +12,39 @@ }: let pname = "netcoredbg"; - build = "1054"; - release = "3.1.2"; + build = "1062"; + release = "3.1.3"; version = "${release}-${build}"; - hash = "sha256-WORGZXbq6d3sxGqyG8oZSwcBoVaD3D56t9K6PJoKFsM="; + hash = "sha256-Ci4GwHYTCn7BoEG73WsjxyplCCThSF5uVi39lLVZDXY="; - coreclr-version = "v8.0.16"; + coreclr-version = "v10.0.1"; coreclr-src = fetchFromGitHub { owner = "dotnet"; repo = "runtime"; rev = coreclr-version; - hash = "sha256-/fSKCIugR3UhqxBxtQRw+Bw+UpaSjB4xj0iBiXJaiR4="; + hash = "sha256-pVcLvew3THRqXgKMVO6jTZyPP06R46KZPMpYdiM3yXU="; + name = "coreclr"; }; - dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-sdk = dotnetCorePackages.sdk_10_0; src = fetchFromGitHub { owner = "Samsung"; repo = "netcoredbg"; rev = version; + name = pname; inherit hash; }; unmanaged = clangStdenv.mkDerivation { - inherit src pname version; + inherit pname version; + + srcs = [ + src + coreclr-src + ]; + + sourceRoot = pname; nativeBuildInputs = [ cmake @@ -44,24 +53,16 @@ let hardeningDisable = [ "strictoverflow" ]; - postPatch = '' - substituteInPlace CMakeLists.txt --replace-fail \ - "cmake_minimum_required(VERSION 2.8.12.2)" \ - "cmake_minimum_required(VERSION 3.10)" - substituteInPlace third_party/linenoise-ng/CMakeLists.txt --replace-fail \ - "cmake_minimum_required(VERSION 2.6)" \ - "cmake_minimum_required(VERSION 3.10)" - ''; - preConfigure = '' export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 - ''; - cmakeFlags = [ - "-DCORECLR_DIR=${coreclr-src}/src/coreclr" - "-DDOTNET_DIR=${dotnet-sdk}/share/dotnet" - "-DBUILD_MANAGED=0" - ]; + chmod -R u+w ../coreclr + cmakeFlagsArray+=( + "-DCORECLR_DIR=''${NIX_BUILD_TOP}/coreclr/src/coreclr" + "-DDOTNET_DIR=${dotnet-sdk}/share/dotnet" + "-DBUILD_MANAGED=0" + ) + ''; }; managed = buildDotnetModule { From fddddd0db2feaf9d8ddf50ec663a73416485ca9a Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 29 Dec 2025 13:50:34 +0100 Subject: [PATCH 0124/1216] haskell.compiler: Apply patches to fix PPC64 ELFv2 support --- .../compilers/ghc/common-hadrian.nix | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index e32880fb02b7..5fd09fec1b45 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -244,6 +244,29 @@ hash = "sha256-L3FQvcm9QB59BOiR2g5/HACAufIG08HiT53EIOjj64g="; }) ] + ++ lib.optionals (lib.versionOlder version "9.12.1") [ + (fetchpatch { + name = "ghc-ppc-support-elf-v2-on-powerpc64-big-endian.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/ead75532c9dc915bfa9ebaef0ef5d148e793cc0a.patch"; + # ghc-platform was split out of ghc-boot in ddcdd88c2c95445a87ee028f215d1e876939a4d9 + postFetch = lib.optionalString (lib.versionOlder version "9.10.1") '' + substituteInPlace $out \ + --replace-fail 'libraries/ghc-platform/src/GHC' 'libraries/ghc-boot/GHC' + ''; + hash = + if lib.versionOlder version "9.10.1" then + "sha256-5SVSW1aYoItqHli5QjnudH4zGporYNLDeEo4gZksBZw=" + else + "sha256-vtjT+TL/7sYPu4rcVV3xCqJQ+uqkyBbf9l0KIi97j/0="; + }) + ] + ++ lib.optionals (lib.versionOlder version "9.14.1") [ + (fetchpatch { + name = "ghc-rts-Fix-compile-on-powerpc64-elf-v1.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/05e5785a3157c71e327a8e9bdc80fa7082918739.patch"; + hash = "sha256-xP5v3cKhXeTRSFvRiKEn9hPxGXgVgykjTILKjh/pdDU="; + }) + ] # Fix build with gcc15 # https://gitlab.haskell.org/ghc/ghc/-/issues/25662 # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13863 From 233217a69397c6bc1dd704c61e2f2bd2b066c5ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Dec 2025 05:33:21 -0800 Subject: [PATCH 0125/1216] gpgme: remove -unknown suffix from pkgconfig version --- pkgs/by-name/gp/gpgme/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/gp/gpgme/package.nix b/pkgs/by-name/gp/gpgme/package.nix index 259870655bcd..c55c24607019 100644 --- a/pkgs/by-name/gp/gpgme/package.nix +++ b/pkgs/by-name/gp/gpgme/package.nix @@ -36,6 +36,12 @@ stdenv.mkDerivation rec { hash = "sha256-ghqwaVyELqtRdSqBmAySsEEMfq3QQQP3kdXSpSZ4SWY="; }; + postPatch = '' + # remove -unknown suffix from pkgconfig version + substituteInPlace autogen.sh \ + --replace-fail 'tmp="-unknown"' 'tmp=""' + ''; + patches = [ # Don't use deprecated LFS64 APIs (removed in musl 1.2.4) # https://dev.gnupg.org/D600 From 48743e546b68f45224e5225910237b18320175d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Dec 2025 05:35:40 -0800 Subject: [PATCH 0126/1216] gpgme: use finalAttrs --- pkgs/by-name/gp/gpgme/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/gp/gpgme/package.nix b/pkgs/by-name/gp/gpgme/package.nix index c55c24607019..b796a42c9421 100644 --- a/pkgs/by-name/gp/gpgme/package.nix +++ b/pkgs/by-name/gp/gpgme/package.nix @@ -19,7 +19,7 @@ python3, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gpgme"; version = "2.0.1"; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool src = fetchurl { - url = "mirror://gnupg/gpgme/gpgme-${version}.tar.bz2"; + url = "mirror://gnupg/gpgme/gpgme-${finalAttrs.version}.tar.bz2"; hash = "sha256-ghqwaVyELqtRdSqBmAySsEEMfq3QQQP3kdXSpSZ4SWY="; }; @@ -105,7 +105,7 @@ stdenv.mkDerivation rec { meta = { homepage = "https://gnupg.org/software/gpgme/index.html"; - changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;f=NEWS;hb=gpgme-${version}"; + changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;f=NEWS;hb=gpgme-${finalAttrs.version}"; description = "Library for making GnuPG easier to use"; longDescription = '' GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG @@ -120,4 +120,4 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) From 482b121e83b1a18428ff7fe3e0df35081f38f597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Dec 2025 05:37:17 -0800 Subject: [PATCH 0127/1216] gpgme: add meta.pkgConfigModules --- pkgs/by-name/gp/gpgme/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/gp/gpgme/package.nix b/pkgs/by-name/gp/gpgme/package.nix index b796a42c9421..cd68dd81ec3b 100644 --- a/pkgs/by-name/gp/gpgme/package.nix +++ b/pkgs/by-name/gp/gpgme/package.nix @@ -17,6 +17,7 @@ libsForQt5, qt6Packages, python3, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -98,6 +99,10 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests = { inherit gpa; + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + versionCheck = true; + }; python = python3.pkgs.gpgme; qt5 = libsForQt5.qgpgme; qt6 = qt6Packages.qgpgme; @@ -117,6 +122,10 @@ stdenv.mkDerivation (finalAttrs: { lgpl21Plus gpl3Plus ]; + pkgConfigModules = [ + "gpgme" + "gpgme-glib" + ]; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ dotlambda ]; }; From 382f3ab3e24dc3084cac9cb6144a68c61e19ded5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Dec 2025 05:40:27 -0800 Subject: [PATCH 0128/1216] gpgmepp: remove -unknown suffix from pkgconfig version --- pkgs/by-name/gp/gpgmepp/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/gp/gpgmepp/package.nix b/pkgs/by-name/gp/gpgmepp/package.nix index 1c8225759bd1..ff8477098a01 100644 --- a/pkgs/by-name/gp/gpgmepp/package.nix +++ b/pkgs/by-name/gp/gpgmepp/package.nix @@ -16,6 +16,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-1HlgScBnCKJvMJb3SO8JU0fho8HlcFYXAf6VLD9WU4I="; }; + postPatch = '' + # remove -unknown suffix from pkgconfig version + substituteInPlace cmake/modules/G10GetFullVersion.cmake \ + --replace-fail '"''${version}-unknown"' '"''${version}"' + ''; + outputs = [ "out" "dev" From 2464ce8eea6bc898c7306ea46e1706c7bdd41a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Dec 2025 05:23:21 -0800 Subject: [PATCH 0129/1216] gpgmepp: add meta.pkgConfigModules --- pkgs/by-name/gp/gpgmepp/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/gp/gpgmepp/package.nix b/pkgs/by-name/gp/gpgmepp/package.nix index ff8477098a01..d0f6ce2ae37d 100644 --- a/pkgs/by-name/gp/gpgmepp/package.nix +++ b/pkgs/by-name/gp/gpgmepp/package.nix @@ -5,6 +5,7 @@ lib, libgpg-error, stdenv, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -41,12 +42,20 @@ stdenv.mkDerivation (finalAttrs: { libgpg-error ]; + passthru.tests = { + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + versionCheck = true; + }; + }; + meta = { changelog = "https://dev.gnupg.org/source/gpgmepp/browse/master/NEWS;gpgmepp-${finalAttrs.version}?as=remarkup"; description = "C++ bindings/wrapper for GPGME"; homepage = "https://dev.gnupg.org/source/gpgmepp"; license = lib.licenses.lgpl21Plus; maintainers = [ lib.maintainers.dotlambda ]; + pkgConfigModules = [ "gpgmepp" ]; platforms = lib.platforms.unix; }; }) From 5878d67db747de863c7b8c06faeeeef49c08e0d3 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 2 Dec 2025 15:20:19 +0200 Subject: [PATCH 0130/1216] nixosTests.console-xkb-and-i18n: init Based upon reproducer posted here: https://github.com/NixOS/nixpkgs/issues/445666#issuecomment-3331002679 --- nixos/tests/all-tests.nix | 1 + nixos/tests/console-xkb-and-i18n.nix | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 nixos/tests/console-xkb-and-i18n.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4edc8777cf16..0e3e7506ee6d 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -385,6 +385,7 @@ in collectd = runTest ./collectd.nix; commafeed = runTest ./commafeed.nix; connman = runTest ./connman.nix; + console-xkb-and-i18n = runTest ./console-xkb-and-i18n.nix; consul = runTest ./consul.nix; consul-template = runTest ./consul-template.nix; containers-bridge = runTest ./containers-bridge.nix; diff --git a/nixos/tests/console-xkb-and-i18n.nix b/nixos/tests/console-xkb-and-i18n.nix new file mode 100644 index 000000000000..6dfada160e56 --- /dev/null +++ b/nixos/tests/console-xkb-and-i18n.nix @@ -0,0 +1,23 @@ +{ lib, ... }: +{ + name = "console-xkb-and-i18n"; + meta.maintainers = with lib.maintainers; [ doronbehar ]; + + nodes = { + # Nothing to run on this node, a bug (TODO: where?) is causing a builder of + # the configuration to fail. See: + # + # - https://github.com/NixOS/nixpkgs/issues/445666 + # - https://github.com/NixOS/nixpkgs/issues/411374 + # + x = { + i18n.defaultLocale = "eo"; + console.useXkbConfig = true; + services.xserver.xkb = { + layout = "us"; + variant = "colemak"; + }; + }; + }; + testScript = { nodes, ... }: ""; +} From 30a3aafae16684e9fee2cf088026532442d73989 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 2 Dec 2025 15:45:34 +0200 Subject: [PATCH 0131/1216] nixos/console: fix optimizedKeymap derivation isUnicode condition The `optimizedKeymap` derivation was introduced in commit c9276c1b5256 (2019) to pre-compile text keymaps into binary format for faster loading during early boot (initrd). The `-u` flag of `loadkeys` command enables Unicode mode, allowing the keymap to contain Unicode keysyms (like `leftquote`, `left_double_quotation_mark`). Without `-u` only non-Unicode keysyms are supported (suitable for `ISO-8859-*` character sets). When `console.useXkbConfig = true`, the keymap is generated by `ckbcomp` which always produces Unicode keysyms, regardless of the local charset. Hence this commit is a followup to #408307, and fixes #445666 for sure while probably also fixing #411374 . --- nixos/modules/config/console.nix | 2 +- nixos/tests/console-xkb-and-i18n.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix index d0672c792bf8..571f723a823f 100644 --- a/nixos/modules/config/console.nix +++ b/nixos/modules/config/console.nix @@ -9,7 +9,7 @@ let makeColor = i: lib.concatMapStringsSep "," (x: "0x" + lib.substring (2 * i) 2 x); - isUnicode = lib.hasSuffix "UTF-8" (lib.toUpper config.i18n.defaultLocale); + isUnicode = config.i18n.defaultCharset == "UTF-8" || cfg.useXkbConfig; optimizedKeymap = pkgs.runCommand "keymap" diff --git a/nixos/tests/console-xkb-and-i18n.nix b/nixos/tests/console-xkb-and-i18n.nix index 6dfada160e56..757825a785af 100644 --- a/nixos/tests/console-xkb-and-i18n.nix +++ b/nixos/tests/console-xkb-and-i18n.nix @@ -4,8 +4,8 @@ meta.maintainers = with lib.maintainers; [ doronbehar ]; nodes = { - # Nothing to run on this node, a bug (TODO: where?) is causing a builder of - # the configuration to fail. See: + # Nothing to run on this node. Only verify that this configuration doesn't + # produce the bugs described here: # # - https://github.com/NixOS/nixpkgs/issues/445666 # - https://github.com/NixOS/nixpkgs/issues/411374 From 06768e6ecc3ede9de0a25ba60636d65e2ceff18f Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Mon, 29 Dec 2025 21:57:11 +0400 Subject: [PATCH 0132/1216] vulkanscenegraph: init at 1.1.12 --- pkgs/by-name/vu/vulkanscenegraph/package.nix | 52 ++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/vu/vulkanscenegraph/package.nix diff --git a/pkgs/by-name/vu/vulkanscenegraph/package.nix b/pkgs/by-name/vu/vulkanscenegraph/package.nix new file mode 100644 index 000000000000..553cc39e7f8c --- /dev/null +++ b/pkgs/by-name/vu/vulkanscenegraph/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + glslang, + libxcb, + vulkan-headers, + vulkan-loader, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vulkanscenegraph"; + version = "1.1.12"; + + src = fetchFromGitHub { + owner = "vsg-dev"; + repo = "VulkanSceneGraph"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DdTfn8URLJkF5Nhkl8ZCq+brKK/T+9FipaeTON4Dsfw="; + }; + + patches = [ + # make it compatible with glslang 16.x + (fetchpatch { + url = "https://github.com/vsg-dev/VulkanSceneGraph/commit/313865d420bba7bb3327460c367c7526f566a74e.patch"; + hash = "sha256-hytv79AE70S/yBiI+n9RHGbHmYZW5388BiFh9l1auzU="; + }) + ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + glslang + libxcb + vulkan-headers + vulkan-loader + ]; + + meta = { + description = "Vulkan & C++17 based Scene Graph Project"; + homepage = "http://www.vulkanscenegraph.org"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ sikmir ]; + platforms = lib.platforms.unix; + }; +}) From acf93f84c18a54e56d706dc1003ef9097dca5936 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 1 Dec 2025 23:00:02 +0000 Subject: [PATCH 0133/1216] bash: 5.3p3 -> 5.3p9 --- pkgs/shells/bash/bash-5.3-patches.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/shells/bash/bash-5.3-patches.nix b/pkgs/shells/bash/bash-5.3-patches.nix index b285f9918ca6..28055cc582aa 100644 --- a/pkgs/shells/bash/bash-5.3-patches.nix +++ b/pkgs/shells/bash/bash-5.3-patches.nix @@ -4,4 +4,10 @@ patch: [ (patch "001" "0zr8wgg1gb67vxn7ws971n1znrdinczymc688ndnpy2a6qs88q0z") (patch "002" "009051z55plsy4jmmjdb3ys7li2jraynz99qg7n6a1qk025591g3") (patch "003" "1vb0gnrkmz49rcfpxjcxy0v0k5278wrlkljk9gc20nizvk3xjigj") + (patch "004" "1l27jz4xzrajp0ww0rd7ylir1knrp6043y8j10pz6aam0i2x54cm") + (patch "005" "17f91flpsdws5hgbwf15zs704568n9j9n9ikiv4knhxzvd9fz8fc") + (patch "006" "047zjp4hc9q0jrp3fa2a1pihwy1i5j153z9pms8zz3pdxzfrl499") + (patch "007" "16dj7vx971q4zbagb46nya7mc6530vr5h86nzmy3qid1zyznp5y0") + (patch "008" "1d1zclczgh6j8kjv9ibycn155n1z783188n399khg2gvrcixfz09") + (patch "009" "132gy991ayjmr2rynx077rhzr749101y047043zb432bibkhzqzf") ] From adafff0caa8ee5ac2cd544dd6a46dec2e7dc4fc5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 30 Dec 2025 07:37:00 +0000 Subject: [PATCH 0134/1216] libzint: 2.15.0 -> 2.16.0 Changes: https://github.com/zint/zint/blob/2.16.0/ChangeLog --- .../fix-installation-of-cmake-files.patch | 39 ------------------- pkgs/by-name/zi/zint-qt/package.nix | 10 +---- 2 files changed, 2 insertions(+), 47 deletions(-) delete mode 100644 pkgs/by-name/zi/zint-qt/fix-installation-of-cmake-files.patch diff --git a/pkgs/by-name/zi/zint-qt/fix-installation-of-cmake-files.patch b/pkgs/by-name/zi/zint-qt/fix-installation-of-cmake-files.patch deleted file mode 100644 index 7bbe0b23508c..000000000000 --- a/pkgs/by-name/zi/zint-qt/fix-installation-of-cmake-files.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ba86d5d0826d221075329aaf67f1f4f8f868550f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= -Date: Fri, 11 Apr 2025 03:24:38 +0200 -Subject: [PATCH] Fix installation of cmake files - -When binaries, libs and development files like include or cmake files -are installed to different target directories then those where before -relatively installed to the binary and not in the correct directory -where other development related files where installed. - -Tested inside of nixpkgs with zxing using the system library of zint. ---- - CMakeLists.txt | 2 +- - backend/CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f7cf220..ecfe53c3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -201,4 +201,4 @@ if(ZINT_UNINSTALL) - endif() - - configure_file("zint-config.cmake.in" "zint-config.cmake" @ONLY) --install(FILES "${CMAKE_CURRENT_BINARY_DIR}/zint-config.cmake" DESTINATION "${CMAKE_INSTALL_DATADIR}/zint") -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/zint-config.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/zint") -diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt -index 45538515..1e7e40b3 100644 ---- a/backend/CMakeLists.txt -+++ b/backend/CMakeLists.txt -@@ -131,7 +131,7 @@ endif() - if(ZINT_STATIC) - install(TARGETS zint-static EXPORT zint-targets ${INSTALL_TARGETS_DEFAULT_ARGS}) - endif() --install(EXPORT zint-targets NAMESPACE zint:: DESTINATION "${CMAKE_INSTALL_DATADIR}/zint") -+install(EXPORT zint-targets NAMESPACE zint:: DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/zint") - install(FILES zint.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT Devel) - - if(ZINT_TEST) diff --git a/pkgs/by-name/zi/zint-qt/package.nix b/pkgs/by-name/zi/zint-qt/package.nix index d9f17db0293b..f3fa6fceaacd 100644 --- a/pkgs/by-name/zi/zint-qt/package.nix +++ b/pkgs/by-name/zi/zint-qt/package.nix @@ -12,7 +12,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "zint${lib.optionalString withGUI "-qt"}"; - version = "2.15.0"; + version = "2.16.0"; outputs = [ "out" @@ -24,15 +24,9 @@ stdenv.mkDerivation (finalAttrs: { owner = "zint"; repo = "zint"; tag = finalAttrs.version; - hash = "sha256-+dXIU66HIS2mE0pa99UemMMFBGCYjupUX8P7q3G7Nis="; + hash = "sha256-5zVGtnm6QdehDL+R7ZNq7AdgUIOIySPWGlS6GbJK+/4="; }; - patches = [ - # Fix cmake file installation - # https://github.com/zint/zint/pull/8 - ./fix-installation-of-cmake-files.patch - ]; - nativeBuildInputs = [ cmake ninja From 80a5efd38e81ca5b36b55973d865e847705f5347 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 07:46:44 +0000 Subject: [PATCH 0135/1216] nixos-facter: 0.4.2 -> 0.4.3 --- pkgs/by-name/ni/nixos-facter/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/nixos-facter/package.nix b/pkgs/by-name/ni/nixos-facter/package.nix index 7578c0ad78b0..a099b89fb9f7 100644 --- a/pkgs/by-name/ni/nixos-facter/package.nix +++ b/pkgs/by-name/ni/nixos-facter/package.nix @@ -25,13 +25,13 @@ let in buildGoModule rec { pname = "nixos-facter"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "numtide"; repo = "nixos-facter"; tag = "v${version}"; - hash = "sha256-oMOiZhppyUwyhLMtTofmeQINi8rHwsuQ1cD8Kr1/KwM="; + hash = "sha256-bbF16siqAqokXOHwLmBL61p/C7YiDGqBJhhJiF08pHk="; }; vendorHash = "sha256-5duwAxAgbPZIbbgzZE2m574TF/0+jF/TvTKI4YBH6jM="; From d73a36d3b64eb068e0304b4d72b5ff3878dc9d65 Mon Sep 17 00:00:00 2001 From: Jason Odoom Date: Tue, 30 Dec 2025 12:47:16 +0000 Subject: [PATCH 0136/1216] calamares-nixos-extensions: add filesystem type chooser --- .../src/config/modules/mount.conf | 16 +++- .../src/config/modules/partition.conf | 20 +++- .../src/modules/nixos/main.py | 92 ++++++++++++++++++- 3 files changed, 120 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf index dad6c229df2b..7113acc881a9 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf @@ -20,8 +20,20 @@ extraMounts: mountPoint: /sys/firmware/efi/efivars efi: true -# Ensure the right fmask/dmask is set on the ESP, as it will be -# picked up by nixos-generate-config later +# Btrfs subvolume layout for NixOS +# Empty subvolume for / means no subvolume (top-level) for GRUB compatibility +btrfsSubvolumes: + - mountPoint: / + subvolume: "" + - mountPoint: /home + subvolume: /home + - mountPoint: /nix + subvolume: /nix + +# Mount options by filesystem type +# nixos-generate-config picks these up for hardware-configuration.nix mountOptions: - filesystem: efi options: [ fmask=0077, dmask=0077 ] + - filesystem: btrfs + options: [ compress=zstd, noatime ] diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf index 3e067e8d2343..75d04cec9dfa 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf @@ -12,11 +12,29 @@ userSwapChoices: luksGeneration: luks2 +defaultFileSystemType: "ext4" + +availableFileSystemTypes: + - ext4 + - btrfs + - xfs + - f2fs + showNotEncryptedBootMessage: false +bios: + mountPoint: "/boot" + minimumSize: 512MiB + recommendedSize: 1GiB + label: "BOOT" + partitionLayout: - - name: "root" + - name: "boot" filesystem: "ext4" + mountPoint: "/boot" + size: 1GiB + - name: "root" + filesystem: "unknown" noEncrypt: false mountPoint: "/" size: 100% diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/modules/nixos/main.py b/pkgs/by-name/ca/calamares-nixos-extensions/src/modules/nixos/main.py index 261a03cc9a8c..929a4e2266e1 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/modules/nixos/main.py +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/modules/nixos/main.py @@ -45,6 +45,15 @@ cfgbootbios = """ # Bootloader. """ +cfgbootbiosbtrfs = """ # Bootloader. + boot.loader.grub.enable = true; + boot.loader.grub.device = "@@bootdev@@"; + boot.loader.grub.useOSProber = true; + # Use provided UUIDs instead of blkid probing (required for btrfs subvolumes) + boot.loader.grub.fsIdentifier = "provided"; + +""" + cfgbootnone = """ # Disable bootloader. boot.loader.grub.enable = false; @@ -360,6 +369,46 @@ def catenate(d, key, *values): d[key] = "".join(values) +def fix_btrfs_subvolumes(hardware_config, partitions): + """ + Fix btrfs subvolume configuration in hardware-configuration.nix. + + nixos-generate-config generates incorrect subvol options for btrfs + by setting them to mount points instead of actual subvolume names. + This function corrects the subvol options to match what Calamares configured. + """ + # Map of mount points to their correct btrfs subvolume names + # These match what is configured in mount.conf btrfsSubvolumes + # Root uses top-level (no subvolume) for GRUB compatibility + subvol_map = { + "/home": "home", + "/nix": "nix", + } + + # Check if root is actually btrfs + root_is_btrfs = False + for part in partitions: + if part.get("mountPoint") == "/" and part.get("fs") == "btrfs": + root_is_btrfs = True + break + + if not root_is_btrfs: + return hardware_config + + libcalamares.utils.debug("Fixing btrfs subvolume configuration") + + # Fix subvol options for each mount point + # nixos-generate-config may generate "subvol=/" instead of "subvol=@" + for mount_point, correct_subvol in subvol_map.items(): + # Match any "subvol=" and replace with correct subvolume + # This handles cases like "subvol=/" or "subvol=/home" + pattern = r'(fileSystems\."{}"[^;]*"subvol=)[^"]*"'.format(re.escape(mount_point)) + replacement = r'\g<1>{}"'.format(correct_subvol) + hardware_config = re.sub(pattern, replacement, hardware_config, flags=re.DOTALL) + + return hardware_config + + def run(): """NixOS Configuration.""" @@ -388,11 +437,22 @@ def run(): # Pick config parts and prepare substitution + # Check if root filesystem is btrfs + root_is_btrfs = False + for part in gs.value("partitions"): + if part.get("mountPoint") == "/" and part.get("fs") == "btrfs": + root_is_btrfs = True + break + # Check bootloader if fw_type == "efi": cfg += cfgbootefi elif bootdev != "nodev": - cfg += cfgbootbios + # Use btrfs-specific config to avoid blkid issues with subvolumes + if root_is_btrfs: + cfg += cfgbootbiosbtrfs + else: + cfg += cfgbootbios catenate(variables, "bootdev", bootdev) else: cfg += cfgbootnone @@ -734,9 +794,20 @@ def run(): libcalamares.utils.error(e.output.decode("utf8")) return (_("nixos-generate-config failed"), _(e.output.decode("utf8"))) - # Check for unfree stuff in hardware-configuration.nix + # Read and fix hardware-configuration.nix hf = open(root_mount_point + "/etc/nixos/hardware-configuration.nix", "r") htxt = hf.read() + hf.close() + + hardware_modified = False + + # Fix btrfs subvolume configuration if needed + htxt_fixed = fix_btrfs_subvolumes(htxt, gs.value("partitions")) + if htxt_fixed != htxt: + htxt = htxt_fixed + hardware_modified = True + + # Check for unfree stuff in hardware-configuration.nix search = re.search(r"boot\.extraModulePackages = \[ (.*) \];", htxt) # Check if any extraModulePackages are defined, and remove if only free packages are allowed @@ -765,14 +836,17 @@ def run(): ) ) expkgs.remove(pkg) - hardwareout = re.sub( + htxt = re.sub( r"boot\.extraModulePackages = \[ (.*) \];", "boot.extraModulePackages = [ {}];".format( "".join(map(lambda x: x + " ", expkgs)) ), htxt, ) - # Write the hardware-configuration.nix file + hardware_modified = True + + # Write the hardware-configuration.nix file if modified + if hardware_modified: libcalamares.utils.host_env_process_output( [ "cp", @@ -780,7 +854,7 @@ def run(): root_mount_point + "/etc/nixos/hardware-configuration.nix", ], None, - hardwareout, + htxt, ) # Write the configuration.nix file @@ -789,6 +863,14 @@ def run(): status = _("Installing NixOS") libcalamares.job.setprogress(0.3) + try: + subprocess.check_output( + ["pkexec", "chmod", "755", root_mount_point], + stderr=subprocess.STDOUT, + ) + except subprocess.CalledProcessError as e: + libcalamares.utils.warning("Failed to set permissions on {}: {}".format(root_mount_point, e.output)) + # build nixos-install command nixosInstallCmd = [ "pkexec" ] nixosInstallCmd.extend(generateProxyStrings()) From 190f166df85b5d9bbcb18afd7b65fe1b96301bb1 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 5 Feb 2025 09:21:09 +0100 Subject: [PATCH 0137/1216] glibc: 2.40-66 -> 2.42-47 Announcements: * https://lists.gnu.org/archive/html/info-gnu/2025-01/msg00014.html * https://lists.gnu.org/archive/html/info-gnu/2025-07/msg00011.html --- ...l-usage-of-BASH-or-BASH-in-installed.patch | 38 +- .../libraries/glibc/2.40-master.patch | 43310 ---------------- .../libraries/glibc/2.42-master.patch | 5372 ++ pkgs/development/libraries/glibc/common.nix | 23 +- 4 files changed, 5398 insertions(+), 43345 deletions(-) delete mode 100644 pkgs/development/libraries/glibc/2.40-master.patch create mode 100644 pkgs/development/libraries/glibc/2.42-master.patch diff --git a/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch b/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch index 100bf31c3b00..25cb329e086e 100644 --- a/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch +++ b/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch @@ -1,4 +1,4 @@ -From e207c3dbcff1d3d09c60eec99b6fec2a698b01bd Mon Sep 17 00:00:00 2001 +From c1c36f73aa3085a856c7cf36d69c21d18d3ef5ac Mon Sep 17 00:00:00 2001 From: Bernardo Meurer Date: Fri, 22 Jul 2022 22:11:07 -0700 Subject: [PATCH] Revert "Remove all usage of @BASH@ or ${BASH} in installed @@ -22,10 +22,10 @@ Co-authored-by: Maximilian Bosch 8 files changed, 15 insertions(+), 10 deletions(-) diff --git a/debug/Makefile b/debug/Makefile -index 3903cc97a3..b041acca71 100644 +index 6a05205ce6..dd63b16ae8 100644 --- a/debug/Makefile +++ b/debug/Makefile -@@ -343,8 +343,9 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o +@@ -345,8 +345,9 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o $(objpfx)xtrace: xtrace.sh rm -f $@.new @@ -38,20 +38,20 @@ index 3903cc97a3..b041acca71 100644 && rm -f $@ && mv $@.new $@ && chmod +x $@ diff --git a/debug/xtrace.sh b/debug/xtrace.sh -index 77ec1d84df..5614404a71 100755 +index 00bafd33db..d0f9fca9a9 100755 --- a/debug/xtrace.sh +++ b/debug/xtrace.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#! @BASH@ - # Copyright (C) 1999-2024 Free Software Foundation, Inc. + # Copyright (C) 1999-2025 Free Software Foundation, Inc. # This file is part of the GNU C Library. diff --git a/elf/Makefile b/elf/Makefile -index 5d78b659ce..a2145d7b64 100644 +index 4b1d0d8741..bbcf688c99 100644 --- a/elf/Makefile +++ b/elf/Makefile -@@ -249,7 +249,8 @@ $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \ +@@ -250,7 +250,8 @@ $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \ $(common-objpfx)libc_nonshared.a $(objpfx)sotruss: sotruss.sh $(common-objpfx)config.make @@ -61,7 +61,7 @@ index 5d78b659ce..a2145d7b64 100644 -e 's%@TEXTDOMAINDIR@%$(localedir)%g' \ -e 's%@PREFIX@%$(prefix)%g' \ -e 's|@PKGVERSION@|$(PKGVERSION)|g' \ -@@ -1392,6 +1393,7 @@ ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \ +@@ -1556,6 +1557,7 @@ ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \ -e 's%@VERSION@%$(version)%g' \ -e 's|@PKGVERSION@|$(PKGVERSION)|g' \ -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \ @@ -70,30 +70,30 @@ index 5d78b659ce..a2145d7b64 100644 ifeq ($(ldd-rewrite-script),no) diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in -index d6b640df66..46111670cd 100644 +index 2d3df6e57e..0faf83dc86 100644 --- a/elf/ldd.bash.in +++ b/elf/ldd.bash.in @@ -1,4 +1,4 @@ -#!/bin/bash +#! @BASH@ - # Copyright (C) 1996-2024 Free Software Foundation, Inc. + # Copyright (C) 1996-2025 Free Software Foundation, Inc. # This file is part of the GNU C Library. diff --git a/elf/sotruss.sh b/elf/sotruss.sh -index ac1a83984e..2bf17c518e 100755 +index 8944645df9..1c36981b22 100755 --- a/elf/sotruss.sh +++ b/elf/sotruss.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#! @BASH@ - # Copyright (C) 2011-2024 Free Software Foundation, Inc. + # Copyright (C) 2011-2025 Free Software Foundation, Inc. # This file is part of the GNU C Library. diff --git a/malloc/Makefile b/malloc/Makefile -index c83ade5f10..8dd9174b79 100644 +index e2b2c1ae1b..67a399f1dd 100644 --- a/malloc/Makefile +++ b/malloc/Makefile -@@ -312,8 +312,9 @@ $(objpfx)mtrace: mtrace.pl +@@ -359,8 +359,9 @@ $(objpfx)mtrace: mtrace.pl $(objpfx)memusage: memusage.sh rm -f $@.new @@ -106,20 +106,20 @@ index c83ade5f10..8dd9174b79 100644 && rm -f $@ && mv $@.new $@ && chmod +x $@ diff --git a/malloc/memusage.sh b/malloc/memusage.sh -index d2d9d17ea8..2e7efc9049 100755 +index 8ae435d2f8..c929d16af7 100755 --- a/malloc/memusage.sh +++ b/malloc/memusage.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#! @BASH@ - # Copyright (C) 1999-2024 Free Software Foundation, Inc. + # Copyright (C) 1999-2025 Free Software Foundation, Inc. # This file is part of the GNU C Library. diff --git a/timezone/Makefile b/timezone/Makefile -index d7acb387ba..c8e203ea3a 100644 +index ebe5cf73a1..e9cf92861c 100644 --- a/timezone/Makefile +++ b/timezone/Makefile -@@ -132,7 +132,8 @@ $(testdata)/XT5: testdata/gen-XT5.sh +@@ -139,7 +139,8 @@ $(testdata)/XT5: testdata/gen-XT5.sh mv $@.tmp $@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make @@ -130,5 +130,5 @@ index d7acb387ba..c8e203ea3a 100644 -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ -- -2.42.0 +2.47.2 diff --git a/pkgs/development/libraries/glibc/2.40-master.patch b/pkgs/development/libraries/glibc/2.40-master.patch deleted file mode 100644 index 3384de16dc3b..000000000000 --- a/pkgs/development/libraries/glibc/2.40-master.patch +++ /dev/null @@ -1,43310 +0,0 @@ -commit 6daa77104520ca992a9369bd01cccd4d98c82984 -Author: Andreas K. Hüttel -Date: Sun Jul 21 19:02:10 2024 +0200 - - Replace advisories directory - - Signed-off-by: Andreas K. Hüttel - -diff --git a/advisories/GLIBC-SA-2023-0001 b/advisories/GLIBC-SA-2023-0001 -deleted file mode 100644 -index 3d19c91b6a..0000000000 ---- a/advisories/GLIBC-SA-2023-0001 -+++ /dev/null -@@ -1,14 +0,0 @@ --printf: incorrect output for integers with thousands separator and width field -- --When the printf family of functions is called with a format specifier --that uses an (enable grouping) and a minimum width --specifier, the resulting output could be larger than reasonably expected --by a caller that computed a tight bound on the buffer size. The --resulting larger than expected output could result in a buffer overflow --in the printf family of functions. -- --CVE-Id: CVE-2023-25139 --Public-Date: 2023-02-02 --Vulnerable-Commit: e88b9f0e5cc50cab57a299dc7efe1a4eb385161d (2.37) --Fix-Commit: c980549cc6a1c03c23cc2fe3e7b0fe626a0364b0 (2.38) --Fix-Commit: 07b9521fc6369d000216b96562ff7c0ed32a16c4 (2.37-4) -diff --git a/advisories/GLIBC-SA-2023-0002 b/advisories/GLIBC-SA-2023-0002 -deleted file mode 100644 -index 5122669a64..0000000000 ---- a/advisories/GLIBC-SA-2023-0002 -+++ /dev/null -@@ -1,15 +0,0 @@ --getaddrinfo: Stack read overflow in no-aaaa mode -- --If the system is configured in no-aaaa mode via /etc/resolv.conf, --getaddrinfo is called for the AF_UNSPEC address family, and a DNS --response is received over TCP that is larger than 2048 bytes, --getaddrinfo may potentially disclose stack contents via the returned --address data, or crash. -- --CVE-Id: CVE-2023-4527 --Public-Date: 2023-09-12 --Vulnerable-Commit: f282cdbe7f436c75864e5640a409a10485e9abb2 (2.36) --Fix-Commit: bd77dd7e73e3530203be1c52c8a29d08270cb25d (2.39) --Fix-Commit: 4ea972b7edd7e36610e8cde18bf7a8149d7bac4f (2.36-113) --Fix-Commit: b7529346025a130fee483d42178b5c118da971bb (2.37-38) --Fix-Commit: b25508dd774b617f99419bdc3cf2ace4560cd2d6 (2.38-19) -diff --git a/advisories/GLIBC-SA-2023-0003 b/advisories/GLIBC-SA-2023-0003 -deleted file mode 100644 -index d3aef80348..0000000000 ---- a/advisories/GLIBC-SA-2023-0003 -+++ /dev/null -@@ -1,15 +0,0 @@ --getaddrinfo: Potential use-after-free -- --When an NSS plugin only implements the _gethostbyname2_r and --_getcanonname_r callbacks, getaddrinfo could use memory that was freed --during buffer resizing, potentially causing a crash or read or write to --arbitrary memory. -- --CVE-Id: CVE-2023-4806 --Public-Date: 2023-09-12 --Fix-Commit: 973fe93a5675c42798b2161c6f29c01b0e243994 (2.39) --Fix-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) --Fix-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) --Fix-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) --Fix-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) --Fix-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) -diff --git a/advisories/GLIBC-SA-2023-0004 b/advisories/GLIBC-SA-2023-0004 -deleted file mode 100644 -index 5286a7aa54..0000000000 ---- a/advisories/GLIBC-SA-2023-0004 -+++ /dev/null -@@ -1,16 +0,0 @@ --tunables: local privilege escalation through buffer overflow -- --If a tunable of the form NAME=NAME=VAL is passed in the environment of a --setuid program and NAME is valid, it may result in a buffer overflow, --which could be exploited to achieve escalated privileges. This flaw was --introduced in glibc 2.34. -- --CVE-Id: CVE-2023-4911 --Public-Date: 2023-10-03 --Vulnerable-Commit: 2ed18c5b534d9e92fc006202a5af0df6b72e7aca (2.34) --Fix-Commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa (2.39) --Fix-Commit: dcc367f148bc92e7f3778a125f7a416b093964d9 (2.34-423) --Fix-Commit: c84018a05aec80f5ee6f682db0da1130b0196aef (2.35-274) --Fix-Commit: 22955ad85186ee05834e47e665056148ca07699c (2.36-118) --Fix-Commit: b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 (2.37-45) --Fix-Commit: 750a45a783906a19591fb8ff6b7841470f1f5701 (2.38-27) -diff --git a/advisories/GLIBC-SA-2023-0005 b/advisories/GLIBC-SA-2023-0005 -deleted file mode 100644 -index cc4eb90b82..0000000000 ---- a/advisories/GLIBC-SA-2023-0005 -+++ /dev/null -@@ -1,18 +0,0 @@ --getaddrinfo: DoS due to memory leak -- --The fix for CVE-2023-4806 introduced a memory leak when an application --calls getaddrinfo for AF_INET6 with AI_CANONNAME, AI_ALL and AI_V4MAPPED --flags set. -- --CVE-Id: CVE-2023-5156 --Public-Date: 2023-09-25 --Vulnerable-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) --Vulnerable-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) --Vulnerable-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) --Vulnerable-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) --Vulnerable-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) --Fix-Commit: 8006457ab7e1cd556b919f477348a96fe88f2e49 (2.34-421) --Fix-Commit: 17092c0311f954e6f3c010f73ce3a78c24ac279a (2.35-272) --Fix-Commit: 856bac55f98dc840e7c27cfa82262b933385de90 (2.36-116) --Fix-Commit: 4473d1b87d04b25cdd0e0354814eeaa421328268 (2.37-42) --Fix-Commit: 5ee59ca371b99984232d7584fe2b1a758b4421d3 (2.38-24) -diff --git a/advisories/GLIBC-SA-2024-0001 b/advisories/GLIBC-SA-2024-0001 -deleted file mode 100644 -index 28931c75ae..0000000000 ---- a/advisories/GLIBC-SA-2024-0001 -+++ /dev/null -@@ -1,15 +0,0 @@ --syslog: Heap buffer overflow in __vsyslog_internal -- --__vsyslog_internal did not handle a case where printing a SYSLOG_HEADER --containing a long program name failed to update the required buffer --size, leading to the allocation and overflow of a too-small buffer on --the heap. -- --CVE-Id: CVE-2023-6246 --Public-Date: 2024-01-30 --Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) --Fix-Commit: 6bd0e4efcc78f3c0115e5ea9739a1642807450da (2.39) --Fix-Commit: 23514c72b780f3da097ecf33a793b7ba9c2070d2 (2.38-42) --Fix-Commit: 97a4292aa4a2642e251472b878d0ec4c46a0e59a (2.37-57) --Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) --Fix-Commit: d1a83b6767f68b3cb5b4b4ea2617254acd040c82 (2.36-126) -diff --git a/advisories/GLIBC-SA-2024-0002 b/advisories/GLIBC-SA-2024-0002 -deleted file mode 100644 -index 940bfcf2fc..0000000000 ---- a/advisories/GLIBC-SA-2024-0002 -+++ /dev/null -@@ -1,15 +0,0 @@ --syslog: Heap buffer overflow in __vsyslog_internal -- --__vsyslog_internal used the return value of snprintf/vsnprintf to --calculate buffer sizes for memory allocation. If these functions (for --any reason) failed and returned -1, the resulting buffer would be too --small to hold output. -- --CVE-Id: CVE-2023-6779 --Public-Date: 2024-01-30 --Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) --Fix-Commit: 7e5a0c286da33159d47d0122007aac016f3e02cd (2.39) --Fix-Commit: d0338312aace5bbfef85e03055e1212dd0e49578 (2.38-43) --Fix-Commit: 67062eccd9a65d7fda9976a56aeaaf6c25a80214 (2.37-58) --Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) --Fix-Commit: 2bc9d7c002bdac38b5c2a3f11b78e309d7765b83 (2.36-127) -diff --git a/advisories/GLIBC-SA-2024-0003 b/advisories/GLIBC-SA-2024-0003 -deleted file mode 100644 -index b43a5150ab..0000000000 ---- a/advisories/GLIBC-SA-2024-0003 -+++ /dev/null -@@ -1,13 +0,0 @@ --syslog: Integer overflow in __vsyslog_internal -- --__vsyslog_internal calculated a buffer size by adding two integers, but --did not first check if the addition would overflow. -- --CVE-Id: CVE-2023-6780 --Public-Date: 2024-01-30 --Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) --Fix-Commit: ddf542da94caf97ff43cc2875c88749880b7259b (2.39) --Fix-Commit: d37c2b20a4787463d192b32041c3406c2bd91de0 (2.38-44) --Fix-Commit: 2b58cba076e912961ceaa5fa58588e4b10f791c0 (2.37-59) --Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) --Fix-Commit: b9b7d6a27aa0632f334352fa400771115b3c69b7 (2.36-128) -diff --git a/advisories/GLIBC-SA-2024-0004 b/advisories/GLIBC-SA-2024-0004 -deleted file mode 100644 -index 08df2b3118..0000000000 ---- a/advisories/GLIBC-SA-2024-0004 -+++ /dev/null -@@ -1,28 +0,0 @@ --ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence -- --The iconv() function in the GNU C Library versions 2.39 and older may --overflow the output buffer passed to it by up to 4 bytes when converting --strings to the ISO-2022-CN-EXT character set, which may be used to --crash an application or overwrite a neighbouring variable. -- --ISO-2022-CN-EXT uses escape sequences to indicate character set changes --(as specified by RFC 1922). While the SOdesignation has the expected --bounds checks, neither SS2designation nor SS3designation have its; --allowing a write overflow of 1, 2, or 3 bytes with fixed values: --'$+I', '$+J', '$+K', '$+L', '$+M', or '$*H'. -- --CVE-Id: CVE-2024-2961 --Public-Date: 2024-04-17 --Vulnerable-Commit: 755104edc75c53f4a0e7440334e944ad3c6b32fc (2.1.93-169) --Fix-Commit: f9dc609e06b1136bb0408be9605ce7973a767ada (2.40) --Fix-Commit: 31da30f23cddd36db29d5b6a1c7619361b271fb4 (2.39-31) --Fix-Commit: e1135387deded5d73924f6ca20c72a35dc8e1bda (2.38-66) --Fix-Commit: 89ce64b269a897a7780e4c73a7412016381c6ecf (2.37-89) --Fix-Commit: 4ed98540a7fd19f458287e783ae59c41e64df7b5 (2.36-164) --Fix-Commit: 36280d1ce5e245aabefb877fe4d3c6cff95dabfa (2.35-315) --Fix-Commit: a8b0561db4b9847ebfbfec20075697d5492a363c (2.34-459) --Fix-Commit: ed4f16ff6bed3037266f1fa682ebd32a18fce29c (2.33-263) --Fix-Commit: 682ad4c8623e611a971839990ceef00346289cc9 (2.32-140) --Fix-Commit: 3703c32a8d304c1ee12126134ce69be965f38000 (2.31-154) -- --Reported-By: Charles Fol -diff --git a/advisories/GLIBC-SA-2024-0005 b/advisories/GLIBC-SA-2024-0005 -deleted file mode 100644 -index a59596610a..0000000000 ---- a/advisories/GLIBC-SA-2024-0005 -+++ /dev/null -@@ -1,22 +0,0 @@ --nscd: Stack-based buffer overflow in netgroup cache -- --If the Name Service Cache Daemon's (nscd) fixed size cache is exhausted --by client requests then a subsequent client request for netgroup data --may result in a stack-based buffer overflow. This flaw was introduced --in glibc 2.15 when the cache was added to nscd. -- --This vulnerability is only present in the nscd binary. -- --CVE-Id: CVE-2024-33599 --Public-Date: 2024-04-23 --Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) --Fix-Commit: 69c58d5ef9f584ea198bd00f7964d364d0e6b921 (2.31-155) --Fix-Commit: a77064893bfe8a701770e2f53a4d33805bc47a5a (2.32-141) --Fix-Commit: 5c75001a96abcd50cbdb74df24c3f013188d076e (2.33-264) --Fix-Commit: 52f73e5c4e29b14e79167272297977f360ae1e97 (2.34-460) --Fix-Commit: 7a95873543ce225376faf13bb71c43dea6d24f86 (2.35-316) --Fix-Commit: caa3151ca460bdd9330adeedd68c3112d97bffe4 (2.36-165) --Fix-Commit: f75c298e747b2b8b41b1c2f551c011a52c41bfd1 (2.37-91) --Fix-Commit: 5968aebb86164034b8f8421b4abab2f837a5bdaf (2.38-72) --Fix-Commit: 1263d583d2e28afb8be53f8d6922f0842036f35d (2.39-35) --Fix-Commit: 87801a8fd06db1d654eea3e4f7626ff476a9bdaa (2.40) -diff --git a/advisories/GLIBC-SA-2024-0006 b/advisories/GLIBC-SA-2024-0006 -deleted file mode 100644 -index d44148d3d9..0000000000 ---- a/advisories/GLIBC-SA-2024-0006 -+++ /dev/null -@@ -1,32 +0,0 @@ --nscd: Null pointer crash after notfound response -- --If the Name Service Cache Daemon's (nscd) cache fails to add a not-found --netgroup response to the cache, the client request can result in a null --pointer dereference. This flaw was introduced in glibc 2.15 when the --cache was added to nscd. -- --This vulnerability is only present in the nscd binary. -- --CVE-Id: CVE-2024-33600 --Public-Date: 2024-04-24 --Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) --Fix-Commit: b048a482f088e53144d26a61c390bed0210f49f2 (2.40) --Fix-Commit: 7835b00dbce53c3c87bbbb1754a95fb5e58187aa (2.40) --Fix-Commit: c99f886de54446cd4447db6b44be93dabbdc2f8b (2.39-37) --Fix-Commit: 5a508e0b508c8ad53bd0d2fb48fd71b242626341 (2.39-36) --Fix-Commit: 2ae9446c1b7a3064743b4a51c0bbae668ee43e4c (2.38-74) --Fix-Commit: 541ea5172aa658c4bd5c6c6d6fd13903c3d5bb0a (2.38-73) --Fix-Commit: a8070b31043c7585c36ba68a74298c4f7af075c3 (2.37-93) --Fix-Commit: 5eea50c4402e39588de98aa1d4469a79774703d4 (2.37-92) --Fix-Commit: f205b3af56740e3b014915b1bd3b162afe3407ef (2.36-167) --Fix-Commit: c34f470a615b136170abd16142da5dd0c024f7d1 (2.36-166) --Fix-Commit: bafadc589fbe21ae330e8c2af74db9da44a17660 (2.35-318) --Fix-Commit: 4370bef52b0f3f3652c6aa13d7a9bb3ac079746d (2.35-317) --Fix-Commit: 1f94122289a9bf7dba573f5d60327aaa2b85cf2e (2.34-462) --Fix-Commit: 966d6ac9e40222b84bb21674cc4f83c8d72a5a26 (2.34-461) --Fix-Commit: e3eef1b8fbdd3a7917af466ca9c4b7477251ca79 (2.33-266) --Fix-Commit: f20a8d696b13c6261b52a6434899121f8b19d5a7 (2.33-265) --Fix-Commit: be602180146de37582a3da3a0caa4b719645de9c (2.32-143) --Fix-Commit: 394eae338199078b7961b051c191539870742d7b (2.32-142) --Fix-Commit: 8d7949183760170c61e55def723c1d8050187874 (2.31-157) --Fix-Commit: 304ce5fe466c4762b21b36c26926a4657b59b53e (2.31-156) -diff --git a/advisories/GLIBC-SA-2024-0007 b/advisories/GLIBC-SA-2024-0007 -deleted file mode 100644 -index b6928fa27a..0000000000 ---- a/advisories/GLIBC-SA-2024-0007 -+++ /dev/null -@@ -1,28 +0,0 @@ --nscd: netgroup cache may terminate daemon on memory allocation failure -- --The Name Service Cache Daemon's (nscd) netgroup cache uses xmalloc or --xrealloc and these functions may terminate the process due to a memory --allocation failure resulting in a denial of service to the clients. The --flaw was introduced in glibc 2.15 when the cache was added to nscd. -- --This vulnerability is only present in the nscd binary. -- --Subsequent refactoring of the netgroup cache only added more uses of --xmalloc and xrealloc. Uses of xmalloc and xrealloc in other parts of --nscd only occur during startup of the daemon and so are not affected by --client requests that could trigger an out of memory followed by --termination. -- --CVE-Id: CVE-2024-33601 --Public-Date: 2024-04-24 --Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) --Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40) --Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38) --Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75) --Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94) --Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168) --Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319) --Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463) --Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267) --Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144) --Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158) -diff --git a/advisories/GLIBC-SA-2024-0008 b/advisories/GLIBC-SA-2024-0008 -deleted file mode 100644 -index d93e2a6f0b..0000000000 ---- a/advisories/GLIBC-SA-2024-0008 -+++ /dev/null -@@ -1,26 +0,0 @@ --nscd: netgroup cache assumes NSS callback uses in-buffer strings -- --The Name Service Cache Daemon's (nscd) netgroup cache can corrupt memory --when the NSS callback does not store all strings in the provided buffer. --The flaw was introduced in glibc 2.15 when the cache was added to nscd. -- --This vulnerability is only present in the nscd binary. -- --There is no guarantee from the NSS callback API that the returned --strings are all within the buffer. However, the netgroup cache code --assumes that the NSS callback uses in-buffer strings and if it doesn't --the buffer resizing logic could lead to potential memory corruption. -- --CVE-Id: CVE-2024-33602 --Public-Date: 2024-04-24 --Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) --Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40) --Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38) --Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75) --Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94) --Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168) --Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319) --Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463) --Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267) --Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144) --Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158) -diff --git a/advisories/README b/advisories/README -deleted file mode 100644 -index b8f8a829ca..0000000000 ---- a/advisories/README -+++ /dev/null -@@ -1,77 +0,0 @@ --GNU C Library Security Advisory Format --====================================== -- --Security advisories in this directory follow a simple git commit log --format, with a heading and free-format description augmented with tags --to allow parsing key information. References to code changes are --specific to the glibc repository and follow a specific format: -- -- Tag-name: (release-version) -- --The indicates a specific commit in the repository. The --release-version indicates the publicly consumable release in which this --commit is known to exist. The release-version is derived from the --git-describe format, (i.e. stripped out from glibc-2.34.NNN-gxxxx) and --is of the form 2.34-NNN. If the -NNN suffix is absent, it means that --the change is in that release tarball, otherwise the change is on the --release/2.YY/master branch and not in any released tarball. -- --The following tags are currently being used: -- --CVE-Id: --This is the CVE-Id assigned under the CVE Program --(https://www.cve.org/). -- --Public-Date: --The date this issue became publicly known. -- --Vulnerable-Commit: --The commit that introduced this vulnerability. There could be multiple --entries, one for each release branch in the glibc repository; the --release-version portion of this tag should tell you which branch this is --on. -- --Fix-Commit: --The commit that fixed this vulnerability. There could be multiple --entries for each release branch in the glibc repository, indicating that --all of those commits contributed to fixing that issue in each of those --branches. -- --Reported-By: --The entity that reported this issue. There could be multiple entries, one for --each reporter. -- --Adding an Advisory -------------------- -- --An advisory for a CVE needs to be added on the master branch in two steps: -- --1. Add the text of the advisory without any Fix-Commit tags along with -- the fix for the CVE. Add the Vulnerable-Commit tag, if applicable. -- The advisories directory does not exist in release branches, so keep -- the advisory text commit distinct from the code changes, to ease -- backports. Ask for the GLIBC-SA advisory number from the security -- team. -- --2. Finish all backports on release branches and then back on the msater -- branch, add all commit refs to the advisory using the Fix-Commit -- tags. Don't bother adding the release-version subscript since the -- next step will overwrite it. -- --3. Run the process-advisories.sh script in the scripts directory on the -- advisory: -- -- scripts/process-advisories.sh update GLIBC-SA-YYYY-NNNN -- -- (replace YYYY-NNNN with the actual advisory number). -- --4. Verify the updated advisory and push the result. -- --Getting a NEWS snippet from advisories ---------------------------------------- -- --Run: -- -- scripts/process-advisories.sh news -- --and copy the content into the NEWS file. - -commit 8bbb8d7b16cae777eed06bc9d2e059fc00be24e9 -Author: Florian Weimer -Date: Wed Jul 24 12:06:47 2024 +0200 - - resolv: Allow short error responses to match any query (bug 31890) - - Reviewed-by: DJ Delorie - (cherry picked from commit 691a3b2e9bfaba842e46a5ccb7f5e6ea144c3ade) - -diff --git a/NEWS b/NEWS -index 31281ac408..66b755ed34 100644 ---- a/NEWS -+++ b/NEWS -@@ -5,6 +5,12 @@ See the end for copying conditions. - Please send GNU C library bug reports via - using `glibc' in the "product" field. - -+Version 2.41 -+ -+The following bugs are resolved with this release: -+ -+ [31890] resolv: Allow short error responses to match any DNS query -+ - Version 2.40 - - Major new features: -diff --git a/resolv/Makefile b/resolv/Makefile -index 5f44f5896b..d927e337d9 100644 ---- a/resolv/Makefile -+++ b/resolv/Makefile -@@ -106,6 +106,7 @@ tests += \ - tst-resolv-nondecimal \ - tst-resolv-res_init-multi \ - tst-resolv-search \ -+ tst-resolv-short-response \ - tst-resolv-trailing \ - - # This test calls __res_context_send directly, which is not exported -@@ -299,6 +300,8 @@ $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-search: $(objpfx)libresolv.so $(shared-thread-library) -+$(objpfx)tst-resolv-short-response: $(objpfx)libresolv.so \ -+ $(shared-thread-library) - $(objpfx)tst-resolv-trailing: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-threads: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-txnid-collision: $(objpfx)libresolv.a \ -diff --git a/resolv/res_send.c b/resolv/res_send.c -index ea7cf192b2..572e72c32f 100644 ---- a/resolv/res_send.c -+++ b/resolv/res_send.c -@@ -1199,19 +1199,30 @@ send_dg(res_state statp, - } - - /* Check for the correct header layout and a matching -- question. */ -+ question. Some recursive resolvers send REFUSED -+ without copying back the question section -+ (producing a response that is only HFIXEDSZ bytes -+ long). Skip query matching in this case. */ -+ bool thisansp_error = (anhp->rcode == SERVFAIL || -+ anhp->rcode == NOTIMP || -+ anhp->rcode == REFUSED); -+ bool skip_query_match = (*thisresplenp == HFIXEDSZ -+ && ntohs (anhp->qdcount) == 0 -+ && thisansp_error); - int matching_query = 0; /* Default to no matching query. */ - if (!recvresp1 - && anhp->id == hp->id -- && __libc_res_queriesmatch (buf, buf + buflen, -- *thisansp, -- *thisansp + *thisanssizp)) -+ && (skip_query_match -+ || __libc_res_queriesmatch (buf, buf + buflen, -+ *thisansp, -+ *thisansp + *thisanssizp))) - matching_query = 1; - if (!recvresp2 - && anhp->id == hp2->id -- && __libc_res_queriesmatch (buf2, buf2 + buflen2, -- *thisansp, -- *thisansp + *thisanssizp)) -+ && (skip_query_match -+ || __libc_res_queriesmatch (buf2, buf2 + buflen2, -+ *thisansp, -+ *thisansp + *thisanssizp))) - matching_query = 2; - if (matching_query == 0) - /* Spurious UDP packet. Drop it and continue -@@ -1221,9 +1232,7 @@ send_dg(res_state statp, - goto wait; - } - -- if (anhp->rcode == SERVFAIL || -- anhp->rcode == NOTIMP || -- anhp->rcode == REFUSED) { -+ if (thisansp_error) { - next_ns: - if (recvresp1 || (buf2 != NULL && recvresp2)) { - *resplen2 = 0; -diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c -new file mode 100644 -index 0000000000..cf1e39876f ---- /dev/null -+++ b/resolv/tst-resolv-short-response.c -@@ -0,0 +1,112 @@ -+/* Test for spurious timeouts with short 12-byte responses (bug 31890). -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+/* The rcode in the initial response. */ -+static volatile int rcode; -+ -+static void -+response (const struct resolv_response_context *ctx, -+ struct resolv_response_builder *b, -+ const char *qname, uint16_t qclass, uint16_t qtype) -+{ -+ switch (ctx->server_index) -+ { -+ case 0: -+ /* First server times out. */ -+ struct resolv_response_flags flags = {.rcode = rcode}; -+ resolv_response_init (b, flags); -+ break; -+ case 1: -+ /* Second server sends reply. */ -+ resolv_response_init (b, (struct resolv_response_flags) {}); -+ resolv_response_add_question (b, qname, qclass, qtype); -+ resolv_response_section (b, ns_s_an); -+ resolv_response_open_record (b, qname, qclass, qtype, 0); -+ switch (qtype) -+ { -+ case T_A: -+ { -+ char ipv4[4] = {192, 0, 2, 17}; -+ resolv_response_add_data (b, &ipv4, sizeof (ipv4)); -+ } -+ break; -+ case T_AAAA: -+ { -+ char ipv6[16] -+ = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; -+ resolv_response_add_data (b, &ipv6, sizeof (ipv6)); -+ } -+ break; -+ default: -+ FAIL_EXIT1 ("unexpected TYPE%d query", qtype); -+ } -+ resolv_response_close_record (b); -+ break; -+ default: -+ FAIL_EXIT1 ("unexpected query to server %d", ctx->server_index); -+ } -+} -+ -+static void -+check_one (void) -+{ -+ -+ /* The buggy 1-second query timeout results in 30 seconds of delay, -+ which triggers a test timeout failure. */ -+ for (int i = 0; i < 10; ++i) -+ { -+ check_hostent ("www.example", gethostbyname ("www.example"), -+ "name: www.example\n" -+ "address: 192.0.2.17\n"); -+ check_hostent ("www.example", gethostbyname2 ("www.example", AF_INET6), -+ "name: www.example\n" -+ "address: 2001:db8::1\n"); -+ } -+} -+ -+static int -+do_test (void) -+{ -+ struct resolv_test *aux = resolv_test_start -+ ((struct resolv_redirect_config) -+ { -+ .response_callback = response, -+ }); -+ -+ _res.options |= RES_SNGLKUP; -+ -+ rcode = 2; /* SERVFAIL. */ -+ check_one (); -+ -+ rcode = 4; /* NOTIMP. */ -+ check_one (); -+ -+ rcode = 5; /* REFUSED. */ -+ check_one (); -+ -+ resolv_test_end (aux); -+ -+ return 0; -+} -+ -+#include - -commit ef141426630da0946f0af8732eddce9b9a52b2d3 -Author: Florian Weimer -Date: Wed Jul 24 12:06:47 2024 +0200 - - resolv: Do not wait for non-existing second DNS response after error (bug 30081) - - In single-request mode, there is no second response after an error - because the second query has not been sent yet. Waiting for it - introduces an unnecessary timeout. - - Reviewed-by: DJ Delorie - (cherry picked from commit af625987d619388a100b153520d3ee308bda9889) - -diff --git a/NEWS b/NEWS -index 66b755ed34..4d7100b21c 100644 ---- a/NEWS -+++ b/NEWS -@@ -9,6 +9,7 @@ Version 2.41 - - The following bugs are resolved with this release: - -+ [30081] resolv: Do not wait for non-existing second DNS response after error - [31890] resolv: Allow short error responses to match any DNS query - - Version 2.40 -diff --git a/resolv/Makefile b/resolv/Makefile -index d927e337d9..abff7fc007 100644 ---- a/resolv/Makefile -+++ b/resolv/Makefile -@@ -106,6 +106,7 @@ tests += \ - tst-resolv-nondecimal \ - tst-resolv-res_init-multi \ - tst-resolv-search \ -+ tst-resolv-semi-failure \ - tst-resolv-short-response \ - tst-resolv-trailing \ - -@@ -300,6 +301,8 @@ $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library) - $(objpfx)tst-resolv-search: $(objpfx)libresolv.so $(shared-thread-library) -+$(objpfx)tst-resolv-semi-failure: $(objpfx)libresolv.so \ -+ $(shared-thread-library) - $(objpfx)tst-resolv-short-response: $(objpfx)libresolv.so \ - $(shared-thread-library) - $(objpfx)tst-resolv-trailing: $(objpfx)libresolv.so $(shared-thread-library) -diff --git a/resolv/res_send.c b/resolv/res_send.c -index 572e72c32f..9c77613f37 100644 ---- a/resolv/res_send.c -+++ b/resolv/res_send.c -@@ -1238,7 +1238,7 @@ send_dg(res_state statp, - *resplen2 = 0; - return resplen; - } -- if (buf2 != NULL) -+ if (buf2 != NULL && !single_request) - { - /* No data from the first reply. */ - resplen = 0; -diff --git a/resolv/tst-resolv-semi-failure.c b/resolv/tst-resolv-semi-failure.c -new file mode 100644 -index 0000000000..aa9798b5a7 ---- /dev/null -+++ b/resolv/tst-resolv-semi-failure.c -@@ -0,0 +1,133 @@ -+/* Test parallel failure/success responses (bug 30081). -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+/* The rcode in the initial response. */ -+static volatile int rcode; -+ -+/* Whether to fail the initial A query (!fail_aaaa) or the initial -+ AAAA query (fail_aaaa). */ -+static volatile bool fail_aaaa; -+ -+static void -+response (const struct resolv_response_context *ctx, -+ struct resolv_response_builder *b, -+ const char *qname, uint16_t qclass, uint16_t qtype) -+{ -+ /* Handle the failing query. */ -+ if ((fail_aaaa && qtype == T_AAAA) && ctx->server_index == 0) -+ { -+ struct resolv_response_flags flags = {.rcode = rcode}; -+ resolv_response_init (b, flags); -+ return; -+ } -+ -+ /* Otherwise produce a response. */ -+ resolv_response_init (b, (struct resolv_response_flags) {}); -+ resolv_response_add_question (b, qname, qclass, qtype); -+ resolv_response_section (b, ns_s_an); -+ resolv_response_open_record (b, qname, qclass, qtype, 0); -+ switch (qtype) -+ { -+ case T_A: -+ { -+ char ipv4[4] = {192, 0, 2, 17}; -+ resolv_response_add_data (b, &ipv4, sizeof (ipv4)); -+ } -+ break; -+ case T_AAAA: -+ { -+ char ipv6[16] -+ = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; -+ resolv_response_add_data (b, &ipv6, sizeof (ipv6)); -+ } -+ break; -+ default: -+ FAIL_EXIT1 ("unexpected TYPE%d query", qtype); -+ } -+ resolv_response_close_record (b); -+} -+ -+static void -+check_one (void) -+{ -+ -+ /* The buggy 1-second query timeout results in 30 seconds of delay, -+ which triggers are test timeout failure. */ -+ for (int i = 0; i < 30; ++i) -+ { -+ static const struct addrinfo hints = -+ { -+ .ai_family = AF_UNSPEC, -+ .ai_socktype = SOCK_STREAM, -+ }; -+ struct addrinfo *ai; -+ int ret = getaddrinfo ("www.example", "80", &hints, &ai); -+ const char *expected; -+ if (ret == 0 && ai->ai_next != NULL) -+ expected = ("address: STREAM/TCP 192.0.2.17 80\n" -+ "address: STREAM/TCP 2001:db8::1 80\n"); -+ else -+ /* Only one response because the AAAA lookup failure is -+ treated as an ignoreable error. */ -+ expected = "address: STREAM/TCP 192.0.2.17 80\n"; -+ check_addrinfo ("www.example", ai, ret, expected); -+ if (ret == 0) -+ freeaddrinfo (ai); -+ } -+} -+ -+static int -+do_test (void) -+{ -+ for (int do_single_lookup = 0; do_single_lookup < 2; ++do_single_lookup) -+ { -+ struct resolv_test *aux = resolv_test_start -+ ((struct resolv_redirect_config) -+ { -+ .response_callback = response, -+ }); -+ -+ if (do_single_lookup) -+ _res.options |= RES_SNGLKUP; -+ -+ for (int do_fail_aaaa = 0; do_fail_aaaa < 2; ++do_fail_aaaa) -+ { -+ fail_aaaa = do_fail_aaaa; -+ -+ rcode = 2; /* SERVFAIL. */ -+ check_one (); -+ -+ rcode = 4; /* NOTIMP. */ -+ check_one (); -+ -+ rcode = 5; /* REFUSED. */ -+ check_one (); -+ } -+ -+ resolv_test_end (aux); -+ } -+ -+ return 0; -+} -+ -+#include -diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c -index cf1e39876f..be354ae1c7 100644 ---- a/resolv/tst-resolv-short-response.c -+++ b/resolv/tst-resolv-short-response.c -@@ -81,6 +81,18 @@ check_one (void) - check_hostent ("www.example", gethostbyname2 ("www.example", AF_INET6), - "name: www.example\n" - "address: 2001:db8::1\n"); -+ static const struct addrinfo hints = -+ { -+ .ai_family = AF_UNSPEC, -+ .ai_socktype = SOCK_STREAM, -+ }; -+ struct addrinfo *ai; -+ int ret = getaddrinfo ("www.example", "80", &hints, &ai); -+ check_addrinfo ("www.example", ai, ret, -+ "address: STREAM/TCP 192.0.2.17 80\n" -+ "address: STREAM/TCP 2001:db8::1 80\n"); -+ if (ret == 0) -+ freeaddrinfo (ai); - } - } - - -commit b6aeba2de157ba0cdc8fb0aed67b632b3490f383 -Author: Florian Weimer -Date: Wed Jul 24 12:50:17 2024 +0200 - - manual: Do not mention STATIC_TLS in dynamic linker hardening recommendations - - The current toolchain does not consistently generate it, and - glibc does not use it. - - Reviewed-by: Szabolcs Nagy - (cherry picked from commit 90842d3980064ef410b998b22170ad409b76b9fd) - -diff --git a/manual/dynlink.texi b/manual/dynlink.texi -index 03565d4fb0..1500a53de6 100644 ---- a/manual/dynlink.texi -+++ b/manual/dynlink.texi -@@ -993,21 +993,21 @@ The dynamic segment should also mention @code{BIND_NOW} on the - enough). - - @item --For shared objects (not main programs), if the program header has a --@code{PT_TLS} segment, the dynamic segment (as shown by @samp{readelf ---dW}) should contain the @code{STATIC_TLS} flag on the @code{FLAGS} --line. -- --If @code{STATIC_TLS} is missing in shared objects, ensure that the --appropriate relocations for GNU2 TLS descriptors are used (for example, -+Ensure that only static TLS relocations (thread-pointer relative offset -+locations) are used, for example @code{R_AARCH64_TLS_TPREL} and -+@code{X86_64_TPOFF64}. As the second-best option, and only if -+compatibility with non-hardened applications using @code{dlopen} is -+needed, GNU2 TLS descriptor relocations can be used (for example, - @code{R_AARCH64_TLSDESC} or @code{R_X86_64_TLSDESC}). - - @item --There should not be a reference to the symbols @code{__tls_get_addr}, --@code{__tls_get_offset}, @code{__tls_get_addr_opt} in the dynamic symbol --table (in the @samp{readelf -sDW} output). Thread-local storage must be --accessed using the initial-exec (static) model, or using GNU2 TLS --descriptors. -+There should not be references to the traditional TLS function symbols -+@code{__tls_get_addr}, @code{__tls_get_offset}, -+@code{__tls_get_addr_opt} in the dynamic symbol table (in the -+@samp{readelf -sDW} output). Supporting global dynamic TLS relocations -+(such as @code{R_AARCH64_TLS_DTPMOD}, @code{R_AARCH64_TLS_DTPREL}, -+@code{R_X86_64_DTPMOD64}, @code{R_X86_64_DTPOFF64}) should not be used, -+either. - - @item - Likewise, the functions @code{dlopen}, @code{dlmopen}, @code{dlclose} - -commit 145b5886379c8de4f0a1bca3556a4c3d7b6c24b2 -Author: Florian Weimer -Date: Wed Jul 24 13:42:16 2024 +0200 - - Fix version number in NEWS file - -diff --git a/NEWS b/NEWS -index 4d7100b21c..6b62f55658 100644 ---- a/NEWS -+++ b/NEWS -@@ -5,7 +5,7 @@ See the end for copying conditions. - Please send GNU C library bug reports via - using `glibc' in the "product" field. - --Version 2.41 -+Version 2.40.1 - - The following bugs are resolved with this release: - - -commit 2aebac5e158277d852b87b0cbd4af2b2d10ac387 -Author: Miguel Martín -Date: Tue Jul 16 17:14:56 2024 +0200 - - malloc: avoid global locks in tst-aligned_alloc-lib.c - - Make sure the DSO used by aligned_alloc/calloc/malloc tests does not get - a global lock on multithreaded tests. - Reviewed-by: Arjun Shankar - - (cherry picked from commit 9a27b566b2048f599048f2f4afe1cce06c4ef43d) - -diff --git a/malloc/tst-aligned_alloc-lib.c b/malloc/tst-aligned_alloc-lib.c -index 0205df5acf..9ef1f839c1 100644 ---- a/malloc/tst-aligned_alloc-lib.c -+++ b/malloc/tst-aligned_alloc-lib.c -@@ -17,37 +17,38 @@ - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - --#include - #include - #include -+#include - - extern void *__libc_malloc (size_t size); - extern void *__libc_calloc (size_t n, size_t size); - -+__thread unsigned int seed = 0; -+ - int aligned_alloc_count = 0; - int libc_malloc_count = 0; - int libc_calloc_count = 0; - --/* Get a random alignment value. Biased towards the smaller values. Must be -- a power of 2. */ --static size_t get_random_alignment (void) --{ -- size_t aligns[] = { -- 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384 -- }; -- -- return aligns[random () % array_length (aligns)]; --} -- --static void *get_random_alloc (size_t size) -+static void * -+get_random_alloc (size_t size) - { - void *retval; - size_t align; -+ struct timespec tp; -+ -+ if (seed == 0) -+ { -+ clock_gettime (CLOCK_REALTIME, &tp); -+ seed = tp.tv_nsec; -+ } - -- switch (random() % 3) -- { -+ switch (rand_r (&seed) % 3) -+ { - case 1: -- align = get_random_alignment (); -+ /* Get a random alignment value. Biased towards the smaller -+ * values up to 16384. Must be a power of 2. */ -+ align = 1 << rand_r (&seed) % 15; - retval = aligned_alloc (align, size); - aligned_alloc_count++; - break; -@@ -59,13 +60,13 @@ static void *get_random_alloc (size_t size) - retval = __libc_malloc (size); - libc_malloc_count++; - break; -- } -+ } - - return retval; - } - -- --void * __random_malloc (size_t size) -+void * -+__random_malloc (size_t size) - { - return get_random_alloc (size); - } - -commit 5d2a931a8167a288374c3a38dc10fe0492ab5ffe -Author: Miguel Martín -Date: Tue Jul 16 17:14:57 2024 +0200 - - malloc: add multi-threaded tests for aligned_alloc/calloc/malloc - - Improve aligned_alloc/calloc/malloc test coverage by adding - multi-threaded tests with random memory allocations and with/without - cross-thread memory deallocations. - - Perform a number of memory allocation calls with random sizes limited - to 0xffff. - - Use the existing DSO ('malloc/tst-aligned_alloc-lib.c') to randomize - allocator selection. - - The multi-threaded allocation/deallocation is staged as described below: - - - Stage 1: Half of the threads will be allocating memory and the - other half will be waiting for them to finish the allocation. - - Stage 2: Half of the threads will be allocating memory and the - other half will be deallocating memory. - - Stage 3: Half of the threads will be deallocating memory and the - second half waiting on them to finish. - - Add 'malloc/tst-aligned-alloc-random-thread.c' where each thread will - deallocate only the memory that was previously allocated by itself. - - Add 'malloc/tst-aligned-alloc-random-thread-cross.c' where each thread - will deallocate memory that was previously allocated by another thread. - - The intention is to be able to utilize existing malloc testing to ensure - that similar allocation APIs are also exposed to the same rigors. - Reviewed-by: Arjun Shankar - - (cherry picked from commit b0fbcb7d0051a68baf26b2aed51a8a31c34d68e5) - -diff --git a/malloc/Makefile b/malloc/Makefile -index 02aff1bd1d..98d507a6eb 100644 ---- a/malloc/Makefile -+++ b/malloc/Makefile -@@ -28,6 +28,8 @@ tests := \ - mallocbug \ - tst-aligned-alloc \ - tst-aligned-alloc-random \ -+ tst-aligned-alloc-random-thread \ -+ tst-aligned-alloc-random-thread-cross \ - tst-alloc_buffer \ - tst-calloc \ - tst-free-errno \ -@@ -151,6 +153,8 @@ ifeq ($(have-GLIBC_2.23)$(build-shared),yesyes) - # the tests expect specific internal behavior that is changed due to linking to - # libmcheck.a. - tests-exclude-mcheck = \ -+ tst-aligned-alloc-random-thread \ -+ tst-aligned-alloc-random-thread-cross \ - tst-compathooks-off \ - tst-compathooks-on \ - tst-malloc-backtrace \ -@@ -415,7 +419,11 @@ $(objpfx)tst-mallocstate: $(objpfx)libc_malloc_debug.so - $(objpfx)tst-mallocstate-malloc-check: $(objpfx)libc_malloc_debug.so - - $(objpfx)tst-aligned-alloc-random.out: $(objpfx)tst-aligned_alloc-lib.so -+$(objpfx)tst-aligned-alloc-random-thread.out: $(objpfx)tst-aligned_alloc-lib.so -+$(objpfx)tst-aligned-alloc-random-thread-cross.out: $(objpfx)tst-aligned_alloc-lib.so - $(objpfx)tst-malloc-random.out: $(objpfx)tst-aligned_alloc-lib.so - - tst-aligned-alloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so -+tst-aligned-alloc-random-thread-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so -+tst-aligned-alloc-random-thread-cross-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so - tst-malloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so -diff --git a/malloc/tst-aligned-alloc-random-thread-cross.c b/malloc/tst-aligned-alloc-random-thread-cross.c -new file mode 100644 -index 0000000000..360ecc56ee ---- /dev/null -+++ b/malloc/tst-aligned-alloc-random-thread-cross.c -@@ -0,0 +1,19 @@ -+/* multi-threaded memory allocation and cross-thread deallocation test. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public License as -+ published by the Free Software Foundation; either version 2.1 of the -+ License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; see the file COPYING.LIB. If -+ not, see . */ -+#define CROSS_THREAD_DEALLOC -+#include "tst-aligned-alloc-random-thread.c" -diff --git a/malloc/tst-aligned-alloc-random-thread.c b/malloc/tst-aligned-alloc-random-thread.c -new file mode 100644 -index 0000000000..e95f79250a ---- /dev/null -+++ b/malloc/tst-aligned-alloc-random-thread.c -@@ -0,0 +1,145 @@ -+/* multi-threaded memory allocation/deallocation test. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public License as -+ published by the Free Software Foundation; either version 2.1 of the -+ License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; see the file COPYING.LIB. If -+ not, see . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifndef ITERATIONS -+# define ITERATIONS 16 -+#endif -+ -+#ifndef NUM_THREADS -+# define NUM_THREADS 8 -+#endif -+ -+#ifndef NUM_ALLOCATIONS -+# define NUM_ALLOCATIONS 2048 -+#endif -+ -+static pthread_barrier_t barrier; -+ -+__thread unsigned int seed; -+ -+typedef struct -+{ -+ int id; -+ pthread_t thread; -+} thread; -+ -+thread threads[NUM_THREADS]; -+ -+void *allocations[NUM_THREADS][NUM_ALLOCATIONS]; -+ -+void -+run_thread_dealloc (int id) -+{ -+ for (int i = 0; i < NUM_ALLOCATIONS; i++) -+ { -+ free (allocations[id][i]); -+ allocations[id][i] = NULL; -+ } -+} -+ -+void -+run_thread_alloc (int id) -+{ -+ size_t msb, size; -+ for (int i = 0; i < NUM_ALLOCATIONS; i++) -+ { -+ msb = 1 << rand_r (&seed) % 16; -+ size = msb + rand_r (&seed) % msb; -+ allocations[id][i] = malloc (size); -+ TEST_VERIFY_EXIT (allocations[id][i] != NULL); -+ } -+} -+ -+void * -+run_allocations (void *arg) -+{ -+ int id = *((int *) arg); -+ seed = time (NULL) + id; -+ -+ /* Stage 1: First half o the threads allocating memory and the second -+ * half waiting for them to finish -+ */ -+ if (id < NUM_THREADS / 2) -+ run_thread_alloc (id); -+ -+ xpthread_barrier_wait (&barrier); -+ -+ /* Stage 2: Half of the threads allocationg memory and the other -+ * half deallocating: -+ * - In the non cross-thread dealloc scenario the first half will be -+ * deallocating the memory allocated by themselves in stage 1 and the -+ * second half will be allocating memory. -+ * - In the cross-thread dealloc scenario the first half will continue -+ * to allocate memory and the second half will deallocate the memory -+ * allocated by the first half in stage 1. -+ */ -+ if (id < NUM_THREADS / 2) -+#ifndef CROSS_THREAD_DEALLOC -+ run_thread_dealloc (id); -+#else -+ run_thread_alloc (id + NUM_THREADS / 2); -+#endif -+ else -+#ifndef CROSS_THREAD_DEALLOC -+ run_thread_alloc (id); -+#else -+ run_thread_dealloc (id - NUM_THREADS / 2); -+#endif -+ -+ xpthread_barrier_wait (&barrier); -+ -+ // Stage 3: Second half of the threads deallocating and the first half -+ // waiting for them to finish. -+ if (id >= NUM_THREADS / 2) -+ run_thread_dealloc (id); -+ -+ return NULL; -+} -+ -+static int -+do_test (void) -+{ -+ xpthread_barrier_init (&barrier, NULL, NUM_THREADS); -+ -+ for (int i = 0; i < ITERATIONS; i++) -+ { -+ for (int t = 0; t < NUM_THREADS; t++) -+ { -+ threads[t].id = t; -+ threads[t].thread -+ = xpthread_create (NULL, run_allocations, &threads[t].id); -+ } -+ -+ for (int t = 0; t < NUM_THREADS; t++) -+ xpthread_join (threads[t].thread); -+ } -+ -+ return 0; -+} -+ -+#include - -commit 65fbcfe58991194301a7e4fb9c53ab936573e711 -Author: Arjun Shankar -Date: Mon Jul 29 14:30:59 2024 +0200 - - manual/stdio: Clarify putc and putwc - - The manual entry for `putc' described what "most systems" do instead of - describing the glibc implementation and its guarantees. This commit - fixes that by warning that putc may be implemented as a macro that - double-evaluates `stream', and removing the performance claim. - - Even though the current `putc' implementation does not double-evaluate - `stream', offering this obscure guarantee as an extension to what - POSIX allows does not seem very useful. - - The entry for `putwc' is also edited to bring it in line with `putc'. - Reviewed-by: Florian Weimer - - (cherry picked from commit 10de4a47ef3f481592e3c62eb07bcda23e9fde4d) - -diff --git a/manual/stdio.texi b/manual/stdio.texi -index f5e289d58a..f9529a098d 100644 ---- a/manual/stdio.texi -+++ b/manual/stdio.texi -@@ -903,21 +903,21 @@ This function is a GNU extension. - @deftypefun int putc (int @var{c}, FILE *@var{stream}) - @standards{ISO, stdio.h} - @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} --This is just like @code{fputc}, except that most systems implement it as -+This is just like @code{fputc}, except that it may be implemented as - a macro, making it faster. One consequence is that it may evaluate the - @var{stream} argument more than once, which is an exception to the --general rule for macros. @code{putc} is usually the best function to --use for writing a single character. -+general rule for macros. Therefore, @var{stream} should never be an -+expression with side-effects. - @end deftypefun - - @deftypefun wint_t putwc (wchar_t @var{wc}, FILE *@var{stream}) - @standards{ISO, wchar.h} - @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} --This is just like @code{fputwc}, except that it can be implement as -+This is just like @code{fputwc}, except that it may be implemented as - a macro, making it faster. One consequence is that it may evaluate the - @var{stream} argument more than once, which is an exception to the --general rule for macros. @code{putwc} is usually the best function to --use for writing a single wide character. -+general rule for macros. Therefore, @var{stream} should never be an -+expression with side-effects. - @end deftypefun - - @deftypefun int putc_unlocked (int @var{c}, FILE *@var{stream}) - -commit 132a72f93cb4ad9f16b8469dc061de5f75f6a44e -Author: Lukas Bulwahn -Date: Mon Jul 29 11:08:17 2024 +0200 - - manual: make setrlimit() description less ambiguous - - The existing description for setrlimit() has some ambiguity. It could be - understood to have the semantics of getrlimit(), i.e., the limits from the - process are stored in the provided rlp pointer. - - Make the description more explicit that rlp are the input values, and that - the limits of the process is changed with this function. - - Reviewed-by: Florian Weimer - (cherry picked from commit aedbf08891069fc029ed021e4dba933eb877b394) - -diff --git a/manual/resource.texi b/manual/resource.texi -index c9b21dedeb..25966bcb64 100644 ---- a/manual/resource.texi -+++ b/manual/resource.texi -@@ -192,8 +192,8 @@ If the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a - @standards{BSD, sys/resource.h} - @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} - @c Direct syscall on most systems; lock-taking critical section on HURD. --Store the current and maximum limits for the resource @var{resource} --in @code{*@var{rlp}}. -+Change the current and maximum limits of the process for the resource -+@var{resource} to the values provided in @code{*@var{rlp}}. - - The return value is @code{0} on success and @code{-1} on failure. The - following @code{errno} error condition is possible: - -commit 509166c9a53ad81217a28cc67ba2a688f02fc477 -Author: Florian Weimer -Date: Wed Jun 26 11:27:54 2024 +0200 - - Enhance test coverage for strnlen, wcsnlen - - This commit adds string/test-strnlen-nonarray and - wcsmbs/test-wcsnlen-nonarray. - - Reviewed-by: Noah Goldstein - (cherry picked from commit 783d4c0b81889c39a9ddf13b60d0fde4040fb1c0) - -diff --git a/string/Makefile b/string/Makefile -index 8f31fa49e6..2e20fc00fd 100644 ---- a/string/Makefile -+++ b/string/Makefile -@@ -184,6 +184,7 @@ tests := \ - test-strncpy \ - test-strndup \ - test-strnlen \ -+ test-strnlen-nonarray \ - test-strpbrk \ - test-strrchr \ - test-strspn \ -diff --git a/string/test-Xnlen-nonarray.c b/string/test-Xnlen-nonarray.c -new file mode 100644 -index 0000000000..499bef2041 ---- /dev/null -+++ b/string/test-Xnlen-nonarray.c -@@ -0,0 +1,133 @@ -+/* Test non-array inputs to string length functions. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* This skeleton file is included from string/test-strnlen-nonarray.c -+ and wcsmbs/test-wcsnlen-nonarray.c to test that reading of the array -+ stops at the first null character. -+ -+ TEST_IDENTIFIER must be the test function identifier. TEST_NAME is -+ the same as a string. -+ -+ CHAR must be defined as the character type. */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+typedef __typeof (TEST_IDENTIFIER) *proto_t; -+ -+#define TEST_MAIN -+#include "test-string.h" -+ -+IMPL (TEST_IDENTIFIER, 1) -+ -+static int -+test_main (void) -+{ -+ enum { buffer_length = 256 }; -+ TEST_VERIFY_EXIT (sysconf (_SC_PAGESIZE) >= buffer_length); -+ -+ test_init (); -+ -+ /* Buffer layout: There are a_count 'A' character followed by -+ zero_count null character, for a total of buffer_length -+ character: -+ -+ AAAAA...AAAAA 00000 ... 00000 (unmapped page follows) -+ \ / \ / -+ (a_count) (zero_count) -+ \___ (buffer_length) ___/ -+ ^ -+ | -+ start_offset -+ -+ The buffer length does not change, but a_count (and thus _zero) -+ and start_offset vary. -+ -+ If start_offset == buffer_length, only 0 is a valid length -+ argument. The result is 0. -+ -+ Otherwwise, if zero_count > 0 (if there a null characters in the -+ buffer), then any length argument is valid. If start_offset < -+ a_count (i.e., there is a non-null character at start_offset), the -+ result is the minimum of a_count - start_offset and the length -+ argument. Otherwise the result is 0. -+ -+ Otherwise, there are no null characters before the unmapped page. -+ The length argument must not be greater than buffer_length - -+ start_offset, and the result is the length argument. */ -+ -+ struct support_next_to_fault ntf -+ = support_next_to_fault_allocate (buffer_length * sizeof (CHAR)); -+ CHAR *buffer = (CHAR *) ntf.buffer; -+ -+ FOR_EACH_IMPL (impl, 0) -+ { -+ printf ("info: testing %s\n", impl->name); -+ for (size_t i = 0; i < buffer_length; ++i) -+ buffer[i] = 'A'; -+ -+ for (int zero_count = 0; zero_count <= buffer_length; ++zero_count) -+ { -+ if (zero_count > 0) -+ buffer[buffer_length - zero_count] = 0; -+ int a_count = buffer_length - zero_count; -+ for (int start_offset = 0; start_offset <= buffer_length; -+ ++start_offset) -+ { -+ CHAR *start_pointer = buffer + start_offset; -+ if (start_offset == buffer_length) -+ TEST_COMPARE (CALL (impl, buffer + start_offset, 0), 0); -+ else if (zero_count > 0) -+ for (int length_argument = 0; -+ length_argument <= 2 * buffer_length; -+ ++length_argument) -+ { -+ if (test_verbose) -+ printf ("zero_count=%d a_count=%d start_offset=%d" -+ " length_argument=%d\n", -+ zero_count, a_count, start_offset, -+ length_argument); -+ if (start_offset < a_count) -+ TEST_COMPARE (CALL (impl, start_pointer, length_argument), -+ MIN (a_count - start_offset, -+ length_argument)); -+ else -+ TEST_COMPARE (CALL (impl, start_pointer, length_argument), -+ 0); -+ } -+ else -+ for (int length_argument = 0; -+ length_argument <= buffer_length - start_offset; -+ ++length_argument) -+ TEST_COMPARE (CALL (impl, start_pointer, length_argument), -+ length_argument); -+ } -+ } -+ } -+ -+ support_next_to_fault_free (&ntf); -+ -+ return 0; -+} -+ -+#include -diff --git a/string/test-strnlen-nonarray.c b/string/test-strnlen-nonarray.c -new file mode 100644 -index 0000000000..0ad05756d9 ---- /dev/null -+++ b/string/test-strnlen-nonarray.c -@@ -0,0 +1,4 @@ -+#define TEST_IDENTIFIER strnlen -+#define TEST_NAME "strnlen" -+typedef char CHAR; -+#include "test-Xnlen-nonarray.c" -diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile -index 1cddd8cc6d..c51c9b4f1f 100644 ---- a/wcsmbs/Makefile -+++ b/wcsmbs/Makefile -@@ -160,6 +160,7 @@ tests := \ - test-wcsncmp \ - test-wcsncpy \ - test-wcsnlen \ -+ test-wcsnlen-nonarray \ - test-wcspbrk \ - test-wcsrchr \ - test-wcsspn \ -diff --git a/wcsmbs/test-wcsnlen-nonarray.c b/wcsmbs/test-wcsnlen-nonarray.c -new file mode 100644 -index 0000000000..a4b21fecd3 ---- /dev/null -+++ b/wcsmbs/test-wcsnlen-nonarray.c -@@ -0,0 +1,5 @@ -+#include -+#define TEST_IDENTIFIER wcsnlen -+#define TEST_NAME "wcsnlen" -+typedef wchar_t CHAR; -+#include "../string/test-Xnlen-nonarray.c" - -commit 46f19b234244f4654b9e3898ac1c27de86068222 -Author: Florian Weimer -Date: Thu Jun 27 16:26:56 2024 +0200 - - Enhanced test coverage for strncmp, wcsncmp - - Add string/test-strncmp-nonarray and - wcsmbs/test-wcsncmp-nonarray. - - This is the test that uncovered bug 31934. Test run time - is more than one minute on a fairly current system, so turn - these into xtests that do not run automatically. - - Reviewed-by: Noah Goldstein - (cherry picked from commit 54252394c25ddf0062e288d4a6ab7a885f8ae009) - -diff --git a/string/Makefile b/string/Makefile -index 2e20fc00fd..1dff405c27 100644 ---- a/string/Makefile -+++ b/string/Makefile -@@ -236,7 +236,10 @@ tests-unsupported += $(tests-translation) - endif - - # This test allocates a lot of memory and can run for a long time. --xtests = tst-strcoll-overflow -+xtests += tst-strcoll-overflow -+ -+# This test runs for a long time. -+xtests += test-strncmp-nonarray - - # This test needs libdl. - ifeq (yes,$(build-shared)) -diff --git a/string/test-Xncmp-nonarray.c b/string/test-Xncmp-nonarray.c -new file mode 100644 -index 0000000000..9f3a3ca75d ---- /dev/null -+++ b/string/test-Xncmp-nonarray.c -@@ -0,0 +1,183 @@ -+/* Test non-array inputs to string comparison functions. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* This skeleton file is included from string/test-strncmp-nonarray.c and -+ wcsmbs/test-wcsncmp-nonarray.c to test that reading of the arrays stops -+ at the first null character. -+ -+ TEST_IDENTIFIER must be the test function identifier. TEST_NAME is -+ the same as a string. -+ -+ CHAR must be defined as the character type. */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* Much shorter than test-Xnlen-nonarray.c because of deeply nested loops. */ -+enum { buffer_length = 80 }; -+ -+/* The test buffer layout follows what is described test-Xnlen-nonarray.c, -+ except that there two buffers, left and right. The variables -+ a_count, zero_count, start_offset are all duplicated. */ -+ -+/* Return the maximum string length for a string that starts at -+ start_offset. */ -+static int -+string_length (int a_count, int start_offset) -+{ -+ if (start_offset == buffer_length || start_offset >= a_count) -+ return 0; -+ else -+ return a_count - start_offset; -+} -+ -+/* This is the valid maximum length argument computation for -+ strnlen/wcsnlen. See text-Xnlen-nonarray.c. */ -+static int -+maximum_length (int start_offset, int zero_count) -+{ -+ if (start_offset == buffer_length) -+ return 0; -+ else if (zero_count > 0) -+ /* Effectively unbounded, but we need to stop fairly low, -+ otherwise testing takes too long. */ -+ return buffer_length + 32; -+ else -+ return buffer_length - start_offset; -+} -+ -+typedef __typeof (TEST_IDENTIFIER) *proto_t; -+ -+#define TEST_MAIN -+#include "test-string.h" -+ -+IMPL (TEST_IDENTIFIER, 1) -+ -+static int -+test_main (void) -+{ -+ TEST_VERIFY_EXIT (sysconf (_SC_PAGESIZE) >= buffer_length); -+ test_init (); -+ -+ struct support_next_to_fault left_ntf -+ = support_next_to_fault_allocate (buffer_length * sizeof (CHAR)); -+ CHAR *left_buffer = (CHAR *) left_ntf.buffer; -+ struct support_next_to_fault right_ntf -+ = support_next_to_fault_allocate (buffer_length * sizeof (CHAR)); -+ CHAR *right_buffer = (CHAR *) right_ntf.buffer; -+ -+ FOR_EACH_IMPL (impl, 0) -+ { -+ printf ("info: testing %s\n", impl->name); -+ for (size_t i = 0; i < buffer_length; ++i) -+ left_buffer[i] = 'A'; -+ -+ for (int left_zero_count = 0; left_zero_count <= buffer_length; -+ ++left_zero_count) -+ { -+ if (left_zero_count > 0) -+ left_buffer[buffer_length - left_zero_count] = 0; -+ int left_a_count = buffer_length - left_zero_count; -+ for (size_t i = 0; i < buffer_length; ++i) -+ right_buffer[i] = 'A'; -+ for (int right_zero_count = 0; right_zero_count <= buffer_length; -+ ++right_zero_count) -+ { -+ if (right_zero_count > 0) -+ right_buffer[buffer_length - right_zero_count] = 0; -+ int right_a_count = buffer_length - right_zero_count; -+ for (int left_start_offset = 0; -+ left_start_offset <= buffer_length; -+ ++left_start_offset) -+ { -+ CHAR *left_start_pointer = left_buffer + left_start_offset; -+ int left_maxlen -+ = maximum_length (left_start_offset, left_zero_count); -+ int left_length -+ = string_length (left_a_count, left_start_offset); -+ for (int right_start_offset = 0; -+ right_start_offset <= buffer_length; -+ ++right_start_offset) -+ { -+ CHAR *right_start_pointer -+ = right_buffer + right_start_offset; -+ int right_maxlen -+ = maximum_length (right_start_offset, right_zero_count); -+ int right_length -+ = string_length (right_a_count, right_start_offset); -+ -+ /* Maximum length is modelled after strnlen/wcsnlen, -+ and must be valid for both pointer arguments at -+ the same time. */ -+ int maxlen = MIN (left_maxlen, right_maxlen); -+ -+ for (int length_argument = 0; length_argument <= maxlen; -+ ++length_argument) -+ { -+ if (test_verbose) -+ { -+ printf ("left: zero_count=%d" -+ " a_count=%d start_offset=%d\n", -+ left_zero_count, left_a_count, -+ left_start_offset); -+ printf ("right: zero_count=%d" -+ " a_count=%d start_offset=%d\n", -+ right_zero_count, right_a_count, -+ right_start_offset); -+ printf ("length argument: %d\n", -+ length_argument); -+ } -+ -+ /* Effective lengths bounded by length argument. -+ The effective length determines the -+ outcome of the comparison. */ -+ int left_effective -+ = MIN (left_length, length_argument); -+ int right_effective -+ = MIN (right_length, length_argument); -+ if (left_effective == right_effective) -+ TEST_COMPARE (CALL (impl, -+ left_start_pointer, -+ right_start_pointer, -+ length_argument), 0); -+ else if (left_effective < right_effective) -+ TEST_COMPARE (CALL (impl, -+ left_start_pointer, -+ right_start_pointer, -+ length_argument) < 0, 1); -+ else -+ TEST_COMPARE (CALL (impl, -+ left_start_pointer, -+ right_start_pointer, -+ length_argument) > 0, 1); -+ } -+ } -+ } -+ } -+ } -+ } -+ -+ return 0; -+} -+ -+#include -diff --git a/string/test-strncmp-nonarray.c b/string/test-strncmp-nonarray.c -new file mode 100644 -index 0000000000..581e52d01b ---- /dev/null -+++ b/string/test-strncmp-nonarray.c -@@ -0,0 +1,4 @@ -+#define TEST_IDENTIFIER strncmp -+#define TEST_NAME "strncmp" -+typedef char CHAR; -+#include "test-Xncmp-nonarray.c" -diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile -index c51c9b4f1f..63adf0e8ef 100644 ---- a/wcsmbs/Makefile -+++ b/wcsmbs/Makefile -@@ -206,6 +206,10 @@ tests := \ - wcsmbs-tst1 \ - # tests - -+# This test runs for a long time. -+xtests += test-wcsncmp-nonarray -+ -+ - include ../Rules - - ifeq ($(run-built-tests),yes) -diff --git a/wcsmbs/test-wcsncmp-nonarray.c b/wcsmbs/test-wcsncmp-nonarray.c -new file mode 100644 -index 0000000000..1ad9ebd8fd ---- /dev/null -+++ b/wcsmbs/test-wcsncmp-nonarray.c -@@ -0,0 +1,5 @@ -+#include -+#define TEST_IDENTIFIER wcsncmp -+#define TEST_NAME "wcsncmp" -+typedef wchar_t CHAR; -+#include "../string/test-Xncmp-nonarray.c" - -commit 3433a358428bcec2d203fa408b85f442c9a465ca -Author: H.J. Lu -Date: Wed Jul 24 14:05:13 2024 -0700 - - linux: Update the mremap C implementation [BZ #31968] - - Update the mremap C implementation to support the optional argument for - MREMAP_DONTUNMAP added in Linux 5.7 since it may not always be correct - to implement a variadic function as a non-variadic function on all Linux - targets. Return MAP_FAILED and set errno to EINVAL for unknown flag bits. - This fixes BZ #31968. - - Note: A test must be added when a new flag bit is introduced. - - Signed-off-by: H.J. Lu - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 6c40cb0e9f893d49dc7caee580a055de53562206) - -diff --git a/NEWS b/NEWS -index 6b62f55658..5948704ef9 100644 ---- a/NEWS -+++ b/NEWS -@@ -11,6 +11,7 @@ The following bugs are resolved with this release: - - [30081] resolv: Do not wait for non-existing second DNS response after error - [31890] resolv: Allow short error responses to match any DNS query -+ [31968] mremap implementation in C does not handle arguments correctly - - Version 2.40 - -diff --git a/sysdeps/unix/sysv/linux/mremap.c b/sysdeps/unix/sysv/linux/mremap.c -index 4f770799c4..1ada5c1f40 100644 ---- a/sysdeps/unix/sysv/linux/mremap.c -+++ b/sysdeps/unix/sysv/linux/mremap.c -@@ -20,6 +20,12 @@ - #include - #include - #include -+#include -+ -+#define MREMAP_KNOWN_BITS \ -+ (MREMAP_MAYMOVE \ -+ | MREMAP_FIXED \ -+ | MREMAP_DONTUNMAP) - - void * - __mremap (void *addr, size_t old_len, size_t new_len, int flags, ...) -@@ -27,7 +33,13 @@ __mremap (void *addr, size_t old_len, size_t new_len, int flags, ...) - va_list va; - void *new_addr = NULL; - -- if (flags & MREMAP_FIXED) -+ if (flags & ~(MREMAP_KNOWN_BITS)) -+ { -+ __set_errno (EINVAL); -+ return MAP_FAILED; -+ } -+ -+ if (flags & (MREMAP_FIXED | MREMAP_DONTUNMAP)) - { - va_start (va, flags); - new_addr = va_arg (va, void *); - -commit 2eb2d78ca75d7432bd1d11d227f4c899554ea02e -Author: H.J. Lu -Date: Wed Jul 24 14:05:14 2024 -0700 - - mremap: Update manual entry - - Update mremap manual entry: - - 1. Change mremap to variadic. - 2. Document MREMAP_FIXED and MREMAP_DONTUNMAP. - - Signed-off-by: H.J. Lu - Reviewed-by: Adhemerval Zanella - (cherry picked from commit cb2dee4eccf46642eef588bee64f9c875c408f1c) - -diff --git a/NEWS b/NEWS -index 5948704ef9..8da0408ad9 100644 ---- a/NEWS -+++ b/NEWS -@@ -10,6 +10,7 @@ Version 2.40.1 - The following bugs are resolved with this release: - - [30081] resolv: Do not wait for non-existing second DNS response after error -+ [31968] mremap implementation in C does not handle arguments correctly - [31890] resolv: Allow short error responses to match any DNS query - [31968] mremap implementation in C does not handle arguments correctly - -diff --git a/manual/llio.texi b/manual/llio.texi -index 6f0a48609b..ea84196abd 100644 ---- a/manual/llio.texi -+++ b/manual/llio.texi -@@ -1892,7 +1892,7 @@ There is no existing mapping in at least part of the given region. - - @end deftypefun - --@deftypefun {void *} mremap (void *@var{address}, size_t @var{length}, size_t @var{new_length}, int @var{flag}) -+@deftypefun {void *} mremap (void *@var{address}, size_t @var{length}, size_t @var{new_length}, int @var{flag}, ... /* void *@var{new_address} */) - @standards{GNU, sys/mman.h} - @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} - -@@ -1901,12 +1901,40 @@ area. @var{address} and @var{length} must cover a region entirely mapped - in the same @code{mmap} statement. A new mapping with the same - characteristics will be returned with the length @var{new_length}. - --One option is possible, @code{MREMAP_MAYMOVE}. If it is given in --@var{flags}, the system may remove the existing mapping and create a new --one of the desired length in another location. -+Possible flags are - --The address of the resulting mapping is returned, or @math{-1}. Possible --error codes include: -+@table @code -+ -+@item MREMAP_MAYMOVE -+If it is given in @var{flags}, the system may remove the existing mapping -+and create a new one of the desired length in another location. -+ -+@item MREMAP_FIXED -+If it is given in @var{flags}, @code{mremap} accepts a fifth argument, -+@code{void *new_address}, which specifies a page-aligned address to -+which the mapping must be moved. Any previous mapping at the address -+range specified by @var{new_address} and @var{new_size} is unmapped. -+ -+@code{MREMAP_FIXED} must be used together with @code{MREMAP_MAYMOVE}. -+ -+@item MREMAP_DONTUNMAP -+If it is given in @var{flags}, @code{mremap} accepts a fifth argument, -+@code{void *new_address}, which specifies a page-aligned address. Any -+previous mapping at the address range specified by @var{new_address} and -+@var{new_size} is unmapped. If @var{new_address} is @code{NULL}, the -+kernel chooses the page-aligned address at which to create the mapping. -+Otherwise, the kernel takes it as a hint about where to place the mapping. -+The mapping at the address range specified by @var{old_address} and -+@var{old_size} isn't unmapped. -+ -+@code{MREMAP_DONTUNMAP} must be used together with @code{MREMAP_MAYMOVE}. -+@var{old_size} must be the same as @var{new_size}. This flag bit is -+Linux-specific. -+ -+@end table -+ -+The address of the resulting mapping is returned, or @code{MAP_FAILED}. -+Possible error codes include: - - @table @code - -@@ -1915,7 +1943,7 @@ There is no existing mapping in at least part of the original region, or - the region covers two or more distinct mappings. - - @item EINVAL --The address given is misaligned or inappropriate. -+Any arguments are inappropriate, including unknown @var{flags} values. - - @item EAGAIN - The region has pages locked, and if extended it would exceed the - -commit ca53bc68ab92ab413a7d53e951227d380a85ebd8 -Author: H.J. Lu -Date: Wed Jul 24 14:05:15 2024 -0700 - - Add mremap tests - - Add tests for MREMAP_MAYMOVE and MREMAP_FIXED. On Linux, also test - MREMAP_DONTUNMAP. - - Signed-off-by: H.J. Lu - Reviewed-by: Adhemerval Zanella - (cherry picked from commit ff0320bec2810192d453c579623482fab87bfa01) - -diff --git a/misc/Makefile b/misc/Makefile -index 5d17c562fe..7b7f8351bf 100644 ---- a/misc/Makefile -+++ b/misc/Makefile -@@ -257,6 +257,8 @@ tests := \ - tst-mntent-blank-passno \ - tst-mntent-escape \ - tst-mntent2 \ -+ tst-mremap1 \ -+ tst-mremap2 \ - tst-preadvwritev \ - tst-preadvwritev2 \ - tst-preadvwritev64 \ -diff --git a/misc/tst-mremap1.c b/misc/tst-mremap1.c -new file mode 100644 -index 0000000000..0469991a6c ---- /dev/null -+++ b/misc/tst-mremap1.c -@@ -0,0 +1,46 @@ -+/* Test mremap with MREMAP_MAYMOVE. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ size_t old_size = getpagesize (); -+ char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1); -+ old_addr[0] = 1; -+ old_addr[old_size - 1] = 2; -+ -+ /* Test MREMAP_MAYMOVE. */ -+ size_t new_size = old_size + old_size; -+ char *new_addr = mremap (old_addr, old_size, new_size, MREMAP_MAYMOVE); -+ TEST_VERIFY_EXIT (new_addr != MAP_FAILED); -+ new_addr[0] = 1; -+ new_addr[new_size - 1] = 2; -+ xmunmap (new_addr, new_size); -+ -+ return 0; -+} -+ -+#include -diff --git a/misc/tst-mremap2.c b/misc/tst-mremap2.c -new file mode 100644 -index 0000000000..45be7f0369 ---- /dev/null -+++ b/misc/tst-mremap2.c -@@ -0,0 +1,54 @@ -+/* Test mremap with MREMAP_FIXED. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ size_t old_size = getpagesize (); -+ size_t new_size = old_size + old_size; -+ char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1); -+ old_addr[0] = 1; -+ old_addr[old_size - 1] = 2; -+ -+ char *fixed_addr = xmmap (NULL, new_size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1); -+ fixed_addr[0] = 1; -+ fixed_addr[new_size - 1] = 2; -+ -+ /* Test MREMAP_FIXED. */ -+ char *new_addr = mremap (old_addr, old_size, new_size, -+ MREMAP_FIXED | MREMAP_MAYMOVE, -+ fixed_addr); -+ if (new_addr == MAP_FAILED) -+ return mremap_failure_exit (errno); -+ new_addr[0] = 1; -+ new_addr[new_size - 1] = 2; -+ xmunmap (new_addr, new_size); -+ -+ return 0; -+} -+ -+#include -diff --git a/sysdeps/generic/mremap-failure.h b/sysdeps/generic/mremap-failure.h -new file mode 100644 -index 0000000000..bc0d476368 ---- /dev/null -+++ b/sysdeps/generic/mremap-failure.h -@@ -0,0 +1,25 @@ -+/* mremap failure handling. Generic version. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* Return exit value on mremap failure with errno ERR. */ -+ -+static int -+mremap_failure_exit (int err) -+{ -+ return EXIT_FAILURE; -+} -diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile -index 097b5a26fc..59998c7af4 100644 ---- a/sysdeps/unix/sysv/linux/Makefile -+++ b/sysdeps/unix/sysv/linux/Makefile -@@ -206,6 +206,7 @@ tests += \ - tst-getauxval \ - tst-gettid \ - tst-gettid-kill \ -+ tst-linux-mremap1 \ - tst-memfd_create \ - tst-misalign-clone \ - tst-mlock2 \ -diff --git a/sysdeps/unix/sysv/linux/mremap-failure.h b/sysdeps/unix/sysv/linux/mremap-failure.h -new file mode 100644 -index 0000000000..c99ab30ca9 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/mremap-failure.h -@@ -0,0 +1,30 @@ -+/* mremap failure handling. Linux version. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+ -+/* Return exit value on mremap failure with errno ERR. */ -+ -+static int -+mremap_failure_exit (int err) -+{ -+ if (err != EINVAL) -+ return EXIT_FAILURE; -+ -+ return EXIT_UNSUPPORTED; -+} -diff --git a/sysdeps/unix/sysv/linux/tst-linux-mremap1.c b/sysdeps/unix/sysv/linux/tst-linux-mremap1.c -new file mode 100644 -index 0000000000..408e8af2ab ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/tst-linux-mremap1.c -@@ -0,0 +1,63 @@ -+/* Test mremap with MREMAP_DONTUNMAP. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ size_t old_size = getpagesize (); -+ size_t new_size = old_size; -+ char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1); -+ old_addr[0] = 1; -+ old_addr[old_size - 1] = 2; -+ -+ /* Create an available 64-page mmap region. */ -+ size_t fixed_size = old_size * 64; -+ char *fixed_addr = xmmap (NULL, fixed_size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1); -+ xmunmap (fixed_addr, fixed_size); -+ -+ /* Add 3 * pagesize. */ -+ fixed_size += 3 * old_size; -+ -+ /* Test MREMAP_DONTUNMAP. It should return FIXED_ADDR created above. */ -+ char *new_addr = mremap (old_addr, old_size, new_size, -+ MREMAP_DONTUNMAP | MREMAP_MAYMOVE, -+ fixed_addr); -+ if (new_addr == MAP_FAILED) -+ return mremap_failure_exit (errno); -+ TEST_VERIFY_EXIT (fixed_addr == new_addr); -+ old_addr[0] = 3; -+ old_addr[old_size - 1] = 4; -+ new_addr[0] = 1; -+ new_addr[new_size - 1] = 2; -+ xmunmap (new_addr, new_size); -+ xmunmap (old_addr, old_size); -+ -+ return 0; -+} -+ -+#include - -commit 928769737c8f0cbb51dfa2a02de0594c2395d802 -Author: Florian Weimer -Date: Thu Aug 1 10:46:10 2024 +0200 - - resolv: Fix tst-resolv-short-response for older GCC (bug 32042) - - Previous GCC versions do not support the C23 change that - allows labels on declarations. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit ec119972cb2598c04ec7d4219e20506006836f64) - -diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c -index be354ae1c7..9b06b0c176 100644 ---- a/resolv/tst-resolv-short-response.c -+++ b/resolv/tst-resolv-short-response.c -@@ -33,8 +33,10 @@ response (const struct resolv_response_context *ctx, - { - case 0: - /* First server times out. */ -- struct resolv_response_flags flags = {.rcode = rcode}; -- resolv_response_init (b, flags); -+ { -+ struct resolv_response_flags flags = {.rcode = rcode}; -+ resolv_response_init (b, flags); -+ } - break; - case 1: - /* Second server sends reply. */ - -commit aa533d58ff12e27771d9c960a727d74992a3f2a3 -Author: Florian Weimer -Date: Fri Aug 2 15:22:14 2024 +0200 - - x86: Tunables may incorrectly set Prefer_PMINUB_for_stringop (bug 32047) - - Fixes commit 5bcf6265f215326d14dfacdce8532792c2c7f8f8 ("x86: - Disable non-temporal memset on Skylake Server"). - - Reviewed-by: Noah Goldstein - (cherry picked from commit 7a630f7d3392ca391a399486ce2846f9e4b4ee63) - -diff --git a/sysdeps/x86/cpu-tunables.c b/sysdeps/x86/cpu-tunables.c -index ae9dcd6180..ccc6b64dc2 100644 ---- a/sysdeps/x86/cpu-tunables.c -+++ b/sysdeps/x86/cpu-tunables.c -@@ -248,6 +248,7 @@ TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *valp) - CHECK_GLIBC_IFUNC_PREFERRED_BOTH (n, cpu_features, - Avoid_Non_Temporal_Memset, 25); - } -+ break; - case 26: - { - CHECK_GLIBC_IFUNC_PREFERRED_NEED_BOTH - -commit 6a97e2ba144a554809161d488f25e4bae07c9405 -Author: Andreas Schwab -Date: Mon Aug 5 10:55:51 2024 +0200 - - Fix name space violation in fortify wrappers (bug 32052) - - Rename the identifier sz to __sz everywhere. - - Fixes: a643f60c53 ("Make sure that the fortified function conditionals are constant") - (cherry picked from commit 39ca997ab378990d5ac1aadbaa52aaf1db6d526f) - -diff --git a/NEWS b/NEWS -index 8da0408ad9..b9eb4a558b 100644 ---- a/NEWS -+++ b/NEWS -@@ -13,6 +13,7 @@ The following bugs are resolved with this release: - [31968] mremap implementation in C does not handle arguments correctly - [31890] resolv: Allow short error responses to match any DNS query - [31968] mremap implementation in C does not handle arguments correctly -+ [32052] Name space violation in fortify wrappers - - Version 2.40 - -diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h -index 91a80dd7c6..4b8bc35bdf 100644 ---- a/libio/bits/stdio2.h -+++ b/libio/bits/stdio2.h -@@ -308,14 +308,14 @@ fgets (__fortify_clang_overload_arg (char *, __restrict, __s), int __n, - "fgets called with bigger size than length of " - "destination buffer") - { -- size_t sz = __glibc_objsize (__s); -- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) -+ size_t __sz = __glibc_objsize (__s); -+ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) - return __fgets_alias (__s, __n, __stream); - #if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, sizeof (char), sz)) -- return __fgets_chk_warn (__s, sz, __n, __stream); -+ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) -+ return __fgets_chk_warn (__s, __sz, __n, __stream); - #endif -- return __fgets_chk (__s, sz, __n, __stream); -+ return __fgets_chk (__s, __sz, __n, __stream); - } - - __fortify_function __wur __nonnull ((4)) __attribute_overloadable__ size_t -@@ -326,14 +326,14 @@ fread (__fortify_clang_overload_arg (void *, __restrict, __ptr), - "fread called with bigger size * n than length " - "of destination buffer") - { -- size_t sz = __glibc_objsize0 (__ptr); -- if (__glibc_safe_or_unknown_len (__n, __size, sz)) -+ size_t __sz = __glibc_objsize0 (__ptr); -+ if (__glibc_safe_or_unknown_len (__n, __size, __sz)) - return __fread_alias (__ptr, __size, __n, __stream); - #if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, __size, sz)) -- return __fread_chk_warn (__ptr, sz, __size, __n, __stream); -+ if (__glibc_unsafe_len (__n, __size, __sz)) -+ return __fread_chk_warn (__ptr, __sz, __size, __n, __stream); - #endif -- return __fread_chk (__ptr, sz, __size, __n, __stream); -+ return __fread_chk (__ptr, __sz, __size, __n, __stream); - } - - #ifdef __USE_GNU -@@ -345,14 +345,14 @@ fgets_unlocked (__fortify_clang_overload_arg (char *, __restrict, __s), - "fgets called with bigger size than length of " - "destination buffer") - { -- size_t sz = __glibc_objsize (__s); -- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) -+ size_t __sz = __glibc_objsize (__s); -+ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) - return __fgets_unlocked_alias (__s, __n, __stream); - #if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, sizeof (char), sz)) -- return __fgets_unlocked_chk_warn (__s, sz, __n, __stream); -+ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) -+ return __fgets_unlocked_chk_warn (__s, __sz, __n, __stream); - #endif -- return __fgets_unlocked_chk (__s, sz, __n, __stream); -+ return __fgets_unlocked_chk (__s, __sz, __n, __stream); - } - #endif - -@@ -366,8 +366,8 @@ fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr), - "fread_unlocked called with bigger size * n than " - "length of destination buffer") - { -- size_t sz = __glibc_objsize0 (__ptr); -- if (__glibc_safe_or_unknown_len (__n, __size, sz)) -+ size_t __sz = __glibc_objsize0 (__ptr); -+ if (__glibc_safe_or_unknown_len (__n, __size, __sz)) - { - # ifdef __USE_EXTERN_INLINES - if (__builtin_constant_p (__size) -@@ -393,10 +393,10 @@ fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr), - return __fread_unlocked_alias (__ptr, __size, __n, __stream); - } - # if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, __size, sz)) -- return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); -+ if (__glibc_unsafe_len (__n, __size, __sz)) -+ return __fread_unlocked_chk_warn (__ptr, __sz, __size, __n, __stream); - # endif -- return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); -+ return __fread_unlocked_chk (__ptr, __sz, __size, __n, __stream); - - } - #endif -diff --git a/socket/bits/socket2.h b/socket/bits/socket2.h -index 04780f320e..bd91647f37 100644 ---- a/socket/bits/socket2.h -+++ b/socket/bits/socket2.h -@@ -37,14 +37,14 @@ recv (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), size_t __n, - "recv called with bigger length than " - "size of destination buffer") - { -- size_t sz = __glibc_objsize0 (__buf); -- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) -+ size_t __sz = __glibc_objsize0 (__buf); -+ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) - return __recv_alias (__fd, __buf, __n, __flags); - #if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, sizeof (char), sz)) -- return __recv_chk_warn (__fd, __buf, __n, sz, __flags); -+ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) -+ return __recv_chk_warn (__fd, __buf, __n, __sz, __flags); - #endif -- return __recv_chk (__fd, __buf, __n, sz, __flags); -+ return __recv_chk (__fd, __buf, __n, __sz, __flags); - } - - extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, -@@ -71,13 +71,13 @@ recvfrom (int __fd, __fortify_clang_overload_arg0 (void *, __restrict, __buf), - "recvfrom called with bigger length " - "than size of destination buffer") - { -- size_t sz = __glibc_objsize0 (__buf); -- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) -+ size_t __sz = __glibc_objsize0 (__buf); -+ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) - return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); - #if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, sizeof (char), sz)) -- return __recvfrom_chk_warn (__fd, __buf, __n, sz, __flags, __addr, -+ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) -+ return __recvfrom_chk_warn (__fd, __buf, __n, __sz, __flags, __addr, - __addr_len); - #endif -- return __recvfrom_chk (__fd, __buf, __n, sz, __flags, __addr, __addr_len); -+ return __recvfrom_chk (__fd, __buf, __n, __sz, __flags, __addr, __addr_len); - } -diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h -index 1557b862b1..9c78ecf458 100644 ---- a/stdlib/bits/stdlib.h -+++ b/stdlib/bits/stdlib.h -@@ -43,16 +43,16 @@ __NTH (realpath (const char *__restrict __name, - "bytes long buffer") - #endif - { -- size_t sz = __glibc_objsize (__resolved); -+ size_t __sz = __glibc_objsize (__resolved); - -- if (sz == (size_t) -1) -+ if (__sz == (size_t) -1) - return __realpath_alias (__name, __resolved); - - #if !__fortify_use_clang && defined _LIBC_LIMITS_H_ && defined PATH_MAX -- if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz)) -- return __realpath_chk_warn (__name, __resolved, sz); -+ if (__glibc_unsafe_len (PATH_MAX, sizeof (char), __sz)) -+ return __realpath_chk_warn (__name, __resolved, __sz); - #endif -- return __realpath_chk (__name, __resolved, sz); -+ return __realpath_chk (__name, __resolved, __sz); - } - - -diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h -index 9fdff47ee2..43c6b63027 100644 ---- a/wcsmbs/bits/wchar2.h -+++ b/wcsmbs/bits/wchar2.h -@@ -74,9 +74,9 @@ __fortify_function __attribute_overloadable__ wchar_t * - __NTH (wcscpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), - const wchar_t *__restrict __src)) - { -- size_t sz = __glibc_objsize (__dest); -- if (sz != (size_t) -1) -- return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t)); -+ size_t __sz = __glibc_objsize (__dest); -+ if (__sz != (size_t) -1) -+ return __wcscpy_chk (__dest, __src, __sz / sizeof (wchar_t)); - return __wcscpy_alias (__dest, __src); - } - -@@ -84,9 +84,9 @@ __fortify_function __attribute_overloadable__ wchar_t * - __NTH (wcpcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), - const wchar_t *__restrict __src)) - { -- size_t sz = __glibc_objsize (__dest); -- if (sz != (size_t) -1) -- return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t)); -+ size_t __sz = __glibc_objsize (__dest); -+ if (__sz != (size_t) -1) -+ return __wcpcpy_chk (__dest, __src, __sz / sizeof (wchar_t)); - return __wcpcpy_alias (__dest, __src); - } - -@@ -118,9 +118,9 @@ __fortify_function __attribute_overloadable__ wchar_t * - __NTH (wcscat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), - const wchar_t *__restrict __src)) - { -- size_t sz = __glibc_objsize (__dest); -- if (sz != (size_t) -1) -- return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t)); -+ size_t __sz = __glibc_objsize (__dest); -+ if (__sz != (size_t) -1) -+ return __wcscat_chk (__dest, __src, __sz / sizeof (wchar_t)); - return __wcscat_alias (__dest, __src); - } - -@@ -128,9 +128,9 @@ __fortify_function __attribute_overloadable__ wchar_t * - __NTH (wcsncat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), - const wchar_t *__restrict __src, size_t __n)) - { -- size_t sz = __glibc_objsize (__dest); -- if (sz != (size_t) -1) -- return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t)); -+ size_t __sz = __glibc_objsize (__dest); -+ if (__sz != (size_t) -1) -+ return __wcsncat_chk (__dest, __src, __n, __sz / sizeof (wchar_t)); - return __wcsncat_alias (__dest, __src, __n); - } - -@@ -170,10 +170,10 @@ __fortify_function int - __NTH (swprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, ...)) - { -- size_t sz = __glibc_objsize (__s); -- if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) -+ size_t __sz = __glibc_objsize (__s); -+ if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) - return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, -- sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); -+ __sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); - return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ()); - } - #elif __fortify_use_clang -@@ -206,10 +206,10 @@ __fortify_function int - __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) - { -- size_t sz = __glibc_objsize (__s); -- if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) -+ size_t __sz = __glibc_objsize (__s); -+ if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) - return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, -- sz / sizeof (wchar_t), __fmt, __ap); -+ __sz / sizeof (wchar_t), __fmt, __ap); - return __vswprintf_alias (__s, __n, __fmt, __ap); - } - -@@ -257,14 +257,14 @@ fgetws (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), int __n, - "fgetws called with length bigger " - "than size of destination buffer") - { -- size_t sz = __glibc_objsize (__s); -- if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) -+ size_t __sz = __glibc_objsize (__s); -+ if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz)) - return __fgetws_alias (__s, __n, __stream); - #if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) -- return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream); -+ if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz)) -+ return __fgetws_chk_warn (__s, __sz / sizeof (wchar_t), __n, __stream); - #endif -- return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream); -+ return __fgetws_chk (__s, __sz / sizeof (wchar_t), __n, __stream); - } - - #ifdef __USE_GNU -@@ -275,15 +275,15 @@ fgetws_unlocked (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), - "fgetws_unlocked called with length bigger " - "than size of destination buffer") - { -- size_t sz = __glibc_objsize (__s); -- if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) -+ size_t __sz = __glibc_objsize (__s); -+ if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz)) - return __fgetws_unlocked_alias (__s, __n, __stream); - # if !__fortify_use_clang -- if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) -- return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n, -+ if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz)) -+ return __fgetws_unlocked_chk_warn (__s, __sz / sizeof (wchar_t), __n, - __stream); - # endif -- return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream); -+ return __fgetws_unlocked_chk (__s, __sz / sizeof (wchar_t), __n, __stream); - } - #endif - - -commit 5641780762723156b0d20a0b9f7df1d76831bab0 -Author: Arjun Shankar -Date: Tue Jul 30 11:37:57 2024 +0200 - - manual/stdio: Further clarify putc, putwc, getc, and getwc - - This is a follow-up to 10de4a47ef3f481592e3c62eb07bcda23e9fde4d that - reworded the manual entries for putc and putwc and removed any - performance claims. - - This commit further clarifies these entries and brings getc and getwc in - line with the descriptions of putc and putwc, removing any performance - claims from them as well. - Reviewed-by: Florian Weimer - - (cherry picked from commit 942670c81dc8071dd75d6213e771daa5d2084cb6) - -diff --git a/manual/stdio.texi b/manual/stdio.texi -index f9529a098d..8517653507 100644 ---- a/manual/stdio.texi -+++ b/manual/stdio.texi -@@ -904,20 +904,16 @@ This function is a GNU extension. - @standards{ISO, stdio.h} - @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} - This is just like @code{fputc}, except that it may be implemented as --a macro, making it faster. One consequence is that it may evaluate the --@var{stream} argument more than once, which is an exception to the --general rule for macros. Therefore, @var{stream} should never be an --expression with side-effects. -+a macro and may evaluate the @var{stream} argument more than once. -+Therefore, @var{stream} should never be an expression with side-effects. - @end deftypefun - - @deftypefun wint_t putwc (wchar_t @var{wc}, FILE *@var{stream}) - @standards{ISO, wchar.h} - @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} - This is just like @code{fputwc}, except that it may be implemented as --a macro, making it faster. One consequence is that it may evaluate the --@var{stream} argument more than once, which is an exception to the --general rule for macros. Therefore, @var{stream} should never be an --expression with side-effects. -+a macro and may evaluate the @var{stream} argument more than once. -+Therefore, @var{stream} should never be an expression with side-effects. - @end deftypefun - - @deftypefun int putc_unlocked (int @var{c}, FILE *@var{stream}) -@@ -1110,20 +1106,17 @@ This function is a GNU extension. - @deftypefun int getc (FILE *@var{stream}) - @standards{ISO, stdio.h} - @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@aculock{} @acucorrupt{}}} --This is just like @code{fgetc}, except that it is permissible (and --typical) for it to be implemented as a macro that evaluates the --@var{stream} argument more than once. @code{getc} is often highly --optimized, so it is usually the best function to use to read a single --character. -+This is just like @code{fgetc}, except that it may be implemented as -+a macro and may evaluate the @var{stream} argument more than once. -+Therefore, @var{stream} should never be an expression with side-effects. - @end deftypefun - - @deftypefun wint_t getwc (FILE *@var{stream}) - @standards{ISO, wchar.h} - @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@aculock{} @acucorrupt{}}} --This is just like @code{fgetwc}, except that it is permissible for it to --be implemented as a macro that evaluates the @var{stream} argument more --than once. @code{getwc} can be highly optimized, so it is usually the --best function to use to read a single wide character. -+This is just like @code{fgetwc}, except that it may be implemented as -+a macro and may evaluate the @var{stream} argument more than once. -+Therefore, @var{stream} should never be an expression with side-effects. - @end deftypefun - - @deftypefun int getc_unlocked (FILE *@var{stream}) - -commit 39ee60a719eb6ffde76ccc232d79273c473d7a93 -Author: Florian Weimer -Date: Fri Aug 9 17:01:17 2024 +0200 - - support: Add options list terminator to the test driver - - This avoids crashes if a test is passed unknown options. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit c2a474f4617ede7a8bf56b7257acb37dc757b2d1) - -diff --git a/support/test-driver.c b/support/test-driver.c -index f4c3e4d666..04ceebc08f 100644 ---- a/support/test-driver.c -+++ b/support/test-driver.c -@@ -155,6 +155,7 @@ main (int argc, char **argv) - { - CMDLINE_OPTIONS - TEST_DEFAULT_OPTIONS -+ { 0, } - }; - test_config.options = &options; - #endif - -commit e3556937c2402b8acf2e586bf53168e9f482ba91 -Author: H.J. Lu -Date: Mon Jul 22 17:47:21 2024 -0700 - - x86-64: Remove sysdeps/x86_64/x32/dl-machine.h - - Remove sysdeps/x86_64/x32/dl-machine.h by folding x32 ARCH_LA_PLTENTER, - ARCH_LA_PLTEXIT and RTLD_START into sysdeps/x86_64/dl-machine.h. There - are no regressions on x86-64 nor x32. There are no changes in x86-64 - _dl_start_user. On x32, _dl_start_user changes are - - <_dl_start_user>: - mov %eax,%r12d - + mov %esp,%r13d - mov (%rsp),%edx - mov %edx,%esi - - mov %esp,%r13d - and $0xfffffff0,%esp - mov 0x0(%rip),%edi # <_dl_start_user+0x14> - lea 0x8(%r13,%rdx,4),%ecx - - Signed-off-by: H.J. Lu - Reviewed-by: Noah Goldstein - (cherry picked from commit 652c6cf26927352fc0e37e4e60c6fc98ddf6d3b4) - -diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h -index a6de3793e4..4f12955875 100644 ---- a/sysdeps/x86_64/dl-machine.h -+++ b/sysdeps/x86_64/dl-machine.h -@@ -139,37 +139,37 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], - .globl _start\n\ - .globl _dl_start_user\n\ - _start:\n\ -- movq %rsp, %rdi\n\ -+ mov %" RSP_LP ", %" RDI_LP "\n\ - call _dl_start\n\ - _dl_start_user:\n\ - # Save the user entry point address in %r12.\n\ -- movq %rax, %r12\n\ -+ mov %" RAX_LP ", %" R12_LP "\n\ - # Save %rsp value in %r13.\n\ -- movq %rsp, %r13\n\ -+ mov %" RSP_LP ", % " R13_LP "\n\ - "\ - RTLD_START_ENABLE_X86_FEATURES \ - "\ - # Read the original argument count.\n\ -- movq (%rsp), %rdx\n\ -+ mov (%rsp), %" RDX_LP "\n\ - # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ - # argc -> rsi\n\ -- movq %rdx, %rsi\n\ -+ mov %" RDX_LP ", %" RSI_LP "\n\ - # And align stack for the _dl_init call. \n\ -- andq $-16, %rsp\n\ -+ and $-16, %" RSP_LP "\n\ - # _dl_loaded -> rdi\n\ -- movq _rtld_local(%rip), %rdi\n\ -+ mov _rtld_local(%rip), %" RDI_LP "\n\ - # env -> rcx\n\ -- leaq 16(%r13,%rdx,8), %rcx\n\ -+ lea 2*" LP_SIZE "(%r13,%rdx," LP_SIZE "), %" RCX_LP "\n\ - # argv -> rdx\n\ -- leaq 8(%r13), %rdx\n\ -+ lea " LP_SIZE "(%r13), %" RDX_LP "\n\ - # Clear %rbp to mark outermost frame obviously even for constructors.\n\ - xorl %ebp, %ebp\n\ - # Call the function to run the initializers.\n\ - call _dl_init\n\ - # Pass our finalizer function to the user in %rdx, as per ELF ABI.\n\ -- leaq _dl_fini(%rip), %rdx\n\ -+ lea _dl_fini(%rip), %" RDX_LP "\n\ - # And make sure %rsp points to argc stored on the stack.\n\ -- movq %r13, %rsp\n\ -+ mov %" R13_LP ", %" RSP_LP "\n\ - # Jump to the user's entry point.\n\ - jmp *%r12\n\ - .previous\n\ -@@ -234,8 +234,13 @@ elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc, - - - /* Names of the architecture-specific auditing callback functions. */ -+#ifdef __LP64__ - #define ARCH_LA_PLTENTER x86_64_gnu_pltenter - #define ARCH_LA_PLTEXIT x86_64_gnu_pltexit -+#else -+#define ARCH_LA_PLTENTER x32_gnu_pltenter -+#define ARCH_LA_PLTEXIT x32_gnu_pltexit -+#endif - - #endif /* !dl_machine_h */ - -diff --git a/sysdeps/x86_64/x32/dl-machine.h b/sysdeps/x86_64/x32/dl-machine.h -deleted file mode 100644 -index c35cee9261..0000000000 ---- a/sysdeps/x86_64/x32/dl-machine.h -+++ /dev/null -@@ -1,76 +0,0 @@ --/* Machine-dependent ELF dynamic relocation inline functions. x32 version. -- Copyright (C) 2012-2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --/* Must allow to be included more than once. -- See #ifdef RESOLVE_MAP in sysdeps/x86_64/dl-machine.h. */ --#include -- --#ifndef _X32_DL_MACHINE_H --#define _X32_DL_MACHINE_H -- --#undef ARCH_LA_PLTENTER --#undef ARCH_LA_PLTEXIT --#undef RTLD_START -- --/* Names of the architecture-specific auditing callback functions. */ --#define ARCH_LA_PLTENTER x32_gnu_pltenter --#define ARCH_LA_PLTEXIT x32_gnu_pltexit -- --/* Initial entry point code for the dynamic linker. -- The C function `_dl_start' is the real entry point; -- its return value is the user program's entry point. */ --#define RTLD_START asm ("\n\ --.text\n\ -- .p2align 4\n\ --.globl _start\n\ --.globl _dl_start_user\n\ --_start:\n\ -- movl %esp, %edi\n\ -- call _dl_start\n\ --_dl_start_user:\n\ -- # Save the user entry point address in %r12.\n\ -- movl %eax, %r12d\n\ -- # Read the original argument count.\n\ -- movl (%rsp), %edx\n\ -- # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ -- # argc -> rsi\n\ -- movl %edx, %esi\n\ -- # Save %rsp value in %r13.\n\ -- movl %esp, %r13d\n\ -- # And align stack for the _dl_init call.\n\ -- and $-16, %esp\n\ -- # _dl_loaded -> rdi\n\ -- movl _rtld_local(%rip), %edi\n\ -- # env -> rcx\n\ -- lea 8(%r13,%rdx,4), %ecx\n\ -- # argv -> rdx\n\ -- lea 4(%r13), %edx\n\ -- # Clear %rbp to mark outermost frame obviously even for constructors.\n\ -- xorl %ebp, %ebp\n\ -- # Call the function to run the initializers.\n\ -- call _dl_init\n\ -- # Pass our finalizer function to the user in %rdx, as per ELF ABI.\n\ -- lea _dl_fini(%rip), %edx\n\ -- # And make sure %rsp points to argc stored on the stack.\n\ -- movl %r13d, %esp\n\ -- # Jump to the user's entry point.\n\ -- jmp *%r12\n\ --.previous\n\ --"); -- --#endif /* !_X32_DL_MACHINE_H */ - -commit 898f25e0b1026be5701d05715600be646e9d0714 -Author: H.J. Lu -Date: Mon Jul 22 17:47:22 2024 -0700 - - x32/cet: Support shadow stack during startup for Linux 6.10 - - Use RXX_LP in RTLD_START_ENABLE_X86_FEATURES. Support shadow stack during - startup for Linux 6.10: - - commit 2883f01ec37dd8668e7222dfdb5980c86fdfe277 - Author: H.J. Lu - Date: Fri Mar 15 07:04:33 2024 -0700 - - x86/shstk: Enable shadow stacks for x32 - - 1. Add shadow stack support to x32 signal. - 2. Use the 64-bit map_shadow_stack syscall for x32. - 3. Set up shadow stack for x32. - - Add the map_shadow_stack system call to and regenerate - arch-syscall.h. Tested on Intel Tiger Lake with CET enabled x32. There - are no regressions with CET enabled x86-64. There are no changes in CET - enabled x86-64 _dl_start_user. - - Signed-off-by: H.J. Lu - Reviewed-by: Noah Goldstein - (cherry picked from commit 8344c1f5514b1b5b1c8c6e48f4b802653bd23b71) - -diff --git a/sysdeps/unix/sysv/linux/x86_64/dl-cet.h b/sysdeps/unix/sysv/linux/x86_64/dl-cet.h -index 1fe3133406..b4f7e6c9cd 100644 ---- a/sysdeps/unix/sysv/linux/x86_64/dl-cet.h -+++ b/sysdeps/unix/sysv/linux/x86_64/dl-cet.h -@@ -92,9 +92,9 @@ dl_cet_ibt_enabled (void) - # Pass GL(dl_x86_feature_1) to _dl_cet_setup_features.\n\ - movl %edx, %edi\n\ - # Align stack for the _dl_cet_setup_features call.\n\ -- andq $-16, %rsp\n\ -+ and $-16, %" RSP_LP "\n\ - call _dl_cet_setup_features\n\ - # Restore %rax and %rsp from %r12 and %r13.\n\ -- movq %r12, %rax\n\ -- movq %r13, %rsp\n\ -+ mov %" R12_LP ", %" RAX_LP "\n\ -+ mov %" R13_LP ", %" RSP_LP "\n\ - " -diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h -index 3040a47d72..df3e22236d 100644 ---- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h -+++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h -@@ -155,6 +155,7 @@ - #define __NR_lsm_set_self_attr 1073742284 - #define __NR_lstat 1073741830 - #define __NR_madvise 1073741852 -+#define __NR_map_shadow_stack 1073742277 - #define __NR_mbind 1073742061 - #define __NR_membarrier 1073742148 - #define __NR_memfd_create 1073742143 -diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h b/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h -index 98124169e6..47fa8af4ce 100644 ---- a/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h -+++ b/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h -@@ -15,6 +15,10 @@ - License along with the GNU C Library; if not, see - . */ - -+#ifndef __NR_map_shadow_stack -+# define __NR_map_shadow_stack 1073742277 -+#endif -+ - /* X32 uses the same 64-bit syscall interface for set_thread_area. */ - #ifndef __NR_set_thread_area - # define __NR_set_thread_area 1073742029 - -commit c0af0c2ba016030c778bc22c55f5f9498f96b8b9 -Author: Noah Goldstein -Date: Tue Aug 13 23:29:14 2024 +0800 - - x86: Fix bug in strchrnul-evex512 [BZ #32078] - - Issue was we were expecting not matches with CHAR before the start of - the string in the page cross case. - - The check code in the page cross case: - ``` - and $0xffffffffffffffc0,%rax - vmovdqa64 (%rax),%zmm17 - vpcmpneqb %zmm17,%zmm16,%k1 - vptestmb %zmm17,%zmm17,%k0{%k1} - kmovq %k0,%rax - inc %rax - shr %cl,%rax - je L(continue) - ``` - - expects that all characters that neither match null nor CHAR will be - 1s in `rax` prior to the `inc`. Then the `inc` will overflow all of - the 1s where no relevant match was found. - - This is incorrect in the page-cross case, as the - `vmovdqa64 (%rax),%zmm17` loads from before the start of the input - string. - - If there are matches with CHAR before the start of the string, `rax` - won't properly overflow. - - The fix is quite simple. Just replace: - - ``` - inc %rax - shr %cl,%rax - ``` - With: - ``` - sar %cl,%rax - inc %rax - ``` - - The arithmetic shift will clear any matches prior to the start of the - string while maintaining the signbit so the 1s can properly overflow - to zero in the case of no matches. - Reviewed-by: H.J. Lu - - (cherry picked from commit 7da08862471dfec6fdae731c2a5f351ad485c71f) - -diff --git a/string/test-strchr.c b/string/test-strchr.c -index c795eac6fa..72b17af687 100644 ---- a/string/test-strchr.c -+++ b/string/test-strchr.c -@@ -255,6 +255,69 @@ check1 (void) - check_result (impl, s, c, exp_result); - } - -+static void -+check2 (void) -+{ -+ CHAR *s = (CHAR *) (buf1 + getpagesize () - 4 * sizeof (CHAR)); -+ CHAR *s_begin = (CHAR *) (buf1 + getpagesize () - 64); -+#ifndef USE_FOR_STRCHRNUL -+ CHAR *exp_result = NULL; -+#else -+ CHAR *exp_result = s + 1; -+#endif -+ CHAR val = 0x12; -+ for (; s_begin != s; ++s_begin) -+ *s_begin = val; -+ -+ s[0] = val + 1; -+ s[1] = 0; -+ s[2] = val + 1; -+ s[3] = val + 1; -+ -+ { -+ FOR_EACH_IMPL (impl, 0) -+ check_result (impl, s, val, exp_result); -+ } -+ s[3] = val; -+ { -+ FOR_EACH_IMPL (impl, 0) -+ check_result (impl, s, val, exp_result); -+ } -+ exp_result = s; -+ s[0] = val; -+ { -+ FOR_EACH_IMPL (impl, 0) -+ check_result (impl, s, val, exp_result); -+ } -+ -+ s[3] = val + 1; -+ { -+ FOR_EACH_IMPL (impl, 0) -+ check_result (impl, s, val, exp_result); -+ } -+ -+ s[0] = val + 1; -+ s[1] = val + 1; -+ s[2] = val + 1; -+ s[3] = val + 1; -+ s[4] = val; -+ exp_result = s + 4; -+ { -+ FOR_EACH_IMPL (impl, 0) -+ check_result (impl, s, val, exp_result); -+ } -+ s[4] = 0; -+#ifndef USE_FOR_STRCHRNUL -+ exp_result = NULL; -+#else -+ exp_result = s + 4; -+#endif -+ { -+ FOR_EACH_IMPL (impl, 0) -+ check_result (impl, s, val, exp_result); -+ } -+} -+ - int - test_main (void) - { -@@ -263,7 +326,7 @@ test_main (void) - test_init (); - - check1 (); -- -+ check2 (); - printf ("%20s", ""); - FOR_EACH_IMPL (impl, 0) - printf ("\t%s", impl->name); -diff --git a/sysdeps/x86_64/multiarch/strchr-evex-base.S b/sysdeps/x86_64/multiarch/strchr-evex-base.S -index 04e2c0e79e..3a0b7c9d64 100644 ---- a/sysdeps/x86_64/multiarch/strchr-evex-base.S -+++ b/sysdeps/x86_64/multiarch/strchr-evex-base.S -@@ -124,13 +124,13 @@ L(page_cross): - VPCMPNE %VMM(1), %VMM(0), %k1 - VPTEST %VMM(1), %VMM(1), %k0{%k1} - KMOV %k0, %VRAX --# ifdef USE_AS_WCSCHR -+ sar %cl, %VRAX -+#ifdef USE_AS_WCSCHR - sub $VEC_MATCH_MASK, %VRAX --# else -+#else - inc %VRAX --# endif -+#endif - /* Ignore number of character for alignment adjustment. */ -- shr %cl, %VRAX - jz L(align_more) - - bsf %VRAX, %VRAX - -commit 586e4cd8c67df95ebb0bfecea3d007bff618d6d9 -Author: Florian Weimer -Date: Fri Aug 9 16:17:14 2024 +0200 - - Define __libc_initial for the static libc - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit eb0e50e9a1cf80a2ba6f33f990a08ef37a3267fb) - -diff --git a/include/libc-internal.h b/include/libc-internal.h -index 87ac591835..1ef43ffe67 100644 ---- a/include/libc-internal.h -+++ b/include/libc-internal.h -@@ -53,6 +53,9 @@ extern __typeof (__profile_frequency) __profile_frequency attribute_hidden; - is not for an audit module, not loaded via dlmopen, and not loaded - via static dlopen either). */ - extern _Bool __libc_initial attribute_hidden; -+#else -+/* The static libc is always the initial namespace. */ -+# define __libc_initial ((_Bool) 1) - #endif - - #endif /* _LIBC_INTERNAL */ - -commit 709319f9de6f976f9feceb623cb2c96769e9d78b -Author: Florian Weimer -Date: Mon Aug 19 15:48:03 2024 +0200 - - string: strerror, strsignal cannot use buffer after dlmopen (bug 32026) - - Secondary namespaces have a different malloc. Allocating the - buffer in one namespace and freeing it another results in - heap corruption. Fix this by using a static string (potentially - translated) in secondary namespaces. It would also be possible - to use the malloc from the initial namespace to manage the - buffer, but these functions would still not be safe to use in - auditors etc. because a call to strerror could still free a - buffer while it is used by the application. Another approach - could use proper initial-exec TLS, duplicated in secondary - namespaces, but that would need a callback interface for freeing - libc resources in namespaces on thread exit, which does not exist - today. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 25a5eb4010df94b412c67db9e346029de316d06b) - -diff --git a/NEWS b/NEWS -index b9eb4a558b..10a125bc66 100644 ---- a/NEWS -+++ b/NEWS -@@ -13,6 +13,7 @@ The following bugs are resolved with this release: - [31968] mremap implementation in C does not handle arguments correctly - [31890] resolv: Allow short error responses to match any DNS query - [31968] mremap implementation in C does not handle arguments correctly -+ [32026] strerror/strsignal TLS not handled correctly for secondary namespaces - [32052] Name space violation in fortify wrappers - - Version 2.40 -diff --git a/string/strerror_l.c b/string/strerror_l.c -index 15cce261e6..70456e5bb4 100644 ---- a/string/strerror_l.c -+++ b/string/strerror_l.c -@@ -20,7 +20,7 @@ - #include - #include - #include -- -+#include - - static const char * - translate (const char *str, locale_t loc) -@@ -31,6 +31,12 @@ translate (const char *str, locale_t loc) - return res; - } - -+static char * -+unknown_error (locale_t loc) -+{ -+ return (char *) translate ("Unknown error", loc); -+} -+ - - /* Return a string describing the errno code in ERRNUM. */ - char * -@@ -40,18 +46,25 @@ __strerror_l (int errnum, locale_t loc) - char *err = (char *) __get_errlist (errnum); - if (__glibc_unlikely (err == NULL)) - { -- struct tls_internal_t *tls_internal = __glibc_tls_internal (); -- free (tls_internal->strerror_l_buf); -- if (__asprintf (&tls_internal->strerror_l_buf, "%s%d", -- translate ("Unknown error ", loc), errnum) > 0) -- err = tls_internal->strerror_l_buf; -- else -+ if (__libc_initial) - { -- /* The memory was freed above. */ -- tls_internal->strerror_l_buf = NULL; -- /* Provide a fallback translation. */ -- err = (char *) translate ("Unknown error", loc); -+ struct tls_internal_t *tls_internal = __glibc_tls_internal (); -+ free (tls_internal->strerror_l_buf); -+ if (__asprintf (&tls_internal->strerror_l_buf, "%s%d", -+ translate ("Unknown error ", loc), errnum) > 0) -+ err = tls_internal->strerror_l_buf; -+ else -+ { -+ /* The memory was freed above. */ -+ tls_internal->strerror_l_buf = NULL; -+ /* Provide a fallback translation. */ -+ err = unknown_error (loc); -+ } - } -+ else -+ /* Secondary namespaces use a different malloc, so cannot -+ participate in the buffer management. */ -+ err = unknown_error (loc); - } - else - err = (char *) translate (err, loc); -diff --git a/string/strsignal.c b/string/strsignal.c -index 3114601564..d9b0365468 100644 ---- a/string/strsignal.c -+++ b/string/strsignal.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - /* Return a string describing the meaning of the signal number SIGNUM. */ - char * -@@ -30,21 +31,28 @@ strsignal (int signum) - if (desc != NULL) - return _(desc); - -- struct tls_internal_t *tls_internal = __glibc_tls_internal (); -- free (tls_internal->strsignal_buf); -+ if (__libc_initial) -+ { -+ struct tls_internal_t *tls_internal = __glibc_tls_internal (); -+ free (tls_internal->strsignal_buf); - -- int r; -+ int r; - #ifdef SIGRTMIN -- if (signum >= SIGRTMIN && signum <= SIGRTMAX) -- r = __asprintf (&tls_internal->strsignal_buf, _("Real-time signal %d"), -- signum - SIGRTMIN); -- else -+ if (signum >= SIGRTMIN && signum <= SIGRTMAX) -+ r = __asprintf (&tls_internal->strsignal_buf, _("Real-time signal %d"), -+ signum - SIGRTMIN); -+ else - #endif -- r = __asprintf (&tls_internal->strsignal_buf, _("Unknown signal %d"), -- signum); -- -- if (r == -1) -- tls_internal->strsignal_buf = NULL; -- -- return tls_internal->strsignal_buf; -+ r = __asprintf (&tls_internal->strsignal_buf, _("Unknown signal %d"), -+ signum); -+ -+ if (r >= 0) -+ return tls_internal->strsignal_buf; -+ else -+ tls_internal->strsignal_buf = NULL; -+ } -+ /* Fall through on asprintf error, and for !__libc_initial: -+ secondary namespaces use a different malloc and cannot -+ participate in the buffer management. */ -+ return _("Unknown signal"); - } - -commit bc240ba7c86a74bc64d4234feadb49bb8e36e1c9 -Author: Maciej W. Rozycki -Date: Fri Jul 26 13:21:34 2024 +0100 - - support: Add FAIL test failure helper - - Add a FAIL test failure helper analogous to FAIL_RET, that does not - cause the current function to return, providing a standardized way to - report a test failure with a message supplied while permitting the - caller to continue executing, for further reporting, cleaning up, etc. - - Update existing test cases that provide a conflicting definition of FAIL - by removing the local FAIL definition and then as follows: - - - tst-fortify-syslog: provide a meaningful message in addition to the - file name already added by ; 'support_record_failure' - is already called by 'support_print_failure_impl' invoked by the new - FAIL test failure helper. - - - tst-ctype: no update to FAIL calls required, with the name of the file - and the line number within of the failure site additionally included - by the new FAIL test failure helper, and error counting plus count - reporting upon test program termination also already provided by - 'support_record_failure' and 'support_report_failure' respectively, - called by 'support_print_failure_impl' and 'adjust_exit_status' also - respectively. However in a number of places 'printf' is called and - the error count adjusted by hand, so update these places to make use - of FAIL instead. And last but not least adjust the final summary just - to report completion, with any error count following as reported by - the test driver. - - - test-tgmath2: no update to FAIL calls required, with the name of the - file of the failure site additionally included by the new FAIL test - failure helper. Also there is no need to track the return status by - hand as any call to FAIL will eventually cause the test case to return - an unsuccesful exit status regardless of the return status from the - test function, via a call to 'adjust_exit_status' made by the test - driver. - - Reviewed-by: DJ Delorie - (cherry picked from commit 1b97a9f23bf605ca608162089c94187573fb2a9e) - -diff --git a/debug/tst-fortify-syslog.c b/debug/tst-fortify-syslog.c -index a7ddbf7c6b..2712acf689 100644 ---- a/debug/tst-fortify-syslog.c -+++ b/debug/tst-fortify-syslog.c -@@ -22,7 +22,6 @@ - #include - #include - #include --#include - - #include - #include -@@ -46,18 +45,13 @@ handler (int sig) - _exit (127); - } - --#define FAIL() \ -- do { \ -- printf ("Failure on line %d\n", __LINE__); \ -- support_record_failure (); \ -- } while (0) - #define CHK_FAIL_START \ - chk_fail_ok = 1; \ - if (! setjmp (chk_fail_buf)) \ - { - #define CHK_FAIL_END \ - chk_fail_ok = 0; \ -- FAIL (); \ -+ FAIL ("not supposed to reach here"); \ - } - - static void -diff --git a/localedata/tst-ctype.c b/localedata/tst-ctype.c -index 9de979a2d7..a23689719c 100644 ---- a/localedata/tst-ctype.c -+++ b/localedata/tst-ctype.c -@@ -21,6 +21,8 @@ - #include - #include - -+#include -+ - - static const char lower[] = "abcdefghijklmnopqrstuvwxyz"; - static const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; -@@ -53,19 +55,11 @@ static struct classes - #define nclasses (sizeof (classes) / sizeof (classes[0])) - - --#define FAIL(str, args...) \ -- { \ -- printf (" " str "\n", ##args); \ -- ++errors; \ -- } -- -- - static int - do_test (void) - { - const char *cp; - const char *cp2; -- int errors = 0; - char *inpline = NULL; - size_t inplinelen = 0; - char *resline = NULL; -@@ -394,11 +388,8 @@ punct = %04x alnum = %04x\n", - { - if (((__ctype_b[(unsigned int) *inp] & classes[n].mask) != 0) - != (*resp != '0')) -- { -- printf (" is%s('%c' = '\\x%02x') %s true\n", inpline, -- *inp, *inp, *resp == '1' ? "not" : "is"); -- ++errors; -- } -+ FAIL (" is%s('%c' = '\\x%02x') %s true\n", inpline, -+ *inp, *inp, *resp == '1' ? "not" : "is"); - ++inp; - ++resp; - } -@@ -408,11 +399,8 @@ punct = %04x alnum = %04x\n", - while (*inp != '\0') - { - if (tolower (*inp) != *resp) -- { -- printf (" tolower('%c' = '\\x%02x') != '%c'\n", -- *inp, *inp, *resp); -- ++errors; -- } -+ FAIL (" tolower('%c' = '\\x%02x') != '%c'\n", -+ *inp, *inp, *resp); - ++inp; - ++resp; - } -@@ -422,11 +410,8 @@ punct = %04x alnum = %04x\n", - while (*inp != '\0') - { - if (toupper (*inp) != *resp) -- { -- printf (" toupper('%c' = '\\x%02x') != '%c'\n", -- *inp, *inp, *resp); -- ++errors; -- } -+ FAIL (" toupper('%c' = '\\x%02x') != '%c'\n", -+ *inp, *inp, *resp); - ++inp; - ++resp; - } -@@ -436,14 +421,7 @@ punct = %04x alnum = %04x\n", - } - - -- if (errors != 0) -- { -- printf (" %d error%s for `%s' locale\n\n\n", errors, -- errors == 1 ? "" : "s", setlocale (LC_ALL, NULL)); -- return 1; -- } -- -- printf (" No errors for `%s' locale\n\n\n", setlocale (LC_ALL, NULL)); -+ printf ("Completed testing for `%s' locale\n\n\n", setlocale (LC_ALL, NULL)); - return 0; - } - -diff --git a/math/test-tgmath2.c b/math/test-tgmath2.c -index 37afa8a08a..4aeb877b8e 100644 ---- a/math/test-tgmath2.c -+++ b/math/test-tgmath2.c -@@ -24,6 +24,8 @@ - #include - #include - -+#include -+ - //#define DEBUG - - typedef complex float cfloat; -@@ -87,13 +89,6 @@ enum - int count; - int counts[Tlast][C_last]; - --#define FAIL(str) \ -- do \ -- { \ -- printf ("%s failure on line %d\n", (str), __LINE__); \ -- result = 1; \ -- } \ -- while (0) - #define TEST_TYPE_ONLY(expr, rettype) \ - do \ - { \ -@@ -133,8 +128,6 @@ int counts[Tlast][C_last]; - int - test_cos (const int Vint4, const long long int Vllong4) - { -- int result = 0; -- - TEST (cos (vfloat1), float, cos); - TEST (cos (vdouble1), double, cos); - TEST (cos (vldouble1), ldouble, cos); -@@ -152,7 +145,7 @@ test_cos (const int Vint4, const long long int Vllong4) - TEST (cos (Vcdouble1), cdouble, cos); - TEST (cos (Vcldouble1), cldouble, cos); - -- return result; -+ return 0; - } - - int -diff --git a/support/check.h b/support/check.h -index 711f34b83b..7ea22c7a2c 100644 ---- a/support/check.h -+++ b/support/check.h -@@ -24,6 +24,11 @@ - - __BEGIN_DECLS - -+/* Record a test failure, print the failure message to standard output -+ and pass the result of 1 through. */ -+#define FAIL(...) \ -+ support_print_failure_impl (__FILE__, __LINE__, __VA_ARGS__) -+ - /* Record a test failure, print the failure message to standard output - and return 1. */ - #define FAIL_RET(...) \ - -commit 27fb563bfee521239316142fa4968282bffa86a6 -Author: Maciej W. Rozycki -Date: Fri Jul 26 13:21:34 2024 +0100 - - stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650] - - Complement commit b03e4d7bd25b ("stdio: fix vfscanf with matches longer - than INT_MAX (bug 27650)") and add a test case for the issue, inspired - by the reproducer provided with the bug report. - - This has been verified to succeed as from the commit referred and fail - beforehand. - - As the test requires 2GiB of data to be passed around its performance - has been evaluated using a choice of systems and the execution time - determined to be respectively in the range of 9s for POWER9@2.166GHz, - 24s for FU740@1.2GHz, and 40s for 74Kf@950MHz. As this is on the verge - of and beyond the default timeout it has been increased by the factor of - 8. Regardless, following recent practice the test has been added to the - standard rather than extended set. - - Reviewed-by: DJ Delorie - (cherry picked from commit 89cddc8a7096f3d9225868304d2bc0a1aaf07d63) - -diff --git a/stdio-common/Makefile b/stdio-common/Makefile -index a63c05a120..e4f0146d2c 100644 ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -240,6 +240,7 @@ tests := \ - tst-scanf-binary-c23 \ - tst-scanf-binary-gnu11 \ - tst-scanf-binary-gnu89 \ -+ tst-scanf-bz27650 \ - tst-scanf-intn \ - tst-scanf-round \ - tst-scanf-to_inpunct \ -@@ -328,6 +329,7 @@ generated += \ - tst-printf-fp-free.mtrace \ - tst-printf-fp-leak-mem.out \ - tst-printf-fp-leak.mtrace \ -+ tst-scanf-bz27650.mtrace \ - tst-vfprintf-width-prec-mem.out \ - tst-vfprintf-width-prec.mtrace \ - # generated -@@ -419,6 +421,9 @@ tst-printf-fp-free-ENV = \ - tst-printf-fp-leak-ENV = \ - MALLOC_TRACE=$(objpfx)tst-printf-fp-leak.mtrace \ - LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so -+tst-scanf-bz27650-ENV = \ -+ MALLOC_TRACE=$(objpfx)tst-scanf-bz27650.mtrace \ -+ LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so - - $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc - $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \ -diff --git a/stdio-common/tst-scanf-bz27650.c b/stdio-common/tst-scanf-bz27650.c -new file mode 100644 -index 0000000000..3a742bc865 ---- /dev/null -+++ b/stdio-common/tst-scanf-bz27650.c -@@ -0,0 +1,108 @@ -+/* Test for BZ #27650, formatted input matching beyond INT_MAX. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#include -+#include -+ -+/* Produce a stream of more than INT_MAX characters via buffer BUF of -+ size SIZE according to bookkeeping in COOKIE and then return EOF. */ -+ -+static ssize_t -+io_read (void *cookie, char *buf, size_t size) -+{ -+ unsigned int *written = cookie; -+ unsigned int w = *written; -+ -+ if (w > INT_MAX) -+ return 0; -+ -+ memset (buf, 'a', size); -+ *written = w + size; -+ return size; -+} -+ -+/* Consume a stream of more than INT_MAX characters from an artificial -+ input stream of which none is the new line character. The call to -+ fscanf is supposed to complete upon the EOF condition of input, -+ however in the presence of BZ #27650 it will terminate prematurely -+ with characters still outstanding in input. Diagnose the condition -+ and return status accordingly. */ -+ -+int -+do_test (void) -+{ -+ static cookie_io_functions_t io_funcs = { .read = io_read }; -+ unsigned int written = 0; -+ FILE *in; -+ int v; -+ -+ mtrace (); -+ -+ in = fopencookie (&written, "r", io_funcs); -+ if (in == NULL) -+ { -+ FAIL ("fopencookie: %m"); -+ goto out; -+ } -+ -+ v = fscanf (in, "%*[^\n]"); -+ if (ferror (in)) -+ { -+ FAIL ("fscanf: input failure, at %u: %m", written); -+ goto out_close; -+ } -+ else if (v == EOF) -+ { -+ FAIL ("fscanf: unexpected end of file, at %u", written); -+ goto out_close; -+ } -+ -+ if (!feof (in)) -+ { -+ v = fgetc (in); -+ if (ferror (in)) -+ FAIL ("fgetc: input failure: %m"); -+ else if (v == EOF) -+ FAIL ("fgetc: unexpected end of file after missing end of file"); -+ else if (v == '\n') -+ FAIL ("unexpected new line character received"); -+ else -+ FAIL ("character received after end of file expected: \\x%02x", v); -+ } -+ -+out_close: -+ if (fclose (in) != 0) -+ FAIL ("fclose: %m"); -+ -+out: -+ return EXIT_SUCCESS; -+} -+ -+#define TIMEOUT (DEFAULT_TIMEOUT * 8) -+#include - -commit 2f749d2b15cbc82268d7f8735f21ae1e3b68754f -Author: Siddhesh Poyarekar -Date: Wed Aug 14 19:20:04 2024 -0400 - - Make tst-ungetc use libsupport - - Signed-off-by: Siddhesh Poyarekar - Reviewed-by: Carlos O'Donell - (cherry picked from commit 3f7df7e757f4efec38e45d4068e5492efcac4856) - -diff --git a/stdio-common/tst-ungetc.c b/stdio-common/tst-ungetc.c -index 1344b2b591..5c808f0734 100644 ---- a/stdio-common/tst-ungetc.c -+++ b/stdio-common/tst-ungetc.c -@@ -1,70 +1,72 @@ --/* Test for ungetc bugs. */ -+/* Test for ungetc bugs. -+ Copyright (C) 1996-2024 Free Software Foundation, Inc. -+ Copyright The GNU Toolchain Authors. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ - - #include - #include --#include -- --#undef assert --#define assert(x) \ -- if (!(x)) \ -- { \ -- fputs ("test failed: " #x "\n", stderr); \ -- retval = 1; \ -- goto the_end; \ -- } -+#include -+#include -+#include -+#include -+#include - --int --main (int argc, char *argv[]) -+static int -+do_test (void) - { -- char name[] = "/tmp/tst-ungetc.XXXXXX"; -+ char *name = NULL; - FILE *fp = NULL; -- int retval = 0; - int c; - char buffer[64]; - -- int fd = mkstemp (name); -+ int fd = create_temp_file ("tst-ungetc.", &name); - if (fd == -1) -- { -- printf ("mkstemp failed: %m\n"); -- return 1; -- } -- close (fd); -- fp = fopen (name, "w"); -- assert (fp != NULL) -- fputs ("bla", fp); -- fclose (fp); -- fp = NULL; -+ FAIL_EXIT1 ("cannot create temporary file: %m"); -+ xclose (fd); - -- fp = fopen (name, "r"); -- assert (fp != NULL); -- assert (ungetc ('z', fp) == 'z'); -- assert (getc (fp) == 'z'); -- assert (getc (fp) == 'b'); -- assert (getc (fp) == 'l'); -- assert (ungetc ('m', fp) == 'm'); -- assert (getc (fp) == 'm'); -- assert ((c = getc (fp)) == 'a'); -- assert (getc (fp) == EOF); -- assert (ungetc (c, fp) == c); -- assert (feof (fp) == 0); -- assert (getc (fp) == c); -- assert (getc (fp) == EOF); -- fclose (fp); -- fp = NULL; -+ fp = xfopen (name, "w"); -+ fputs ("bla", fp); -+ xfclose (fp); - -- fp = fopen (name, "r"); -- assert (fp != NULL); -- assert (getc (fp) == 'b'); -- assert (getc (fp) == 'l'); -- assert (ungetc ('b', fp) == 'b'); -- assert (fread (buffer, 1, 64, fp) == 2); -- assert (buffer[0] == 'b'); -- assert (buffer[1] == 'a'); -+ fp = xfopen (name, "r"); -+ TEST_VERIFY_EXIT (ungetc ('z', fp) == 'z'); -+ TEST_VERIFY_EXIT (getc (fp) == 'z'); -+ TEST_VERIFY_EXIT (getc (fp) == 'b'); -+ TEST_VERIFY_EXIT (getc (fp) == 'l'); -+ TEST_VERIFY_EXIT (ungetc ('m', fp) == 'm'); -+ TEST_VERIFY_EXIT (getc (fp) == 'm'); -+ TEST_VERIFY_EXIT ((c = getc (fp)) == 'a'); -+ TEST_VERIFY_EXIT (getc (fp) == EOF); -+ TEST_VERIFY_EXIT (ungetc (c, fp) == c); -+ TEST_VERIFY_EXIT (feof (fp) == 0); -+ TEST_VERIFY_EXIT (getc (fp) == c); -+ TEST_VERIFY_EXIT (getc (fp) == EOF); -+ xfclose (fp); - --the_end: -- if (fp != NULL) -- fclose (fp); -- unlink (name); -+ fp = xfopen (name, "r"); -+ TEST_VERIFY_EXIT (getc (fp) == 'b'); -+ TEST_VERIFY_EXIT (getc (fp) == 'l'); -+ TEST_VERIFY_EXIT (ungetc ('b', fp) == 'b'); -+ TEST_VERIFY_EXIT (fread (buffer, 1, 64, fp) == 2); -+ TEST_VERIFY_EXIT (buffer[0] == 'b'); -+ TEST_VERIFY_EXIT (buffer[1] == 'a'); -+ xfclose (fp); - -- return retval; -+ return 0; - } -+ -+#include - -commit dac7a0694b5e853f08be518cd5a133ac5804666d -Author: Siddhesh Poyarekar -Date: Tue Aug 13 21:00:06 2024 -0400 - - ungetc: Fix uninitialized read when putting into unused streams [BZ #27821] - - When ungetc is called on an unused stream, the backup buffer is - allocated without the main get area being present. This results in - every subsequent ungetc (as the stream remains in the backup area) - checking uninitialized memory in the backup buffer when trying to put a - character back into the stream. - - Avoid comparing the input character with buffer contents when in backup - to avoid this uninitialized read. The uninitialized read is harmless in - this context since the location is promptly overwritten with the input - character, thus fulfilling ungetc functionality. - - Also adjust wording in the manual to drop the paragraph that says glibc - cannot do multiple ungetc back to back since with this change, ungetc - can actually do this. - - Signed-off-by: Siddhesh Poyarekar - Reviewed-by: Carlos O'Donell - (cherry picked from commit cdf0f88f97b0aaceb894cc02b21159d148d7065c) - -diff --git a/libio/genops.c b/libio/genops.c -index 99f5e80f20..b012fa33d2 100644 ---- a/libio/genops.c -+++ b/libio/genops.c -@@ -662,7 +662,7 @@ _IO_sputbackc (FILE *fp, int c) - { - int result; - -- if (fp->_IO_read_ptr > fp->_IO_read_base -+ if (fp->_IO_read_ptr > fp->_IO_read_base && !_IO_in_backup (fp) - && (unsigned char)fp->_IO_read_ptr[-1] == (unsigned char)c) - { - fp->_IO_read_ptr--; -diff --git a/manual/stdio.texi b/manual/stdio.texi -index 8517653507..92614775fa 100644 ---- a/manual/stdio.texi -+++ b/manual/stdio.texi -@@ -1467,11 +1467,9 @@ program; usually @code{ungetc} is used only to unread a character that - was just read from the same stream. @Theglibc{} supports this - even on files opened in binary mode, but other systems might not. - --@Theglibc{} only supports one character of pushback---in other --words, it does not work to call @code{ungetc} twice without doing input --in between. Other systems might let you push back multiple characters; --then reading from the stream retrieves the characters in the reverse --order that they were pushed. -+@Theglibc{} supports pushing back multiple characters; subsequently -+reading from the stream retrieves the characters in the reverse order -+that they were pushed. - - Pushing back characters doesn't alter the file; only the internal - buffering for the stream is affected. If a file positioning function -diff --git a/stdio-common/tst-ungetc.c b/stdio-common/tst-ungetc.c -index 5c808f0734..388b202493 100644 ---- a/stdio-common/tst-ungetc.c -+++ b/stdio-common/tst-ungetc.c -@@ -48,6 +48,8 @@ do_test (void) - TEST_VERIFY_EXIT (getc (fp) == 'b'); - TEST_VERIFY_EXIT (getc (fp) == 'l'); - TEST_VERIFY_EXIT (ungetc ('m', fp) == 'm'); -+ TEST_VERIFY_EXIT (ungetc ('n', fp) == 'n'); -+ TEST_VERIFY_EXIT (getc (fp) == 'n'); - TEST_VERIFY_EXIT (getc (fp) == 'm'); - TEST_VERIFY_EXIT ((c = getc (fp)) == 'a'); - TEST_VERIFY_EXIT (getc (fp) == EOF); - -commit e24902f409994f226dbc6fde2476009df452a18f -Author: Siddhesh Poyarekar -Date: Tue Aug 13 21:08:49 2024 -0400 - - ungetc: Fix backup buffer leak on program exit [BZ #27821] - - If a file descriptor is left unclosed and is cleaned up by _IO_cleanup - on exit, its backup buffer remains unfreed, registering as a leak in - valgrind. This is not strictly an issue since (1) the program should - ideally be closing the stream once it's not in use and (2) the program - is about to exit anyway, so keeping the backup buffer around a wee bit - longer isn't a real problem. Free it anyway to keep valgrind happy - when the streams in question are the standard ones, i.e. stdout, stdin - or stderr. - - Also, the _IO_have_backup macro checks for _IO_save_base, - which is a roundabout way to check for a backup buffer instead of - directly looking for _IO_backup_base. The roundabout check breaks when - the main get area has not been used and user pushes a char into the - backup buffer with ungetc. Fix this to use the _IO_backup_base - directly. - - Signed-off-by: Siddhesh Poyarekar - Reviewed-by: Carlos O'Donell - (cherry picked from commit 3e1d8d1d1dca24ae90df2ea826a8916896fc7e77) - -diff --git a/libio/genops.c b/libio/genops.c -index b012fa33d2..35d8b30710 100644 ---- a/libio/genops.c -+++ b/libio/genops.c -@@ -816,6 +816,12 @@ _IO_unbuffer_all (void) - legacy = 1; - #endif - -+ /* Free up the backup area if it was ever allocated. */ -+ if (_IO_have_backup (fp)) -+ _IO_free_backup_area (fp); -+ if (fp->_mode > 0 && _IO_have_wbackup (fp)) -+ _IO_free_wbackup_area (fp); -+ - if (! (fp->_flags & _IO_UNBUFFERED) - /* Iff stream is un-orientated, it wasn't used. */ - && (legacy || fp->_mode != 0)) -diff --git a/libio/libioP.h b/libio/libioP.h -index 1af287b19f..616253fcd0 100644 ---- a/libio/libioP.h -+++ b/libio/libioP.h -@@ -577,8 +577,8 @@ extern void _IO_old_init (FILE *fp, int flags) __THROW; - ((__fp)->_wide_data->_IO_write_base \ - = (__fp)->_wide_data->_IO_write_ptr = __p, \ - (__fp)->_wide_data->_IO_write_end = (__ep)) --#define _IO_have_backup(fp) ((fp)->_IO_save_base != NULL) --#define _IO_have_wbackup(fp) ((fp)->_wide_data->_IO_save_base != NULL) -+#define _IO_have_backup(fp) ((fp)->_IO_backup_base != NULL) -+#define _IO_have_wbackup(fp) ((fp)->_wide_data->_IO_backup_base != NULL) - #define _IO_in_backup(fp) ((fp)->_flags & _IO_IN_BACKUP) - #define _IO_have_markers(fp) ((fp)->_markers != NULL) - #define _IO_blen(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base) -diff --git a/stdio-common/Makefile b/stdio-common/Makefile -index e4f0146d2c..a91754f52d 100644 ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -254,6 +254,7 @@ tests := \ - tst-swscanf \ - tst-tmpnam \ - tst-ungetc \ -+ tst-ungetc-leak \ - tst-unlockedio \ - tst-vfprintf-mbs-prec \ - tst-vfprintf-user-type \ -@@ -316,6 +317,7 @@ tests-special += \ - $(objpfx)tst-printf-bz25691-mem.out \ - $(objpfx)tst-printf-fp-free-mem.out \ - $(objpfx)tst-printf-fp-leak-mem.out \ -+ $(objpfx)tst-ungetc-leak-mem.out \ - $(objpfx)tst-vfprintf-width-prec-mem.out \ - # tests-special - -@@ -330,6 +332,8 @@ generated += \ - tst-printf-fp-leak-mem.out \ - tst-printf-fp-leak.mtrace \ - tst-scanf-bz27650.mtrace \ -+ tst-ungetc-leak-mem.out \ -+ tst-ungetc-leak.mtrace \ - tst-vfprintf-width-prec-mem.out \ - tst-vfprintf-width-prec.mtrace \ - # generated -@@ -424,6 +428,9 @@ tst-printf-fp-leak-ENV = \ - tst-scanf-bz27650-ENV = \ - MALLOC_TRACE=$(objpfx)tst-scanf-bz27650.mtrace \ - LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so -+tst-ungetc-leak-ENV = \ -+ MALLOC_TRACE=$(objpfx)tst-ungetc-leak.mtrace \ -+ LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so - - $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc - $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \ -diff --git a/stdio-common/tst-ungetc-leak.c b/stdio-common/tst-ungetc-leak.c -new file mode 100644 -index 0000000000..6c5152b43f ---- /dev/null -+++ b/stdio-common/tst-ungetc-leak.c -@@ -0,0 +1,32 @@ -+/* Test for memory leak with ungetc when stream is unused. -+ Copyright The GNU Toolchain Authors. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ mtrace (); -+ TEST_COMPARE (ungetc('y', stdin), 'y'); -+ return 0; -+} -+ -+#include - -commit 3b3350d7baa8de70b71c02e964d5b8343749ebf8 -Author: Maciej W. Rozycki -Date: Fri Jul 26 13:21:34 2024 +0100 - - posix: Use facilities in tst-truncate and tst-truncate64 - - Remove local FAIL macro in favor to FAIL_RET from , - which provides equivalent reporting, with the name of the file of the - failure site additionally included, for the tst-truncate-common core - shared between the tst-truncate and tst-truncate64 tests. - - Reviewed-by: DJ Delorie - (cherry picked from commit fe47595504a55e7bb992f8928533df154b510383) - -diff --git a/posix/tst-truncate-common.c b/posix/tst-truncate-common.c -index b774fa46b8..b8c561ffdb 100644 ---- a/posix/tst-truncate-common.c -+++ b/posix/tst-truncate-common.c -@@ -21,6 +21,8 @@ - #include - #include - -+#include -+ - static void do_prepare (void); - #define PREPARE(argc, argv) do_prepare () - static int do_test (void); -@@ -42,9 +44,6 @@ do_prepare (void) - } - } - --#define FAIL(str) \ -- do { printf ("error: %s (line %d)\n", str, __LINE__); return 1; } while (0) -- - static int - do_test_with_offset (off_t offset) - { -@@ -54,35 +53,35 @@ do_test_with_offset (off_t offset) - memset (buf, 0xcf, sizeof (buf)); - - if (pwrite (temp_fd, buf, sizeof (buf), offset) != sizeof (buf)) -- FAIL ("write failed"); -+ FAIL_RET ("write failed"); - if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + sizeof (buf))) -- FAIL ("initial size wrong"); -+ FAIL_RET ("initial size wrong"); - - if (ftruncate (temp_fd, offset + 800) < 0) -- FAIL ("size reduction with ftruncate failed"); -+ FAIL_RET ("size reduction with ftruncate failed"); - if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800)) -- FAIL ("size after reduction with ftruncate is incorrect"); -+ FAIL_RET ("size after reduction with ftruncate is incorrect"); - - /* The following test covers more than POSIX. POSIX does not require - that ftruncate() can increase the file size. But we are testing - Unix systems. */ - if (ftruncate (temp_fd, offset + 1200) < 0) -- FAIL ("size increate with ftruncate failed"); -+ FAIL_RET ("size increate with ftruncate failed"); - if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200)) -- FAIL ("size after increase is incorrect"); -+ FAIL_RET ("size after increase is incorrect"); - - if (truncate (temp_filename, offset + 800) < 0) -- FAIL ("size reduction with truncate failed"); -+ FAIL_RET ("size reduction with truncate failed"); - if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800)) -- FAIL ("size after reduction with truncate incorrect"); -+ FAIL_RET ("size after reduction with truncate incorrect"); - - /* The following test covers more than POSIX. POSIX does not require - that truncate() can increase the file size. But we are testing - Unix systems. */ - if (truncate (temp_filename, (offset + 1200)) < 0) -- FAIL ("size increase with truncate failed"); -+ FAIL_RET ("size increase with truncate failed"); - if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200)) -- FAIL ("size increase with truncate is incorrect"); -+ FAIL_RET ("size increase with truncate is incorrect"); - - return 0; - } - -commit 3414b17e9db16c3bc0de5b49555c4f94f155ffc8 -Author: Maciej W. Rozycki -Date: Fri Jul 26 13:21:34 2024 +0100 - - nptl: Use facilities in tst-setuid3 - - Remove local FAIL macro in favor to FAIL_EXIT1 from , - which provides equivalent reporting, with the name of the file and the - line number within of the failure site additionally included. Remove - FAIL_ERR altogether and include ": %m" explicitly with the format string - supplied to FAIL_EXIT1 as there seems little value to have a separate - macro just for this. - - Reviewed-by: DJ Delorie - (cherry picked from commit 8c98195af6e6f1ce21743fc26c723e0f7e45bcf2) - -diff --git a/sysdeps/pthread/tst-setuid3.c b/sysdeps/pthread/tst-setuid3.c -index 83f42a0ae5..3845ab03d3 100644 ---- a/sysdeps/pthread/tst-setuid3.c -+++ b/sysdeps/pthread/tst-setuid3.c -@@ -15,24 +15,19 @@ - License along with the GNU C Library; if not, see - . */ - --#include - #include - #include - #include - #include - -+#include -+ - /* The test must run under a non-privileged user ID. */ - static const uid_t test_uid = 1; - - static pthread_barrier_t barrier1; - static pthread_barrier_t barrier2; - --#define FAIL(fmt, ...) \ -- do { printf ("FAIL: " fmt "\n", __VA_ARGS__); _exit (1); } while (0) -- --#define FAIL_ERR(fmt, ...) \ -- do { printf ("FAIL: " fmt ": %m\n", __VA_ARGS__); _exit (1); } while (0) -- - /* True if x is not a successful return code from pthread_barrier_wait. */ - static inline bool - is_invalid_barrier_ret (int x) -@@ -45,10 +40,10 @@ thread_func (void *ctx __attribute__ ((unused))) - { - int ret = pthread_barrier_wait (&barrier1); - if (is_invalid_barrier_ret (ret)) -- FAIL ("pthread_barrier_wait (barrier1) (on thread): %d", ret); -+ FAIL_EXIT1 ("pthread_barrier_wait (barrier1) (on thread): %d", ret); - ret = pthread_barrier_wait (&barrier2); - if (is_invalid_barrier_ret (ret)) -- FAIL ("pthread_barrier_wait (barrier2) (on thread): %d", ret); -+ FAIL_EXIT1 ("pthread_barrier_wait (barrier2) (on thread): %d", ret); - return NULL; - } - -@@ -59,13 +54,13 @@ setuid_failure (int phase) - switch (ret) - { - case 0: -- FAIL ("setuid succeeded unexpectedly in phase %d", phase); -+ FAIL_EXIT1 ("setuid succeeded unexpectedly in phase %d", phase); - case -1: - if (errno != EPERM) -- FAIL_ERR ("setuid phase %d", phase); -+ FAIL_EXIT1 ("setuid phase %d: %m", phase); - break; - default: -- FAIL ("invalid setuid return value in phase %d: %d", phase, ret); -+ FAIL_EXIT1 ("invalid setuid return value in phase %d: %d", phase, ret); - } - } - -@@ -74,42 +69,42 @@ do_test (void) - { - if (getuid () == 0) - if (setuid (test_uid) != 0) -- FAIL_ERR ("setuid (%u)", (unsigned) test_uid); -+ FAIL_EXIT1 ("setuid (%u): %m", (unsigned) test_uid); - if (setuid (getuid ())) -- FAIL_ERR ("setuid (%s)", "getuid ()"); -+ FAIL_EXIT1 ("setuid (%s): %m", "getuid ()"); - setuid_failure (1); - - int ret = pthread_barrier_init (&barrier1, NULL, 2); - if (ret != 0) -- FAIL ("pthread_barrier_init (barrier1): %d", ret); -+ FAIL_EXIT1 ("pthread_barrier_init (barrier1): %d", ret); - ret = pthread_barrier_init (&barrier2, NULL, 2); - if (ret != 0) -- FAIL ("pthread_barrier_init (barrier2): %d", ret); -+ FAIL_EXIT1 ("pthread_barrier_init (barrier2): %d", ret); - - pthread_t thread; - ret = pthread_create (&thread, NULL, thread_func, NULL); - if (ret != 0) -- FAIL ("pthread_create: %d", ret); -+ FAIL_EXIT1 ("pthread_create: %d", ret); - - /* Ensure that the thread is running properly. */ - ret = pthread_barrier_wait (&barrier1); - if (is_invalid_barrier_ret (ret)) -- FAIL ("pthread_barrier_wait (barrier1): %d", ret); -+ FAIL_EXIT1 ("pthread_barrier_wait (barrier1): %d", ret); - - setuid_failure (2); - - /* Check success case. */ - if (setuid (getuid ()) != 0) -- FAIL_ERR ("setuid (%s)", "getuid ()"); -+ FAIL_EXIT1 ("setuid (%s): %m", "getuid ()"); - - /* Shutdown. */ - ret = pthread_barrier_wait (&barrier2); - if (is_invalid_barrier_ret (ret)) -- FAIL ("pthread_barrier_wait (barrier2): %d", ret); -+ FAIL_EXIT1 ("pthread_barrier_wait (barrier2): %d", ret); - - ret = pthread_join (thread, NULL); - if (ret != 0) -- FAIL ("pthread_join: %d", ret); -+ FAIL_EXIT1 ("pthread_join: %d", ret); - - return 0; - } - -commit b7edcfa0f41ccfaeb665a661d3a6a594c8d95848 -Author: Florian Weimer -Date: Thu Aug 1 23:31:23 2024 +0200 - - elf: Clarify and invert second argument of _dl_allocate_tls_init - - Also remove an outdated comment: _dl_allocate_tls_init is - called as part of pthread_create. - - Reviewed-by: Carlos O'Donell - (cherry picked from commit fe06fb313bddf7e4530056897d4a706606e49377) - -diff --git a/elf/dl-tls.c b/elf/dl-tls.c -index 3d221273f1..ecb966d282 100644 ---- a/elf/dl-tls.c -+++ b/elf/dl-tls.c -@@ -552,9 +552,14 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid) - /* Allocate initial TLS. RESULT should be a non-NULL pointer to storage - for the TLS space. The DTV may be resized, and so this function may - call malloc to allocate that space. The loader's GL(dl_load_tls_lock) -- is taken when manipulating global TLS-related data in the loader. */ -+ is taken when manipulating global TLS-related data in the loader. -+ -+ If MAIN_THREAD, this is the first call during process -+ initialization. In this case, TLS initialization for secondary -+ (audit) namespaces is skipped because that has already been handled -+ by dlopen. */ - void * --_dl_allocate_tls_init (void *result, bool init_tls) -+_dl_allocate_tls_init (void *result, bool main_thread) - { - if (result == NULL) - /* The memory allocation failed. */ -@@ -633,7 +638,7 @@ _dl_allocate_tls_init (void *result, bool init_tls) - because it would already be set by the audit setup. However, - subsequent thread creation would need to follow the default - behaviour. */ -- if (map->l_ns != LM_ID_BASE && !init_tls) -+ if (map->l_ns != LM_ID_BASE && main_thread) - continue; - memset (__mempcpy (dest, map->l_tls_initimage, - map->l_tls_initimage_size), '\0', -@@ -661,7 +666,7 @@ _dl_allocate_tls (void *mem) - { - return _dl_allocate_tls_init (mem == NULL - ? _dl_allocate_tls_storage () -- : allocate_dtv (mem), true); -+ : allocate_dtv (mem), false); - } - rtld_hidden_def (_dl_allocate_tls) - -diff --git a/elf/rtld.c b/elf/rtld.c -index bfdf632e77..09b9c9993b 100644 ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -2338,7 +2338,7 @@ dl_main (const ElfW(Phdr) *phdr, - into the main thread's TLS area, which we allocated above. - Note: thread-local variables must only be accessed after completing - the next step. */ -- _dl_allocate_tls_init (tcbp, false); -+ _dl_allocate_tls_init (tcbp, true); - - /* And finally install it for the main thread. */ - if (! __rtld_tls_init_tp_called) -diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c -index f35a8369bd..2cb562f8ea 100644 ---- a/nptl/allocatestack.c -+++ b/nptl/allocatestack.c -@@ -139,7 +139,7 @@ get_cached_stack (size_t *sizep, void **memp) - memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t)); - - /* Re-initialize the TLS. */ -- _dl_allocate_tls_init (TLS_TPADJ (result), true); -+ _dl_allocate_tls_init (TLS_TPADJ (result), false); - - return result; - } -diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h -index 656e8a3fa0..154efb0e19 100644 ---- a/sysdeps/generic/ldsodefs.h -+++ b/sysdeps/generic/ldsodefs.h -@@ -1200,10 +1200,8 @@ extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp); - - extern void _dl_allocate_static_tls (struct link_map *map) attribute_hidden; - --/* These are internal entry points to the two halves of _dl_allocate_tls, -- only used within rtld.c itself at startup time. */ - extern void *_dl_allocate_tls_storage (void) attribute_hidden; --extern void *_dl_allocate_tls_init (void *, bool); -+extern void *_dl_allocate_tls_init (void *result, bool main_thread); - rtld_hidden_proto (_dl_allocate_tls_init) - - /* True if the TCB has been set up. */ - -commit f496b750f135e57da921e975835c44bd199246dd -Author: Florian Weimer -Date: Thu Aug 1 23:31:30 2024 +0200 - - elf: Avoid re-initializing already allocated TLS in dlopen (bug 31717) - - The old code used l_init_called as an indicator for whether TLS - initialization was complete. However, it is possible that - TLS for an object is initialized, written to, and then dlopen - for this object is called again, and l_init_called is not true at - this point. Previously, this resulted in TLS being initialized - twice, discarding any interim writes (technically introducing a - use-after-free bug even). - - This commit introduces an explicit per-object flag, l_tls_in_slotinfo. - It indicates whether _dl_add_to_slotinfo has been called for this - object. This flag is used to avoid double-initialization of TLS. - In update_tls_slotinfo, the first_static_tls micro-optimization - is removed because preserving the initalization flag for subsequent - use by the second loop for static TLS is a bit complicated, and - another per-object flag does not seem to be worth it. Furthermore, - the l_init_called flag is dropped from the second loop (for static - TLS initialization) because l_need_tls_init on its own prevents - double-initialization. - - The remaining l_init_called usage in resize_scopes and update_scopes - is just an optimization due to the use of scope_has_map, so it is - not changed in this commit. - - The isupper check ensures that libc.so.6 is TLS is not reverted. - Such a revert happens if l_need_tls_init is not cleared in - _dl_allocate_tls_init for the main_thread case, now that - l_init_called is not checked anymore in update_tls_slotinfo - in elf/dl-open.c. - - Reported-by: Jonathon Anderson - Reviewed-by: Carlos O'Donell - (cherry picked from commit 5097cd344fd243fb8deb6dec96e8073753f962f9) - -diff --git a/NEWS b/NEWS -index 10a125bc66..5b20efbf6c 100644 ---- a/NEWS -+++ b/NEWS -@@ -10,7 +10,7 @@ Version 2.40.1 - The following bugs are resolved with this release: - - [30081] resolv: Do not wait for non-existing second DNS response after error -- [31968] mremap implementation in C does not handle arguments correctly -+ [31717] elf: Avoid re-initializing already allocated TLS in dlopen - [31890] resolv: Allow short error responses to match any DNS query - [31968] mremap implementation in C does not handle arguments correctly - [32026] strerror/strsignal TLS not handled correctly for secondary namespaces -diff --git a/elf/Makefile b/elf/Makefile -index a3475f3fb5..a03c6520d8 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -416,6 +416,10 @@ tests += \ - tst-dlmopen4 \ - tst-dlopen-self \ - tst-dlopen-tlsmodid \ -+ tst-dlopen-tlsreinit1 \ -+ tst-dlopen-tlsreinit2 \ -+ tst-dlopen-tlsreinit3 \ -+ tst-dlopen-tlsreinit4 \ - tst-dlopenfail \ - tst-dlopenfail-2 \ - tst-dlopenrpath \ -@@ -853,6 +857,9 @@ modules-names += \ - tst-dlmopen-twice-mod1 \ - tst-dlmopen-twice-mod2 \ - tst-dlmopen1mod \ -+ tst-dlopen-tlsreinitmod1 \ -+ tst-dlopen-tlsreinitmod2 \ -+ tst-dlopen-tlsreinitmod3 \ - tst-dlopenfaillinkmod \ - tst-dlopenfailmod1 \ - tst-dlopenfailmod2 \ -@@ -3118,3 +3125,26 @@ $(objpfx)tst-recursive-tls.out: \ - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) - $(objpfx)tst-recursive-tlsmod%.os: tst-recursive-tlsmodN.c - $(compile-command.c) -DVAR=thread_$* -DFUNC=get_threadvar_$* -+ -+# Order matters here. The test needs the constructor for -+# tst-dlopen-tlsreinitmod2.so to be called first. -+LDFLAGS-tst-dlopen-tlsreinitmod1.so = -Wl,--no-as-needed -+$(objpfx)tst-dlopen-tlsreinitmod1.so: \ -+ $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so -+LDFLAGS-tst-dlopen-tlsreinit2 = -Wl,--no-as-needed -+$(objpfx)tst-dlopen-tlsreinit2: \ -+ $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so -+LDFLAGS-tst-dlopen-tlsreinit4 = -Wl,--no-as-needed -+$(objpfx)tst-dlopen-tlsreinit4: \ -+ $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so -+# tst-dlopen-tlsreinitmod2.so is underlinked and refers to -+# tst-dlopen-tlsreinitmod3.so. The dependency is provided via -+# $(objpfx)tst-dlopen-tlsreinitmod1.so. -+tst-dlopen-tlsreinitmod2.so-no-z-defs = yes -+$(objpfx)tst-dlopen-tlsreinit.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \ -+ $(objpfx)tst-dlopen-tlsreinitmod2.so $(objpfx)tst-dlopen-tlsreinitmod3.so -+# Reuse an audit module which provides ample debug logging. -+$(objpfx)tst-dlopen-tlsreinit3.out: $(objpfx)tst-auditmod1.so -+tst-dlopen-tlsreinit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -+$(objpfx)tst-dlopen-tlsreinit4.out: $(objpfx)tst-auditmod1.so -+tst-dlopen-tlsreinit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -diff --git a/elf/dl-open.c b/elf/dl-open.c -index c378da16c0..8556e7bd2f 100644 ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -363,17 +363,8 @@ resize_tls_slotinfo (struct link_map *new) - { - bool any_tls = false; - for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) -- { -- struct link_map *imap = new->l_searchlist.r_list[i]; -- -- /* Only add TLS memory if this object is loaded now and -- therefore is not yet initialized. */ -- if (! imap->l_init_called && imap->l_tls_blocksize > 0) -- { -- _dl_add_to_slotinfo (imap, false); -- any_tls = true; -- } -- } -+ if (_dl_add_to_slotinfo (new->l_searchlist.r_list[i], false)) -+ any_tls = true; - return any_tls; - } - -@@ -383,22 +374,8 @@ resize_tls_slotinfo (struct link_map *new) - static void - update_tls_slotinfo (struct link_map *new) - { -- unsigned int first_static_tls = new->l_searchlist.r_nlist; - for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) -- { -- struct link_map *imap = new->l_searchlist.r_list[i]; -- -- /* Only add TLS memory if this object is loaded now and -- therefore is not yet initialized. */ -- if (! imap->l_init_called && imap->l_tls_blocksize > 0) -- { -- _dl_add_to_slotinfo (imap, true); -- -- if (imap->l_need_tls_init -- && first_static_tls == new->l_searchlist.r_nlist) -- first_static_tls = i; -- } -- } -+ _dl_add_to_slotinfo (new->l_searchlist.r_list[i], true); - - size_t newgen = GL(dl_tls_generation) + 1; - if (__glibc_unlikely (newgen == 0)) -@@ -410,13 +387,11 @@ TLS generation counter wrapped! Please report this.")); - /* We need a second pass for static tls data, because - _dl_update_slotinfo must not be run while calls to - _dl_add_to_slotinfo are still pending. */ -- for (unsigned int i = first_static_tls; i < new->l_searchlist.r_nlist; ++i) -+ for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) - { - struct link_map *imap = new->l_searchlist.r_list[i]; - -- if (imap->l_need_tls_init -- && ! imap->l_init_called -- && imap->l_tls_blocksize > 0) -+ if (imap->l_need_tls_init && imap->l_tls_blocksize > 0) - { - /* For static TLS we have to allocate the memory here and - now, but we can delay updating the DTV. */ -diff --git a/elf/dl-tls.c b/elf/dl-tls.c -index ecb966d282..3d529b722c 100644 ---- a/elf/dl-tls.c -+++ b/elf/dl-tls.c -@@ -632,17 +632,21 @@ _dl_allocate_tls_init (void *result, bool main_thread) - some platforms use in static programs requires it. */ - dtv[map->l_tls_modid].pointer.val = dest; - -- /* Copy the initialization image and clear the BSS part. For -- audit modules or dependencies with initial-exec TLS, we can not -- set the initial TLS image on default loader initialization -- because it would already be set by the audit setup. However, -- subsequent thread creation would need to follow the default -- behaviour. */ -+ /* Copy the initialization image and clear the BSS part. -+ For audit modules or dependencies with initial-exec TLS, -+ we can not set the initial TLS image on default loader -+ initialization because it would already be set by the -+ audit setup, which uses the dlopen code and already -+ clears l_need_tls_init. Calls with !main_thread from -+ pthread_create need to initialze TLS for the current -+ thread regardless of namespace. */ - if (map->l_ns != LM_ID_BASE && main_thread) - continue; - memset (__mempcpy (dest, map->l_tls_initimage, - map->l_tls_initimage_size), '\0', - map->l_tls_blocksize - map->l_tls_initimage_size); -+ if (main_thread) -+ map->l_need_tls_init = 0; - } - - total += cnt; -@@ -1099,9 +1103,32 @@ _dl_tls_initial_modid_limit_setup (void) - } - - --void -+/* Add module to slot information data. If DO_ADD is false, only the -+ required memory is allocated. Must be called with -+ GL (dl_load_tls_lock) acquired. If the function has already been -+ called for the link map L with !DO_ADD, then this function will not -+ raise an exception, otherwise it is possible that it encounters a -+ memory allocation failure. -+ -+ Return false if L has already been added to the slotinfo data, or -+ if L has no TLS data. If the returned value is true, L has been -+ added with this call (DO_ADD), or has been added in a previous call -+ (!DO_ADD). -+ -+ The expected usage is as follows: Call _dl_add_to_slotinfo for -+ several link maps with DO_ADD set to false, and record if any calls -+ result in a true result. If there was a true result, call -+ _dl_add_to_slotinfo again, this time with DO_ADD set to true. (For -+ simplicity, it's possible to call the function for link maps where -+ the previous result was false.) The return value from the second -+ round of calls can be ignored. If there was true result initially, -+ call _dl_update_slotinfo to update the TLS generation counter. */ -+bool - _dl_add_to_slotinfo (struct link_map *l, bool do_add) - { -+ if (l->l_tls_blocksize == 0 || l->l_tls_in_slotinfo) -+ return false; -+ - /* Now that we know the object is loaded successfully add - modules containing TLS data to the dtv info table. We - might have to increase its size. */ -@@ -1157,7 +1184,10 @@ cannot create TLS data structures")); - atomic_store_relaxed (&listp->slotinfo[idx].map, l); - atomic_store_relaxed (&listp->slotinfo[idx].gen, - GL(dl_tls_generation) + 1); -+ l->l_tls_in_slotinfo = true; - } -+ -+ return true; - } - - #if PTHREAD_IN_LIBC -diff --git a/elf/tst-dlopen-tlsreinit1.c b/elf/tst-dlopen-tlsreinit1.c -new file mode 100644 -index 0000000000..2016b9b0c6 ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinit1.c -@@ -0,0 +1,40 @@ -+/* Test that dlopen preserves already accessed TLS (bug 31717). -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ void *handle = xdlopen ("tst-dlopen-tlsreinitmod1.so", RTLD_NOW); -+ -+ bool *tlsreinitmod3_tested = xdlsym (handle, "tlsreinitmod3_tested"); -+ TEST_VERIFY (*tlsreinitmod3_tested); -+ -+ xdlclose (handle); -+ -+ /* This crashes if the libc.so.6 TLS image has been reverted. */ -+ TEST_VERIFY (!isupper ('@')); -+ -+ return 0; -+} -+ -+#include -diff --git a/elf/tst-dlopen-tlsreinit2.c b/elf/tst-dlopen-tlsreinit2.c -new file mode 100644 -index 0000000000..90ad2c7713 ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinit2.c -@@ -0,0 +1,39 @@ -+/* Test that dlopen preserves already accessed TLS (bug 31717). -+ Variant with initially-linked modules. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+ -+static int -+do_test (void) -+{ -+ /* Defined in tst-dlopen-tlsreinitmod3.so. */ -+ extern bool tlsreinitmod3_tested; -+ TEST_VERIFY (tlsreinitmod3_tested); -+ -+ /* This crashes if the libc.so.6 TLS image has been reverted. */ -+ TEST_VERIFY (!isupper ('@')); -+ -+ return 0; -+} -+ -+#include -diff --git a/elf/tst-dlopen-tlsreinit3.c b/elf/tst-dlopen-tlsreinit3.c -new file mode 100644 -index 0000000000..79bd585aff ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinit3.c -@@ -0,0 +1,2 @@ -+/* Same code, but run with LD_AUDIT=tst-auditmod1.so. */ -+#include "tst-dlopen-tlsreinit1.c" -diff --git a/elf/tst-dlopen-tlsreinit4.c b/elf/tst-dlopen-tlsreinit4.c -new file mode 100644 -index 0000000000..344c9211ab ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinit4.c -@@ -0,0 +1,2 @@ -+/* Same code, but run with LD_AUDIT=tst-auditmod1.so. */ -+#include "tst-dlopen-tlsreinit2.c" -diff --git a/elf/tst-dlopen-tlsreinitmod1.c b/elf/tst-dlopen-tlsreinitmod1.c -new file mode 100644 -index 0000000000..354cc3de51 ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinitmod1.c -@@ -0,0 +1,20 @@ -+/* Test that dlopen preserves already accessed TLS (bug 31717), module 1. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* This module triggers loading of tst-dlopen-tlsreinitmod2.so and -+ tst-dlopen-tlsreinitmod3.so. */ -diff --git a/elf/tst-dlopen-tlsreinitmod2.c b/elf/tst-dlopen-tlsreinitmod2.c -new file mode 100644 -index 0000000000..677e69bd35 ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinitmod2.c -@@ -0,0 +1,30 @@ -+/* Test that dlopen preserves already accessed TLS (bug 31717), module 2. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+ -+/* Defined in tst-dlopen-tlsreinitmod3.so. This an underlinked symbol -+ dependency. */ -+extern void call_tlsreinitmod3 (void); -+ -+static void __attribute__ ((constructor)) -+tlsreinitmod2_init (void) -+{ -+ puts ("info: constructor of tst-dlopen-tlsreinitmod2.so invoked"); -+ call_tlsreinitmod3 (); -+} -diff --git a/elf/tst-dlopen-tlsreinitmod3.c b/elf/tst-dlopen-tlsreinitmod3.c -new file mode 100644 -index 0000000000..ef769c5131 ---- /dev/null -+++ b/elf/tst-dlopen-tlsreinitmod3.c -@@ -0,0 +1,102 @@ -+/* Test that dlopen preserves already accessed TLS (bug 31717), module 3. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+/* Used to verify from the main program that the test ran. */ -+bool tlsreinitmod3_tested; -+ -+/* This TLS variable must not revert back to the initial state after -+ dlopen. */ -+static __thread int tlsreinitmod3_state = 1; -+ -+/* Set from the ELF constructor during dlopen. */ -+static bool tlsreinitmod3_constructed; -+ -+/* Second half of test, behind a compiler barrier. The compiler -+ barrier is necessary to prevent carrying over TLS address -+ information from call_tlsreinitmod3 to call_tlsreinitmod3_tail. */ -+void call_tlsreinitmod3_tail (void *self) __attribute__ ((weak)); -+ -+/* Called from tst-dlopen-tlsreinitmod2.so. */ -+void -+call_tlsreinitmod3 (void) -+{ -+ printf ("info: call_tlsreinitmod3 invoked (state=%d)\n", -+ tlsreinitmod3_state); -+ -+ if (tlsreinitmod3_constructed) -+ { -+ puts ("error: call_tlsreinitmod3 called after ELF constructor"); -+ fflush (stdout); -+ /* Cannot rely on test harness due to dynamic linking. */ -+ _exit (1); -+ } -+ -+ tlsreinitmod3_state = 2; -+ -+ /* Self-dlopen. This will run the ELF constructor. */ -+ void *self = dlopen ("tst-dlopen-tlsreinitmod3.so", RTLD_NOW); -+ if (self == NULL) -+ { -+ printf ("error: dlopen: %s\n", dlerror ()); -+ fflush (stdout); -+ /* Cannot rely on test harness due to dynamic linking. */ -+ _exit (1); -+ } -+ -+ call_tlsreinitmod3_tail (self); -+} -+ -+void -+call_tlsreinitmod3_tail (void *self) -+{ -+ printf ("info: dlopen returned in tlsreinitmod3 (state=%d)\n", -+ tlsreinitmod3_state); -+ -+ if (!tlsreinitmod3_constructed) -+ { -+ puts ("error: dlopen did not call tlsreinitmod3 ELF constructor"); -+ fflush (stdout); -+ /* Cannot rely on test harness due to dynamic linking. */ -+ _exit (1); -+ } -+ -+ if (tlsreinitmod3_state != 2) -+ { -+ puts ("error: TLS state reverted in tlsreinitmod3"); -+ fflush (stdout); -+ /* Cannot rely on test harness due to dynamic linking. */ -+ _exit (1); -+ } -+ -+ dlclose (self); -+ -+ /* Signal test completion to the main program. */ -+ tlsreinitmod3_tested = true; -+} -+ -+static void __attribute__ ((constructor)) -+tlsreinitmod3_init (void) -+{ -+ puts ("info: constructor of tst-dlopen-tlsreinitmod3.so invoked"); -+ tlsreinitmod3_constructed = true; -+} -diff --git a/include/link.h b/include/link.h -index cb0d7d8e2f..5ed445d5a6 100644 ---- a/include/link.h -+++ b/include/link.h -@@ -212,6 +212,7 @@ struct link_map - unsigned int l_find_object_processed:1; /* Zero if _dl_find_object_update - needs to process this - lt_library map. */ -+ unsigned int l_tls_in_slotinfo:1; /* TLS slotinfo updated in dlopen. */ - - /* NODELETE status of the map. Only valid for maps of type - lt_loaded. Lazy binding sets l_nodelete_active directly, -diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h -index 154efb0e19..259ce2e7d6 100644 ---- a/sysdeps/generic/ldsodefs.h -+++ b/sysdeps/generic/ldsodefs.h -@@ -1239,13 +1239,7 @@ extern void *_dl_open (const char *name, int mode, const void *caller, - extern int _dl_scope_free (void *) attribute_hidden; - - --/* Add module to slot information data. If DO_ADD is false, only the -- required memory is allocated. Must be called with GL -- (dl_load_tls_lock) acquired. If the function has already been called -- for the link map L with !do_add, then this function will not raise -- an exception, otherwise it is possible that it encounters a memory -- allocation failure. */ --extern void _dl_add_to_slotinfo (struct link_map *l, bool do_add) -+extern bool _dl_add_to_slotinfo (struct link_map *l, bool do_add) - attribute_hidden; - - /* Update slot information data for at least the generation of the - -commit f4a9b6e97bf05cf5a41907e55901f7e9afaafd4d -Author: Florian Weimer -Date: Mon Sep 9 21:10:23 2024 +0200 - - elf: Fix tst-dlopen-tlsreinit1.out test dependency - - Fixes commit 5097cd344fd243fb8deb6dec96e8073753f962f9 - ("elf: Avoid re-initializing already allocated TLS in dlopen - (bug 31717)"). - - Reported-by: Patsy Griffin - Reviewed-by: Patsy Griffin - (cherry picked from commit e82a7cb1622bff08d8e3a144d7c5516a088f1cbc) - -diff --git a/elf/Makefile b/elf/Makefile -index a03c6520d8..dc686c3bff 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -3141,7 +3141,7 @@ $(objpfx)tst-dlopen-tlsreinit4: \ - # tst-dlopen-tlsreinitmod3.so. The dependency is provided via - # $(objpfx)tst-dlopen-tlsreinitmod1.so. - tst-dlopen-tlsreinitmod2.so-no-z-defs = yes --$(objpfx)tst-dlopen-tlsreinit.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \ -+$(objpfx)tst-dlopen-tlsreinit1.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \ - $(objpfx)tst-dlopen-tlsreinitmod2.so $(objpfx)tst-dlopen-tlsreinitmod3.so - # Reuse an audit module which provides ample debug logging. - $(objpfx)tst-dlopen-tlsreinit3.out: $(objpfx)tst-auditmod1.so - -commit adfb14e71f240a6bc2a4cbd6e6c50cc3fa1bcc3b -Author: Florian Weimer -Date: Tue Sep 10 12:40:27 2024 +0200 - - debug: Fix read error handling in pcprofiledump - - The reading loops did not check for read failures. Addresses - a static analysis report. - - Manually tested by compiling a program with the GCC's - -finstrument-functions option, running it with - “LD_PRELOAD=debug/libpcprofile.so PCPROFILE_OUTPUT=output-file”, - and reviewing the output of “debug/pcprofiledump output-file”. - - (cherry picked from commit 89b088bf70c651c231bf27e644270d093b8f144a) - -diff --git a/debug/pcprofiledump.c b/debug/pcprofiledump.c -index 049a9c2744..94530f0cf9 100644 ---- a/debug/pcprofiledump.c -+++ b/debug/pcprofiledump.c -@@ -75,6 +75,44 @@ static struct argp argp = - options, parse_opt, args_doc, doc, NULL, more_help - }; - -+/* Try to read SIZE bytes from FD and store them on BUF. Terminate -+ the process upon read error. Also terminate the process if less -+ than SIZE bytes are remaining in the file. If !IN_HEADER, do not -+ terminate the process if the end of the file is encountered -+ immediately, before any bytes are read. -+ -+ Returns true if SIZE bytes have been read, and false if no bytes -+ have been read due to an end-of-file condition. */ -+static bool -+read_exactly (int fd, void *buffer, size_t size, bool in_header) -+{ -+ char *p = buffer; -+ char *end = p + size; -+ while (p < end) -+ { -+ ssize_t ret = TEMP_FAILURE_RETRY (read (fd, p, end - p)); -+ if (ret < 0) -+ { -+ if (in_header) -+ error (EXIT_FAILURE, errno, _("cannot read header")); -+ else -+ error (EXIT_FAILURE, errno, _("cannot read pointer pair")); -+ } -+ if (ret == 0) -+ { -+ if (p == buffer && !in_header) -+ /* Nothing has been read. */ -+ return false; -+ if (in_header) -+ error (EXIT_FAILURE, 0, _("unexpected end of file in header")); -+ else -+ error (EXIT_FAILURE, 0, -+ _("unexpected end of file in pointer pair")); -+ } -+ p += ret; -+ } -+ return true; -+} - - int - main (int argc, char *argv[]) -@@ -110,8 +148,7 @@ main (int argc, char *argv[]) - /* Read the first 4-byte word. It contains the information about - the word size and the endianness. */ - uint32_t word; -- if (TEMP_FAILURE_RETRY (read (fd, &word, 4)) != 4) -- error (EXIT_FAILURE, errno, _("cannot read header")); -+ read_exactly (fd, &word, sizeof (word), true); - - /* Check whether we have to swap the byte order. */ - int must_swap = (word & 0x0fffffff) == bswap_32 (0xdeb00000); -@@ -121,56 +158,30 @@ main (int argc, char *argv[]) - /* We have two loops, one for 32 bit pointers, one for 64 bit pointers. */ - if (word == 0xdeb00004) - { -- union -- { -- uint32_t ptrs[2]; -- char bytes[8]; -- } pair; -+ uint32_t ptrs[2]; - - while (1) - { -- size_t len = sizeof (pair); -- size_t n; -- -- while (len > 0 -- && (n = TEMP_FAILURE_RETRY (read (fd, &pair.bytes[8 - len], -- len))) != 0) -- len -= n; -- -- if (len != 0) -- /* Nothing to read. */ -+ if (!read_exactly (fd, ptrs, sizeof (ptrs), false)) - break; - - printf ("this = %#010" PRIx32 ", caller = %#010" PRIx32 "\n", -- must_swap ? bswap_32 (pair.ptrs[0]) : pair.ptrs[0], -- must_swap ? bswap_32 (pair.ptrs[1]) : pair.ptrs[1]); -+ must_swap ? bswap_32 (ptrs[0]) : ptrs[0], -+ must_swap ? bswap_32 (ptrs[1]) : ptrs[1]); - } - } - else if (word == 0xdeb00008) - { -- union -- { -- uint64_t ptrs[2]; -- char bytes[16]; -- } pair; -+ uint64_t ptrs[2]; - - while (1) - { -- size_t len = sizeof (pair); -- size_t n; -- -- while (len > 0 -- && (n = TEMP_FAILURE_RETRY (read (fd, &pair.bytes[8 - len], -- len))) != 0) -- len -= n; -- -- if (len != 0) -- /* Nothing to read. */ -+ if (!read_exactly (fd, ptrs, sizeof (ptrs), false)) - break; - - printf ("this = %#018" PRIx64 ", caller = %#018" PRIx64 "\n", -- must_swap ? bswap_64 (pair.ptrs[0]) : pair.ptrs[0], -- must_swap ? bswap_64 (pair.ptrs[1]) : pair.ptrs[1]); -+ must_swap ? bswap_64 (ptrs[0]) : ptrs[0], -+ must_swap ? bswap_64 (ptrs[1]) : ptrs[1]); - } - } - else - -commit 7073164add3b874cf0c19ca0fb84236f6bb0985d -Author: Siddhesh Poyarekar -Date: Tue Sep 3 14:58:33 2024 -0400 - - libio: Attempt wide backup free only for non-legacy code - - _wide_data and _mode are not available in legacy code, so do not attempt - to free the wide backup buffer in legacy code. - - Resolves: BZ #32137 and BZ #27821 - - Signed-off-by: Siddhesh Poyarekar - Reviewed-by: Florian Weimer - (cherry picked from commit ae4d44b1d501421ad9a3af95279b8f4d1546f1ce) - -diff --git a/NEWS b/NEWS -index 5b20efbf6c..9033335db1 100644 ---- a/NEWS -+++ b/NEWS -@@ -9,12 +9,14 @@ Version 2.40.1 - - The following bugs are resolved with this release: - -+ [27821] ungetc: Fix backup buffer leak on program exit - [30081] resolv: Do not wait for non-existing second DNS response after error - [31717] elf: Avoid re-initializing already allocated TLS in dlopen - [31890] resolv: Allow short error responses to match any DNS query - [31968] mremap implementation in C does not handle arguments correctly - [32026] strerror/strsignal TLS not handled correctly for secondary namespaces - [32052] Name space violation in fortify wrappers -+ [32137] libio: Attempt wide backup free only for non-legacy code - - Version 2.40 - -diff --git a/libio/genops.c b/libio/genops.c -index 35d8b30710..6f20d49669 100644 ---- a/libio/genops.c -+++ b/libio/genops.c -@@ -819,7 +819,7 @@ _IO_unbuffer_all (void) - /* Free up the backup area if it was ever allocated. */ - if (_IO_have_backup (fp)) - _IO_free_backup_area (fp); -- if (fp->_mode > 0 && _IO_have_wbackup (fp)) -+ if (!legacy && fp->_mode > 0 && _IO_have_wbackup (fp)) - _IO_free_wbackup_area (fp); - - if (! (fp->_flags & _IO_UNBUFFERED) - -commit 77018fd9f99f86a354387219fdf099915857a527 -Author: Sergey Kolosov -Date: Wed Sep 25 15:51:23 2024 +0200 - - stdio-common: Add new test for fdopen - - This commit adds fdopen test with all modes. - Reviewed-by: DJ Delorie - - (cherry picked from commit 1d72fa3cfa046f7293421a7e58f2a272474ea901) - -diff --git a/stdio-common/Makefile b/stdio-common/Makefile -index a91754f52d..5af53d61fd 100644 ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -207,6 +207,7 @@ tests := \ - tst-cookie \ - tst-dprintf-length \ - tst-fdopen \ -+ tst-fdopen2 \ - tst-ferror \ - tst-fgets \ - tst-fileno \ -diff --git a/stdio-common/tst-fdopen2.c b/stdio-common/tst-fdopen2.c -new file mode 100644 -index 0000000000..0c6625f258 ---- /dev/null -+++ b/stdio-common/tst-fdopen2.c -@@ -0,0 +1,246 @@ -+/* Test the fdopen function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+char *tmp_dir; -+char *path_to_file; -+ -+void -+prepare_tmp_dir (void) -+{ -+ tmp_dir = support_create_temp_directory ("tst-fdopen2"); -+ path_to_file = xasprintf ("%s/tst-fdopen2.txt", tmp_dir); -+} -+ -+/* open temp file descriptor with mode. */ -+int -+open_tmp_fd (int mode) -+{ -+ int fd = xopen (path_to_file, mode, 0644); -+ return fd; -+} -+ -+ -+/* close and remove temp file with close. */ -+void -+close_tmp_fd (int fd) -+{ -+ xclose (fd); -+ xunlink (path_to_file); -+} -+ -+/* close and remove temp file with fclose. */ -+void -+close_tmp_fp (FILE *fp) -+{ -+ fclose (fp); -+ xunlink (path_to_file); -+} -+ -+/* test "w" fdopen mode. */ -+void -+do_test_fdopen_w (void) -+{ -+ int fd, ret; -+ FILE *fp; -+ fd = open_tmp_fd (O_WRONLY | O_CREAT | O_TRUNC); -+ -+ /* test mode mismatch. */ -+ fp = fdopen (fd, "r"); -+ if (fp != NULL || errno != EINVAL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, r) should fail with EINVAL: %m", fd); -+ } -+ -+ fp = fdopen (fd, "w"); -+ if (fp == NULL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, w): %m", fd); -+ } -+ -+ const void *buf = "AAAA"; -+ ret = fwrite (buf, 1, 4, fp); -+ if (ret != 4) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fwrite (): %m"); -+ } -+ -+ unsigned char buf2[4]; -+ rewind (fp); -+ clearerr (fp); -+ /* fread should fail in "w" mode */ -+ ret = fread (buf2, 1, 4, fp); -+ if (ret != 0 || ferror (fp) == 0) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fread should fail in \"w\" mode"); -+ } -+ -+ fclose (fp); -+} -+ -+/* test "r" fdopen mode. */ -+void -+do_test_fdopen_r (void) -+{ -+ int fd, ret; -+ FILE *fp; -+ fd = open_tmp_fd (O_RDONLY); -+ -+ /* test mode mismatch. */ -+ fp = fdopen (fd, "w"); -+ if (fp != NULL || errno != EINVAL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, w) should fail with EINVAL: %m", fd); -+ } -+ -+ fp = fdopen (fd, "r"); -+ if (fp == NULL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, w): %m", fd); -+ } -+ -+ const void *buf = "BBBB"; -+ /* fwrite should fail in "r" mode. */ -+ ret = fwrite (buf, 1, 4, fp); -+ if (ret != 0 || ferror (fp) == 0) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fwrite should fail in \"r\" mode"); -+ } -+ -+ unsigned char buf2[4]; -+ ret = fread (buf2, 1, 4, fp); -+ if (ret != 4) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fread (): %m"); -+ } -+ -+ fclose (fp); -+} -+ -+/* test "a" fdopen mode. */ -+void -+do_test_fdopen_a (void) -+{ -+ int fd, ret; -+ FILE *fp; -+ fd = open_tmp_fd (O_WRONLY | O_CREAT | O_APPEND); -+ -+ /* test mode mismatch. */ -+ fp = fdopen (fd, "r+"); -+ if (fp != NULL || errno != EINVAL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, \"r+\") should fail with EINVAL: %m", fd); -+ } -+ -+ fp = fdopen (fd, "a"); -+ if (fp == NULL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, w): %m", fd); -+ } -+ -+ const void *buf = "CCCC"; -+ ret = fwrite (buf, 1, 4, fp); -+ if (ret != 4) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fwrite (): %m"); -+ } -+ -+ /* fread should fail in "a" mode. */ -+ unsigned char buf2[4]; -+ clearerr (fp); -+ ret = fread (buf2, 1, 4, fp); -+ if (ret != 0 || ferror (fp) == 0) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fread should fail \"a\" mode"); -+ } -+ -+ fclose (fp); -+} -+ -+void -+do_test_fdopen_mode (int mode, const char *fmode) -+{ -+ int fd, ret; -+ FILE *fp; -+ fd = open_tmp_fd (mode); -+ -+ fp = fdopen (fd, fmode); -+ if (fp == NULL) -+ { -+ close_tmp_fd (fd); -+ FAIL_EXIT1 ("fdopen (%d, %s): %m", fd, fmode); -+ } -+ -+ const void *buf = "EEEE"; -+ ret = fwrite (buf, 1, 4, fp); -+ if (ret != 4) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fwrite () in mode:%s returns %d: %m", fmode, ret); -+ } -+ -+ rewind (fp); -+ unsigned char buf2[4]; -+ ret = fread (buf2, 1, 4, fp); -+ if (ret != 4) -+ { -+ close_tmp_fp (fp); -+ FAIL_EXIT1 ("fread () in mode:%s returns %d: %m", fmode, ret); -+ } -+ -+ fclose (fp); -+} -+ -+static int -+do_test (void) -+{ -+ -+ prepare_tmp_dir (); -+ -+ do_test_fdopen_w (); -+ do_test_fdopen_r (); -+ do_test_fdopen_a (); -+ -+ /* test r+ w+ a+ fdopen modes. */ -+ do_test_fdopen_mode (O_RDWR, "r+"); -+ do_test_fdopen_mode (O_RDWR | O_CREAT | O_TRUNC, "w+"); -+ do_test_fdopen_mode (O_RDWR | O_CREAT | O_APPEND, "a+"); -+ xunlink (path_to_file); -+ return 0; -+} -+ -+#include - -commit 61b6464f8d72aef520ee769a2ae317b4f68d5e1d -Author: Joseph Myers -Date: Tue Sep 24 14:06:22 2024 +0000 - - Add tests of fread - - There seem to be no glibc tests specifically for the fread function. - Add basic tests of that function. - - Tested for x86_64. - - (cherry picked from commit d14c977c65aac7db35bb59380ef99d6582c4f930) - -diff --git a/stdio-common/Makefile b/stdio-common/Makefile -index 5af53d61fd..3396090be1 100644 ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -217,6 +217,7 @@ tests := \ - tst-fmemopen4 \ - tst-fphex \ - tst-fphex-wide \ -+ tst-fread \ - tst-fseek \ - tst-fwrite \ - tst-gets \ -diff --git a/stdio-common/tst-fread.c b/stdio-common/tst-fread.c -new file mode 100644 -index 0000000000..4d9a7895f6 ---- /dev/null -+++ b/stdio-common/tst-fread.c -@@ -0,0 +1,134 @@ -+/* Test fread. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+int -+do_test (void) -+{ -+ char *temp_dir = support_create_temp_directory ("tst-fread"); -+ char *file1 = xasprintf ("%s/file1", temp_dir); -+ support_write_file_string (file1, "file1"); -+ add_temp_file (file1); -+ FILE *fp; -+ size_t ret; -+ char buf[1024]; -+ -+ verbose_printf ("test single-byte reads\n"); -+ fp = xfopen (file1, "r"); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 1, 2, fp); -+ TEST_COMPARE (ret, 2); -+ TEST_COMPARE (buf[0], 'f'); -+ TEST_COMPARE (buf[1], 'i'); -+ TEST_COMPARE (feof (fp), 0); -+ TEST_COMPARE (ftell (fp), 2); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 1, 3, fp); -+ TEST_COMPARE (ret, 3); -+ TEST_COMPARE (buf[0], 'l'); -+ TEST_COMPARE (buf[1], 'e'); -+ TEST_COMPARE (buf[2], '1'); -+ TEST_COMPARE (ftell (fp), 5); -+ TEST_COMPARE (feof (fp), 0); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 1, 1, fp); -+ TEST_COMPARE (ret, 0); -+ TEST_COMPARE (!!feof (fp), 1); -+ TEST_COMPARE (ferror (fp), 0); -+ TEST_COMPARE (ftell (fp), 5); -+ xfclose (fp); -+ -+ verbose_printf ("test single-byte reads, EOF part way through\n"); -+ fp = xfopen (file1, "r"); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 1, sizeof buf, fp); -+ TEST_COMPARE (ret, 5); -+ TEST_COMPARE (buf[0], 'f'); -+ TEST_COMPARE (buf[1], 'i'); -+ TEST_COMPARE (buf[2], 'l'); -+ TEST_COMPARE (buf[3], 'e'); -+ TEST_COMPARE (buf[4], '1'); -+ TEST_COMPARE (!!feof (fp), 1); -+ TEST_COMPARE (ferror (fp), 0); -+ TEST_COMPARE (ftell (fp), 5); -+ xfclose (fp); -+ -+ verbose_printf ("test multi-byte reads\n"); -+ fp = xfopen (file1, "r"); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 2, 2, fp); -+ TEST_COMPARE (ret, 2); -+ TEST_COMPARE (buf[0], 'f'); -+ TEST_COMPARE (buf[1], 'i'); -+ TEST_COMPARE (buf[2], 'l'); -+ TEST_COMPARE (buf[3], 'e'); -+ TEST_COMPARE (feof (fp), 0); -+ TEST_COMPARE (ftell (fp), 4); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 3, 3, fp); -+ TEST_COMPARE (ret, 0); -+ /* The bytes written for a partial element read are unspecified. */ -+ TEST_COMPARE (!!feof (fp), 1); -+ TEST_COMPARE (ferror (fp), 0); -+ TEST_COMPARE (ftell (fp), 5); -+ xfclose (fp); -+ -+ verbose_printf ("test read error\n"); -+ fp = xfopen (file1, "r"); -+ xclose (fileno (fp)); -+ memset (buf, 0, sizeof buf); -+ ret = fread (buf, 1, sizeof buf, fp); -+ TEST_COMPARE (ret, 0); -+ TEST_COMPARE (feof (fp), 0); -+ TEST_COMPARE (!!ferror (fp), 1); -+ fclose (fp); -+ -+ verbose_printf ("test zero size\n"); -+ fp = xfopen (file1, "r"); -+ ret = fread (buf, 0, SIZE_MAX, fp); -+ TEST_COMPARE (ret, 0); -+ TEST_COMPARE (feof (fp), 0); -+ TEST_COMPARE (ferror (fp), 0); -+ TEST_COMPARE (ftell (fp), 0); -+ xfclose (fp); -+ -+ verbose_printf ("test zero items\n"); -+ fp = xfopen (file1, "r"); -+ ret = fread (buf, SIZE_MAX, 0, fp); -+ TEST_COMPARE (ret, 0); -+ TEST_COMPARE (feof (fp), 0); -+ TEST_COMPARE (ferror (fp), 0); -+ TEST_COMPARE (ftell (fp), 0); -+ xfclose (fp); -+ -+ free (temp_dir); -+ free (file1); -+ return 0; -+} -+ -+#include - -commit 9bc76c7ca4d6022fd588c274d139813f99e04f35 -Author: Joseph Myers -Date: Wed Aug 14 17:15:46 2024 +0000 - - Test errno setting on strtod overflow in tst-strtod-round - - We have no tests that errno is set to ERANGE on overflow of - strtod-family functions (we do have some tests for underflow, in - tst-strtod-underflow). Add such tests to tst-strtod-round. - - Tested for x86_64. - - (cherry picked from commit 207d64feb26279e152c50744e3c37e68491aca99) - -diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c -index 6fba4b5228..c3cc0201d4 100644 ---- a/stdlib/tst-strtod-round-skeleton.c -+++ b/stdlib/tst-strtod-round-skeleton.c -@@ -21,6 +21,7 @@ - declared in the headers. */ - #define _LIBC_TEST 1 - #define __STDC_WANT_IEC_60559_TYPES_EXT__ -+#include - #include - #include - #include -@@ -205,7 +206,9 @@ struct test { - #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ - { \ - feclearexcept (FE_ALL_EXCEPT); \ -+ errno = 0; \ - FTYPE f = STRTO (FSUF) (s, NULL); \ -+ int new_errno = errno; \ - if (f != expected->FSUF \ - || (copysign ## CSUF) (1.0 ## LSUF, f) \ - != (copysign ## CSUF) (1.0 ## LSUF, expected->FSUF)) \ -@@ -254,6 +257,14 @@ struct test { - printf ("ignoring this exception error\n"); \ - } \ - } \ -+ if (overflow->FSUF && new_errno != ERANGE) \ -+ { \ -+ printf (FNPFXS "to" #FSUF \ -+ " (" STRM ") left errno == %d," \ -+ " not %d (ERANGE)\n", \ -+ s, new_errno, ERANGE); \ -+ result = 1; \ -+ } \ - } \ - } - - -commit e06153665fa931e4c7d2a3ecc14e5197e96143a7 -Author: Joseph Myers -Date: Tue Aug 27 12:38:01 2024 +0000 - - More thoroughly test underflow / errno in tst-strtod-round - - Add tests of underflow in tst-strtod-round, and thus also test for - errno being unchanged when there is neither overflow nor underflow. - The errno setting before the function call to test for being unchanged - is adjusted to set errno to 12345 instead of 0, so that any bugs where - strtod sets errno to 0 would be detected. - - This doesn't add any new test inputs for tst-strtod-round, and in - particular doesn't cover the edge cases of underflow the way - tst-strtod-underflow does (none of the existing test inputs for - tst-strtod-round actually exercise cases that have underflow with - before-rounding tininess detection but not with after-rounding - tininess detection), but at least it provides some coverage (as per - the recent discussions) that ordinary non-overflowing non-underflowing - inputs to these functions do not set errno. - - Tested for x86_64. - - (cherry picked from commit d73ed2601b7c3c93c3529149a3d7f7b6177900a8) - -diff --git a/stdlib/gen-tst-strtod-round.c b/stdlib/gen-tst-strtod-round.c -index e48bf4d6ea..7ce735f81d 100644 ---- a/stdlib/gen-tst-strtod-round.c -+++ b/stdlib/gen-tst-strtod-round.c -@@ -46,6 +46,7 @@ static int - string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd) - { - mpfr_clear_overflow (); -+ mpfr_clear_underflow (); - #ifdef WORKAROUND - mpfr_t f2; - mpfr_init2 (f2, 100000); -@@ -53,12 +54,16 @@ string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd) - int r = mpfr_set (f, f2, rnd); - r |= mpfr_subnormalize (f, r, rnd); - mpfr_clear (f2); -- return r0 | r; -+ r |= r0; - #else - int r = mpfr_strtofr (f, s, NULL, 0, rnd); - r |= mpfr_subnormalize (f, r, rnd); -- return r; - #endif -+ if (r == 0) -+ /* The MPFR underflow flag is set for exact subnormal results, -+ which is not wanted here. */ -+ mpfr_clear_underflow (); -+ return r; - } - - void -@@ -70,6 +75,21 @@ print_fp (FILE *fout, mpfr_t f, const char *suffix) - mpfr_fprintf (fout, "\t%Ra%s", f, suffix); - } - -+static const char * -+suffix_to_print (bool overflow, bool underflow, bool underflow_before_rounding, -+ bool with_comma) -+{ -+ if (overflow) -+ return with_comma ? ", true, false,\n" : ", true, false"; -+ if (underflow) -+ return with_comma ? ", false, true,\n" : ", false, true"; -+ if (underflow_before_rounding) -+ return (with_comma -+ ? ", false, !TININESS_AFTER_ROUNDING,\n" -+ : ", false, !TININESS_AFTER_ROUNDING"); -+ return with_comma ? ", false, false,\n" : ", false, false"; -+} -+ - static void - round_str (FILE *fout, const char *s, int prec, int emin, int emax, - bool ibm_ld) -@@ -80,8 +100,11 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax, - mpfr_set_emin (emin); - mpfr_set_emax (emax); - mpfr_init (f); -+ string_to_fp (f, s, MPFR_RNDZ); -+ bool underflow_before_rounding = mpfr_underflow_p () != 0; - int r = string_to_fp (f, s, MPFR_RNDD); - bool overflow = mpfr_overflow_p () != 0; -+ bool underflow = mpfr_underflow_p () != 0; - if (ibm_ld) - { - assert (prec == 106 && emin == -1073 && emax == 1024); -@@ -97,19 +120,27 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax, - } - } - mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true"); -- print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); -+ print_fp (fout, f, -+ suffix_to_print (overflow, underflow, underflow_before_rounding, -+ true)); - string_to_fp (f, s, MPFR_RNDN); - overflow = (mpfr_overflow_p () != 0 - || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); -- print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); -+ print_fp (fout, f, -+ suffix_to_print (overflow, underflow, underflow_before_rounding, -+ true)); - string_to_fp (f, s, MPFR_RNDZ); - overflow = (mpfr_overflow_p () != 0 - || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); -- print_fp (fout, f, overflow ? ", true,\n" : ", false,\n"); -+ print_fp (fout, f, -+ suffix_to_print (overflow, underflow, underflow_before_rounding, -+ true)); - string_to_fp (f, s, MPFR_RNDU); - overflow = (mpfr_overflow_p () != 0 - || (ibm_ld && mpfr_cmpabs (f, max_value) > 0)); -- print_fp (fout, f, overflow ? ", true" : ", false"); -+ print_fp (fout, f, -+ suffix_to_print (overflow, underflow, underflow_before_rounding, -+ false)); - mpfr_clear (f); - if (ibm_ld) - mpfr_clear (max_value); -diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h -index 8899d15f9b..13e62dd2b0 100644 ---- a/stdlib/tst-strtod-round-data.h -+++ b/stdlib/tst-strtod-round-data.h -@@ -2,1852 +2,1852 @@ - static const struct test tests[] = { - TEST ("3.518437208883201171875E+013", - false, -- 0x2p+44, false, -- 0x2p+44, false, -- 0x2p+44, false, -- 0x2.000004p+44, false, -- false, -- 0x2.0000000000002p+44, false, -- 0x2.0000000000004p+44, false, -- 0x2.0000000000002p+44, false, -- 0x2.0000000000004p+44, false, -- true, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- true, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- true, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- true, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false, -- 0x2.0000000000003p+44, false), -+ 0x2p+44, false, false, -+ 0x2p+44, false, false, -+ 0x2p+44, false, false, -+ 0x2.000004p+44, false, false, -+ false, -+ 0x2.0000000000002p+44, false, false, -+ 0x2.0000000000004p+44, false, false, -+ 0x2.0000000000002p+44, false, false, -+ 0x2.0000000000004p+44, false, false, -+ true, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ true, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ true, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ true, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false, -+ 0x2.0000000000003p+44, false, false), - TEST ("1.00000005960464477550", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000001p+0, false, -- false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000004p+0, false, -- false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000004p+0, false, -- false, -- 0x1.0000010000000002048242f2ffp+0, false, -- 0x1.0000010000000002048242f2ff8p+0, false, -- 0x1.0000010000000002048242f2ffp+0, false, -- 0x1.0000010000000002048242f2ff8p+0, false, -- false, -- 0x1.0000010000000002048242f2ff66p+0, false, -- 0x1.0000010000000002048242f2ff67p+0, false, -- 0x1.0000010000000002048242f2ff66p+0, false, -- 0x1.0000010000000002048242f2ff67p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000004p+0, false, false, -+ false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000004p+0, false, false, -+ false, -+ 0x1.0000010000000002048242f2ffp+0, false, false, -+ 0x1.0000010000000002048242f2ff8p+0, false, false, -+ 0x1.0000010000000002048242f2ffp+0, false, false, -+ 0x1.0000010000000002048242f2ff8p+0, false, false, -+ false, -+ 0x1.0000010000000002048242f2ff66p+0, false, false, -+ 0x1.0000010000000002048242f2ff67p+0, false, false, -+ 0x1.0000010000000002048242f2ff66p+0, false, false, -+ 0x1.0000010000000002048242f2ff67p+0, false, false), - TEST ("1.0000000596046447755", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000001p+0, false, -- false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000004p+0, false, -- false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000002p+0, false, -- 0x1.0000010000000004p+0, false, -- false, -- 0x1.0000010000000002048242f2ffp+0, false, -- 0x1.0000010000000002048242f2ff8p+0, false, -- 0x1.0000010000000002048242f2ffp+0, false, -- 0x1.0000010000000002048242f2ff8p+0, false, -- false, -- 0x1.0000010000000002048242f2ff66p+0, false, -- 0x1.0000010000000002048242f2ff67p+0, false, -- 0x1.0000010000000002048242f2ff66p+0, false, -- 0x1.0000010000000002048242f2ff67p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000004p+0, false, false, -+ false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ 0x1.0000010000000004p+0, false, false, -+ false, -+ 0x1.0000010000000002048242f2ffp+0, false, false, -+ 0x1.0000010000000002048242f2ff8p+0, false, false, -+ 0x1.0000010000000002048242f2ffp+0, false, false, -+ 0x1.0000010000000002048242f2ff8p+0, false, false, -+ false, -+ 0x1.0000010000000002048242f2ff66p+0, false, false, -+ 0x1.0000010000000002048242f2ff67p+0, false, false, -+ 0x1.0000010000000002048242f2ff66p+0, false, false, -+ 0x1.0000010000000002048242f2ff67p+0, false, false), - TEST ("1.000000059604644776", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000001p+0, false, -- false, -- 0x1.000001000000000ap+0, false, -- 0x1.000001000000000cp+0, false, -- 0x1.000001000000000ap+0, false, -- 0x1.000001000000000cp+0, false, -- false, -- 0x1.000001000000000ap+0, false, -- 0x1.000001000000000cp+0, false, -- 0x1.000001000000000ap+0, false, -- 0x1.000001000000000cp+0, false, -- false, -- 0x1.000001000000000b3db12bdc21p+0, false, -- 0x1.000001000000000b3db12bdc21p+0, false, -- 0x1.000001000000000b3db12bdc21p+0, false, -- 0x1.000001000000000b3db12bdc218p+0, false, -- false, -- 0x1.000001000000000b3db12bdc213cp+0, false, -- 0x1.000001000000000b3db12bdc213dp+0, false, -- 0x1.000001000000000b3db12bdc213cp+0, false, -- 0x1.000001000000000b3db12bdc213dp+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ false, -+ 0x1.000001000000000ap+0, false, false, -+ 0x1.000001000000000cp+0, false, false, -+ 0x1.000001000000000ap+0, false, false, -+ 0x1.000001000000000cp+0, false, false, -+ false, -+ 0x1.000001000000000ap+0, false, false, -+ 0x1.000001000000000cp+0, false, false, -+ 0x1.000001000000000ap+0, false, false, -+ 0x1.000001000000000cp+0, false, false, -+ false, -+ 0x1.000001000000000b3db12bdc21p+0, false, false, -+ 0x1.000001000000000b3db12bdc21p+0, false, false, -+ 0x1.000001000000000b3db12bdc21p+0, false, false, -+ 0x1.000001000000000b3db12bdc218p+0, false, false, -+ false, -+ 0x1.000001000000000b3db12bdc213cp+0, false, false, -+ 0x1.000001000000000b3db12bdc213dp+0, false, false, -+ 0x1.000001000000000b3db12bdc213cp+0, false, false, -+ 0x1.000001000000000b3db12bdc213dp+0, false, false), - TEST ("1.000000059604644775", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000000fffffffp+0, false, -- 0x1.000001p+0, false, -- 0x1.000000fffffffp+0, false, -- 0x1.000001p+0, false, -- false, -- 0x1.000000fffffffff8p+0, false, -- 0x1.000000fffffffff8p+0, false, -- 0x1.000000fffffffff8p+0, false, -- 0x1.000000fffffffffap+0, false, -- false, -- 0x1.000000fffffffff8p+0, false, -- 0x1.000000fffffffff8p+0, false, -- 0x1.000000fffffffff8p+0, false, -- 0x1.000000fffffffffap+0, false, -- false, -- 0x1.000000fffffffff8cb535a09dd8p+0, false, -- 0x1.000000fffffffff8cb535a09dd8p+0, false, -- 0x1.000000fffffffff8cb535a09dd8p+0, false, -- 0x1.000000fffffffff8cb535a09dep+0, false, -- false, -- 0x1.000000fffffffff8cb535a09dd9p+0, false, -- 0x1.000000fffffffff8cb535a09dd91p+0, false, -- 0x1.000000fffffffff8cb535a09dd9p+0, false, -- 0x1.000000fffffffff8cb535a09dd91p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000000fffffffp+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000000fffffffp+0, false, false, -+ 0x1.000001p+0, false, false, -+ false, -+ 0x1.000000fffffffff8p+0, false, false, -+ 0x1.000000fffffffff8p+0, false, false, -+ 0x1.000000fffffffff8p+0, false, false, -+ 0x1.000000fffffffffap+0, false, false, -+ false, -+ 0x1.000000fffffffff8p+0, false, false, -+ 0x1.000000fffffffff8p+0, false, false, -+ 0x1.000000fffffffff8p+0, false, false, -+ 0x1.000000fffffffffap+0, false, false, -+ false, -+ 0x1.000000fffffffff8cb535a09dd8p+0, false, false, -+ 0x1.000000fffffffff8cb535a09dd8p+0, false, false, -+ 0x1.000000fffffffff8cb535a09dd8p+0, false, false, -+ 0x1.000000fffffffff8cb535a09dep+0, false, false, -+ false, -+ 0x1.000000fffffffff8cb535a09dd9p+0, false, false, -+ 0x1.000000fffffffff8cb535a09dd91p+0, false, false, -+ 0x1.000000fffffffff8cb535a09dd9p+0, false, false, -+ 0x1.000000fffffffff8cb535a09dd91p+0, false, false), - TEST ("1.00000005960464478", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000001p+0, false, -- false, -- 0x1.0000010000000054p+0, false, -- 0x1.0000010000000056p+0, false, -- 0x1.0000010000000054p+0, false, -- 0x1.0000010000000056p+0, false, -- false, -- 0x1.0000010000000054p+0, false, -- 0x1.0000010000000056p+0, false, -- 0x1.0000010000000054p+0, false, -- 0x1.0000010000000056p+0, false, -- false, -- 0x1.0000010000000055072873252f8p+0, false, -- 0x1.0000010000000055072873253p+0, false, -- 0x1.0000010000000055072873252f8p+0, false, -- 0x1.0000010000000055072873253p+0, false, -- false, -- 0x1.0000010000000055072873252febp+0, false, -- 0x1.0000010000000055072873252febp+0, false, -- 0x1.0000010000000055072873252febp+0, false, -- 0x1.0000010000000055072873252fecp+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ false, -+ 0x1.0000010000000054p+0, false, false, -+ 0x1.0000010000000056p+0, false, false, -+ 0x1.0000010000000054p+0, false, false, -+ 0x1.0000010000000056p+0, false, false, -+ false, -+ 0x1.0000010000000054p+0, false, false, -+ 0x1.0000010000000056p+0, false, false, -+ 0x1.0000010000000054p+0, false, false, -+ 0x1.0000010000000056p+0, false, false, -+ false, -+ 0x1.0000010000000055072873252f8p+0, false, false, -+ 0x1.0000010000000055072873253p+0, false, false, -+ 0x1.0000010000000055072873252f8p+0, false, false, -+ 0x1.0000010000000055072873253p+0, false, false, -+ false, -+ 0x1.0000010000000055072873252febp+0, false, false, -+ 0x1.0000010000000055072873252febp+0, false, false, -+ 0x1.0000010000000055072873252febp+0, false, false, -+ 0x1.0000010000000055072873252fecp+0, false, false), - TEST ("1.0000000596046448", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000001p+0, false, -- false, -- 0x1.00000100000001c4p+0, false, -- 0x1.00000100000001c6p+0, false, -- 0x1.00000100000001c4p+0, false, -- 0x1.00000100000001c6p+0, false, -- false, -- 0x1.00000100000001c4p+0, false, -- 0x1.00000100000001c6p+0, false, -- 0x1.00000100000001c4p+0, false, -- 0x1.00000100000001c6p+0, false, -- false, -- 0x1.00000100000001c5f67cd79279p+0, false, -- 0x1.00000100000001c5f67cd792798p+0, false, -- 0x1.00000100000001c5f67cd79279p+0, false, -- 0x1.00000100000001c5f67cd792798p+0, false, -- false, -- 0x1.00000100000001c5f67cd7927953p+0, false, -- 0x1.00000100000001c5f67cd7927954p+0, false, -- 0x1.00000100000001c5f67cd7927953p+0, false, -- 0x1.00000100000001c5f67cd7927954p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ false, -+ 0x1.00000100000001c4p+0, false, false, -+ 0x1.00000100000001c6p+0, false, false, -+ 0x1.00000100000001c4p+0, false, false, -+ 0x1.00000100000001c6p+0, false, false, -+ false, -+ 0x1.00000100000001c4p+0, false, false, -+ 0x1.00000100000001c6p+0, false, false, -+ 0x1.00000100000001c4p+0, false, false, -+ 0x1.00000100000001c6p+0, false, false, -+ false, -+ 0x1.00000100000001c5f67cd79279p+0, false, false, -+ 0x1.00000100000001c5f67cd792798p+0, false, false, -+ 0x1.00000100000001c5f67cd79279p+0, false, false, -+ 0x1.00000100000001c5f67cd792798p+0, false, false, -+ false, -+ 0x1.00000100000001c5f67cd7927953p+0, false, false, -+ 0x1.00000100000001c5f67cd7927954p+0, false, false, -+ 0x1.00000100000001c5f67cd7927953p+0, false, false, -+ 0x1.00000100000001c5f67cd7927954p+0, false, false), - TEST ("1.000000059604645", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.0000010000001p+0, false, -- 0x1.0000010000001p+0, false, -- 0x1.0000010000001p+0, false, -- 0x1.0000010000002p+0, false, -- false, -- 0x1.000001000000102ep+0, false, -- 0x1.000001000000103p+0, false, -- 0x1.000001000000102ep+0, false, -- 0x1.000001000000103p+0, false, -- false, -- 0x1.000001000000102ep+0, false, -- 0x1.000001000000103p+0, false, -- 0x1.000001000000102ep+0, false, -- 0x1.000001000000103p+0, false, -- false, -- 0x1.000001000000102f4fc8c3d757p+0, false, -- 0x1.000001000000102f4fc8c3d7578p+0, false, -- 0x1.000001000000102f4fc8c3d757p+0, false, -- 0x1.000001000000102f4fc8c3d7578p+0, false, -- false, -- 0x1.000001000000102f4fc8c3d75769p+0, false, -- 0x1.000001000000102f4fc8c3d75769p+0, false, -- 0x1.000001000000102f4fc8c3d75769p+0, false, -- 0x1.000001000000102f4fc8c3d7576ap+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.0000010000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ 0x1.0000010000002p+0, false, false, -+ false, -+ 0x1.000001000000102ep+0, false, false, -+ 0x1.000001000000103p+0, false, false, -+ 0x1.000001000000102ep+0, false, false, -+ 0x1.000001000000103p+0, false, false, -+ false, -+ 0x1.000001000000102ep+0, false, false, -+ 0x1.000001000000103p+0, false, false, -+ 0x1.000001000000102ep+0, false, false, -+ 0x1.000001000000103p+0, false, false, -+ false, -+ 0x1.000001000000102f4fc8c3d757p+0, false, false, -+ 0x1.000001000000102f4fc8c3d7578p+0, false, false, -+ 0x1.000001000000102f4fc8c3d757p+0, false, false, -+ 0x1.000001000000102f4fc8c3d7578p+0, false, false, -+ false, -+ 0x1.000001000000102f4fc8c3d75769p+0, false, false, -+ 0x1.000001000000102f4fc8c3d75769p+0, false, false, -+ 0x1.000001000000102f4fc8c3d75769p+0, false, false, -+ 0x1.000001000000102f4fc8c3d7576ap+0, false, false), - TEST ("1.00000005960464", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000000fffffeap+0, false, -- 0x1.000000fffffeap+0, false, -- 0x1.000000fffffeap+0, false, -- 0x1.000000fffffebp+0, false, -- false, -- 0x1.000000fffffea7e4p+0, false, -- 0x1.000000fffffea7e6p+0, false, -- 0x1.000000fffffea7e4p+0, false, -- 0x1.000000fffffea7e6p+0, false, -- false, -- 0x1.000000fffffea7e4p+0, false, -- 0x1.000000fffffea7e6p+0, false, -- 0x1.000000fffffea7e4p+0, false, -- 0x1.000000fffffea7e6p+0, false, -- false, -- 0x1.000000fffffea7e5975eb11da7p+0, false, -- 0x1.000000fffffea7e5975eb11da78p+0, false, -- 0x1.000000fffffea7e5975eb11da7p+0, false, -- 0x1.000000fffffea7e5975eb11da78p+0, false, -- false, -- 0x1.000000fffffea7e5975eb11da74ap+0, false, -- 0x1.000000fffffea7e5975eb11da74bp+0, false, -- 0x1.000000fffffea7e5975eb11da74ap+0, false, -- 0x1.000000fffffea7e5975eb11da74bp+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000000fffffeap+0, false, false, -+ 0x1.000000fffffeap+0, false, false, -+ 0x1.000000fffffeap+0, false, false, -+ 0x1.000000fffffebp+0, false, false, -+ false, -+ 0x1.000000fffffea7e4p+0, false, false, -+ 0x1.000000fffffea7e6p+0, false, false, -+ 0x1.000000fffffea7e4p+0, false, false, -+ 0x1.000000fffffea7e6p+0, false, false, -+ false, -+ 0x1.000000fffffea7e4p+0, false, false, -+ 0x1.000000fffffea7e6p+0, false, false, -+ 0x1.000000fffffea7e4p+0, false, false, -+ 0x1.000000fffffea7e6p+0, false, false, -+ false, -+ 0x1.000000fffffea7e5975eb11da7p+0, false, false, -+ 0x1.000000fffffea7e5975eb11da78p+0, false, false, -+ 0x1.000000fffffea7e5975eb11da7p+0, false, false, -+ 0x1.000000fffffea7e5975eb11da78p+0, false, false, -+ false, -+ 0x1.000000fffffea7e5975eb11da74ap+0, false, false, -+ 0x1.000000fffffea7e5975eb11da74bp+0, false, false, -+ 0x1.000000fffffea7e5975eb11da74ap+0, false, false, -+ 0x1.000000fffffea7e5975eb11da74bp+0, false, false), - TEST ("1.0000000596046", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000000fffff36p+0, false, -- 0x1.000000fffff36p+0, false, -- 0x1.000000fffff36p+0, false, -- 0x1.000000fffff37p+0, false, -- false, -- 0x1.000000fffff36596p+0, false, -- 0x1.000000fffff36598p+0, false, -- 0x1.000000fffff36596p+0, false, -- 0x1.000000fffff36598p+0, false, -- false, -- 0x1.000000fffff36596p+0, false, -- 0x1.000000fffff36598p+0, false, -- 0x1.000000fffff36596p+0, false, -- 0x1.000000fffff36598p+0, false, -- false, -- 0x1.000000fffff36597d40e1b5026p+0, false, -- 0x1.000000fffff36597d40e1b50268p+0, false, -- 0x1.000000fffff36597d40e1b5026p+0, false, -- 0x1.000000fffff36597d40e1b50268p+0, false, -- false, -- 0x1.000000fffff36597d40e1b502655p+0, false, -- 0x1.000000fffff36597d40e1b502656p+0, false, -- 0x1.000000fffff36597d40e1b502655p+0, false, -- 0x1.000000fffff36597d40e1b502656p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000000fffff36p+0, false, false, -+ 0x1.000000fffff36p+0, false, false, -+ 0x1.000000fffff36p+0, false, false, -+ 0x1.000000fffff37p+0, false, false, -+ false, -+ 0x1.000000fffff36596p+0, false, false, -+ 0x1.000000fffff36598p+0, false, false, -+ 0x1.000000fffff36596p+0, false, false, -+ 0x1.000000fffff36598p+0, false, false, -+ false, -+ 0x1.000000fffff36596p+0, false, false, -+ 0x1.000000fffff36598p+0, false, false, -+ 0x1.000000fffff36596p+0, false, false, -+ 0x1.000000fffff36598p+0, false, false, -+ false, -+ 0x1.000000fffff36597d40e1b5026p+0, false, false, -+ 0x1.000000fffff36597d40e1b50268p+0, false, false, -+ 0x1.000000fffff36597d40e1b5026p+0, false, false, -+ 0x1.000000fffff36597d40e1b50268p+0, false, false, -+ false, -+ 0x1.000000fffff36597d40e1b502655p+0, false, false, -+ 0x1.000000fffff36597d40e1b502656p+0, false, false, -+ 0x1.000000fffff36597d40e1b502655p+0, false, false, -+ 0x1.000000fffff36597d40e1b502656p+0, false, false), - TEST ("1.000000059605", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001000063fp+0, false, -- 0x1.000001000064p+0, false, -- 0x1.000001000063fp+0, false, -- 0x1.000001000064p+0, false, -- false, -- 0x1.000001000063fcap+0, false, -- 0x1.000001000063fca2p+0, false, -- 0x1.000001000063fcap+0, false, -- 0x1.000001000063fca2p+0, false, -- false, -- 0x1.000001000063fcap+0, false, -- 0x1.000001000063fca2p+0, false, -- 0x1.000001000063fcap+0, false, -- 0x1.000001000063fca2p+0, false, -- false, -- 0x1.000001000063fca17533f5572f8p+0, false, -- 0x1.000001000063fca17533f5573p+0, false, -- 0x1.000001000063fca17533f5572f8p+0, false, -- 0x1.000001000063fca17533f5573p+0, false, -- false, -- 0x1.000001000063fca17533f5572fe9p+0, false, -- 0x1.000001000063fca17533f5572feap+0, false, -- 0x1.000001000063fca17533f5572fe9p+0, false, -- 0x1.000001000063fca17533f5572feap+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001000063fp+0, false, false, -+ 0x1.000001000064p+0, false, false, -+ 0x1.000001000063fp+0, false, false, -+ 0x1.000001000064p+0, false, false, -+ false, -+ 0x1.000001000063fcap+0, false, false, -+ 0x1.000001000063fca2p+0, false, false, -+ 0x1.000001000063fcap+0, false, false, -+ 0x1.000001000063fca2p+0, false, false, -+ false, -+ 0x1.000001000063fcap+0, false, false, -+ 0x1.000001000063fca2p+0, false, false, -+ 0x1.000001000063fcap+0, false, false, -+ 0x1.000001000063fca2p+0, false, false, -+ false, -+ 0x1.000001000063fca17533f5572f8p+0, false, false, -+ 0x1.000001000063fca17533f5573p+0, false, false, -+ 0x1.000001000063fca17533f5572f8p+0, false, false, -+ 0x1.000001000063fca17533f5573p+0, false, false, -+ false, -+ 0x1.000001000063fca17533f5572fe9p+0, false, false, -+ 0x1.000001000063fca17533f5572feap+0, false, false, -+ 0x1.000001000063fca17533f5572fe9p+0, false, false, -+ 0x1.000001000063fca17533f5572feap+0, false, false), - TEST ("1.00000005960", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000000fffae49p+0, false, -- 0x1.000000fffae4ap+0, false, -- 0x1.000000fffae49p+0, false, -- 0x1.000000fffae4ap+0, false, -- false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- false, -- 0x1.000000fffae49ca916dacfff38p+0, false, -- 0x1.000000fffae49ca916dacfff38p+0, false, -- 0x1.000000fffae49ca916dacfff38p+0, false, -- 0x1.000000fffae49ca916dacfff388p+0, false, -- false, -- 0x1.000000fffae49ca916dacfff382dp+0, false, -- 0x1.000000fffae49ca916dacfff382dp+0, false, -- 0x1.000000fffae49ca916dacfff382dp+0, false, -- 0x1.000000fffae49ca916dacfff382ep+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000000fffae49p+0, false, false, -+ 0x1.000000fffae4ap+0, false, false, -+ 0x1.000000fffae49p+0, false, false, -+ 0x1.000000fffae4ap+0, false, false, -+ false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ false, -+ 0x1.000000fffae49ca916dacfff38p+0, false, false, -+ 0x1.000000fffae49ca916dacfff38p+0, false, false, -+ 0x1.000000fffae49ca916dacfff38p+0, false, false, -+ 0x1.000000fffae49ca916dacfff388p+0, false, false, -+ false, -+ 0x1.000000fffae49ca916dacfff382dp+0, false, false, -+ 0x1.000000fffae49ca916dacfff382dp+0, false, false, -+ 0x1.000000fffae49ca916dacfff382dp+0, false, false, -+ 0x1.000000fffae49ca916dacfff382ep+0, false, false), - TEST ("1.0000000596", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000000fffae49p+0, false, -- 0x1.000000fffae4ap+0, false, -- 0x1.000000fffae49p+0, false, -- 0x1.000000fffae4ap+0, false, -- false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- 0x1.000000fffae49ca8p+0, false, -- 0x1.000000fffae49caap+0, false, -- false, -- 0x1.000000fffae49ca916dacfff38p+0, false, -- 0x1.000000fffae49ca916dacfff38p+0, false, -- 0x1.000000fffae49ca916dacfff38p+0, false, -- 0x1.000000fffae49ca916dacfff388p+0, false, -- false, -- 0x1.000000fffae49ca916dacfff382dp+0, false, -- 0x1.000000fffae49ca916dacfff382dp+0, false, -- 0x1.000000fffae49ca916dacfff382dp+0, false, -- 0x1.000000fffae49ca916dacfff382ep+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000000fffae49p+0, false, false, -+ 0x1.000000fffae4ap+0, false, false, -+ 0x1.000000fffae49p+0, false, false, -+ 0x1.000000fffae4ap+0, false, false, -+ false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ 0x1.000000fffae49ca8p+0, false, false, -+ 0x1.000000fffae49caap+0, false, false, -+ false, -+ 0x1.000000fffae49ca916dacfff38p+0, false, false, -+ 0x1.000000fffae49ca916dacfff38p+0, false, false, -+ 0x1.000000fffae49ca916dacfff38p+0, false, false, -+ 0x1.000000fffae49ca916dacfff388p+0, false, false, -+ false, -+ 0x1.000000fffae49ca916dacfff382dp+0, false, false, -+ 0x1.000000fffae49ca916dacfff382dp+0, false, false, -+ 0x1.000000fffae49ca916dacfff382dp+0, false, false, -+ 0x1.000000fffae49ca916dacfff382ep+0, false, false), - TEST ("1.000000060", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.00000101b2b29p+0, false, -- 0x1.00000101b2b2ap+0, false, -- 0x1.00000101b2b29p+0, false, -- 0x1.00000101b2b2ap+0, false, -- false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a48p+0, false, -- false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a48p+0, false, -- false, -- 0x1.00000101b2b29a4692b67b7ca3p+0, false, -- 0x1.00000101b2b29a4692b67b7ca3p+0, false, -- 0x1.00000101b2b29a4692b67b7ca3p+0, false, -- 0x1.00000101b2b29a4692b67b7ca38p+0, false, -- false, -- 0x1.00000101b2b29a4692b67b7ca313p+0, false, -- 0x1.00000101b2b29a4692b67b7ca314p+0, false, -- 0x1.00000101b2b29a4692b67b7ca313p+0, false, -- 0x1.00000101b2b29a4692b67b7ca314p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.00000101b2b29p+0, false, false, -+ 0x1.00000101b2b2ap+0, false, false, -+ 0x1.00000101b2b29p+0, false, false, -+ 0x1.00000101b2b2ap+0, false, false, -+ false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a48p+0, false, false, -+ false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a48p+0, false, false, -+ false, -+ 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca38p+0, false, false, -+ false, -+ 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca314p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca314p+0, false, false), - TEST ("1.00000006", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.00000101b2b29p+0, false, -- 0x1.00000101b2b2ap+0, false, -- 0x1.00000101b2b29p+0, false, -- 0x1.00000101b2b2ap+0, false, -- false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a48p+0, false, -- false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a46p+0, false, -- 0x1.00000101b2b29a48p+0, false, -- false, -- 0x1.00000101b2b29a4692b67b7ca3p+0, false, -- 0x1.00000101b2b29a4692b67b7ca3p+0, false, -- 0x1.00000101b2b29a4692b67b7ca3p+0, false, -- 0x1.00000101b2b29a4692b67b7ca38p+0, false, -- false, -- 0x1.00000101b2b29a4692b67b7ca313p+0, false, -- 0x1.00000101b2b29a4692b67b7ca314p+0, false, -- 0x1.00000101b2b29a4692b67b7ca313p+0, false, -- 0x1.00000101b2b29a4692b67b7ca314p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.00000101b2b29p+0, false, false, -+ 0x1.00000101b2b2ap+0, false, false, -+ 0x1.00000101b2b29p+0, false, false, -+ 0x1.00000101b2b2ap+0, false, false, -+ false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a48p+0, false, false, -+ false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a46p+0, false, false, -+ 0x1.00000101b2b29a48p+0, false, false, -+ false, -+ 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca3p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca38p+0, false, false, -+ false, -+ 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca314p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca313p+0, false, false, -+ 0x1.00000101b2b29a4692b67b7ca314p+0, false, false), - TEST ("1.0000001", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001ad7f29ap+0, false, -- 0x1.000001ad7f29bp+0, false, -- 0x1.000001ad7f29ap+0, false, -- 0x1.000001ad7f29bp+0, false, -- false, -- 0x1.000001ad7f29abcap+0, false, -- 0x1.000001ad7f29abcap+0, false, -- 0x1.000001ad7f29abcap+0, false, -- 0x1.000001ad7f29abccp+0, false, -- false, -- 0x1.000001ad7f29abcap+0, false, -- 0x1.000001ad7f29abcap+0, false, -- 0x1.000001ad7f29abcap+0, false, -- 0x1.000001ad7f29abccp+0, false, -- false, -- 0x1.000001ad7f29abcaf485787a65p+0, false, -- 0x1.000001ad7f29abcaf485787a65p+0, false, -- 0x1.000001ad7f29abcaf485787a65p+0, false, -- 0x1.000001ad7f29abcaf485787a658p+0, false, -- false, -- 0x1.000001ad7f29abcaf485787a652p+0, false, -- 0x1.000001ad7f29abcaf485787a6521p+0, false, -- 0x1.000001ad7f29abcaf485787a652p+0, false, -- 0x1.000001ad7f29abcaf485787a6521p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001ad7f29ap+0, false, false, -+ 0x1.000001ad7f29bp+0, false, false, -+ 0x1.000001ad7f29ap+0, false, false, -+ 0x1.000001ad7f29bp+0, false, false, -+ false, -+ 0x1.000001ad7f29abcap+0, false, false, -+ 0x1.000001ad7f29abcap+0, false, false, -+ 0x1.000001ad7f29abcap+0, false, false, -+ 0x1.000001ad7f29abccp+0, false, false, -+ false, -+ 0x1.000001ad7f29abcap+0, false, false, -+ 0x1.000001ad7f29abcap+0, false, false, -+ 0x1.000001ad7f29abcap+0, false, false, -+ 0x1.000001ad7f29abccp+0, false, false, -+ false, -+ 0x1.000001ad7f29abcaf485787a65p+0, false, false, -+ 0x1.000001ad7f29abcaf485787a65p+0, false, false, -+ 0x1.000001ad7f29abcaf485787a65p+0, false, false, -+ 0x1.000001ad7f29abcaf485787a658p+0, false, false, -+ false, -+ 0x1.000001ad7f29abcaf485787a652p+0, false, false, -+ 0x1.000001ad7f29abcaf485787a6521p+0, false, false, -+ 0x1.000001ad7f29abcaf485787a652p+0, false, false, -+ 0x1.000001ad7f29abcaf485787a6521p+0, false, false), - TEST ("1.000000", - true, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- true, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- true, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- true, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- true, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- true, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ true, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ true, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ true, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ true, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ true, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false), - TEST ("1.00000000000000011113", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- false, -- 0x1.0000000000000801fc96557232p+0, false, -- 0x1.0000000000000801fc96557232p+0, false, -- 0x1.0000000000000801fc96557232p+0, false, -- 0x1.0000000000000801fc965572328p+0, false, -- false, -- 0x1.0000000000000801fc9655723222p+0, false, -- 0x1.0000000000000801fc9655723222p+0, false, -- 0x1.0000000000000801fc9655723222p+0, false, -- 0x1.0000000000000801fc9655723223p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ false, -+ 0x1.0000000000000801fc96557232p+0, false, false, -+ 0x1.0000000000000801fc96557232p+0, false, false, -+ 0x1.0000000000000801fc96557232p+0, false, false, -+ 0x1.0000000000000801fc965572328p+0, false, false, -+ false, -+ 0x1.0000000000000801fc9655723222p+0, false, false, -+ 0x1.0000000000000801fc9655723222p+0, false, false, -+ 0x1.0000000000000801fc9655723222p+0, false, false, -+ 0x1.0000000000000801fc9655723223p+0, false, false), - TEST ("1.00000000000000011103", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- false, -- 0x1.00000000000008002459c076c48p+0, false, -- 0x1.00000000000008002459c076c5p+0, false, -- 0x1.00000000000008002459c076c48p+0, false, -- 0x1.00000000000008002459c076c5p+0, false, -- false, -- 0x1.00000000000008002459c076c4f7p+0, false, -- 0x1.00000000000008002459c076c4f8p+0, false, -- 0x1.00000000000008002459c076c4f7p+0, false, -- 0x1.00000000000008002459c076c4f8p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ false, -+ 0x1.00000000000008002459c076c48p+0, false, false, -+ 0x1.00000000000008002459c076c5p+0, false, false, -+ 0x1.00000000000008002459c076c48p+0, false, false, -+ 0x1.00000000000008002459c076c5p+0, false, false, -+ false, -+ 0x1.00000000000008002459c076c4f7p+0, false, false, -+ 0x1.00000000000008002459c076c4f8p+0, false, false, -+ 0x1.00000000000008002459c076c4f7p+0, false, false, -+ 0x1.00000000000008002459c076c4f8p+0, false, false), - TEST ("1.00000000000000011102", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- false, -- 0x1.00000000000007fff5207e5dap+0, false, -- 0x1.00000000000007fff5207e5da08p+0, false, -- 0x1.00000000000007fff5207e5dap+0, false, -- 0x1.00000000000007fff5207e5da08p+0, false, -- false, -- 0x1.00000000000007fff5207e5da073p+0, false, -- 0x1.00000000000007fff5207e5da073p+0, false, -- 0x1.00000000000007fff5207e5da073p+0, false, -- 0x1.00000000000007fff5207e5da074p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ false, -+ 0x1.00000000000007fff5207e5dap+0, false, false, -+ 0x1.00000000000007fff5207e5da08p+0, false, false, -+ 0x1.00000000000007fff5207e5dap+0, false, false, -+ 0x1.00000000000007fff5207e5da08p+0, false, false, -+ false, -+ 0x1.00000000000007fff5207e5da073p+0, false, false, -+ 0x1.00000000000007fff5207e5da073p+0, false, false, -+ 0x1.00000000000007fff5207e5da073p+0, false, false, -+ 0x1.00000000000007fff5207e5da074p+0, false, false), - TEST ("1.00000000000000011101", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- false, -- 0x1.00000000000007ffc5e73c447b8p+0, false, -- 0x1.00000000000007ffc5e73c447cp+0, false, -- 0x1.00000000000007ffc5e73c447b8p+0, false, -- 0x1.00000000000007ffc5e73c447cp+0, false, -- false, -- 0x1.00000000000007ffc5e73c447befp+0, false, -- 0x1.00000000000007ffc5e73c447befp+0, false, -- 0x1.00000000000007ffc5e73c447befp+0, false, -- 0x1.00000000000007ffc5e73c447bfp+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ false, -+ 0x1.00000000000007ffc5e73c447b8p+0, false, false, -+ 0x1.00000000000007ffc5e73c447cp+0, false, false, -+ 0x1.00000000000007ffc5e73c447b8p+0, false, false, -+ 0x1.00000000000007ffc5e73c447cp+0, false, false, -+ false, -+ 0x1.00000000000007ffc5e73c447befp+0, false, false, -+ 0x1.00000000000007ffc5e73c447befp+0, false, false, -+ 0x1.00000000000007ffc5e73c447befp+0, false, false, -+ 0x1.00000000000007ffc5e73c447bfp+0, false, false), - TEST ("1.0000000000000001111", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.0000000000000802p+0, false, -- false, -- 0x1.00000000000008016eea8f26c48p+0, false, -- 0x1.00000000000008016eea8f26c48p+0, false, -- 0x1.00000000000008016eea8f26c48p+0, false, -- 0x1.00000000000008016eea8f26c5p+0, false, -- false, -- 0x1.00000000000008016eea8f26c495p+0, false, -- 0x1.00000000000008016eea8f26c496p+0, false, -- 0x1.00000000000008016eea8f26c495p+0, false, -- 0x1.00000000000008016eea8f26c496p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.0000000000000802p+0, false, false, -+ false, -+ 0x1.00000000000008016eea8f26c48p+0, false, false, -+ 0x1.00000000000008016eea8f26c48p+0, false, false, -+ 0x1.00000000000008016eea8f26c48p+0, false, false, -+ 0x1.00000000000008016eea8f26c5p+0, false, false, -+ false, -+ 0x1.00000000000008016eea8f26c495p+0, false, false, -+ 0x1.00000000000008016eea8f26c496p+0, false, false, -+ 0x1.00000000000008016eea8f26c495p+0, false, false, -+ 0x1.00000000000008016eea8f26c496p+0, false, false), - TEST ("1.000000000000000111", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000007fep+0, false, -- 0x1.00000000000008p+0, false, -- false, -- 0x1.00000000000007ff96adfa2b57p+0, false, -- 0x1.00000000000007ff96adfa2b578p+0, false, -- 0x1.00000000000007ff96adfa2b57p+0, false, -- 0x1.00000000000007ff96adfa2b578p+0, false, -- false, -- 0x1.00000000000007ff96adfa2b576ap+0, false, -- 0x1.00000000000007ff96adfa2b576bp+0, false, -- 0x1.00000000000007ff96adfa2b576ap+0, false, -- 0x1.00000000000007ff96adfa2b576bp+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000007fep+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ false, -+ 0x1.00000000000007ff96adfa2b57p+0, false, false, -+ 0x1.00000000000007ff96adfa2b578p+0, false, false, -+ 0x1.00000000000007ff96adfa2b57p+0, false, false, -+ 0x1.00000000000007ff96adfa2b578p+0, false, false, -+ false, -+ 0x1.00000000000007ff96adfa2b576ap+0, false, false, -+ 0x1.00000000000007ff96adfa2b576bp+0, false, false, -+ 0x1.00000000000007ff96adfa2b576ap+0, false, false, -+ 0x1.00000000000007ff96adfa2b576bp+0, false, false), - TEST ("1.00000000000000011", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.00000000000007ecp+0, false, -- 0x1.00000000000007eep+0, false, -- 0x1.00000000000007ecp+0, false, -- 0x1.00000000000007eep+0, false, -- false, -- 0x1.00000000000007ecp+0, false, -- 0x1.00000000000007eep+0, false, -- 0x1.00000000000007ecp+0, false, -- 0x1.00000000000007eep+0, false, -- false, -- 0x1.00000000000007ed24502859138p+0, false, -- 0x1.00000000000007ed24502859138p+0, false, -- 0x1.00000000000007ed24502859138p+0, false, -- 0x1.00000000000007ed2450285914p+0, false, -- false, -- 0x1.00000000000007ed2450285913bfp+0, false, -- 0x1.00000000000007ed2450285913bfp+0, false, -- 0x1.00000000000007ed2450285913bfp+0, false, -- 0x1.00000000000007ed2450285913cp+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.00000000000007ecp+0, false, false, -+ 0x1.00000000000007eep+0, false, false, -+ 0x1.00000000000007ecp+0, false, false, -+ 0x1.00000000000007eep+0, false, false, -+ false, -+ 0x1.00000000000007ecp+0, false, false, -+ 0x1.00000000000007eep+0, false, false, -+ 0x1.00000000000007ecp+0, false, false, -+ 0x1.00000000000007eep+0, false, false, -+ false, -+ 0x1.00000000000007ed24502859138p+0, false, false, -+ 0x1.00000000000007ed24502859138p+0, false, false, -+ 0x1.00000000000007ed24502859138p+0, false, false, -+ 0x1.00000000000007ed2450285914p+0, false, false, -+ false, -+ 0x1.00000000000007ed2450285913bfp+0, false, false, -+ 0x1.00000000000007ed2450285913bfp+0, false, false, -+ 0x1.00000000000007ed2450285913bfp+0, false, false, -+ 0x1.00000000000007ed2450285913cp+0, false, false), - TEST ("1.0000000000000001", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1.0000000000000734p+0, false, -- 0x1.0000000000000734p+0, false, -- 0x1.0000000000000734p+0, false, -- 0x1.0000000000000736p+0, false, -- false, -- 0x1.0000000000000734p+0, false, -- 0x1.0000000000000734p+0, false, -- 0x1.0000000000000734p+0, false, -- 0x1.0000000000000736p+0, false, -- false, -- 0x1.0000000000000734aca5f6226fp+0, false, -- 0x1.0000000000000734aca5f6226fp+0, false, -- 0x1.0000000000000734aca5f6226fp+0, false, -- 0x1.0000000000000734aca5f6226f8p+0, false, -- false, -- 0x1.0000000000000734aca5f6226f0ap+0, false, -- 0x1.0000000000000734aca5f6226f0bp+0, false, -- 0x1.0000000000000734aca5f6226f0ap+0, false, -- 0x1.0000000000000734aca5f6226f0bp+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1.0000000000000734p+0, false, false, -+ 0x1.0000000000000734p+0, false, false, -+ 0x1.0000000000000734p+0, false, false, -+ 0x1.0000000000000736p+0, false, false, -+ false, -+ 0x1.0000000000000734p+0, false, false, -+ 0x1.0000000000000734p+0, false, false, -+ 0x1.0000000000000734p+0, false, false, -+ 0x1.0000000000000736p+0, false, false, -+ false, -+ 0x1.0000000000000734aca5f6226fp+0, false, false, -+ 0x1.0000000000000734aca5f6226fp+0, false, false, -+ 0x1.0000000000000734aca5f6226fp+0, false, false, -+ 0x1.0000000000000734aca5f6226f8p+0, false, false, -+ false, -+ 0x1.0000000000000734aca5f6226f0ap+0, false, false, -+ 0x1.0000000000000734aca5f6226f0bp+0, false, false, -+ 0x1.0000000000000734aca5f6226f0ap+0, false, false, -+ 0x1.0000000000000734aca5f6226f0bp+0, false, false), - TEST ("3929201589819414e-25", - false, -- 0x1.b0053p-32, false, -- 0x1.b00532p-32, false, -- 0x1.b0053p-32, false, -- 0x1.b00532p-32, false, -- false, -- 0x1.b005314e2421ep-32, false, -- 0x1.b005314e2421ep-32, false, -- 0x1.b005314e2421ep-32, false, -- 0x1.b005314e2421fp-32, false, -- false, -- 0x1.b005314e2421e7fep-32, false, -- 0x1.b005314e2421e8p-32, false, -- 0x1.b005314e2421e7fep-32, false, -- 0x1.b005314e2421e8p-32, false, -- false, -- 0x1.b005314e2421e7fep-32, false, -- 0x1.b005314e2421e8p-32, false, -- 0x1.b005314e2421e7fep-32, false, -- 0x1.b005314e2421e8p-32, false, -- false, -- 0x1.b005314e2421e7ffb472840c5ap-32, false, -- 0x1.b005314e2421e7ffb472840c5a8p-32, false, -- 0x1.b005314e2421e7ffb472840c5ap-32, false, -- 0x1.b005314e2421e7ffb472840c5a8p-32, false, -- false, -- 0x1.b005314e2421e7ffb472840c5a6ep-32, false, -- 0x1.b005314e2421e7ffb472840c5a6fp-32, false, -- 0x1.b005314e2421e7ffb472840c5a6ep-32, false, -- 0x1.b005314e2421e7ffb472840c5a6fp-32, false), -+ 0x1.b0053p-32, false, false, -+ 0x1.b00532p-32, false, false, -+ 0x1.b0053p-32, false, false, -+ 0x1.b00532p-32, false, false, -+ false, -+ 0x1.b005314e2421ep-32, false, false, -+ 0x1.b005314e2421ep-32, false, false, -+ 0x1.b005314e2421ep-32, false, false, -+ 0x1.b005314e2421fp-32, false, false, -+ false, -+ 0x1.b005314e2421e7fep-32, false, false, -+ 0x1.b005314e2421e8p-32, false, false, -+ 0x1.b005314e2421e7fep-32, false, false, -+ 0x1.b005314e2421e8p-32, false, false, -+ false, -+ 0x1.b005314e2421e7fep-32, false, false, -+ 0x1.b005314e2421e8p-32, false, false, -+ 0x1.b005314e2421e7fep-32, false, false, -+ 0x1.b005314e2421e8p-32, false, false, -+ false, -+ 0x1.b005314e2421e7ffb472840c5ap-32, false, false, -+ 0x1.b005314e2421e7ffb472840c5a8p-32, false, false, -+ 0x1.b005314e2421e7ffb472840c5ap-32, false, false, -+ 0x1.b005314e2421e7ffb472840c5a8p-32, false, false, -+ false, -+ 0x1.b005314e2421e7ffb472840c5a6ep-32, false, false, -+ 0x1.b005314e2421e7ffb472840c5a6fp-32, false, false, -+ 0x1.b005314e2421e7ffb472840c5a6ep-32, false, false, -+ 0x1.b005314e2421e7ffb472840c5a6fp-32, false, false), - TEST ("0.0000000000000000000000000000000000000000000021019476964872" - "256063855943749348741969203929128147736576356024258346866240" - "28790902229957282543182373046875", - false, -- 0x8p-152, false, -- 0x1p-148, false, -- 0x8p-152, false, -- 0x1p-148, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false), -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false), - TEST ("1.00000005960464477539062499", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000000fffffffp+0, false, -- 0x1.000001p+0, false, -- 0x1.000000fffffffp+0, false, -- 0x1.000001p+0, false, -- false, -- 0x1.000000fffffffffep+0, false, -- 0x1.000001p+0, false, -- 0x1.000000fffffffffep+0, false, -- 0x1.000001p+0, false, -- false, -- 0x1.000000fffffffffep+0, false, -- 0x1.000001p+0, false, -- 0x1.000000fffffffffep+0, false, -- 0x1.000001p+0, false, -- false, -- 0x1.000000fffffffffffffffce7b78p+0, false, -- 0x1.000000fffffffffffffffce7b8p+0, false, -- 0x1.000000fffffffffffffffce7b78p+0, false, -- 0x1.000000fffffffffffffffce7b8p+0, false, -- false, -- 0x1.000000fffffffffffffffce7b7e7p+0, false, -- 0x1.000000fffffffffffffffce7b7e7p+0, false, -- 0x1.000000fffffffffffffffce7b7e7p+0, false, -- 0x1.000000fffffffffffffffce7b7e8p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000000fffffffp+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000000fffffffp+0, false, false, -+ 0x1.000001p+0, false, false, -+ false, -+ 0x1.000000fffffffffep+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000000fffffffffep+0, false, false, -+ 0x1.000001p+0, false, false, -+ false, -+ 0x1.000000fffffffffep+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000000fffffffffep+0, false, false, -+ 0x1.000001p+0, false, false, -+ false, -+ 0x1.000000fffffffffffffffce7b78p+0, false, false, -+ 0x1.000000fffffffffffffffce7b8p+0, false, false, -+ 0x1.000000fffffffffffffffce7b78p+0, false, false, -+ 0x1.000000fffffffffffffffce7b8p+0, false, false, -+ false, -+ 0x1.000000fffffffffffffffce7b7e7p+0, false, false, -+ 0x1.000000fffffffffffffffce7b7e7p+0, false, false, -+ 0x1.000000fffffffffffffffce7b7e7p+0, false, false, -+ 0x1.000000fffffffffffffffce7b7e8p+0, false, false), - TEST ("1.000000059604644775390625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- true, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- true, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- true, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- true, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ true, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ true, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ true, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ true, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false), - TEST ("1.00000005960464477539062501", - false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000001p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000000002p+0, false, -- false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.000001p+0, false, -- 0x1.0000010000000002p+0, false, -- false, -- 0x1.00000100000000000000031848p+0, false, -- 0x1.00000100000000000000031848p+0, false, -- 0x1.00000100000000000000031848p+0, false, -- 0x1.000001000000000000000318488p+0, false, -- false, -- 0x1.0000010000000000000003184818p+0, false, -- 0x1.0000010000000000000003184819p+0, false, -- 0x1.0000010000000000000003184818p+0, false, -- 0x1.0000010000000000000003184819p+0, false), -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000001p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.000001p+0, false, false, -+ 0x1.0000010000000002p+0, false, false, -+ false, -+ 0x1.00000100000000000000031848p+0, false, false, -+ 0x1.00000100000000000000031848p+0, false, false, -+ 0x1.00000100000000000000031848p+0, false, false, -+ 0x1.000001000000000000000318488p+0, false, false, -+ false, -+ 0x1.0000010000000000000003184818p+0, false, false, -+ 0x1.0000010000000000000003184819p+0, false, false, -+ 0x1.0000010000000000000003184818p+0, false, false, -+ 0x1.0000010000000000000003184819p+0, false, false), - TEST ("1.00000011920928955078125", - true, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false), -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false), - TEST ("1.00000017881393432617187499", - false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000002p+0, false, -- 0x1.000004p+0, false, -- false, -- 0x1.000002fffffffp+0, false, -- 0x1.000003p+0, false, -- 0x1.000002fffffffp+0, false, -- 0x1.000003p+0, false, -- false, -- 0x1.000002fffffffffep+0, false, -- 0x1.000003p+0, false, -- 0x1.000002fffffffffep+0, false, -- 0x1.000003p+0, false, -- false, -- 0x1.000002fffffffffep+0, false, -- 0x1.000003p+0, false, -- 0x1.000002fffffffffep+0, false, -- 0x1.000003p+0, false, -- false, -- 0x1.000002fffffffffffffffce7b78p+0, false, -- 0x1.000002fffffffffffffffce7b8p+0, false, -- 0x1.000002fffffffffffffffce7b78p+0, false, -- 0x1.000002fffffffffffffffce7b8p+0, false, -- false, -- 0x1.000002fffffffffffffffce7b7e7p+0, false, -- 0x1.000002fffffffffffffffce7b7e7p+0, false, -- 0x1.000002fffffffffffffffce7b7e7p+0, false, -- 0x1.000002fffffffffffffffce7b7e8p+0, false), -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000004p+0, false, false, -+ false, -+ 0x1.000002fffffffp+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000002fffffffp+0, false, false, -+ 0x1.000003p+0, false, false, -+ false, -+ 0x1.000002fffffffffep+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000002fffffffffep+0, false, false, -+ 0x1.000003p+0, false, false, -+ false, -+ 0x1.000002fffffffffep+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000002fffffffffep+0, false, false, -+ 0x1.000003p+0, false, false, -+ false, -+ 0x1.000002fffffffffffffffce7b78p+0, false, false, -+ 0x1.000002fffffffffffffffce7b8p+0, false, false, -+ 0x1.000002fffffffffffffffce7b78p+0, false, false, -+ 0x1.000002fffffffffffffffce7b8p+0, false, false, -+ false, -+ 0x1.000002fffffffffffffffce7b7e7p+0, false, false, -+ 0x1.000002fffffffffffffffce7b7e7p+0, false, false, -+ 0x1.000002fffffffffffffffce7b7e7p+0, false, false, -+ 0x1.000002fffffffffffffffce7b7e8p+0, false, false), - TEST ("1.000000178813934326171875", - false, -- 0x1.000002p+0, false, -- 0x1.000004p+0, false, -- 0x1.000002p+0, false, -- 0x1.000004p+0, false, -- true, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- true, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- true, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- true, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- true, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false), -+ 0x1.000002p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000004p+0, false, false, -+ true, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ true, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ true, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ true, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ true, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false), - TEST ("1.00000017881393432617187501", - false, -- 0x1.000002p+0, false, -- 0x1.000004p+0, false, -- 0x1.000002p+0, false, -- 0x1.000004p+0, false, -- false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.0000030000001p+0, false, -- false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.0000030000000002p+0, false, -- false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.000003p+0, false, -- 0x1.0000030000000002p+0, false, -- false, -- 0x1.00000300000000000000031848p+0, false, -- 0x1.00000300000000000000031848p+0, false, -- 0x1.00000300000000000000031848p+0, false, -- 0x1.000003000000000000000318488p+0, false, -- false, -- 0x1.0000030000000000000003184818p+0, false, -- 0x1.0000030000000000000003184819p+0, false, -- 0x1.0000030000000000000003184818p+0, false, -- 0x1.0000030000000000000003184819p+0, false), -+ 0x1.000002p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000002p+0, false, false, -+ 0x1.000004p+0, false, false, -+ false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.0000030000001p+0, false, false, -+ false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.0000030000000002p+0, false, false, -+ false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.000003p+0, false, false, -+ 0x1.0000030000000002p+0, false, false, -+ false, -+ 0x1.00000300000000000000031848p+0, false, false, -+ 0x1.00000300000000000000031848p+0, false, false, -+ 0x1.00000300000000000000031848p+0, false, false, -+ 0x1.000003000000000000000318488p+0, false, false, -+ false, -+ 0x1.0000030000000000000003184818p+0, false, false, -+ 0x1.0000030000000000000003184819p+0, false, false, -+ 0x1.0000030000000000000003184818p+0, false, false, -+ 0x1.0000030000000000000003184819p+0, false, false), - TEST ("1.0000002384185791015625", - true, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- true, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- true, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- true, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- true, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- true, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false, -- 0x1.000004p+0, false), -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ true, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ true, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ true, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ true, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ true, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false, -+ 0x1.000004p+0, false, false), - TEST ("1.08420217248550443400745280086994171142578125e-19", - true, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- true, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- true, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- true, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- true, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- true, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false), -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ true, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ true, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ true, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ true, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ true, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false), - TEST ("1.0842022371089897897127399001987457793916291848290711641311" - "645507812499e-19", - false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2.000004p-64, false, -- false, -- 0x2.000001ffffffep-64, false, -- 0x2.000002p-64, false, -- 0x2.000001ffffffep-64, false, -- 0x2.000002p-64, false, -- false, -- 0x2.000001fffffffffcp-64, false, -- 0x2.000002p-64, false, -- 0x2.000001fffffffffcp-64, false, -- 0x2.000002p-64, false, -- false, -- 0x2.000001fffffffffcp-64, false, -- 0x2.000002p-64, false, -- 0x2.000001fffffffffcp-64, false, -- 0x2.000002p-64, false, -- false, -- 0x2.000001ffffffffffffffffffffp-64, false, -- 0x2.000002p-64, false, -- 0x2.000001ffffffffffffffffffffp-64, false, -- 0x2.000002p-64, false, -- false, -- 0x2.000001fffffffffffffffffffffep-64, false, -- 0x2.000002p-64, false, -- 0x2.000001fffffffffffffffffffffep-64, false, -- 0x2.000002p-64, false), -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2.000004p-64, false, false, -+ false, -+ 0x2.000001ffffffep-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000001ffffffep-64, false, false, -+ 0x2.000002p-64, false, false, -+ false, -+ 0x2.000001fffffffffcp-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000001fffffffffcp-64, false, false, -+ 0x2.000002p-64, false, false, -+ false, -+ 0x2.000001fffffffffcp-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000001fffffffffcp-64, false, false, -+ 0x2.000002p-64, false, false, -+ false, -+ 0x2.000001ffffffffffffffffffffp-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000001ffffffffffffffffffffp-64, false, false, -+ 0x2.000002p-64, false, false, -+ false, -+ 0x2.000001fffffffffffffffffffffep-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000001fffffffffffffffffffffep-64, false, false, -+ 0x2.000002p-64, false, false), - TEST ("1.0842022371089897897127399001987457793916291848290711641311" - "6455078125e-19", - false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2p-64, false, -- 0x2.000004p-64, false, -- true, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- true, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- true, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- true, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- true, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false), -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2.000004p-64, false, false, -+ true, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ true, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ true, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ true, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ true, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false), - TEST ("1.0842022371089897897127399001987457793916291848290711641311" - "645507812501e-19", - false, -- 0x2p-64, false, -- 0x2.000004p-64, false, -- 0x2p-64, false, -- 0x2.000004p-64, false, -- false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.0000020000002p-64, false, -- false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.0000020000000004p-64, false, -- false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.0000020000000004p-64, false, -- false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.00000200000000000000000001p-64, false, -- false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.000002p-64, false, -- 0x2.0000020000000000000000000002p-64, false), -+ 0x2p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2p-64, false, false, -+ 0x2.000004p-64, false, false, -+ false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.0000020000002p-64, false, false, -+ false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.0000020000000004p-64, false, false, -+ false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.0000020000000004p-64, false, false, -+ false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.00000200000000000000000001p-64, false, false, -+ false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.000002p-64, false, false, -+ 0x2.0000020000000000000000000002p-64, false, false), - TEST ("1.0842023017324751454180269995275498473574771196581423282623" - "291015625e-19", - true, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- true, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- true, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- true, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- true, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- true, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false), -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ true, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ true, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ true, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ true, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ true, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false), - TEST ("1.0842023663559605011233140988563539153233250544872134923934" - "936523437499e-19", - false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000004p-64, false, -- 0x2.000008p-64, false, -- false, -- 0x2.000005ffffffep-64, false, -- 0x2.000006p-64, false, -- 0x2.000005ffffffep-64, false, -- 0x2.000006p-64, false, -- false, -- 0x2.000005fffffffffcp-64, false, -- 0x2.000006p-64, false, -- 0x2.000005fffffffffcp-64, false, -- 0x2.000006p-64, false, -- false, -- 0x2.000005fffffffffcp-64, false, -- 0x2.000006p-64, false, -- 0x2.000005fffffffffcp-64, false, -- 0x2.000006p-64, false, -- false, -- 0x2.000005ffffffffffffffffffffp-64, false, -- 0x2.000006p-64, false, -- 0x2.000005ffffffffffffffffffffp-64, false, -- 0x2.000006p-64, false, -- false, -- 0x2.000005fffffffffffffffffffffep-64, false, -- 0x2.000006p-64, false, -- 0x2.000005fffffffffffffffffffffep-64, false, -- 0x2.000006p-64, false), -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000008p-64, false, false, -+ false, -+ 0x2.000005ffffffep-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000005ffffffep-64, false, false, -+ 0x2.000006p-64, false, false, -+ false, -+ 0x2.000005fffffffffcp-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000005fffffffffcp-64, false, false, -+ 0x2.000006p-64, false, false, -+ false, -+ 0x2.000005fffffffffcp-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000005fffffffffcp-64, false, false, -+ 0x2.000006p-64, false, false, -+ false, -+ 0x2.000005ffffffffffffffffffffp-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000005ffffffffffffffffffffp-64, false, false, -+ 0x2.000006p-64, false, false, -+ false, -+ 0x2.000005fffffffffffffffffffffep-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000005fffffffffffffffffffffep-64, false, false, -+ 0x2.000006p-64, false, false), - TEST ("1.0842023663559605011233140988563539153233250544872134923934" - "9365234375e-19", - false, -- 0x2.000004p-64, false, -- 0x2.000008p-64, false, -- 0x2.000004p-64, false, -- 0x2.000008p-64, false, -- true, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- true, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- true, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- true, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- true, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false), -+ 0x2.000004p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000008p-64, false, false, -+ true, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ true, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ true, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ true, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ true, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false), - TEST ("1.0842023663559605011233140988563539153233250544872134923934" - "936523437501e-19", - false, -- 0x2.000004p-64, false, -- 0x2.000008p-64, false, -- 0x2.000004p-64, false, -- 0x2.000008p-64, false, -- false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.0000060000002p-64, false, -- false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.0000060000000004p-64, false, -- false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.0000060000000004p-64, false, -- false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.00000600000000000000000001p-64, false, -- false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.000006p-64, false, -- 0x2.0000060000000000000000000002p-64, false), -+ 0x2.000004p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000004p-64, false, false, -+ 0x2.000008p-64, false, false, -+ false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.0000060000002p-64, false, false, -+ false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.0000060000000004p-64, false, false, -+ false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.0000060000000004p-64, false, false, -+ false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.00000600000000000000000001p-64, false, false, -+ false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.000006p-64, false, false, -+ 0x2.0000060000000000000000000002p-64, false, false), - TEST ("1.0842024309794458568286011981851579832891729893162846565246" - "58203125e-19", - true, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- true, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- true, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- true, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- true, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- true, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false, -- 0x2.000008p-64, false), -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ true, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ true, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ true, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ true, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ true, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false, -+ 0x2.000008p-64, false, false), - TEST ("7.5231638452626400509999138382223723380394595633413601376560" - "1092018187046051025390625e-37", - true, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- true, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- true, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- true, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- true, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- true, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false), -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ true, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ true, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ true, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ true, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ true, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false), - TEST ("7.5231642936781486349413765338158389908126215730251815381410" - "578824437213052434003657253924757242202758789062499e-37", - false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1.000002p-120, false, -- false, -- 0x1.000000fffffffp-120, false, -- 0x1.000001p-120, false, -- 0x1.000000fffffffp-120, false, -- 0x1.000001p-120, false, -- false, -- 0x1.000000fffffffffep-120, false, -- 0x1.000001p-120, false, -- 0x1.000000fffffffffep-120, false, -- 0x1.000001p-120, false, -- false, -- 0x1.000000fffffffffep-120, false, -- 0x1.000001p-120, false, -- 0x1.000000fffffffffep-120, false, -- 0x1.000001p-120, false, -- false, -- 0x1.000000ffffffffffffffffffff8p-120, false, -- 0x1.000001p-120, false, -- 0x1.000000ffffffffffffffffffff8p-120, false, -- 0x1.000001p-120, false, -- false, -- 0x1.000000ffffffffffffffffffffffp-120, false, -- 0x1.000001p-120, false, -- 0x1.000000ffffffffffffffffffffffp-120, false, -- 0x1.000001p-120, false), -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1.000002p-120, false, false, -+ false, -+ 0x1.000000fffffffp-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000000fffffffp-120, false, false, -+ 0x1.000001p-120, false, false, -+ false, -+ 0x1.000000fffffffffep-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000000fffffffffep-120, false, false, -+ 0x1.000001p-120, false, false, -+ false, -+ 0x1.000000fffffffffep-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000000fffffffffep-120, false, false, -+ 0x1.000001p-120, false, false, -+ false, -+ 0x1.000000ffffffffffffffffffff8p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000000ffffffffffffffffffff8p-120, false, false, -+ 0x1.000001p-120, false, false, -+ false, -+ 0x1.000000ffffffffffffffffffffffp-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000000ffffffffffffffffffffffp-120, false, false, -+ 0x1.000001p-120, false, false), - TEST ("7.5231642936781486349413765338158389908126215730251815381410" - "5788244372130524340036572539247572422027587890625e-37", - false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1p-120, false, -- 0x1.000002p-120, false, -- true, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- true, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- true, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- true, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- true, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false), -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1.000002p-120, false, false, -+ true, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ true, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ true, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ true, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ true, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false), - TEST ("7.5231642936781486349413765338158389908126215730251815381410" - "578824437213052434003657253924757242202758789062501e-37", - false, -- 0x1p-120, false, -- 0x1.000002p-120, false, -- 0x1p-120, false, -- 0x1.000002p-120, false, -- false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.0000010000001p-120, false, -- false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.0000010000000002p-120, false, -- false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.0000010000000002p-120, false, -- false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001000000000000000000008p-120, false, -- false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.000001p-120, false, -- 0x1.0000010000000000000000000001p-120, false), -+ 0x1p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1p-120, false, false, -+ 0x1.000002p-120, false, false, -+ false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.0000010000001p-120, false, false, -+ false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.0000010000000002p-120, false, false, -+ false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.0000010000000002p-120, false, false, -+ false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001000000000000000000008p-120, false, false, -+ false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.000001p-120, false, false, -+ 0x1.0000010000000000000000000001p-120, false, false), - TEST ("7.5231647420936572188828392294093056435857835827090029386261" - "048447055721499765468252007849514484405517578125e-37", - true, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- true, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- true, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- true, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- true, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- true, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false), -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ true, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ true, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ true, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ true, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ true, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false), - TEST ("7.5231651905091658028243019250027722963589455923928243391111" - "518069674229947096932846761774271726608276367187499e-37", - false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000002p-120, false, -- 0x1.000004p-120, false, -- false, -- 0x1.000002fffffffp-120, false, -- 0x1.000003p-120, false, -- 0x1.000002fffffffp-120, false, -- 0x1.000003p-120, false, -- false, -- 0x1.000002fffffffffep-120, false, -- 0x1.000003p-120, false, -- 0x1.000002fffffffffep-120, false, -- 0x1.000003p-120, false, -- false, -- 0x1.000002fffffffffep-120, false, -- 0x1.000003p-120, false, -- 0x1.000002fffffffffep-120, false, -- 0x1.000003p-120, false, -- false, -- 0x1.000002ffffffffffffffffffff8p-120, false, -- 0x1.000003p-120, false, -- 0x1.000002ffffffffffffffffffff8p-120, false, -- 0x1.000003p-120, false, -- false, -- 0x1.000002ffffffffffffffffffffffp-120, false, -- 0x1.000003p-120, false, -- 0x1.000002ffffffffffffffffffffffp-120, false, -- 0x1.000003p-120, false), -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000004p-120, false, false, -+ false, -+ 0x1.000002fffffffp-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000002fffffffp-120, false, false, -+ 0x1.000003p-120, false, false, -+ false, -+ 0x1.000002fffffffffep-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000002fffffffffep-120, false, false, -+ 0x1.000003p-120, false, false, -+ false, -+ 0x1.000002fffffffffep-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000002fffffffffep-120, false, false, -+ 0x1.000003p-120, false, false, -+ false, -+ 0x1.000002ffffffffffffffffffff8p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000002ffffffffffffffffffff8p-120, false, false, -+ 0x1.000003p-120, false, false, -+ false, -+ 0x1.000002ffffffffffffffffffffffp-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000002ffffffffffffffffffffffp-120, false, false, -+ 0x1.000003p-120, false, false), - TEST ("7.5231651905091658028243019250027722963589455923928243391111" - "5180696742299470969328467617742717266082763671875e-37", - false, -- 0x1.000002p-120, false, -- 0x1.000004p-120, false, -- 0x1.000002p-120, false, -- 0x1.000004p-120, false, -- true, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- true, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- true, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- true, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- true, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false), -+ 0x1.000002p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000004p-120, false, false, -+ true, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ true, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ true, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ true, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ true, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false), - TEST ("7.5231651905091658028243019250027722963589455923928243391111" - "518069674229947096932846761774271726608276367187501e-37", - false, -- 0x1.000002p-120, false, -- 0x1.000004p-120, false, -- 0x1.000002p-120, false, -- 0x1.000004p-120, false, -- false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.0000030000001p-120, false, -- false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.0000030000000002p-120, false, -- false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.0000030000000002p-120, false, -- false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003000000000000000000008p-120, false, -- false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.000003p-120, false, -- 0x1.0000030000000000000000000001p-120, false), -+ 0x1.000002p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000002p-120, false, false, -+ 0x1.000004p-120, false, false, -+ false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.0000030000001p-120, false, false, -+ false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.0000030000000002p-120, false, false, -+ false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.0000030000000002p-120, false, false, -+ false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003000000000000000000008p-120, false, false, -+ false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.000003p-120, false, false, -+ 0x1.0000030000000000000000000001p-120, false, false), - TEST ("7.5231656389246743867657646205962389491321076020766457395961" - "98769229273839442839744151569902896881103515625e-37", - true, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- true, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- true, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- true, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- true, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- true, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false, -- 0x1.000004p-120, false), -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ true, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ true, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ true, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ true, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ true, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false, -+ 0x1.000004p-120, false, false), - TEST ("340282356779733661637539395458142568447.999", - false, -- 0xf.fffffp+124, false, -- 0xf.fffffp+124, false, -- 0xf.fffffp+124, false, -- INF, true, -- false, -- 0xf.fffff7ffffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff7ffffff8p+124, false, -- 0xf.fffff8p+124, false, -- false, -- 0xf.fffff7fffffffffp+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff7fffffffffp+124, false, -- 0xf.fffff8p+124, false, -- false, -- 0xf.fffff7fffffffffp+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff7fffffffffp+124, false, -- 0xf.fffff8p+124, false, -- false, -- 0xf.fffff7fffffffffffffffffffcp+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff7fffffffffffffffffffcp+124, false, -- 0xf.fffff8p+124, false, -- false, -- 0xf.fffff7fffffffffffffffffffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff7fffffffffffffffffffff8p+124, false, -- 0xf.fffff8p+124, false), -+ 0xf.fffffp+124, false, false, -+ 0xf.fffffp+124, false, false, -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffff7ffffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff7ffffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ false, -+ 0xf.fffff7fffffffffp+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff7fffffffffp+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ false, -+ 0xf.fffff7fffffffffp+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff7fffffffffp+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ false, -+ 0xf.fffff7fffffffffffffffffffcp+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff7fffffffffffffffffffcp+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ false, -+ 0xf.fffff7fffffffffffffffffffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff7fffffffffffffffffffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false), - TEST ("340282356779733661637539395458142568448", - false, -- 0xf.fffffp+124, false, -- INF, true, -- 0xf.fffffp+124, false, -- INF, true, -- true, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- true, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- true, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- true, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- true, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false), -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ true, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ true, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ true, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ true, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ true, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false), - TEST ("340282356779733661637539395458142568448.001", - false, -- 0xf.fffffp+124, false, -- INF, true, -- 0xf.fffffp+124, false, -- INF, true, -- false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff80000008p+124, false, -- false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8000000001p+124, false, -- false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8000000001p+124, false, -- false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff800000000000000000004p+124, false, -- false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff8p+124, false, -- 0xf.fffff80000000000000000000008p+124, false), -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff80000008p+124, false, false, -+ false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8000000001p+124, false, false, -+ false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8000000001p+124, false, false, -+ false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff800000000000000000004p+124, false, false, -+ false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff8p+124, false, false, -+ 0xf.fffff80000000000000000000008p+124, false, false), - TEST ("-340282356779733661637539395458142568447.999", - false, -- -INF, true, -- -0xf.fffffp+124, false, -- -0xf.fffffp+124, false, -- -0xf.fffffp+124, false, -- false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff7ffffff8p+124, false, -- -0xf.fffff7ffffff8p+124, false, -- false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff7fffffffffp+124, false, -- -0xf.fffff7fffffffffp+124, false, -- false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff7fffffffffp+124, false, -- -0xf.fffff7fffffffffp+124, false, -- false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff7fffffffffffffffffffcp+124, false, -- -0xf.fffff7fffffffffffffffffffcp+124, false, -- false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff7fffffffffffffffffffff8p+124, false, -- -0xf.fffff7fffffffffffffffffffff8p+124, false), -+ -INF, true, false, -+ -0xf.fffffp+124, false, false, -+ -0xf.fffffp+124, false, false, -+ -0xf.fffffp+124, false, false, -+ false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff7ffffff8p+124, false, false, -+ -0xf.fffff7ffffff8p+124, false, false, -+ false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff7fffffffffp+124, false, false, -+ -0xf.fffff7fffffffffp+124, false, false, -+ false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff7fffffffffp+124, false, false, -+ -0xf.fffff7fffffffffp+124, false, false, -+ false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff7fffffffffffffffffffcp+124, false, false, -+ -0xf.fffff7fffffffffffffffffffcp+124, false, false, -+ false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff7fffffffffffffffffffff8p+124, false, false, -+ -0xf.fffff7fffffffffffffffffffff8p+124, false, false), - TEST ("-340282356779733661637539395458142568448", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, false, -- -0xf.fffffp+124, false, -- true, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- true, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- true, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- true, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- true, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, false, false, -+ -0xf.fffffp+124, false, false, -+ true, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ true, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ true, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ true, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ true, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false), - TEST ("-340282356779733661637539395458142568448.001", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, false, -- -0xf.fffffp+124, false, -- false, -- -0xf.fffff80000008p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- false, -- -0xf.fffff8000000001p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- false, -- -0xf.fffff8000000001p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- false, -- -0xf.fffff800000000000000000004p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- false, -- -0xf.fffff80000000000000000000008p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false, -- -0xf.fffff8p+124, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, false, false, -+ -0xf.fffffp+124, false, false, -+ false, -+ -0xf.fffff80000008p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ false, -+ -0xf.fffff8000000001p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ false, -+ -0xf.fffff8000000001p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ false, -+ -0xf.fffff800000000000000000004p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ false, -+ -0xf.fffff80000000000000000000008p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false, -+ -0xf.fffff8p+124, false, false), - TEST ("179769313486231580793728971405303415079934132710037826936173" - "778980444968292764750946649017977587207096330286416692887910" - "946555547851940402630657488671505820681908902000708383676273" -@@ -1855,35 +1855,35 @@ static const struct test tests[] = { - "936475292719074168444365510704342711559699508093042880177904" - "174497791.999", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, false, -- 0xf.ffffffffffff8p+1020, false, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- false, -- 0xf.ffffffffffffbffp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffbffp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- false, -- 0xf.ffffffffffffbffp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffbffp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- false, -- 0xf.ffffffffffffbffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffbffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, true, -- false, -- 0xf.ffffffffffffbffffffffffffff8p+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffbffffffffffffff8p+1020, false, -- 0xf.ffffffffffffcp+1020, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffffbffp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffbffp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ false, -+ 0xf.ffffffffffffbffp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffbffp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ false, -+ 0xf.ffffffffffffbffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffbffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ false, -+ 0xf.ffffffffffffbffffffffffffff8p+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffbffffffffffffff8p+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false), - TEST ("179769313486231580793728971405303415079934132710037826936173" - "778980444968292764750946649017977587207096330286416692887910" - "946555547851940402630657488671505820681908902000708383676273" -@@ -1891,35 +1891,35 @@ static const struct test tests[] = { - "936475292719074168444365510704342711559699508093042880177904" - "174497792", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- true, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- true, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- false, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffcp+1020, true, -- true, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ true, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ true, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ true, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false), - TEST ("179769313486231580793728971405303415079934132710037826936173" - "778980444968292764750946649017977587207096330286416692887910" - "946555547851940402630657488671505820681908902000708383676273" -@@ -1927,35 +1927,35 @@ static const struct test tests[] = { - "936475292719074168444365510704342711559699508093042880177904" - "174497792.001", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffc01p+1020, false, -- false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffc01p+1020, false, -- false, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffcp+1020, true, -- 0xf.ffffffffffffc0000000000004p+1020, true, -- false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffcp+1020, false, -- 0xf.ffffffffffffc000000000000008p+1020, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffc01p+1020, false, false, -+ false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffc01p+1020, false, false, -+ false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffcp+1020, true, false, -+ 0xf.ffffffffffffc0000000000004p+1020, true, false, -+ false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffcp+1020, false, false, -+ 0xf.ffffffffffffc000000000000008p+1020, false, false), - TEST ("-17976931348623158079372897140530341507993413271003782693617" - "377898044496829276475094664901797758720709633028641669288791" - "094655554785194040263065748867150582068190890200070838367627" -@@ -1963,35 +1963,35 @@ static const struct test tests[] = { - "493647529271907416844436551070434271155969950809304288017790" - "4174497791.999", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -0xf.ffffffffffff8p+1020, false, -- -0xf.ffffffffffff8p+1020, false, -- -0xf.ffffffffffff8p+1020, false, -- false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffbffp+1020, false, -- -0xf.ffffffffffffbffp+1020, false, -- false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffbffp+1020, false, -- -0xf.ffffffffffffbffp+1020, false, -- false, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffbffffffffffffcp+1020, false, -- -0xf.ffffffffffffbffffffffffffcp+1020, false, -- false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffbffffffffffffff8p+1020, false, -- -0xf.ffffffffffffbffffffffffffff8p+1020, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffbffp+1020, false, false, -+ -0xf.ffffffffffffbffp+1020, false, false, -+ false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffbffp+1020, false, false, -+ -0xf.ffffffffffffbffp+1020, false, false, -+ false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffbffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffbffffffffffffcp+1020, false, false, -+ false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffbffffffffffffff8p+1020, false, false, -+ -0xf.ffffffffffffbffffffffffffff8p+1020, false, false), - TEST ("-17976931348623158079372897140530341507993413271003782693617" - "377898044496829276475094664901797758720709633028641669288791" - "094655554785194040263065748867150582068190890200070838367627" -@@ -1999,35 +1999,35 @@ static const struct test tests[] = { - "493647529271907416844436551070434271155969950809304288017790" - "4174497792", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, false, -- -0xf.ffffffffffff8p+1020, false, -- true, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- true, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- false, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- true, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ true, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ true, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ true, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false), - TEST ("-17976931348623158079372897140530341507993413271003782693617" - "377898044496829276475094664901797758720709633028641669288791" - "094655554785194040263065748867150582068190890200070838367627" -@@ -2035,35 +2035,35 @@ static const struct test tests[] = { - "493647529271907416844436551070434271155969950809304288017790" - "4174497792.001", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, false, -- -0xf.ffffffffffff8p+1020, false, -- false, -- -0xf.ffffffffffffc01p+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- false, -- -0xf.ffffffffffffc01p+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- false, -- -0xf.ffffffffffffc0000000000004p+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- -0xf.ffffffffffffcp+1020, true, -- false, -- -0xf.ffffffffffffc000000000000008p+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false, -- -0xf.ffffffffffffcp+1020, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ false, -+ -0xf.ffffffffffffc01p+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ false, -+ -0xf.ffffffffffffc01p+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ false, -+ -0xf.ffffffffffffc0000000000004p+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ -0xf.ffffffffffffcp+1020, true, false, -+ false, -+ -0xf.ffffffffffffc000000000000008p+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false, -+ -0xf.ffffffffffffcp+1020, false, false), - TEST ("118973149535723176505351158982948866796625400469556721895649" - "927756249918185172720476044944290457046138433056764616744328" - "666255526748948793023632513609765434237723241753648908036202" -@@ -2148,35 +2148,35 @@ static const struct test tests[] = { - "578031503869424406179027994752890226443351619365453243328968" - "8740976918527.999", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- 0xf.fffffffffffffffp+16380, false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- 0xf.fffffffffffffffp+16380, false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffff7fffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff7fffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffff7fffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff7fffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false), - TEST ("118973149535723176505351158982948866796625400469556721895649" - "927756249918185172720476044944290457046138433056764616744328" - "666255526748948793023632513609765434237723241753648908036202" -@@ -2261,35 +2261,35 @@ static const struct test tests[] = { - "578031503869424406179027994752890226443351619365453243328968" - "8740976918528", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- true, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ true, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false), - TEST ("118973149535723176505351158982948866796625400469556721895649" - "927756249918185172720476044944290457046138433056764616744328" - "666255526748948793023632513609765434237723241753648908036202" -@@ -2374,35 +2374,35 @@ static const struct test tests[] = { - "578031503869424406179027994752890226443351619365453243328968" - "8740976918528.001", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff8p+16380, false, -- 0xf.fffffffffffffff8000000000008p+16380, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffff8000000000008p+16380, false, false), - TEST ("-11897314953572317650535115898294886679662540046955672189564" - "992775624991818517272047604494429045704613843305676461674432" - "866625552674894879302363251360976543423772324175364890803620" -@@ -2487,35 +2487,35 @@ static const struct test tests[] = { - "557803150386942440617902799475289022644335161936545324332896" - "88740976918527.999", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff7fffffffffff8p+16380, false, -- -0xf.fffffffffffffff7fffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff7fffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff7fffffffffff8p+16380, false, false), - TEST ("-11897314953572317650535115898294886679662540046955672189564" - "992775624991818517272047604494429045704613843305676461674432" - "866625552674894879302363251360976543423772324175364890803620" -@@ -2600,35 +2600,35 @@ static const struct test tests[] = { - "557803150386942440617902799475289022644335161936545324332896" - "88740976918528", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- true, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ true, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false), - TEST ("-11897314953572317650535115898294886679662540046955672189564" - "992775624991818517272047604494429045704613843305676461674432" - "866625552674894879302363251360976543423772324175364890803620" -@@ -2713,35 +2713,35 @@ static const struct test tests[] = { - "557803150386942440617902799475289022644335161936545324332896" - "88740976918528.001", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -0xf.fffffffffffffff8000000000008p+16380, false, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff8p+16380, false, -- -0xf.fffffffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -0xf.fffffffffffffff8000000000008p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffff8p+16380, false, false), - TEST ("118973149535723176508575932662800707347995686986910214150118" - "685272271246896789803961473130416053705672050873552479421805" - "932646640744124594447361172514341324846716679654551308018400" -@@ -2826,35 +2826,35 @@ static const struct test tests[] = { - "972233447491583165728635513802591543441145939539353470970452" - "5536550715391.999", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false), - TEST ("118973149535723176508575932662800707347995686986910214150118" - "685272271246896789803961473130416053705672050873552479421805" - "932646640744124594447361172514341324846716679654551308018400" -@@ -2939,35 +2939,35 @@ static const struct test tests[] = { - "972233447491583165728635513802591543441145939539353470970452" - "5536550715392", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false), - TEST ("118973149535723176508575932662800707347995686986910214150118" - "685272271246896789803961473130416053705672050873552479421805" - "932646640744124594447361172514341324846716679654551308018400" -@@ -3052,35 +3052,35 @@ static const struct test tests[] = { - "972233447491583165728635513802591543441145939539353470970452" - "5536550715392.001", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false), - TEST ("-11897314953572317650857593266280070734799568698691021415011" - "868527227124689678980396147313041605370567205087355247942180" - "593264664074412459444736117251434132484671667965455130801840" -@@ -3165,35 +3165,35 @@ static const struct test tests[] = { - "097223344749158316572863551380259154344114593953935347097045" - "25536550715391.999", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -INF, true, -- -0xf.fffffffffffffffffffffffffff8p+16380, false, -- -0xf.fffffffffffffffffffffffffff8p+16380, false, -- -0xf.fffffffffffffffffffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false), - TEST ("-11897314953572317650857593266280070734799568698691021415011" - "868527227124689678980396147313041605370567205087355247942180" - "593264664074412459444736117251434132484671667965455130801840" -@@ -3278,35 +3278,35 @@ static const struct test tests[] = { - "097223344749158316572863551380259154344114593953935347097045" - "25536550715392", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffff8p+16380, false, -- -0xf.fffffffffffffffffffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false), - TEST ("-11897314953572317650857593266280070734799568698691021415011" - "868527227124689678980396147313041605370567205087355247942180" - "593264664074412459444736117251434132484671667965455130801840" -@@ -3391,419 +3391,419 @@ static const struct test tests[] = { - "097223344749158316572863551380259154344114593953935347097045" - "25536550715392.001", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffff8p+16380, false, -- -0xf.fffffffffffffffffffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false), - TEST ("2.1019476964872256063855943749348741969203929128147736576356" - "0242583468662402879090222995728254318237304687499e-45", - false, -- 0x8p-152, false, -- 0x8p-152, false, -- 0x8p-152, false, -- 0x1p-148, false, -- false, -- 0xb.ffffffffffff8p-152, false, -- 0xcp-152, false, -- 0xb.ffffffffffff8p-152, false, -- 0xcp-152, false, -- false, -- 0xb.fffffffffffffffp-152, false, -- 0xcp-152, false, -- 0xb.fffffffffffffffp-152, false, -- 0xcp-152, false, -- false, -- 0xb.fffffffffffffffp-152, false, -- 0xcp-152, false, -- 0xb.fffffffffffffffp-152, false, -- 0xcp-152, false, -- false, -- 0xb.fffffffffffffffffffffffffcp-152, false, -- 0xcp-152, false, -- 0xb.fffffffffffffffffffffffffcp-152, false, -- 0xcp-152, false, -- false, -- 0xb.fffffffffffffffffffffffffff8p-152, false, -- 0xcp-152, false, -- 0xb.fffffffffffffffffffffffffff8p-152, false, -- 0xcp-152, false), -+ 0x8p-152, false, true, -+ 0x8p-152, false, true, -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ false, -+ 0xb.ffffffffffff8p-152, false, false, -+ 0xcp-152, false, false, -+ 0xb.ffffffffffff8p-152, false, false, -+ 0xcp-152, false, false, -+ false, -+ 0xb.fffffffffffffffp-152, false, false, -+ 0xcp-152, false, false, -+ 0xb.fffffffffffffffp-152, false, false, -+ 0xcp-152, false, false, -+ false, -+ 0xb.fffffffffffffffp-152, false, false, -+ 0xcp-152, false, false, -+ 0xb.fffffffffffffffp-152, false, false, -+ 0xcp-152, false, false, -+ false, -+ 0xb.fffffffffffffffffffffffffcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xb.fffffffffffffffffffffffffcp-152, false, false, -+ 0xcp-152, false, false, -+ false, -+ 0xb.fffffffffffffffffffffffffff8p-152, false, false, -+ 0xcp-152, false, false, -+ 0xb.fffffffffffffffffffffffffff8p-152, false, false, -+ 0xcp-152, false, false), - TEST ("2.1019476964872256063855943749348741969203929128147736576356" - "02425834686624028790902229957282543182373046875e-45", - false, -- 0x8p-152, false, -- 0x1p-148, false, -- 0x8p-152, false, -- 0x1p-148, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- true, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false), -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ true, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false), - TEST ("2.1019476964872256063855943749348741969203929128147736576356" - "0242583468662402879090222995728254318237304687501e-45", - false, -- 0x8p-152, false, -- 0x1p-148, false, -- 0x8p-152, false, -- 0x1p-148, false, -- false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xc.0000000000008p-152, false, -- false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xc.000000000000001p-152, false, -- false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xc.000000000000001p-152, false, -- false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xc.00000000000000000000000004p-152, false, -- false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xcp-152, false, -- 0xc.0000000000000000000000000008p-152, false), -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ 0x8p-152, false, true, -+ 0x1p-148, false, true, -+ false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xc.0000000000008p-152, false, false, -+ false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xc.000000000000001p-152, false, false, -+ false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xc.000000000000001p-152, false, false, -+ false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xc.00000000000000000000000004p-152, false, false, -+ false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xcp-152, false, false, -+ 0xc.0000000000000000000000000008p-152, false, false), - TEST ("-2.101947696487225606385594374934874196920392912814773657635" - "60242583468662402879090222995728254318237304687499e-45", - false, -- -0x1p-148, false, -- -0x8p-152, false, -- -0x8p-152, false, -- -0x8p-152, false, -- false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xb.ffffffffffff8p-152, false, -- -0xb.ffffffffffff8p-152, false, -- false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xb.fffffffffffffffp-152, false, -- -0xb.fffffffffffffffp-152, false, -- false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xb.fffffffffffffffp-152, false, -- -0xb.fffffffffffffffp-152, false, -- false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xb.fffffffffffffffffffffffffcp-152, false, -- -0xb.fffffffffffffffffffffffffcp-152, false, -- false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xb.fffffffffffffffffffffffffff8p-152, false, -- -0xb.fffffffffffffffffffffffffff8p-152, false), -+ -0x1p-148, false, true, -+ -0x8p-152, false, true, -+ -0x8p-152, false, true, -+ -0x8p-152, false, true, -+ false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xb.ffffffffffff8p-152, false, false, -+ -0xb.ffffffffffff8p-152, false, false, -+ false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xb.fffffffffffffffp-152, false, false, -+ -0xb.fffffffffffffffp-152, false, false, -+ false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xb.fffffffffffffffp-152, false, false, -+ -0xb.fffffffffffffffp-152, false, false, -+ false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xb.fffffffffffffffffffffffffcp-152, false, false, -+ -0xb.fffffffffffffffffffffffffcp-152, false, false, -+ false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xb.fffffffffffffffffffffffffff8p-152, false, false, -+ -0xb.fffffffffffffffffffffffffff8p-152, false, false), - TEST ("-2.101947696487225606385594374934874196920392912814773657635" - "602425834686624028790902229957282543182373046875e-45", - false, -- -0x1p-148, false, -- -0x1p-148, false, -- -0x8p-152, false, -- -0x8p-152, false, -- true, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- true, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- true, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- true, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- true, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false), -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ -0x8p-152, false, true, -+ -0x8p-152, false, true, -+ true, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ true, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ true, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ true, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ true, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false), - TEST ("-2.101947696487225606385594374934874196920392912814773657635" - "60242583468662402879090222995728254318237304687501e-45", - false, -- -0x1p-148, false, -- -0x1p-148, false, -- -0x8p-152, false, -- -0x8p-152, false, -- false, -- -0xc.0000000000008p-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- false, -- -0xc.000000000000001p-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- false, -- -0xc.000000000000001p-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- false, -- -0xc.00000000000000000000000004p-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- false, -- -0xc.0000000000000000000000000008p-152, false, -- -0xcp-152, false, -- -0xcp-152, false, -- -0xcp-152, false), -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ -0x8p-152, false, true, -+ -0x8p-152, false, true, -+ false, -+ -0xc.0000000000008p-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ false, -+ -0xc.000000000000001p-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ false, -+ -0xc.000000000000001p-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ false, -+ -0xc.00000000000000000000000004p-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ false, -+ -0xc.0000000000000000000000000008p-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false, -+ -0xcp-152, false, false), - TEST ("3.5032461608120426773093239582247903282006548546912894293926" - "7070972447770671465150371659547090530395507812499e-45", - false, -- 0x1p-148, false, -- 0x1p-148, false, -- 0x1p-148, false, -- 0x1.8p-148, false, -- false, -- 0x1.3ffffffffffffp-148, false, -- 0x1.4p-148, false, -- 0x1.3ffffffffffffp-148, false, -- 0x1.4p-148, false, -- false, -- 0x1.3ffffffffffffffep-148, false, -- 0x1.4p-148, false, -- 0x1.3ffffffffffffffep-148, false, -- 0x1.4p-148, false, -- false, -- 0x1.3ffffffffffffffep-148, false, -- 0x1.4p-148, false, -- 0x1.3ffffffffffffffep-148, false, -- 0x1.4p-148, false, -- false, -- 0x1.3fffffffffffffffffffffffff8p-148, false, -- 0x1.4p-148, false, -- 0x1.3fffffffffffffffffffffffff8p-148, false, -- 0x1.4p-148, false, -- false, -- 0x1.3fffffffffffffffffffffffffffp-148, false, -- 0x1.4p-148, false, -- 0x1.3fffffffffffffffffffffffffffp-148, false, -- 0x1.4p-148, false), -+ 0x1p-148, false, true, -+ 0x1p-148, false, true, -+ 0x1p-148, false, true, -+ 0x1.8p-148, false, true, -+ false, -+ 0x1.3ffffffffffffp-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.3ffffffffffffp-148, false, false, -+ 0x1.4p-148, false, false, -+ false, -+ 0x1.3ffffffffffffffep-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.3ffffffffffffffep-148, false, false, -+ 0x1.4p-148, false, false, -+ false, -+ 0x1.3ffffffffffffffep-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.3ffffffffffffffep-148, false, false, -+ 0x1.4p-148, false, false, -+ false, -+ 0x1.3fffffffffffffffffffffffff8p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.3fffffffffffffffffffffffff8p-148, false, false, -+ 0x1.4p-148, false, false, -+ false, -+ 0x1.3fffffffffffffffffffffffffffp-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.3fffffffffffffffffffffffffffp-148, false, false, -+ 0x1.4p-148, false, false), - TEST ("3.5032461608120426773093239582247903282006548546912894293926" - "70709724477706714651503716595470905303955078125e-45", - false, -- 0x1p-148, false, -- 0x1p-148, false, -- 0x1p-148, false, -- 0x1.8p-148, false, -- true, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- true, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- true, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- true, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- true, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false), -+ 0x1p-148, false, true, -+ 0x1p-148, false, true, -+ 0x1p-148, false, true, -+ 0x1.8p-148, false, true, -+ true, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ true, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ true, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ true, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ true, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false), - TEST ("3.5032461608120426773093239582247903282006548546912894293926" - "7070972447770671465150371659547090530395507812501e-45", - false, -- 0x1p-148, false, -- 0x1.8p-148, false, -- 0x1p-148, false, -- 0x1.8p-148, false, -- false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4000000000001p-148, false, -- false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4000000000000002p-148, false, -- false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4000000000000002p-148, false, -- false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.400000000000000000000000008p-148, false, -- false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4p-148, false, -- 0x1.4000000000000000000000000001p-148, false), -+ 0x1p-148, false, true, -+ 0x1.8p-148, false, true, -+ 0x1p-148, false, true, -+ 0x1.8p-148, false, true, -+ false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4000000000001p-148, false, false, -+ false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4000000000000002p-148, false, false, -+ false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4000000000000002p-148, false, false, -+ false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.400000000000000000000000008p-148, false, false, -+ false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4p-148, false, false, -+ 0x1.4000000000000000000000000001p-148, false, false), - TEST ("-3.503246160812042677309323958224790328200654854691289429392" - "67070972447770671465150371659547090530395507812499e-45", - false, -- -0x1.8p-148, false, -- -0x1p-148, false, -- -0x1p-148, false, -- -0x1p-148, false, -- false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.3ffffffffffffp-148, false, -- -0x1.3ffffffffffffp-148, false, -- false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.3ffffffffffffffep-148, false, -- -0x1.3ffffffffffffffep-148, false, -- false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.3ffffffffffffffep-148, false, -- -0x1.3ffffffffffffffep-148, false, -- false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.3fffffffffffffffffffffffff8p-148, false, -- -0x1.3fffffffffffffffffffffffff8p-148, false, -- false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.3fffffffffffffffffffffffffffp-148, false, -- -0x1.3fffffffffffffffffffffffffffp-148, false), -+ -0x1.8p-148, false, true, -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.3ffffffffffffp-148, false, false, -+ -0x1.3ffffffffffffp-148, false, false, -+ false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.3ffffffffffffffep-148, false, false, -+ -0x1.3ffffffffffffffep-148, false, false, -+ false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.3ffffffffffffffep-148, false, false, -+ -0x1.3ffffffffffffffep-148, false, false, -+ false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.3fffffffffffffffffffffffff8p-148, false, false, -+ -0x1.3fffffffffffffffffffffffff8p-148, false, false, -+ false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.3fffffffffffffffffffffffffffp-148, false, false, -+ -0x1.3fffffffffffffffffffffffffffp-148, false, false), - TEST ("-3.503246160812042677309323958224790328200654854691289429392" - "670709724477706714651503716595470905303955078125e-45", - false, -- -0x1.8p-148, false, -- -0x1p-148, false, -- -0x1p-148, false, -- -0x1p-148, false, -- true, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- true, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- true, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- true, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- true, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false), -+ -0x1.8p-148, false, true, -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ true, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ true, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ true, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ true, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ true, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false), - TEST ("-3.503246160812042677309323958224790328200654854691289429392" - "67070972447770671465150371659547090530395507812501e-45", - false, -- -0x1.8p-148, false, -- -0x1.8p-148, false, -- -0x1p-148, false, -- -0x1p-148, false, -- false, -- -0x1.4000000000001p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- false, -- -0x1.4000000000000002p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- false, -- -0x1.4000000000000002p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- false, -- -0x1.400000000000000000000000008p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- false, -- -0x1.4000000000000000000000000001p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false, -- -0x1.4p-148, false), -+ -0x1.8p-148, false, true, -+ -0x1.8p-148, false, true, -+ -0x1p-148, false, true, -+ -0x1p-148, false, true, -+ false, -+ -0x1.4000000000001p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ false, -+ -0x1.4000000000000002p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ false, -+ -0x1.4000000000000002p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ false, -+ -0x1.400000000000000000000000008p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ false, -+ -0x1.4000000000000000000000000001p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false, -+ -0x1.4p-148, false, false), - TEST ("7.4109846876186981626485318930233205854758970392148714663837" - "852375101326090531312779794975454245398856969484704316857659" - "638998506553390969459816219401617281718945106978546710679176" -@@ -3818,35 +3818,35 @@ static const struct test tests[] = { - "337560846003984904972149117463085539556354188641513168478436" - "31308023759629577398300170898437499e-324", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x4p-1076, false, -- 0x4p-1076, false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- false, -- 0x5.fffffffffffffff8p-1076, false, -- 0x6p-1076, false, -- 0x5.fffffffffffffff8p-1076, false, -- 0x6p-1076, false, -- false, -- 0x5.fffffffffffffff8p-1076, false, -- 0x6p-1076, false, -- 0x5.fffffffffffffff8p-1076, false, -- 0x6p-1076, false, -- false, -- 0x4p-1076, false, -- 0x4p-1076, false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- false, -- 0x5.fffffffffffffffffffffffffffcp-1076, false, -- 0x6p-1076, false, -- 0x5.fffffffffffffffffffffffffffcp-1076, false, -- 0x6p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x4p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ false, -+ 0x5.fffffffffffffff8p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x5.fffffffffffffff8p-1076, false, false, -+ 0x6p-1076, false, false, -+ false, -+ 0x5.fffffffffffffff8p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x5.fffffffffffffff8p-1076, false, false, -+ 0x6p-1076, false, false, -+ false, -+ 0x4p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ false, -+ 0x5.fffffffffffffffffffffffffffcp-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x5.fffffffffffffffffffffffffffcp-1076, false, false, -+ 0x6p-1076, false, false), - TEST ("7.4109846876186981626485318930233205854758970392148714663837" - "852375101326090531312779794975454245398856969484704316857659" - "638998506553390969459816219401617281718945106978546710679176" -@@ -3861,35 +3861,35 @@ static const struct test tests[] = { - "337560846003984904972149117463085539556354188641513168478436" - "313080237596295773983001708984375e-324", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- true, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- true, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- true, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ true, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ true, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ false, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ true, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false), - TEST ("7.4109846876186981626485318930233205854758970392148714663837" - "852375101326090531312779794975454245398856969484704316857659" - "638998506553390969459816219401617281718945106978546710679176" -@@ -3904,35 +3904,35 @@ static const struct test tests[] = { - "337560846003984904972149117463085539556354188641513168478436" - "31308023759629577398300170898437501e-324", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6.0000000000000008p-1076, false, -- false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6.0000000000000008p-1076, false, -- false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- 0x4p-1076, false, -- 0x8p-1076, false, -- false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6p-1076, false, -- 0x6.0000000000000000000000000004p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6.0000000000000008p-1076, false, false, -+ false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6.0000000000000008p-1076, false, false, -+ false, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ 0x4p-1076, false, true, -+ 0x8p-1076, false, true, -+ false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6p-1076, false, false, -+ 0x6.0000000000000000000000000004p-1076, false, false), - TEST ("-7.410984687618698162648531893023320585475897039214871466383" - "785237510132609053131277979497545424539885696948470431685765" - "963899850655339096945981621940161728171894510697854671067917" -@@ -3947,35 +3947,35 @@ static const struct test tests[] = { - "433756084600398490497214911746308553955635418864151316847843" - "631308023759629577398300170898437499e-324", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x5.fffffffffffffff8p-1076, false, -- -0x5.fffffffffffffff8p-1076, false, -- false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x5.fffffffffffffff8p-1076, false, -- -0x5.fffffffffffffff8p-1076, false, -- false, -- -0x8p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x5.fffffffffffffffffffffffffffcp-1076, false, -- -0x5.fffffffffffffffffffffffffffcp-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x5.fffffffffffffff8p-1076, false, false, -+ -0x5.fffffffffffffff8p-1076, false, false, -+ false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x5.fffffffffffffff8p-1076, false, false, -+ -0x5.fffffffffffffff8p-1076, false, false, -+ false, -+ -0x8p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x5.fffffffffffffffffffffffffffcp-1076, false, false, -+ -0x5.fffffffffffffffffffffffffffcp-1076, false, false), - TEST ("-7.410984687618698162648531893023320585475897039214871466383" - "785237510132609053131277979497545424539885696948470431685765" - "963899850655339096945981621940161728171894510697854671067917" -@@ -3990,35 +3990,35 @@ static const struct test tests[] = { - "433756084600398490497214911746308553955635418864151316847843" - "6313080237596295773983001708984375e-324", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-1076, false, -- -0x8p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- true, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- true, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- false, -- -0x8p-1076, false, -- -0x8p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- true, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-1076, false, true, -+ -0x8p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ true, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ true, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ false, -+ -0x8p-1076, false, true, -+ -0x8p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ true, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false), - TEST ("-7.410984687618698162648531893023320585475897039214871466383" - "785237510132609053131277979497545424539885696948470431685765" - "963899850655339096945981621940161728171894510697854671067917" -@@ -4033,35 +4033,35 @@ static const struct test tests[] = { - "433756084600398490497214911746308553955635418864151316847843" - "631308023759629577398300170898437501e-324", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-1076, false, -- -0x8p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- false, -- -0x6.0000000000000008p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- false, -- -0x6.0000000000000008p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- false, -- -0x8p-1076, false, -- -0x8p-1076, false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- false, -- -0x6.0000000000000000000000000004p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false, -- -0x6p-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-1076, false, true, -+ -0x8p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ false, -+ -0x6.0000000000000008p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ false, -+ -0x6.0000000000000008p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ false, -+ -0x8p-1076, false, true, -+ -0x8p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ false, -+ -0x6.0000000000000000000000000004p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false, -+ -0x6p-1076, false, false), - TEST ("5.4677992978237119037926089004291297245985762235403450155814" - "707305425575329500966052143410629387408077958710210208052966" - "529504784489330482549602621133847135082257338717668975178538" -@@ -4255,35 +4255,35 @@ static const struct test tests[] = { - "866268925981702690270202829595794350800918257913991744455922" - "683343374046671669930219650268554687499e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x8p-16448, false, -- 0x8p-16448, false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- false, -- 0x8p-16448, false, -- 0xcp-16448, false, -- 0x8p-16448, false, -- 0xcp-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0xb.fffffffffffcp-16448, false, -- 0xcp-16448, false, -- 0xb.fffffffffffcp-16448, false, -- 0xcp-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0x8p-16448, false, true, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0xcp-16448, false, true, -+ 0x8p-16448, false, true, -+ 0xcp-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0xb.fffffffffffcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xb.fffffffffffcp-16448, false, true, -+ 0xcp-16448, false, true), - TEST ("5.4677992978237119037926089004291297245985762235403450155814" - "707305425575329500966052143410629387408077958710210208052966" - "529504784489330482549602621133847135082257338717668975178538" -@@ -4477,35 +4477,35 @@ static const struct test tests[] = { - "866268925981702690270202829595794350800918257913991744455922" - "6833433740466716699302196502685546875e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- true, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ true, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false), - TEST ("5.4677992978237119037926089004291297245985762235403450155814" - "707305425575329500966052143410629387408077958710210208052966" - "529504784489330482549602621133847135082257338717668975178538" -@@ -4699,35 +4699,35 @@ static const struct test tests[] = { - "866268925981702690270202829595794350800918257913991744455922" - "683343374046671669930219650268554687501e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0x1p-16444, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xc.000000000004p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ false, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0x1p-16444, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xc.000000000004p-16448, false, true), - TEST ("-5.467799297823711903792608900429129724598576223540345015581" - "470730542557532950096605214341062938740807795871021020805296" - "652950478448933048254960262113384713508225733871766897517853" -@@ -4921,35 +4921,35 @@ static const struct test tests[] = { - "386626892598170269027020282959579435080091825791399174445592" - "2683343374046671669930219650268554687499e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x1p-16444, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xb.fffffffffffcp-16448, false, -- -0xb.fffffffffffcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ false, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xb.fffffffffffcp-16448, false, true, -+ -0xb.fffffffffffcp-16448, false, true), - TEST ("-5.467799297823711903792608900429129724598576223540345015581" - "470730542557532950096605214341062938740807795871021020805296" - "652950478448933048254960262113384713508225733871766897517853" -@@ -5143,35 +5143,35 @@ static const struct test tests[] = { - "386626892598170269027020282959579435080091825791399174445592" - "26833433740466716699302196502685546875e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x1p-16444, false, -- -0x1p-16444, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- true, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0x1p-16444, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ true, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false), - TEST ("-5.467799297823711903792608900429129724598576223540345015581" - "470730542557532950096605214341062938740807795871021020805296" - "652950478448933048254960262113384713508225733871766897517853" -@@ -5365,35 +5365,35 @@ static const struct test tests[] = { - "386626892598170269027020282959579435080091825791399174445592" - "2683343374046671669930219650268554687501e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x1p-16444, false, -- -0x1p-16444, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- false, -- -0x1p-16444, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0xc.000000000004p-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0x1p-16444, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0xc.000000000004p-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true), - TEST ("5.4677992978237119037926089004291297245985762235403450155814" - "707305425575329500966052143410629387408077958710210208052966" - "529504784489330482549602621133847135082257338717668975178538" -@@ -5587,35 +5587,35 @@ static const struct test tests[] = { - "866268925981702690270202829595794350800918257913991744455922" - "683343374046671669930219650268554687499e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x8p-16448, false, -- 0x8p-16448, false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- false, -- 0x8p-16448, false, -- 0xcp-16448, false, -- 0x8p-16448, false, -- 0xcp-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0xb.fffffffffffcp-16448, false, -- 0xcp-16448, false, -- 0xb.fffffffffffcp-16448, false, -- 0xcp-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0x8p-16448, false, true, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0xcp-16448, false, true, -+ 0x8p-16448, false, true, -+ 0xcp-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0xb.fffffffffffcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xb.fffffffffffcp-16448, false, true, -+ 0xcp-16448, false, true), - TEST ("5.4677992978237119037926089004291297245985762235403450155814" - "707305425575329500966052143410629387408077958710210208052966" - "529504784489330482549602621133847135082257338717668975178538" -@@ -5809,35 +5809,35 @@ static const struct test tests[] = { - "866268925981702690270202829595794350800918257913991744455922" - "6833433740466716699302196502685546875e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- true, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ true, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false, -+ 0xcp-16448, false, false), - TEST ("5.4677992978237119037926089004291297245985762235403450155814" - "707305425575329500966052143410629387408077958710210208052966" - "529504784489330482549602621133847135082257338717668975178538" -@@ -6031,35 +6031,35 @@ static const struct test tests[] = { - "866268925981702690270202829595794350800918257913991744455922" - "683343374046671669930219650268554687501e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- 0x8p-16448, false, -- 0x1p-16444, false, -- false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0x1p-16444, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xcp-16448, false, -- 0xc.000000000004p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ 0x8p-16448, false, true, -+ 0x1p-16444, false, true, -+ false, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0x1p-16444, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xcp-16448, false, true, -+ 0xc.000000000004p-16448, false, true), - TEST ("-5.467799297823711903792608900429129724598576223540345015581" - "470730542557532950096605214341062938740807795871021020805296" - "652950478448933048254960262113384713508225733871766897517853" -@@ -6253,35 +6253,35 @@ static const struct test tests[] = { - "386626892598170269027020282959579435080091825791399174445592" - "2683343374046671669930219650268554687499e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x1p-16444, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xb.fffffffffffcp-16448, false, -- -0xb.fffffffffffcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ false, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xb.fffffffffffcp-16448, false, true, -+ -0xb.fffffffffffcp-16448, false, true), - TEST ("-5.467799297823711903792608900429129724598576223540345015581" - "470730542557532950096605214341062938740807795871021020805296" - "652950478448933048254960262113384713508225733871766897517853" -@@ -6475,35 +6475,35 @@ static const struct test tests[] = { - "386626892598170269027020282959579435080091825791399174445592" - "26833433740466716699302196502685546875e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x1p-16444, false, -- -0x1p-16444, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- true, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0x1p-16444, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ true, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false, -+ -0xcp-16448, false, false), - TEST ("-5.467799297823711903792608900429129724598576223540345015581" - "470730542557532950096605214341062938740807795871021020805296" - "652950478448933048254960262113384713508225733871766897517853" -@@ -6697,630 +6697,630 @@ static const struct test tests[] = { - "386626892598170269027020282959579435080091825791399174445592" - "2683343374046671669930219650268554687501e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x1p-16444, false, -- -0x1p-16444, false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- false, -- -0x1p-16444, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0xc.000000000004p-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false, -- -0xcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0x1p-16444, false, true, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ false, -+ -0x1p-16444, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0xc.000000000004p-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true, -+ -0xcp-16448, false, true), - TEST ("-0x0.7p-149", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- true, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- true, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- true, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- true, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false, -- -0x3.8p-152, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ true, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ true, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ true, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ true, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false, -+ -0x3.8p-152, false, false), - TEST ("-0x0.7p-1074", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- true, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false, -- -0x1.cp-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ true, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false, -+ -0x1.cp-1076, false, false), - TEST ("-0x0.7p-16445", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x3.8p-16448, false, -- -0x3.8p-16448, false, -- -0x3.8p-16448, false, -- -0x3.8p-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x3.8p-16448, false, false, -+ -0x3.8p-16448, false, false, -+ -0x3.8p-16448, false, false, -+ -0x3.8p-16448, false, false), - TEST ("-0x0.7p-16494", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16496, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16496, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true), - TEST ("0x1p-150", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false), - TEST ("0x1p-1075", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- true, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ true, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false), - TEST ("0x1p-16446", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- true, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ true, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false), - TEST ("0x1p-16495", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16496, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16496, false, true), - TEST ("-0x1p-150", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false), - TEST ("-0x1p-1075", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- true, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ true, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false), - TEST ("-0x1p-16446", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false), - TEST ("-0x1p-16495", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16496, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16496, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true), - TEST (".70064923216240853546186479164495807e-45", - false, -- 0x0p+0, false, -- 0x8p-152, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000004p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000000008p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000000008p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.00000000000000000000000002p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000000000000000000004p-152, false), -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000004p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000000008p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000000008p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.00000000000000000000000002p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000000000000000000004p-152, false, false), - TEST ("7.0064923216240853546186479164495806564013097093825788587853" - "4141944895541342930300743319094181060791015624e-46", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x3.ffffffffffffep-152, false, -- 0x4p-152, false, -- 0x3.ffffffffffffep-152, false, -- 0x4p-152, false, -- false, -- 0x3.fffffffffffffffcp-152, false, -- 0x4p-152, false, -- 0x3.fffffffffffffffcp-152, false, -- 0x4p-152, false, -- false, -- 0x3.fffffffffffffffcp-152, false, -- 0x4p-152, false, -- 0x3.fffffffffffffffcp-152, false, -- 0x4p-152, false, -- false, -- 0x3.ffffffffffffffffffffffffffp-152, false, -- 0x4p-152, false, -- 0x3.ffffffffffffffffffffffffffp-152, false, -- 0x4p-152, false, -- false, -- 0x3.fffffffffffffffffffffffffffep-152, false, -- 0x4p-152, false, -- 0x3.fffffffffffffffffffffffffffep-152, false, -- 0x4p-152, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x3.ffffffffffffep-152, false, false, -+ 0x4p-152, false, false, -+ 0x3.ffffffffffffep-152, false, false, -+ 0x4p-152, false, false, -+ false, -+ 0x3.fffffffffffffffcp-152, false, false, -+ 0x4p-152, false, false, -+ 0x3.fffffffffffffffcp-152, false, false, -+ 0x4p-152, false, false, -+ false, -+ 0x3.fffffffffffffffcp-152, false, false, -+ 0x4p-152, false, false, -+ 0x3.fffffffffffffffcp-152, false, false, -+ 0x4p-152, false, false, -+ false, -+ 0x3.ffffffffffffffffffffffffffp-152, false, false, -+ 0x4p-152, false, false, -+ 0x3.ffffffffffffffffffffffffffp-152, false, false, -+ 0x4p-152, false, false, -+ false, -+ 0x3.fffffffffffffffffffffffffffep-152, false, false, -+ 0x4p-152, false, false, -+ 0x3.fffffffffffffffffffffffffffep-152, false, false, -+ 0x4p-152, false, false), - TEST ("7.0064923216240853546186479164495806564013097093825788587853" - "4141944895541342930300743319094181060791015625e-46", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- true, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ true, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false), - TEST ("7.0064923216240853546186479164495806564013097093825788587853" - "4141944895541342930300743319094181060791015626e-46", - false, -- 0x0p+0, false, -- 0x8p-152, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000004p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000000008p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000000008p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.00000000000000000000000002p-152, false, -- false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4p-152, false, -- 0x4.0000000000000000000000000004p-152, false), -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000004p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000000008p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000000008p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.00000000000000000000000002p-152, false, false, -+ false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4p-152, false, false, -+ 0x4.0000000000000000000000000004p-152, false, false), - TEST ("-7.006492321624085354618647916449580656401309709382578858785" - "34141944895541342930300743319094181060791015624e-46", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x3.ffffffffffffep-152, false, -- -0x3.ffffffffffffep-152, false, -- false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x3.fffffffffffffffcp-152, false, -- -0x3.fffffffffffffffcp-152, false, -- false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x3.fffffffffffffffcp-152, false, -- -0x3.fffffffffffffffcp-152, false, -- false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x3.ffffffffffffffffffffffffffp-152, false, -- -0x3.ffffffffffffffffffffffffffp-152, false, -- false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x3.fffffffffffffffffffffffffffep-152, false, -- -0x3.fffffffffffffffffffffffffffep-152, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x3.ffffffffffffep-152, false, false, -+ -0x3.ffffffffffffep-152, false, false, -+ false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x3.fffffffffffffffcp-152, false, false, -+ -0x3.fffffffffffffffcp-152, false, false, -+ false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x3.fffffffffffffffcp-152, false, false, -+ -0x3.fffffffffffffffcp-152, false, false, -+ false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x3.ffffffffffffffffffffffffffp-152, false, false, -+ -0x3.ffffffffffffffffffffffffffp-152, false, false, -+ false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x3.fffffffffffffffffffffffffffep-152, false, false, -+ -0x3.fffffffffffffffffffffffffffep-152, false, false), - TEST ("-7.006492321624085354618647916449580656401309709382578858785" - "34141944895541342930300743319094181060791015625e-46", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- true, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ true, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false), - TEST ("-7.006492321624085354618647916449580656401309709382578858785" - "34141944895541342930300743319094181060791015626e-46", - false, -- -0x8p-152, false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4.0000000000004p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- false, -- -0x4.0000000000000008p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- false, -- -0x4.0000000000000008p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- false, -- -0x4.00000000000000000000000002p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- false, -- -0x4.0000000000000000000000000004p-152, false, -- -0x4p-152, false, -- -0x4p-152, false, -- -0x4p-152, false), -+ -0x8p-152, false, true, -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4.0000000000004p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ false, -+ -0x4.0000000000000008p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ false, -+ -0x4.0000000000000008p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ false, -+ -0x4.00000000000000000000000002p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ false, -+ -0x4.0000000000000000000000000004p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false, -+ -0x4p-152, false, false), - TEST ("2.4703282292062327208828439643411068618252990130716238221279" - "284125033775363510437593264991818081799618989828234772285886" - "546332835517796989819938739800539093906315035659515570226392" -@@ -7335,35 +7335,35 @@ static const struct test tests[] = { - "779186948667994968324049705821028513185451396213837722826145" - "437693412532098591327667236328124e-324", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x1.fffffffffffffffep-1076, false, -- 0x2p-1076, false, -- 0x1.fffffffffffffffep-1076, false, -- 0x2p-1076, false, -- false, -- 0x1.fffffffffffffffep-1076, false, -- 0x2p-1076, false, -- 0x1.fffffffffffffffep-1076, false, -- 0x2p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x1.ffffffffffffffffffffffffffffp-1076, false, -- 0x2p-1076, false, -- 0x1.ffffffffffffffffffffffffffffp-1076, false, -- 0x2p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.fffffffffffffffep-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x1.fffffffffffffffep-1076, false, false, -+ 0x2p-1076, false, false, -+ false, -+ 0x1.fffffffffffffffep-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x1.fffffffffffffffep-1076, false, false, -+ 0x2p-1076, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.ffffffffffffffffffffffffffffp-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x1.ffffffffffffffffffffffffffffp-1076, false, false, -+ 0x2p-1076, false, false), - TEST ("2.4703282292062327208828439643411068618252990130716238221279" - "284125033775363510437593264991818081799618989828234772285886" - "546332835517796989819938739800539093906315035659515570226392" -@@ -7378,35 +7378,35 @@ static const struct test tests[] = { - "779186948667994968324049705821028513185451396213837722826145" - "437693412532098591327667236328125e-324", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- true, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ true, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false), - TEST ("2.4703282292062327208828439643411068618252990130716238221279" - "284125033775363510437593264991818081799618989828234772285886" - "546332835517796989819938739800539093906315035659515570226392" -@@ -7421,35 +7421,35 @@ static const struct test tests[] = { - "779186948667994968324049705821028513185451396213837722826145" - "437693412532098591327667236328126e-324", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x4p-1076, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2.0000000000000004p-1076, false, -- false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2.0000000000000004p-1076, false, -- false, -- 0x0p+0, false, -- 0x4p-1076, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2p-1076, false, -- 0x2.0000000000000000000000000002p-1076, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2.0000000000000004p-1076, false, false, -+ false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2.0000000000000004p-1076, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2p-1076, false, false, -+ 0x2.0000000000000000000000000002p-1076, false, false), - TEST ("-2.470328229206232720882843964341106861825299013071623822127" - "928412503377536351043759326499181808179961898982823477228588" - "654633283551779698981993873980053909390631503565951557022639" -@@ -7464,35 +7464,35 @@ static const struct test tests[] = { - "477918694866799496832404970582102851318545139621383772282614" - "5437693412532098591327667236328124e-324", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x1.fffffffffffffffep-1076, false, -- -0x1.fffffffffffffffep-1076, false, -- false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x1.fffffffffffffffep-1076, false, -- -0x1.fffffffffffffffep-1076, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x1.ffffffffffffffffffffffffffffp-1076, false, -- -0x1.ffffffffffffffffffffffffffffp-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x1.fffffffffffffffep-1076, false, false, -+ -0x1.fffffffffffffffep-1076, false, false, -+ false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x1.fffffffffffffffep-1076, false, false, -+ -0x1.fffffffffffffffep-1076, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x1.ffffffffffffffffffffffffffffp-1076, false, false, -+ -0x1.ffffffffffffffffffffffffffffp-1076, false, false), - TEST ("-2.470328229206232720882843964341106861825299013071623822127" - "928412503377536351043759326499181808179961898982823477228588" - "654633283551779698981993873980053909390631503565951557022639" -@@ -7507,35 +7507,35 @@ static const struct test tests[] = { - "477918694866799496832404970582102851318545139621383772282614" - "5437693412532098591327667236328125e-324", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- true, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ true, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false), - TEST ("-2.470328229206232720882843964341106861825299013071623822127" - "928412503377536351043759326499181808179961898982823477228588" - "654633283551779698981993873980053909390631503565951557022639" -@@ -7550,35 +7550,35 @@ static const struct test tests[] = { - "477918694866799496832404970582102851318545139621383772282614" - "5437693412532098591327667236328126e-324", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x2.0000000000000004p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- false, -- -0x2.0000000000000004p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- false, -- -0x4p-1076, false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x2.0000000000000000000000000002p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false, -- -0x2p-1076, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x2.0000000000000004p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ false, -+ -0x2.0000000000000004p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x2.0000000000000000000000000002p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false, -+ -0x2p-1076, false, false), - TEST ("1.8225997659412373012642029668097099081995254078467816718604" - "902435141858443166988684047803543129136025986236736736017655" - "509834928163110160849867540377949045027419112905889658392846" -@@ -7772,35 +7772,35 @@ static const struct test tests[] = { - "622089641993900896756734276531931450266972752637997248151974" - "2277811246822238899767398834228515624e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x4p-16448, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x3.fffffffffffcp-16448, false, -- 0x4p-16448, false, -- 0x3.fffffffffffcp-16448, false, -- 0x4p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x3.fffffffffffcp-16448, false, true, -+ 0x4p-16448, false, true, -+ 0x3.fffffffffffcp-16448, false, true, -+ 0x4p-16448, false, true), - TEST ("1.8225997659412373012642029668097099081995254078467816718604" - "902435141858443166988684047803543129136025986236736736017655" - "509834928163110160849867540377949045027419112905889658392846" -@@ -7994,35 +7994,35 @@ static const struct test tests[] = { - "622089641993900896756734276531931450266972752637997248151974" - "2277811246822238899767398834228515625e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- true, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ true, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false, -+ 0x4p-16448, false, false), - TEST ("1.8225997659412373012642029668097099081995254078467816718604" - "902435141858443166988684047803543129136025986236736736017655" - "509834928163110160849867540377949045027419112905889658392846" -@@ -8216,35 +8216,35 @@ static const struct test tests[] = { - "622089641993900896756734276531931450266972752637997248151974" - "2277811246822238899767398834228515626e-4951", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x8p-16448, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4p-16448, false, -- 0x4.000000000004p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x4p-16448, false, true, -+ 0x4p-16448, false, true, -+ 0x4p-16448, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x4p-16448, false, true, -+ 0x4p-16448, false, true, -+ 0x4p-16448, false, true, -+ 0x4.000000000004p-16448, false, true), - TEST ("-1.822599765941237301264202966809709908199525407846781671860" - "490243514185844316698868404780354312913602598623673673601765" - "550983492816311016084986754037794904502741911290588965839284" -@@ -8438,35 +8438,35 @@ static const struct test tests[] = { - "462208964199390089675673427653193145026697275263799724815197" - "42277811246822238899767398834228515624e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x3.fffffffffffcp-16448, false, -- -0x3.fffffffffffcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x3.fffffffffffcp-16448, false, true, -+ -0x3.fffffffffffcp-16448, false, true), - TEST ("-1.822599765941237301264202966809709908199525407846781671860" - "490243514185844316698868404780354312913602598623673673601765" - "550983492816311016084986754037794904502741911290588965839284" -@@ -8660,35 +8660,35 @@ static const struct test tests[] = { - "462208964199390089675673427653193145026697275263799724815197" - "42277811246822238899767398834228515625e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false, -+ -0x4p-16448, false, false), - TEST ("-1.822599765941237301264202966809709908199525407846781671860" - "490243514185844316698868404780354312913602598623673673601765" - "550983492816311016084986754037794904502741911290588965839284" -@@ -8882,35 +8882,35 @@ static const struct test tests[] = { - "462208964199390089675673427653193145026697275263799724815197" - "42277811246822238899767398834228515626e-4951", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4.000000000004p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x4p-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4.000000000004p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true), - TEST ("9.1129988297061865063210148340485495409976270392339083593024" - "512175709292215834943420239017715645680129931183683680088277" - "549174640815550804249337701889745225137095564529448291964230" -@@ -9104,35 +9104,35 @@ static const struct test tests[] = { - "110448209969504483783671382659657251334863763189986240759871" - "1389056234111194498836994171142578124e-4952", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x1.fffffffffffcp-16448, false, -- 0x2p-16448, false, -- 0x1.fffffffffffcp-16448, false, -- 0x2p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.fffffffffffcp-16448, false, true, -+ 0x2p-16448, false, true, -+ 0x1.fffffffffffcp-16448, false, true, -+ 0x2p-16448, false, true), - TEST ("9.1129988297061865063210148340485495409976270392339083593024" - "512175709292215834943420239017715645680129931183683680088277" - "549174640815550804249337701889745225137095564529448291964230" -@@ -9326,35 +9326,35 @@ static const struct test tests[] = { - "110448209969504483783671382659657251334863763189986240759871" - "1389056234111194498836994171142578125e-4952", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- true, -- 0x2p-16448, false, -- 0x2p-16448, false, -- 0x2p-16448, false, -- 0x2p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x2p-16448, false, false, -+ 0x2p-16448, false, false, -+ 0x2p-16448, false, false, -+ 0x2p-16448, false, false), - TEST ("9.1129988297061865063210148340485495409976270392339083593024" - "512175709292215834943420239017715645680129931183683680088277" - "549174640815550804249337701889745225137095564529448291964230" -@@ -9548,35 +9548,35 @@ static const struct test tests[] = { - "110448209969504483783671382659657251334863763189986240759871" - "1389056234111194498836994171142578126e-4952", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x4p-16448, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x2p-16448, false, -- 0x2p-16448, false, -- 0x2p-16448, false, -- 0x2.000000000004p-16448, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x2p-16448, false, true, -+ 0x2p-16448, false, true, -+ 0x2p-16448, false, true, -+ 0x2.000000000004p-16448, false, true), - TEST ("-9.112998829706186506321014834048549540997627039233908359302" - "451217570929221583494342023901771564568012993118368368008827" - "754917464081555080424933770188974522513709556452944829196423" -@@ -9770,35 +9770,35 @@ static const struct test tests[] = { - "311044820996950448378367138265965725133486376318998624075987" - "11389056234111194498836994171142578124e-4952", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x2p-16448, false, -- -0x2p-16448, false, -- -0x1.fffffffffffcp-16448, false, -- -0x1.fffffffffffcp-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x2p-16448, false, true, -+ -0x2p-16448, false, true, -+ -0x1.fffffffffffcp-16448, false, true, -+ -0x1.fffffffffffcp-16448, false, true), - TEST ("-9.112998829706186506321014834048549540997627039233908359302" - "451217570929221583494342023901771564568012993118368368008827" - "754917464081555080424933770188974522513709556452944829196423" -@@ -9992,35 +9992,35 @@ static const struct test tests[] = { - "311044820996950448378367138265965725133486376318998624075987" - "11389056234111194498836994171142578125e-4952", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- true, -- -0x2p-16448, false, -- -0x2p-16448, false, -- -0x2p-16448, false, -- -0x2p-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ true, -+ -0x2p-16448, false, false, -+ -0x2p-16448, false, false, -+ -0x2p-16448, false, false, -+ -0x2p-16448, false, false), - TEST ("-9.112998829706186506321014834048549540997627039233908359302" - "451217570929221583494342023901771564568012993118368368008827" - "754917464081555080424933770188974522513709556452944829196423" -@@ -10214,35 +10214,35 @@ static const struct test tests[] = { - "311044820996950448378367138265965725133486376318998624075987" - "11389056234111194498836994171142578126e-4952", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x2.000000000004p-16448, false, -- -0x2p-16448, false, -- -0x2p-16448, false, -- -0x2p-16448, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x2.000000000004p-16448, false, true, -+ -0x2p-16448, false, true, -+ -0x2p-16448, false, true, -+ -0x2p-16448, false, true), - TEST ("3.2375875597190125554622194791138232762497846690173405048449" - "421945985197700620596855088357456383249701279390707384240598" - "382936099431912710233425550359863089915213963553756674672083" -@@ -10437,35 +10437,35 @@ static const struct test tests[] = { - "182358152808745703724362178773168996492870519432472065091133" - "11767578124e-4966", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16496, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16496, false, true), - TEST ("3.2375875597190125554622194791138232762497846690173405048449" - "421945985197700620596855088357456383249701279390707384240598" - "382936099431912710233425550359863089915213963553756674672083" -@@ -10660,35 +10660,35 @@ static const struct test tests[] = { - "182358152808745703724362178773168996492870519432472065091133" - "11767578125e-4966", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16496, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16496, false, true), - TEST ("3.2375875597190125554622194791138232762497846690173405048449" - "421945985197700620596855088357456383249701279390707384240598" - "382936099431912710233425550359863089915213963553756674672083" -@@ -10883,35 +10883,35 @@ static const struct test tests[] = { - "182358152808745703724362178773168996492870519432472065091133" - "11767578126e-4966", - false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-152, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x8p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-16448, false, -- false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x0p+0, false, -- 0x4p-1076, false, -- false, -- 0x0p+0, false, -- 0x4p-16496, false, -- 0x0p+0, false, -- 0x4p-16496, false), -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16448, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x4p-16496, false, true, -+ 0x0p+0, false, true, -+ 0x4p-16496, false, true), - TEST ("-3.237587559719012555462219479113823276249784669017340504844" - "942194598519770062059685508835745638324970127939070738424059" - "838293609943191271023342555035986308991521396355375667467208" -@@ -11106,35 +11106,35 @@ static const struct test tests[] = { - "218235815280874570372436217877316899649287051943247206509113" - "311767578124e-4966", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16496, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16496, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true), - TEST ("-3.237587559719012555462219479113823276249784669017340504844" - "942194598519770062059685508835745638324970127939070738424059" - "838293609943191271023342555035986308991521396355375667467208" -@@ -11329,35 +11329,35 @@ static const struct test tests[] = { - "218235815280874570372436217877316899649287051943247206509113" - "311767578125e-4966", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16496, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16496, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true), - TEST ("-3.237587559719012555462219479113823276249784669017340504844" - "942194598519770062059685508835745638324970127939070738424059" - "838293609943191271023342555035986308991521396355375667467208" -@@ -11552,66 +11552,66 @@ static const struct test tests[] = { - "218235815280874570372436217877316899649287051943247206509113" - "311767578126e-4966", - false, -- -0x8p-152, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x8p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16448, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-1076, false, -- -0x0p+0, false, -- -0x0p+0, false, -- -0x0p+0, false, -- false, -- -0x4p-16496, false, -- -0x4p-16496, false, -- -0x0p+0, false, -- -0x0p+0, false), -+ -0x8p-152, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x8p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16448, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-1076, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true, -+ false, -+ -0x4p-16496, false, true, -+ -0x4p-16496, false, true, -+ -0x0p+0, false, true, -+ -0x0p+0, false, true), - TEST ("340282366920938463463374607431768211455", - false, -- 0xf.fffffp+124, false, -- INF, true, -- 0xf.fffffp+124, false, -- INF, true, -- false, -- 0xf.ffffffffffff8p+124, false, -- 0x1p+128, false, -- 0xf.ffffffffffff8p+124, false, -- 0x1p+128, false, -- false, -- 0xf.fffffffffffffffp+124, false, -- 0x1p+128, false, -- 0xf.fffffffffffffffp+124, false, -- 0x1p+128, false, -- false, -- 0xf.fffffffffffffffp+124, false, -- 0x1p+128, false, -- 0xf.fffffffffffffffp+124, false, -- 0x1p+128, false, -- false, -- 0xf.fffffffffffffffffffffffffcp+124, false, -- 0x1p+128, false, -- 0xf.fffffffffffffffffffffffffcp+124, false, -- 0x1p+128, false, -- false, -- 0xf.fffffffffffffffffffffffffff8p+124, false, -- 0x1p+128, false, -- 0xf.fffffffffffffffffffffffffff8p+124, false, -- 0x1p+128, false), -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ 0xf.fffffp+124, false, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+124, false, false, -+ 0x1p+128, false, false, -+ 0xf.ffffffffffff8p+124, false, false, -+ 0x1p+128, false, false, -+ false, -+ 0xf.fffffffffffffffp+124, false, false, -+ 0x1p+128, false, false, -+ 0xf.fffffffffffffffp+124, false, false, -+ 0x1p+128, false, false, -+ false, -+ 0xf.fffffffffffffffp+124, false, false, -+ 0x1p+128, false, false, -+ 0xf.fffffffffffffffp+124, false, false, -+ 0x1p+128, false, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+124, false, false, -+ 0x1p+128, false, false, -+ 0xf.fffffffffffffffffffffffffcp+124, false, false, -+ 0x1p+128, false, false, -+ false, -+ 0xf.fffffffffffffffffffffffffff8p+124, false, false, -+ 0x1p+128, false, false, -+ 0xf.fffffffffffffffffffffffffff8p+124, false, false, -+ 0x1p+128, false, false), - TEST ("179769313486231590772930519078902473361797697894230657273430" - "081157732675805500963132708477322407536021120113879871393357" - "658789768814416622492847430639474124377767893424865485276302" -@@ -11619,35 +11619,35 @@ static const struct test tests[] = { - "540827237163350510684586298239947245938479716304835356329624" - "224137215", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- 0xf.ffffffffffff8p+1020, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+1020, false, -- 0x1p+1024, false, -- 0xf.fffffffffffffffp+1020, false, -- 0x1p+1024, false, -- false, -- 0xf.fffffffffffffffp+1020, false, -- 0x1p+1024, false, -- 0xf.fffffffffffffffp+1020, false, -- 0x1p+1024, false, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffff8p+1020, false, -- 0x1p+1024, false, -- 0xf.fffffffffffffffffffffffffff8p+1020, false, -- 0x1p+1024, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+1020, false, false, -+ 0x1p+1024, false, false, -+ 0xf.fffffffffffffffp+1020, false, false, -+ 0x1p+1024, false, false, -+ false, -+ 0xf.fffffffffffffffp+1020, false, false, -+ 0x1p+1024, false, false, -+ 0xf.fffffffffffffffp+1020, false, false, -+ 0x1p+1024, false, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffff8p+1020, false, false, -+ 0x1p+1024, false, false, -+ 0xf.fffffffffffffffffffffffffff8p+1020, false, false, -+ 0x1p+1024, false, false), - TEST ("118973149535723176508575932662800713076344468709651023747267" - "482123326135818048368690448859547261203991511543748483930925" - "889766738130868742627452469834156500608087163436600489752214" -@@ -11732,66 +11732,66 @@ static const struct test tests[] = { - "047398248889922809181821393428829567971736994315246044702729" - "0669964066815", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- 0xf.fffffffffffffffp+16380, false, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true, -- 0xf.fffffffffffffffffffffffffff8p+16380, false, -- INF, true), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffp+16380, false, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ INF, true, false), - TEST ("-340282366920938463463374607431768211455", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, false, -- -0xf.fffffp+124, false, -- false, -- -0x1p+128, false, -- -0x1p+128, false, -- -0xf.ffffffffffff8p+124, false, -- -0xf.ffffffffffff8p+124, false, -- false, -- -0x1p+128, false, -- -0x1p+128, false, -- -0xf.fffffffffffffffp+124, false, -- -0xf.fffffffffffffffp+124, false, -- false, -- -0x1p+128, false, -- -0x1p+128, false, -- -0xf.fffffffffffffffp+124, false, -- -0xf.fffffffffffffffp+124, false, -- false, -- -0x1p+128, false, -- -0x1p+128, false, -- -0xf.fffffffffffffffffffffffffcp+124, false, -- -0xf.fffffffffffffffffffffffffcp+124, false, -- false, -- -0x1p+128, false, -- -0x1p+128, false, -- -0xf.fffffffffffffffffffffffffff8p+124, false, -- -0xf.fffffffffffffffffffffffffff8p+124, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, false, false, -+ -0xf.fffffp+124, false, false, -+ false, -+ -0x1p+128, false, false, -+ -0x1p+128, false, false, -+ -0xf.ffffffffffff8p+124, false, false, -+ -0xf.ffffffffffff8p+124, false, false, -+ false, -+ -0x1p+128, false, false, -+ -0x1p+128, false, false, -+ -0xf.fffffffffffffffp+124, false, false, -+ -0xf.fffffffffffffffp+124, false, false, -+ false, -+ -0x1p+128, false, false, -+ -0x1p+128, false, false, -+ -0xf.fffffffffffffffp+124, false, false, -+ -0xf.fffffffffffffffp+124, false, false, -+ false, -+ -0x1p+128, false, false, -+ -0x1p+128, false, false, -+ -0xf.fffffffffffffffffffffffffcp+124, false, false, -+ -0xf.fffffffffffffffffffffffffcp+124, false, false, -+ false, -+ -0x1p+128, false, false, -+ -0x1p+128, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+124, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+124, false, false), - TEST ("-17976931348623159077293051907890247336179769789423065727343" - "008115773267580550096313270847732240753602112011387987139335" - "765878976881441662249284743063947412437776789342486548527630" -@@ -11799,35 +11799,35 @@ static const struct test tests[] = { - "054082723716335051068458629823994724593847971630483535632962" - "4224137215", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, false, -- -0xf.ffffffffffff8p+1020, false, -- false, -- -0x1p+1024, false, -- -0x1p+1024, false, -- -0xf.fffffffffffffffp+1020, false, -- -0xf.fffffffffffffffp+1020, false, -- false, -- -0x1p+1024, false, -- -0x1p+1024, false, -- -0xf.fffffffffffffffp+1020, false, -- -0xf.fffffffffffffffp+1020, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -0x1p+1024, false, -- -0x1p+1024, false, -- -0xf.fffffffffffffffffffffffffff8p+1020, false, -- -0xf.fffffffffffffffffffffffffff8p+1020, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ -0xf.ffffffffffff8p+1020, false, false, -+ false, -+ -0x1p+1024, false, false, -+ -0x1p+1024, false, false, -+ -0xf.fffffffffffffffp+1020, false, false, -+ -0xf.fffffffffffffffp+1020, false, false, -+ false, -+ -0x1p+1024, false, false, -+ -0x1p+1024, false, false, -+ -0xf.fffffffffffffffp+1020, false, false, -+ -0xf.fffffffffffffffp+1020, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -0x1p+1024, false, false, -+ -0x1p+1024, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+1020, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+1020, false, false), - TEST ("-11897314953572317650857593266280071307634446870965102374726" - "748212332613581804836869044885954726120399151154374848393092" - "588976673813086874262745246983415650060808716343660048975221" -@@ -11912,3529 +11912,3529 @@ static const struct test tests[] = { - "904739824888992280918182139342882956797173699431524604470272" - "90669964066815", - false, -- -INF, true, -- -INF, true, -- -0xf.fffffp+124, true, -- -0xf.fffffp+124, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.ffffffffffff8p+1020, true, -- -0xf.ffffffffffff8p+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffp+16380, false, -- -0xf.fffffffffffffffp+16380, false, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- -0xf.fffffffffffffffffffffffffcp+1020, true, -- false, -- -INF, true, -- -INF, true, -- -0xf.fffffffffffffffffffffffffff8p+16380, false, -- -0xf.fffffffffffffffffffffffffff8p+16380, false), -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffp+124, true, false, -+ -0xf.fffffp+124, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ -0xf.ffffffffffff8p+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ -0xf.fffffffffffffffp+16380, false, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ -0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ false, -+ -INF, true, false, -+ -INF, true, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false, -+ -0xf.fffffffffffffffffffffffffff8p+16380, false, false), - TEST ("+0x.80000000000000000000000000000001p1025", - false, -- 0xf.fffffp+124, true, -- INF, true, -- 0xf.fffffp+124, true, -- INF, true, -- false, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- 0xf.ffffffffffff8p+1020, true, -- INF, true, -- false, -- 0x1p+1024, false, -- 0x1p+1024, false, -- 0x1p+1024, false, -- 0x1.0000000000000002p+1024, false, -- false, -- 0x1p+1024, false, -- 0x1p+1024, false, -- 0x1p+1024, false, -- 0x1.0000000000000002p+1024, false, -- false, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- 0xf.fffffffffffffffffffffffffcp+1020, true, -- INF, true, -- false, -- 0x1p+1024, false, -- 0x1p+1024, false, -- 0x1p+1024, false, -- 0x1.0000000000000000000000000001p+1024, false), -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ 0xf.fffffp+124, true, false, -+ INF, true, false, -+ false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ 0xf.ffffffffffff8p+1020, true, false, -+ INF, true, false, -+ false, -+ 0x1p+1024, false, false, -+ 0x1p+1024, false, false, -+ 0x1p+1024, false, false, -+ 0x1.0000000000000002p+1024, false, false, -+ false, -+ 0x1p+1024, false, false, -+ 0x1p+1024, false, false, -+ 0x1p+1024, false, false, -+ 0x1.0000000000000002p+1024, false, false, -+ false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ 0xf.fffffffffffffffffffffffffcp+1020, true, false, -+ INF, true, false, -+ false, -+ 0x1p+1024, false, false, -+ 0x1p+1024, false, false, -+ 0x1p+1024, false, false, -+ 0x1.0000000000000000000000000001p+1024, false, false), - TEST ("1.5", - true, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- true, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- true, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- true, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- true, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- true, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false, -- 0x1.8p+0, false), -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ true, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ true, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ true, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ true, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ true, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false, -+ 0x1.8p+0, false, false), - TEST ("1.25", - true, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- true, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- true, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- true, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- true, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- true, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false, -- 0x1.4p+0, false), -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ true, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ true, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ true, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ true, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ true, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false, -+ 0x1.4p+0, false, false), - TEST ("1.125", - true, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- true, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- true, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- true, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- true, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- true, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false, -- 0x1.2p+0, false), -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ true, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ true, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ true, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ true, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ true, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false, -+ 0x1.2p+0, false, false), - TEST ("1.0625", - true, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- true, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- true, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- true, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- true, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- true, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false, -- 0x1.1p+0, false), -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ true, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ true, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ true, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ true, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ true, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false, -+ 0x1.1p+0, false, false), - TEST ("1.03125", - true, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- true, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- true, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- true, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- true, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- true, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false, -- 0x1.08p+0, false), -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ true, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ true, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ true, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ true, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ true, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false, -+ 0x1.08p+0, false, false), - TEST ("1.015625", - true, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- true, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- true, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- true, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- true, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- true, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false, -- 0x1.04p+0, false), -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ true, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ true, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ true, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ true, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ true, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false, -+ 0x1.04p+0, false, false), - TEST ("1.0078125", - true, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- true, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- true, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- true, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- true, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- true, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false, -- 0x1.02p+0, false), -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ true, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ true, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ true, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ true, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ true, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false, -+ 0x1.02p+0, false, false), - TEST ("1.00390625", - true, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- true, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- true, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- true, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- true, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- true, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false, -- 0x1.01p+0, false), -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ true, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ true, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ true, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ true, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ true, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false, -+ 0x1.01p+0, false, false), - TEST ("1.001953125", - true, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- true, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- true, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- true, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- true, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- true, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false, -- 0x1.008p+0, false), -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ true, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ true, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ true, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ true, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ true, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false, -+ 0x1.008p+0, false, false), - TEST ("1.0009765625", - true, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- true, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- true, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- true, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- true, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- true, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false, -- 0x1.004p+0, false), -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ true, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ true, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ true, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ true, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ true, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false, -+ 0x1.004p+0, false, false), - TEST ("1.00048828125", - true, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- true, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- true, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- true, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- true, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- true, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false, -- 0x1.002p+0, false), -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ true, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ true, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ true, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ true, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ true, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false, -+ 0x1.002p+0, false, false), - TEST ("1.000244140625", - true, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- true, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- true, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- true, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- true, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- true, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false, -- 0x1.001p+0, false), -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ true, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ true, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ true, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ true, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ true, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false, -+ 0x1.001p+0, false, false), - TEST ("1.0001220703125", - true, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- true, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- true, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- true, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- true, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- true, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false, -- 0x1.0008p+0, false), -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ true, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ true, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ true, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ true, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ true, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false, -+ 0x1.0008p+0, false, false), - TEST ("1.00006103515625", - true, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- true, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- true, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- true, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- true, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- true, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false, -- 0x1.0004p+0, false), -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ true, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ true, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ true, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ true, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ true, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false, -+ 0x1.0004p+0, false, false), - TEST ("1.000030517578125", - true, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- true, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- true, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- true, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- true, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- true, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false, -- 0x1.0002p+0, false), -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ true, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ true, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ true, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ true, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ true, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false, -+ 0x1.0002p+0, false, false), - TEST ("1.0000152587890625", - true, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- true, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- true, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- true, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- true, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- true, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false, -- 0x1.0001p+0, false), -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ true, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ true, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ true, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ true, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ true, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false, -+ 0x1.0001p+0, false, false), - TEST ("1.00000762939453125", - true, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- true, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- true, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- true, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- true, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- true, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false, -- 0x1.00008p+0, false), -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ true, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ true, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ true, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ true, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ true, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false, -+ 0x1.00008p+0, false, false), - TEST ("1.000003814697265625", - true, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- true, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- true, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- true, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- true, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- true, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false, -- 0x1.00004p+0, false), -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ true, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ true, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ true, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ true, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ true, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false, -+ 0x1.00004p+0, false, false), - TEST ("1.0000019073486328125", - true, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- true, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- true, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- true, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- true, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- true, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false, -- 0x1.00002p+0, false), -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ true, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ true, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ true, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ true, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ true, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false, -+ 0x1.00002p+0, false, false), - TEST ("1.00000095367431640625", - true, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- true, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- true, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- true, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- true, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- true, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false, -- 0x1.00001p+0, false), -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ true, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ true, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ true, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ true, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ true, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false, -+ 0x1.00001p+0, false, false), - TEST ("1.000000476837158203125", - true, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- true, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- true, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- true, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- true, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- true, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false, -- 0x1.000008p+0, false), -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ true, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ true, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ true, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ true, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ true, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false, -+ 0x1.000008p+0, false, false), - TEST ("1.0000000298023223876953125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- true, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- true, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- true, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- true, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false, -- 0x1.0000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ true, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ true, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ true, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ true, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false, -+ 0x1.0000008p+0, false, false), - TEST ("1.00000001490116119384765625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- true, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- true, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- true, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- true, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false, -- 0x1.0000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ true, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ true, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ true, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ true, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false, -+ 0x1.0000004p+0, false, false), - TEST ("1.000000007450580596923828125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- true, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- true, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- true, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- true, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false, -- 0x1.0000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ true, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ true, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ true, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ true, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false, -+ 0x1.0000002p+0, false, false), - TEST ("1.0000000037252902984619140625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- true, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- true, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- true, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- true, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false, -- 0x1.0000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ true, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ true, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ true, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ true, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false, -+ 0x1.0000001p+0, false, false), - TEST ("1.00000000186264514923095703125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- true, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- true, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- true, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- true, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false, -- 0x1.00000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ true, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ true, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ true, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ true, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false, -+ 0x1.00000008p+0, false, false), - TEST ("1.000000000931322574615478515625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- true, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- true, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- true, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- true, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false, -- 0x1.00000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ true, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ true, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ true, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ true, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false, -+ 0x1.00000004p+0, false, false), - TEST ("1.0000000004656612873077392578125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- true, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- true, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- true, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- true, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false, -- 0x1.00000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ true, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ true, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ true, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ true, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false, -+ 0x1.00000002p+0, false, false), - TEST ("1.00000000023283064365386962890625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- true, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- true, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- true, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- true, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false, -- 0x1.00000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ true, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ true, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ true, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ true, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false, -+ 0x1.00000001p+0, false, false), - TEST ("1.000000000116415321826934814453125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- true, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- true, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- true, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- true, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false, -- 0x1.000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ true, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ true, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ true, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ true, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false, -+ 0x1.000000008p+0, false, false), - TEST ("1.0000000000582076609134674072265625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- true, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- true, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- true, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- true, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false, -- 0x1.000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ true, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ true, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ true, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ true, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false, -+ 0x1.000000004p+0, false, false), - TEST ("1.00000000002910383045673370361328125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- true, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- true, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- true, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- true, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false, -- 0x1.000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ true, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ true, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ true, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ true, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false, -+ 0x1.000000002p+0, false, false), - TEST ("1.000000000014551915228366851806640625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- true, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- true, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- true, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- true, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false, -- 0x1.000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ true, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ true, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ true, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ true, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false, -+ 0x1.000000001p+0, false, false), - TEST ("1.0000000000072759576141834259033203125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- true, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- true, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- true, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- true, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false, -- 0x1.0000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ true, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ true, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ true, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ true, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false, -+ 0x1.0000000008p+0, false, false), - TEST ("1.00000000000363797880709171295166015625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- true, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- true, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- true, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- true, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false, -- 0x1.0000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ true, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ true, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ true, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ true, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false, -+ 0x1.0000000004p+0, false, false), - TEST ("1.000000000001818989403545856475830078125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- true, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- true, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- true, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- true, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false, -- 0x1.0000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ true, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ true, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ true, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ true, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false, -+ 0x1.0000000002p+0, false, false), - TEST ("1.0000000000009094947017729282379150390625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- true, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- true, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- true, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- true, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false, -- 0x1.0000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ true, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ true, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ true, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ true, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false, -+ 0x1.0000000001p+0, false, false), - TEST ("1.00000000000045474735088646411895751953125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- true, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- true, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- true, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- true, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false, -- 0x1.00000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ true, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ true, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ true, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ true, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false, -+ 0x1.00000000008p+0, false, false), - TEST ("1.000000000000227373675443232059478759765625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- true, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- true, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- true, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- true, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false, -- 0x1.00000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ true, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ true, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ true, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ true, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false, -+ 0x1.00000000004p+0, false, false), - TEST ("1.0000000000001136868377216160297393798828125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- true, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- true, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- true, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- true, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false, -- 0x1.00000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ true, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ true, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ true, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ true, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false, -+ 0x1.00000000002p+0, false, false), - TEST ("1.00000000000005684341886080801486968994140625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- true, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- true, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- true, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- true, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false, -- 0x1.00000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ true, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ true, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ true, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ true, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false, -+ 0x1.00000000001p+0, false, false), - TEST ("1.000000000000028421709430404007434844970703125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- true, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- true, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- true, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- true, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false, -- 0x1.000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ true, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ true, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ true, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ true, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false, -+ 0x1.000000000008p+0, false, false), - TEST ("1.0000000000000142108547152020037174224853515625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- true, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- true, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- true, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- true, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false, -- 0x1.000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ true, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ true, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ true, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ true, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false, -+ 0x1.000000000004p+0, false, false), - TEST ("1.00000000000000710542735760100185871124267578125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- true, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- true, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- true, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- true, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false, -- 0x1.000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ true, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ true, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ true, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ true, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false, -+ 0x1.000000000002p+0, false, false), - TEST ("1.000000000000003552713678800500929355621337890625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- true, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- true, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- true, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- true, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false, -- 0x1.000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ true, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ true, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ true, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ true, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false, -+ 0x1.000000000001p+0, false, false), - TEST ("1.0000000000000017763568394002504646778106689453125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- true, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- true, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- true, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- true, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false, -- 0x1.0000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ true, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ true, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ true, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ true, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false, -+ 0x1.0000000000008p+0, false, false), - TEST ("1.00000000000000088817841970012523233890533447265625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- true, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- true, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- true, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- true, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false, -- 0x1.0000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ true, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ true, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ true, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ true, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false, -+ 0x1.0000000000004p+0, false, false), - TEST ("1.000000000000000444089209850062616169452667236328125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- true, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- true, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- true, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- true, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false, -- 0x1.0000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ true, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ true, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ true, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ true, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false, -+ 0x1.0000000000002p+0, false, false), - TEST ("1.0000000000000002220446049250313080847263336181640625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- true, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false, -- 0x1.0000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ true, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ 0x1.0000000000001p+0, false, false), - TEST ("1.00000000000000011102230246251565404236316680908203125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- true, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- true, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- true, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false, -- 0x1.00000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ true, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ true, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ true, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false, -+ 0x1.00000000000008p+0, false, false), - TEST ("1.000000000000000055511151231257827021181583404541015625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- true, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- true, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- true, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false, -- 0x1.00000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ true, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ true, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ true, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false, -+ 0x1.00000000000004p+0, false, false), - TEST ("1.0000000000000000277555756156289135105907917022705078125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- true, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- true, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- true, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false, -- 0x1.00000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ true, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ true, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ true, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false, -+ 0x1.00000000000002p+0, false, false), - TEST ("1.00000000000000001387778780781445675529539585113525390625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- true, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- true, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- true, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false, -- 0x1.00000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ true, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ true, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ true, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false, -+ 0x1.00000000000001p+0, false, false), - TEST ("1.000000000000000006938893903907228377647697925567626953125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- true, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- true, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- true, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false, -- 0x1.000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false, -+ 0x1.000000000000008p+0, false, false), - TEST ("1.0000000000000000034694469519536141888238489627838134765625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- true, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- true, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- true, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false, -- 0x1.000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ true, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ true, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ true, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false, -+ 0x1.000000000000004p+0, false, false), - TEST ("1.0000000000000000017347234759768070944119244813919067382812" - "5", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- true, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- true, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- true, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false, -- 0x1.000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false, -+ 0x1.000000000000002p+0, false, false), - TEST ("1.0000000000000000008673617379884035472059622406959533691406" - "25", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- true, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- true, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- true, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false, -- 0x1.000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ true, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ true, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ true, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false, -+ 0x1.000000000000001p+0, false, false), - TEST ("1.0000000000000000004336808689942017736029811203479766845703" - "125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- true, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- true, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- true, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false, -- 0x1.0000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false, -+ 0x1.0000000000000008p+0, false, false), - TEST ("1.0000000000000000002168404344971008868014905601739883422851" - "5625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- true, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- true, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- true, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false, -- 0x1.0000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ true, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ true, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ true, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false, -+ 0x1.0000000000000004p+0, false, false), - TEST ("1.0000000000000000001084202172485504434007452800869941711425" - "78125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- true, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false, -- 0x1.0000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ 0x1.0000000000000002p+0, false, false), - TEST ("1.0000000000000000000542101086242752217003726400434970855712" - "890625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000001p+0, false, -- 0x1.0000000000000001p+0, false, -- 0x1.0000000000000001p+0, false, -- 0x1.0000000000000001p+0, false, -- true, -- 0x1.0000000000000001p+0, false, -- 0x1.0000000000000001p+0, false, -- 0x1.0000000000000001p+0, false, -- 0x1.0000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000001p+0, false, false, -+ 0x1.0000000000000001p+0, false, false, -+ 0x1.0000000000000001p+0, false, false, -+ 0x1.0000000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000001p+0, false, false, -+ 0x1.0000000000000001p+0, false, false, -+ 0x1.0000000000000001p+0, false, false, -+ 0x1.0000000000000001p+0, false, false), - TEST ("1.0000000000000000000271050543121376108501863200217485427856" - "4453125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000008p+0, false, -- 0x1.00000000000000008p+0, false, -- 0x1.00000000000000008p+0, false, -- 0x1.00000000000000008p+0, false, -- true, -- 0x1.00000000000000008p+0, false, -- 0x1.00000000000000008p+0, false, -- 0x1.00000000000000008p+0, false, -- 0x1.00000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000008p+0, false, false, -+ 0x1.00000000000000008p+0, false, false, -+ 0x1.00000000000000008p+0, false, false, -+ 0x1.00000000000000008p+0, false, false, -+ true, -+ 0x1.00000000000000008p+0, false, false, -+ 0x1.00000000000000008p+0, false, false, -+ 0x1.00000000000000008p+0, false, false, -+ 0x1.00000000000000008p+0, false, false), - TEST ("1.0000000000000000000135525271560688054250931600108742713928" - "22265625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000004p+0, false, -- 0x1.00000000000000004p+0, false, -- 0x1.00000000000000004p+0, false, -- 0x1.00000000000000004p+0, false, -- true, -- 0x1.00000000000000004p+0, false, -- 0x1.00000000000000004p+0, false, -- 0x1.00000000000000004p+0, false, -- 0x1.00000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000004p+0, false, false, -+ 0x1.00000000000000004p+0, false, false, -+ 0x1.00000000000000004p+0, false, false, -+ 0x1.00000000000000004p+0, false, false, -+ true, -+ 0x1.00000000000000004p+0, false, false, -+ 0x1.00000000000000004p+0, false, false, -+ 0x1.00000000000000004p+0, false, false, -+ 0x1.00000000000000004p+0, false, false), - TEST ("1.0000000000000000000067762635780344027125465800054371356964" - "111328125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000002p+0, false, -- 0x1.00000000000000002p+0, false, -- 0x1.00000000000000002p+0, false, -- 0x1.00000000000000002p+0, false, -- true, -- 0x1.00000000000000002p+0, false, -- 0x1.00000000000000002p+0, false, -- 0x1.00000000000000002p+0, false, -- 0x1.00000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000002p+0, false, false, -+ 0x1.00000000000000002p+0, false, false, -+ 0x1.00000000000000002p+0, false, false, -+ 0x1.00000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000002p+0, false, false, -+ 0x1.00000000000000002p+0, false, false, -+ 0x1.00000000000000002p+0, false, false, -+ 0x1.00000000000000002p+0, false, false), - TEST ("1.0000000000000000000033881317890172013562732900027185678482" - "0556640625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000001p+0, false, -- 0x1.00000000000000001p+0, false, -- 0x1.00000000000000001p+0, false, -- 0x1.00000000000000001p+0, false, -- true, -- 0x1.00000000000000001p+0, false, -- 0x1.00000000000000001p+0, false, -- 0x1.00000000000000001p+0, false, -- 0x1.00000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000001p+0, false, false, -+ 0x1.00000000000000001p+0, false, false, -+ 0x1.00000000000000001p+0, false, false, -+ 0x1.00000000000000001p+0, false, false, -+ true, -+ 0x1.00000000000000001p+0, false, false, -+ 0x1.00000000000000001p+0, false, false, -+ 0x1.00000000000000001p+0, false, false, -+ 0x1.00000000000000001p+0, false, false), - TEST ("1.0000000000000000000016940658945086006781366450013592839241" - "02783203125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000008p+0, false, -- 0x1.000000000000000008p+0, false, -- 0x1.000000000000000008p+0, false, -- 0x1.000000000000000008p+0, false, -- true, -- 0x1.000000000000000008p+0, false, -- 0x1.000000000000000008p+0, false, -- 0x1.000000000000000008p+0, false, -- 0x1.000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000008p+0, false, false, -+ 0x1.000000000000000008p+0, false, false, -+ 0x1.000000000000000008p+0, false, false, -+ 0x1.000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000008p+0, false, false, -+ 0x1.000000000000000008p+0, false, false, -+ 0x1.000000000000000008p+0, false, false, -+ 0x1.000000000000000008p+0, false, false), - TEST ("1.0000000000000000000008470329472543003390683225006796419620" - "513916015625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000004p+0, false, -- 0x1.000000000000000004p+0, false, -- 0x1.000000000000000004p+0, false, -- 0x1.000000000000000004p+0, false, -- true, -- 0x1.000000000000000004p+0, false, -- 0x1.000000000000000004p+0, false, -- 0x1.000000000000000004p+0, false, -- 0x1.000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000004p+0, false, false, -+ 0x1.000000000000000004p+0, false, false, -+ 0x1.000000000000000004p+0, false, false, -+ 0x1.000000000000000004p+0, false, false, -+ true, -+ 0x1.000000000000000004p+0, false, false, -+ 0x1.000000000000000004p+0, false, false, -+ 0x1.000000000000000004p+0, false, false, -+ 0x1.000000000000000004p+0, false, false), - TEST ("1.0000000000000000000004235164736271501695341612503398209810" - "2569580078125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000002p+0, false, -- 0x1.000000000000000002p+0, false, -- 0x1.000000000000000002p+0, false, -- 0x1.000000000000000002p+0, false, -- true, -- 0x1.000000000000000002p+0, false, -- 0x1.000000000000000002p+0, false, -- 0x1.000000000000000002p+0, false, -- 0x1.000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000002p+0, false, false, -+ 0x1.000000000000000002p+0, false, false, -+ 0x1.000000000000000002p+0, false, false, -+ 0x1.000000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000002p+0, false, false, -+ 0x1.000000000000000002p+0, false, false, -+ 0x1.000000000000000002p+0, false, false, -+ 0x1.000000000000000002p+0, false, false), - TEST ("1.0000000000000000000002117582368135750847670806251699104905" - "12847900390625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000001p+0, false, -- 0x1.000000000000000001p+0, false, -- 0x1.000000000000000001p+0, false, -- 0x1.000000000000000001p+0, false, -- true, -- 0x1.000000000000000001p+0, false, -- 0x1.000000000000000001p+0, false, -- 0x1.000000000000000001p+0, false, -- 0x1.000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000001p+0, false, false, -+ 0x1.000000000000000001p+0, false, false, -+ 0x1.000000000000000001p+0, false, false, -+ 0x1.000000000000000001p+0, false, false, -+ true, -+ 0x1.000000000000000001p+0, false, false, -+ 0x1.000000000000000001p+0, false, false, -+ 0x1.000000000000000001p+0, false, false, -+ 0x1.000000000000000001p+0, false, false), - TEST ("1.0000000000000000000001058791184067875423835403125849552452" - "564239501953125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000008p+0, false, -- 0x1.0000000000000000008p+0, false, -- 0x1.0000000000000000008p+0, false, -- 0x1.0000000000000000008p+0, false, -- true, -- 0x1.0000000000000000008p+0, false, -- 0x1.0000000000000000008p+0, false, -- 0x1.0000000000000000008p+0, false, -- 0x1.0000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000008p+0, false, false, -+ 0x1.0000000000000000008p+0, false, false, -+ 0x1.0000000000000000008p+0, false, false, -+ 0x1.0000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000008p+0, false, false, -+ 0x1.0000000000000000008p+0, false, false, -+ 0x1.0000000000000000008p+0, false, false, -+ 0x1.0000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000529395592033937711917701562924776226" - "2821197509765625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000004p+0, false, -- 0x1.0000000000000000004p+0, false, -- 0x1.0000000000000000004p+0, false, -- 0x1.0000000000000000004p+0, false, -- true, -- 0x1.0000000000000000004p+0, false, -- 0x1.0000000000000000004p+0, false, -- 0x1.0000000000000000004p+0, false, -- 0x1.0000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000004p+0, false, false, -+ 0x1.0000000000000000004p+0, false, false, -+ 0x1.0000000000000000004p+0, false, false, -+ 0x1.0000000000000000004p+0, false, false, -+ true, -+ 0x1.0000000000000000004p+0, false, false, -+ 0x1.0000000000000000004p+0, false, false, -+ 0x1.0000000000000000004p+0, false, false, -+ 0x1.0000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000264697796016968855958850781462388113" - "14105987548828125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000002p+0, false, -- 0x1.0000000000000000002p+0, false, -- 0x1.0000000000000000002p+0, false, -- 0x1.0000000000000000002p+0, false, -- true, -- 0x1.0000000000000000002p+0, false, -- 0x1.0000000000000000002p+0, false, -- 0x1.0000000000000000002p+0, false, -- 0x1.0000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000002p+0, false, false, -+ 0x1.0000000000000000002p+0, false, false, -+ 0x1.0000000000000000002p+0, false, false, -+ 0x1.0000000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000002p+0, false, false, -+ 0x1.0000000000000000002p+0, false, false, -+ 0x1.0000000000000000002p+0, false, false, -+ 0x1.0000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000132348898008484427979425390731194056" - "570529937744140625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000001p+0, false, -- 0x1.0000000000000000001p+0, false, -- 0x1.0000000000000000001p+0, false, -- 0x1.0000000000000000001p+0, false, -- true, -- 0x1.0000000000000000001p+0, false, -- 0x1.0000000000000000001p+0, false, -- 0x1.0000000000000000001p+0, false, -- 0x1.0000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000001p+0, false, false, -+ 0x1.0000000000000000001p+0, false, false, -+ 0x1.0000000000000000001p+0, false, false, -+ 0x1.0000000000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000000001p+0, false, false, -+ 0x1.0000000000000000001p+0, false, false, -+ 0x1.0000000000000000001p+0, false, false, -+ 0x1.0000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000066174449004242213989712695365597028" - "2852649688720703125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000008p+0, false, -- 0x1.00000000000000000008p+0, false, -- 0x1.00000000000000000008p+0, false, -- 0x1.00000000000000000008p+0, false, -- true, -- 0x1.00000000000000000008p+0, false, -- 0x1.00000000000000000008p+0, false, -- 0x1.00000000000000000008p+0, false, -- 0x1.00000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000008p+0, false, false, -+ 0x1.00000000000000000008p+0, false, false, -+ 0x1.00000000000000000008p+0, false, false, -+ 0x1.00000000000000000008p+0, false, false, -+ true, -+ 0x1.00000000000000000008p+0, false, false, -+ 0x1.00000000000000000008p+0, false, false, -+ 0x1.00000000000000000008p+0, false, false, -+ 0x1.00000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000033087224502121106994856347682798514" - "14263248443603515625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000004p+0, false, -- 0x1.00000000000000000004p+0, false, -- 0x1.00000000000000000004p+0, false, -- 0x1.00000000000000000004p+0, false, -- true, -- 0x1.00000000000000000004p+0, false, -- 0x1.00000000000000000004p+0, false, -- 0x1.00000000000000000004p+0, false, -- 0x1.00000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000004p+0, false, false, -+ 0x1.00000000000000000004p+0, false, false, -+ 0x1.00000000000000000004p+0, false, false, -+ 0x1.00000000000000000004p+0, false, false, -+ true, -+ 0x1.00000000000000000004p+0, false, false, -+ 0x1.00000000000000000004p+0, false, false, -+ 0x1.00000000000000000004p+0, false, false, -+ 0x1.00000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000016543612251060553497428173841399257" - "071316242218017578125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000002p+0, false, -- 0x1.00000000000000000002p+0, false, -- 0x1.00000000000000000002p+0, false, -- 0x1.00000000000000000002p+0, false, -- true, -- 0x1.00000000000000000002p+0, false, -- 0x1.00000000000000000002p+0, false, -- 0x1.00000000000000000002p+0, false, -- 0x1.00000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000002p+0, false, false, -+ 0x1.00000000000000000002p+0, false, false, -+ 0x1.00000000000000000002p+0, false, false, -+ 0x1.00000000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000002p+0, false, false, -+ 0x1.00000000000000000002p+0, false, false, -+ 0x1.00000000000000000002p+0, false, false, -+ 0x1.00000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000008271806125530276748714086920699628" - "5356581211090087890625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000001p+0, false, -- 0x1.00000000000000000001p+0, false, -- 0x1.00000000000000000001p+0, false, -- 0x1.00000000000000000001p+0, false, -- true, -- 0x1.00000000000000000001p+0, false, -- 0x1.00000000000000000001p+0, false, -- 0x1.00000000000000000001p+0, false, -- 0x1.00000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000001p+0, false, false, -+ 0x1.00000000000000000001p+0, false, false, -+ 0x1.00000000000000000001p+0, false, false, -+ 0x1.00000000000000000001p+0, false, false, -+ true, -+ 0x1.00000000000000000001p+0, false, false, -+ 0x1.00000000000000000001p+0, false, false, -+ 0x1.00000000000000000001p+0, false, false, -+ 0x1.00000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000004135903062765138374357043460349814" - "26782906055450439453125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000008p+0, false, -- 0x1.000000000000000000008p+0, false, -- 0x1.000000000000000000008p+0, false, -- 0x1.000000000000000000008p+0, false, -- true, -- 0x1.000000000000000000008p+0, false, -- 0x1.000000000000000000008p+0, false, -- 0x1.000000000000000000008p+0, false, -- 0x1.000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000008p+0, false, false, -+ 0x1.000000000000000000008p+0, false, false, -+ 0x1.000000000000000000008p+0, false, false, -+ 0x1.000000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000000008p+0, false, false, -+ 0x1.000000000000000000008p+0, false, false, -+ 0x1.000000000000000000008p+0, false, false, -+ 0x1.000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000002067951531382569187178521730174907" - "133914530277252197265625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000004p+0, false, -- 0x1.000000000000000000004p+0, false, -- 0x1.000000000000000000004p+0, false, -- 0x1.000000000000000000004p+0, false, -- true, -- 0x1.000000000000000000004p+0, false, -- 0x1.000000000000000000004p+0, false, -- 0x1.000000000000000000004p+0, false, -- 0x1.000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000004p+0, false, false, -+ 0x1.000000000000000000004p+0, false, false, -+ 0x1.000000000000000000004p+0, false, false, -+ 0x1.000000000000000000004p+0, false, false, -+ true, -+ 0x1.000000000000000000004p+0, false, false, -+ 0x1.000000000000000000004p+0, false, false, -+ 0x1.000000000000000000004p+0, false, false, -+ 0x1.000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000001033975765691284593589260865087453" - "5669572651386260986328125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000002p+0, false, -- 0x1.000000000000000000002p+0, false, -- 0x1.000000000000000000002p+0, false, -- 0x1.000000000000000000002p+0, false, -- true, -- 0x1.000000000000000000002p+0, false, -- 0x1.000000000000000000002p+0, false, -- 0x1.000000000000000000002p+0, false, -- 0x1.000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000002p+0, false, false, -+ 0x1.000000000000000000002p+0, false, false, -+ 0x1.000000000000000000002p+0, false, false, -+ 0x1.000000000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000002p+0, false, false, -+ 0x1.000000000000000000002p+0, false, false, -+ 0x1.000000000000000000002p+0, false, false, -+ 0x1.000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000516987882845642296794630432543726" - "78347863256931304931640625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000001p+0, false, -- 0x1.000000000000000000001p+0, false, -- 0x1.000000000000000000001p+0, false, -- 0x1.000000000000000000001p+0, false, -- true, -- 0x1.000000000000000000001p+0, false, -- 0x1.000000000000000000001p+0, false, -- 0x1.000000000000000000001p+0, false, -- 0x1.000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000001p+0, false, false, -+ 0x1.000000000000000000001p+0, false, false, -+ 0x1.000000000000000000001p+0, false, false, -+ 0x1.000000000000000000001p+0, false, false, -+ true, -+ 0x1.000000000000000000001p+0, false, false, -+ 0x1.000000000000000000001p+0, false, false, -+ 0x1.000000000000000000001p+0, false, false, -+ 0x1.000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000258493941422821148397315216271863" - "391739316284656524658203125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000008p+0, false, -- 0x1.0000000000000000000008p+0, false, -- 0x1.0000000000000000000008p+0, false, -- 0x1.0000000000000000000008p+0, false, -- true, -- 0x1.0000000000000000000008p+0, false, -- 0x1.0000000000000000000008p+0, false, -- 0x1.0000000000000000000008p+0, false, -- 0x1.0000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000129246970711410574198657608135931" - "6958696581423282623291015625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000004p+0, false, -- 0x1.0000000000000000000004p+0, false, -- 0x1.0000000000000000000004p+0, false, -- 0x1.0000000000000000000004p+0, false, -- true, -- 0x1.0000000000000000000004p+0, false, -- 0x1.0000000000000000000004p+0, false, -- 0x1.0000000000000000000004p+0, false, -- 0x1.0000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000004p+0, false, false, -+ true, -+ 0x1.0000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000064623485355705287099328804067965" - "84793482907116413116455078125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000002p+0, false, -- 0x1.0000000000000000000002p+0, false, -- 0x1.0000000000000000000002p+0, false, -- 0x1.0000000000000000000002p+0, false, -- true, -- 0x1.0000000000000000000002p+0, false, -- 0x1.0000000000000000000002p+0, false, -- 0x1.0000000000000000000002p+0, false, -- 0x1.0000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000032311742677852643549664402033982" - "923967414535582065582275390625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000001p+0, false, -- 0x1.0000000000000000000001p+0, false, -- 0x1.0000000000000000000001p+0, false, -- 0x1.0000000000000000000001p+0, false, -- true, -- 0x1.0000000000000000000001p+0, false, -- 0x1.0000000000000000000001p+0, false, -- 0x1.0000000000000000000001p+0, false, -- 0x1.0000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000016155871338926321774832201016991" - "4619837072677910327911376953125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000008p+0, false, -- 0x1.00000000000000000000008p+0, false, -- 0x1.00000000000000000000008p+0, false, -- 0x1.00000000000000000000008p+0, false, -- true, -- 0x1.00000000000000000000008p+0, false, -- 0x1.00000000000000000000008p+0, false, -- 0x1.00000000000000000000008p+0, false, -- 0x1.00000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000008p+0, false, false, -+ true, -+ 0x1.00000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000008077935669463160887416100508495" - "73099185363389551639556884765625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000004p+0, false, -- 0x1.00000000000000000000004p+0, false, -- 0x1.00000000000000000000004p+0, false, -- 0x1.00000000000000000000004p+0, false, -- true, -- 0x1.00000000000000000000004p+0, false, -- 0x1.00000000000000000000004p+0, false, -- 0x1.00000000000000000000004p+0, false, -- 0x1.00000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000004p+0, false, false, -+ true, -+ 0x1.00000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000004038967834731580443708050254247" - "865495926816947758197784423828125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000002p+0, false, -- 0x1.00000000000000000000002p+0, false, -- 0x1.00000000000000000000002p+0, false, -- 0x1.00000000000000000000002p+0, false, -- true, -- 0x1.00000000000000000000002p+0, false, -- 0x1.00000000000000000000002p+0, false, -- 0x1.00000000000000000000002p+0, false, -- 0x1.00000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000002019483917365790221854025127123" - "9327479634084738790988922119140625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000001p+0, false, -- 0x1.00000000000000000000001p+0, false, -- 0x1.00000000000000000000001p+0, false, -- 0x1.00000000000000000000001p+0, false, -- true, -- 0x1.00000000000000000000001p+0, false, -- 0x1.00000000000000000000001p+0, false, -- 0x1.00000000000000000000001p+0, false, -- 0x1.00000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000001p+0, false, false, -+ true, -+ 0x1.00000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000001009741958682895110927012563561" - "96637398170423693954944610595703125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000000008p+0, false, -- 0x1.000000000000000000000008p+0, false, -- 0x1.000000000000000000000008p+0, false, -- 0x1.000000000000000000000008p+0, false, -- true, -- 0x1.000000000000000000000008p+0, false, -- 0x1.000000000000000000000008p+0, false, -- 0x1.000000000000000000000008p+0, false, -- 0x1.000000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000000504870979341447555463506281780" - "983186990852118469774723052978515625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000000004p+0, false, -- 0x1.000000000000000000000004p+0, false, -- 0x1.000000000000000000000004p+0, false, -- 0x1.000000000000000000000004p+0, false, -- true, -- 0x1.000000000000000000000004p+0, false, -- 0x1.000000000000000000000004p+0, false, -- 0x1.000000000000000000000004p+0, false, -- 0x1.000000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000004p+0, false, false, -+ true, -+ 0x1.000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000000252435489670723777731753140890" - "4915934954260592348873615264892578125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000000002p+0, false, -- 0x1.000000000000000000000002p+0, false, -- 0x1.000000000000000000000002p+0, false, -- 0x1.000000000000000000000002p+0, false, -- true, -- 0x1.000000000000000000000002p+0, false, -- 0x1.000000000000000000000002p+0, false, -- 0x1.000000000000000000000002p+0, false, -- 0x1.000000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000000126217744835361888865876570445" - "24579674771302961744368076324462890625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000000001p+0, false, -- 0x1.000000000000000000000001p+0, false, -- 0x1.000000000000000000000001p+0, false, -- 0x1.000000000000000000000001p+0, false, -- true, -- 0x1.000000000000000000000001p+0, false, -- 0x1.000000000000000000000001p+0, false, -- 0x1.000000000000000000000001p+0, false, -- 0x1.000000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000001p+0, false, false, -+ true, -+ 0x1.000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000000063108872417680944432938285222" - "622898373856514808721840381622314453125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000000008p+0, false, -- 0x1.0000000000000000000000008p+0, false, -- 0x1.0000000000000000000000008p+0, false, -- 0x1.0000000000000000000000008p+0, false, -- true, -- 0x1.0000000000000000000000008p+0, false, -- 0x1.0000000000000000000000008p+0, false, -- 0x1.0000000000000000000000008p+0, false, -- 0x1.0000000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000000031554436208840472216469142611" - "3114491869282574043609201908111572265625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000000004p+0, false, -- 0x1.0000000000000000000000004p+0, false, -- 0x1.0000000000000000000000004p+0, false, -- 0x1.0000000000000000000000004p+0, false, -- true, -- 0x1.0000000000000000000000004p+0, false, -- 0x1.0000000000000000000000004p+0, false, -- 0x1.0000000000000000000000004p+0, false, -- 0x1.0000000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000004p+0, false, false, -+ true, -+ 0x1.0000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000000015777218104420236108234571305" - "65572459346412870218046009540557861328125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000000002p+0, false, -- 0x1.0000000000000000000000002p+0, false, -- 0x1.0000000000000000000000002p+0, false, -- 0x1.0000000000000000000000002p+0, false, -- true, -- 0x1.0000000000000000000000002p+0, false, -- 0x1.0000000000000000000000002p+0, false, -- 0x1.0000000000000000000000002p+0, false, -- 0x1.0000000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000000007888609052210118054117285652" - "827862296732064351090230047702789306640625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.0000000000000000000000001p+0, false, -- 0x1.0000000000000000000000001p+0, false, -- 0x1.0000000000000000000000001p+0, false, -- 0x1.0000000000000000000000001p+0, false, -- true, -- 0x1.0000000000000000000000001p+0, false, -- 0x1.0000000000000000000000001p+0, false, -- 0x1.0000000000000000000000001p+0, false, -- 0x1.0000000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.0000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000001p+0, false, false, -+ true, -+ 0x1.0000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000000003944304526105059027058642826" - "4139311483660321755451150238513946533203125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000000008p+0, false, -- 0x1.00000000000000000000000008p+0, false, -- 0x1.00000000000000000000000008p+0, false, -- 0x1.00000000000000000000000008p+0, false, -- true, -- 0x1.00000000000000000000000008p+0, false, -- 0x1.00000000000000000000000008p+0, false, -- 0x1.00000000000000000000000008p+0, false, -- 0x1.00000000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000000008p+0, false, false, -+ true, -+ 0x1.00000000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000000008p+0, false, false, -+ 0x1.00000000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000000001972152263052529513529321413" - "20696557418301608777255751192569732666015625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000000004p+0, false, -- 0x1.00000000000000000000000004p+0, false, -- 0x1.00000000000000000000000004p+0, false, -- 0x1.00000000000000000000000004p+0, false, -- true, -- 0x1.00000000000000000000000004p+0, false, -- 0x1.00000000000000000000000004p+0, false, -- 0x1.00000000000000000000000004p+0, false, -- 0x1.00000000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000000004p+0, false, false, -+ true, -+ 0x1.00000000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000000004p+0, false, false, -+ 0x1.00000000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000000000986076131526264756764660706" - "603482787091508043886278755962848663330078125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000000002p+0, false, -- 0x1.00000000000000000000000002p+0, false, -- 0x1.00000000000000000000000002p+0, false, -- 0x1.00000000000000000000000002p+0, false, -- true, -- 0x1.00000000000000000000000002p+0, false, -- 0x1.00000000000000000000000002p+0, false, -- 0x1.00000000000000000000000002p+0, false, -- 0x1.00000000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000000002p+0, false, false, -+ 0x1.00000000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000000000493038065763132378382330353" - "3017413935457540219431393779814243316650390625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.00000000000000000000000001p+0, false, -- 0x1.00000000000000000000000001p+0, false, -- 0x1.00000000000000000000000001p+0, false, -- 0x1.00000000000000000000000001p+0, false, -- true, -- 0x1.00000000000000000000000001p+0, false, -- 0x1.00000000000000000000000001p+0, false, -- 0x1.00000000000000000000000001p+0, false, -- 0x1.00000000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.00000000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000000001p+0, false, false, -+ true, -+ 0x1.00000000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000000001p+0, false, false, -+ 0x1.00000000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000000000246519032881566189191165176" - "65087069677287701097156968899071216583251953125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- true, -- 0x1.000000000000000000000000008p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.000000000000000000000000008p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- 0x1.000000000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ true, -+ 0x1.000000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000000000123259516440783094595582588" - "325435348386438505485784844495356082916259765625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.000000000000000000000000004p+0, false, -- 0x1.000000000000000000000000004p+0, false, -- 0x1.000000000000000000000000004p+0, false, -- 0x1.000000000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000000004p+0, false, false, -+ 0x1.000000000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000000000061629758220391547297791294" - "1627176741932192527428924222476780414581298828125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.000000000000000000000000002p+0, false, -- 0x1.000000000000000000000000002p+0, false, -- 0x1.000000000000000000000000002p+0, false, -- 0x1.000000000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000000002p+0, false, false, -+ 0x1.000000000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000000000030814879110195773648895647" - "08135883709660962637144621112383902072906494140625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.000000000000000000000000001p+0, false, -- 0x1.000000000000000000000000001p+0, false, -- 0x1.000000000000000000000000001p+0, false, -- 0x1.000000000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.000000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000000001p+0, false, false, -+ 0x1.000000000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000000000015407439555097886824447823" - "540679418548304813185723105561919510364532470703125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.0000000000000000000000000008p+0, false, -- 0x1.0000000000000000000000000008p+0, false, -- 0x1.0000000000000000000000000008p+0, false, -- 0x1.0000000000000000000000000008p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000000008p+0, false, false, -+ 0x1.0000000000000000000000000008p+0, false, false), - TEST ("1.0000000000000000000000000000000007703719777548943412223911" - "7703397092741524065928615527809597551822662353515625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.0000000000000000000000000004p+0, false, -- 0x1.0000000000000000000000000004p+0, false, -- 0x1.0000000000000000000000000004p+0, false, -- 0x1.0000000000000000000000000004p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000000004p+0, false, false, -+ 0x1.0000000000000000000000000004p+0, false, false), - TEST ("1.0000000000000000000000000000000003851859888774471706111955" - "88516985463707620329643077639047987759113311767578125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.0000000000000000000000000002p+0, false, -- 0x1.0000000000000000000000000002p+0, false, -- 0x1.0000000000000000000000000002p+0, false, -- 0x1.0000000000000000000000000002p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000000002p+0, false, false, -+ 0x1.0000000000000000000000000002p+0, false, false), - TEST ("1.0000000000000000000000000000000001925929944387235853055977" - "942584927318538101648215388195239938795566558837890625", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- true, -- 0x1.0000000000000000000000000001p+0, false, -- 0x1.0000000000000000000000000001p+0, false, -- 0x1.0000000000000000000000000001p+0, false, -- 0x1.0000000000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ true, -+ 0x1.0000000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000000001p+0, false, false, -+ 0x1.0000000000000000000000000001p+0, false, false), - TEST ("1.0000000000000000000000000000000000962964972193617926527988" - "9712924636592690508241076940976199693977832794189453125", - false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000001p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000002p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.000000000000000000000000008p+0, false, -- false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1p+0, false, -- 0x1.0000000000000000000000000001p+0, false), -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000001p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000002p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.000000000000000000000000008p+0, false, false, -+ false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1p+0, false, false, -+ 0x1.0000000000000000000000000001p+0, false, false), - }; -diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c -index c3cc0201d4..be081ba416 100644 ---- a/stdlib/tst-strtod-round-skeleton.c -+++ b/stdlib/tst-strtod-round-skeleton.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - #include "tst-strtod.h" - -@@ -139,16 +140,26 @@ - gen-tst-strtod-round utility to select the appropriately - rounded long double value for a given format. */ - #define TEST(s, \ -- fx, fd, fdo, fn, fno, fz, fzo, fu, fuo, \ -- dx, dd, ddo, dn, dno, dz, dzo, du, duo, \ -- ld64ix, ld64id, ld64ido, ld64in, ld64ino, \ -- ld64iz, ld64izo, ld64iu, ld64iuo, \ -- ld64mx, ld64md, ld64mdo, ld64mn, ld64mno, \ -- ld64mz, ld64mzo, ld64mu, ld64muo, \ -- ld106x, ld106d, ld106do, ld106n, ld106no, \ -- ld106z, ld106zo, ld106u, ld106uo, \ -- ld113x, ld113d, ld113do, ld113n, ld113no, \ -- ld113z, ld113zo, ld113u, ld113uo) \ -+ fx, fd, fdo, fdu, fn, fno, fnu, \ -+ fz, fzo, fzu, fu, fuo, fuu, \ -+ dx, dd, ddo, ddu, dn, dno, dnu, \ -+ dz, dzo, dzu, du, duo, duu, \ -+ ld64ix, ld64id, ld64ido, ld64idu, \ -+ ld64in, ld64ino, ld64inu, \ -+ ld64iz, ld64izo, ld64izu, \ -+ ld64iu, ld64iuo, ld64iuu, \ -+ ld64mx, ld64md, ld64mdo, ld64mdu, \ -+ ld64mn, ld64mno, ld64mnu, \ -+ ld64mz, ld64mzo, ld64mzu, \ -+ ld64mu, ld64muo, ld64muu, \ -+ ld106x, ld106d, ld106do, ld106du, \ -+ ld106n, ld106no, ld106nu, \ -+ ld106z, ld106zo, ld106zu, \ -+ ld106u, ld106uo, ld106uu, \ -+ ld113x, ld113d, ld113do, ld113du, \ -+ ld113n, ld113no, ld113nu, \ -+ ld113z, ld113zo, ld113zu, \ -+ ld113u, ld113uo, ld113uu) \ - { \ - L_ (s), \ - { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) }, \ -@@ -163,6 +174,12 @@ - { XNTRY (fdo, ddo, ld64ido, ld64mdo, ld106do, ld113do) }, \ - { XNTRY (fzo, dzo, ld64izo, ld64mzo, ld106zo, ld113zo) }, \ - { XNTRY (fuo, duo, ld64iuo, ld64muo, ld106uo, ld113uo) } \ -+ }, \ -+ { \ -+ { XNTRY (fnu, dnu, ld64inu, ld64mnu, ld106nu, ld113nu) }, \ -+ { XNTRY (fdu, ddu, ld64idu, ld64mdu, ld106du, ld113du) }, \ -+ { XNTRY (fzu, dzu, ld64izu, ld64mzu, ld106zu, ld113zu) }, \ -+ { XNTRY (fuu, duu, ld64iuu, ld64muu, ld106uu, ld113uu) } \ - } \ - } - -@@ -181,11 +198,17 @@ struct test_overflow - STRUCT_FOREACH_FLOAT_BOOL - }; - -+struct test_underflow -+ { -+ STRUCT_FOREACH_FLOAT_BOOL -+ }; -+ - struct test { - const CHAR *s; - struct test_exactness exact; - struct test_results r[4]; - struct test_overflow o[4]; -+ struct test_underflow u[4]; - }; - - /* Include the generated test data. */ -@@ -203,10 +226,14 @@ struct test { - # define FE_OVERFLOW 0 - #endif - -+#ifndef FE_UNDERFLOW -+# define FE_UNDERFLOW 0 -+#endif -+ - #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ - { \ - feclearexcept (FE_ALL_EXCEPT); \ -- errno = 0; \ -+ errno = 12345; \ - FTYPE f = STRTO (FSUF) (s, NULL); \ - int new_errno = errno; \ - if (f != expected->FSUF \ -@@ -265,6 +292,40 @@ struct test { - s, new_errno, ERANGE); \ - result = 1; \ - } \ -+ if (FE_UNDERFLOW != 0) \ -+ { \ -+ bool underflow_raised \ -+ = fetestexcept (FE_UNDERFLOW) != 0; \ -+ if (underflow_raised != underflow->FSUF) \ -+ { \ -+ printf (FNPFXS "to" #FSUF \ -+ " (" STRM ") underflow %d " \ -+ "not %d\n", s, underflow_raised, \ -+ underflow->FSUF); \ -+ if (EXCEPTION_TESTS (FTYPE)) \ -+ result = 1; \ -+ else \ -+ printf ("ignoring this exception error\n"); \ -+ } \ -+ } \ -+ if (underflow->FSUF && new_errno != ERANGE) \ -+ { \ -+ printf (FNPFXS "to" #FSUF \ -+ " (" STRM ") left errno == %d," \ -+ " not %d (ERANGE)\n", \ -+ s, new_errno, ERANGE); \ -+ result = 1; \ -+ } \ -+ if (!overflow->FSUF \ -+ && !underflow->FSUF \ -+ && new_errno != 12345) \ -+ { \ -+ printf (FNPFXS "to" #FSUF \ -+ " (" STRM ") set errno == %d," \ -+ " should be unchanged\n", \ -+ s, new_errno); \ -+ result = 1; \ -+ } \ - } \ - } - -@@ -272,6 +333,7 @@ static int - test_in_one_mode (const CHAR *s, const struct test_results *expected, - const struct test_exactness *exact, - const struct test_overflow *overflow, -+ const struct test_underflow *underflow, - const char *mode_name, int rnd_mode) - { - int result = 0; -@@ -307,6 +369,7 @@ do_test (void) - { - result |= test_in_one_mode (tests[i].s, &tests[i].r[modes[0].rnd_i], - &tests[i].exact, &tests[i].o[modes[0].rnd_i], -+ &tests[i].u[modes[0].rnd_i], - modes[0].mode_name, modes[0].rnd_mode); - for (const struct fetestmodes *m = &modes[1]; m->mode_name != NULL; m++) - { -@@ -314,7 +377,9 @@ do_test (void) - { - result |= test_in_one_mode (tests[i].s, &tests[i].r[m->rnd_i], - &tests[i].exact, -- &tests[i].o[m->rnd_i], m->mode_name, -+ &tests[i].o[m->rnd_i], -+ &tests[i].u[m->rnd_i], -+ m->mode_name, - m->rnd_mode); - fesetround (save_round_mode); - } - -commit d0c1792ad269566f877208ffda91c21dcd1a72e6 -Author: Joseph Myers -Date: Tue Aug 27 12:41:02 2024 +0000 - - Fix strtod subnormal rounding (bug 30220) - - As reported in bug 30220, the implementation of strtod-family - functions has a bug in the following case: the input string would, - with infinite exponent range, take one more bit to represent than is - available in the normal precision of the return type; the value - represented is in the subnormal range; and there are no nonzero bits - in the value, below those that can be represented in subnormal - precision, other than the least significant bit and possibly the - 0.5ulp bit. In this case, round_and_return ends up discarding the - least significant bit. - - Fix by saving that bit to merge into more_bits (it can't be merged in - at the time it's computed, because more_bits mustn't include this bit - in the case of after-rounding tininess detection checking if the - result is still subnormal when rounded to normal precision, so merging - this bit into more_bits needs to take place after that check). - - Tested for x86_64. - - (cherry picked from commit 457622c2fa8f9f7435822d5287a437bc8be8090d) - -diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c -index be515ce659..beb97b3d0c 100644 ---- a/stdlib/strtod_l.c -+++ b/stdlib/strtod_l.c -@@ -222,6 +222,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, - - mp_size_t shift = MIN_EXP - 1 - exponent; - bool is_tiny = true; -+ bool old_half_bit = (round_limb & (((mp_limb_t) 1) << round_bit)) != 0; - - more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0; - if (shift == MANT_DIG) -@@ -292,6 +293,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative, - round_bit = shift - 1; - (void) __mpn_rshift (retval, retval, RETURN_LIMB_SIZE, shift); - } -+ more_bits |= old_half_bit; - /* This is a hook for the m68k long double format, where the - exponent bias is the same for normalized and denormalized - numbers. */ -diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data -index 84ab705709..9489fbcc9c 100644 ---- a/stdlib/tst-strtod-round-data -+++ b/stdlib/tst-strtod-round-data -@@ -265,3 +265,15 @@ - 1.000000000000000000000000000000000385185988877447170611195588516985463707620329643077639047987759113311767578125 - 1.0000000000000000000000000000000001925929944387235853055977942584927318538101648215388195239938795566558837890625 - 1.00000000000000000000000000000000009629649721936179265279889712924636592690508241076940976199693977832794189453125 -+0x30000002222225p-1077 -+0x0.7fffffffffffeap-1022 -+0x0.7fffffffffffe9p-1022 -+0x0.7ffffd4p-126 -+0x0.7ffffffffffffffd4p-16382 -+0x0.7ffffffffffffffd4p-16383 -+0x0.7ffffffffffffffffffffffffffeap-16382 -+0x0.7000004p-126 -+0x0.70000000000002p-1022 -+0x0.70000000000000004p-16382 -+0x0.70000000000000004p-16383 -+0x0.70000000000000000000000000002p-16382 -diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h -index 13e62dd2b0..ed50eb2537 100644 ---- a/stdlib/tst-strtod-round-data.h -+++ b/stdlib/tst-strtod-round-data.h -@@ -15437,4 +15437,376 @@ static const struct test tests[] = { - 0x1p+0, false, false, - 0x1p+0, false, false, - 0x1.0000000000000000000000000001p+0, false, false), -+ TEST ("0x30000002222225p-1077", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x1.800000111111p-1024, false, true, -+ 0x1.8000001111114p-1024, false, true, -+ 0x1.800000111111p-1024, false, true, -+ 0x1.8000001111114p-1024, false, true, -+ true, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ true, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ false, -+ 0x1.800000111111p-1024, false, true, -+ 0x1.8000001111114p-1024, false, true, -+ 0x1.800000111111p-1024, false, true, -+ 0x1.8000001111114p-1024, false, true, -+ true, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false, -+ 0x1.80000011111128p-1024, false, false), -+ TEST ("0x0.7fffffffffffeap-1022", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ true, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ true, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ false, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ true, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false, -+ 0x1.ffffffffffffa8p-1024, false, false), -+ TEST ("0x0.7fffffffffffe9p-1022", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ true, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ true, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ false, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ 0x1.ffffffffffff8p-1024, false, true, -+ 0x1.ffffffffffffcp-1024, false, true, -+ true, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false, -+ 0x1.ffffffffffffa4p-1024, false, false), -+ TEST ("0x0.7ffffd4p-126", -+ false, -+ 0x1.fffffp-128, false, true, -+ 0x1.fffff8p-128, false, true, -+ 0x1.fffffp-128, false, true, -+ 0x1.fffff8p-128, false, true, -+ true, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ true, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ true, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ true, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ true, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false, -+ 0x1.fffff5p-128, false, false), -+ TEST ("0x0.7ffffffffffffffd4p-16382", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.fffffffffffffffp-16384, false, true, -+ 0x1.fffffffffffffff8p-16384, false, true, -+ 0x1.fffffffffffffffp-16384, false, true, -+ 0x1.fffffffffffffff8p-16384, false, true, -+ false, -+ 0x1.fffffffffffffff4p-16384, false, true, -+ 0x1.fffffffffffffff4p-16384, false, true, -+ 0x1.fffffffffffffff4p-16384, false, true, -+ 0x1.fffffffffffffff8p-16384, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x1.fffffffffffffff5p-16384, false, false, -+ 0x1.fffffffffffffff5p-16384, false, false, -+ 0x1.fffffffffffffff5p-16384, false, false, -+ 0x1.fffffffffffffff5p-16384, false, false), -+ TEST ("0x0.7ffffffffffffffd4p-16383", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0xf.ffffffffffffff8p-16388, false, true, -+ 0xf.ffffffffffffff8p-16388, false, true, -+ 0xf.ffffffffffffff8p-16388, false, true, -+ 0x1p-16384, false, true, -+ false, -+ 0xf.ffffffffffffff8p-16388, false, true, -+ 0xf.ffffffffffffffcp-16388, false, true, -+ 0xf.ffffffffffffff8p-16388, false, true, -+ 0xf.ffffffffffffffcp-16388, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0xf.ffffffffffffffa8p-16388, false, false, -+ 0xf.ffffffffffffffa8p-16388, false, false, -+ 0xf.ffffffffffffffa8p-16388, false, false, -+ 0xf.ffffffffffffffa8p-16388, false, false), -+ TEST ("0x0.7ffffffffffffffffffffffffffeap-16382", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.fffffffffffffff8p-16384, false, true, -+ 0x2p-16384, false, true, -+ 0x1.fffffffffffffff8p-16384, false, true, -+ 0x2p-16384, false, true, -+ false, -+ 0x1.fffffffffffffffcp-16384, false, true, -+ 0x2p-16384, false, true, -+ 0x1.fffffffffffffffcp-16384, false, true, -+ 0x2p-16384, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.fffffffffffffffffffffffffff8p-16384, false, true, -+ 0x1.fffffffffffffffffffffffffffcp-16384, false, true, -+ 0x1.fffffffffffffffffffffffffff8p-16384, false, true, -+ 0x1.fffffffffffffffffffffffffffcp-16384, false, true), -+ TEST ("0x0.7000004p-126", -+ false, -+ 0x1.cp-128, false, true, -+ 0x1.cp-128, false, true, -+ 0x1.cp-128, false, true, -+ 0x1.c00008p-128, false, true, -+ true, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ true, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ true, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ true, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ true, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false, -+ 0x1.c00001p-128, false, false), -+ TEST ("0x0.70000000000002p-1022", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x1.cp-1024, false, true, -+ 0x1.cp-1024, false, true, -+ 0x1.cp-1024, false, true, -+ 0x1.c000000000004p-1024, false, true, -+ true, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ true, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ false, -+ 0x1.cp-1024, false, true, -+ 0x1.cp-1024, false, true, -+ 0x1.cp-1024, false, true, -+ 0x1.c000000000004p-1024, false, true, -+ true, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false, -+ 0x1.c0000000000008p-1024, false, false), -+ TEST ("0x0.70000000000000004p-16382", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.c000000000000008p-16384, false, true, -+ false, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.c000000000000004p-16384, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0x1.c000000000000001p-16384, false, false, -+ 0x1.c000000000000001p-16384, false, false, -+ 0x1.c000000000000001p-16384, false, false, -+ 0x1.c000000000000001p-16384, false, false), -+ TEST ("0x0.70000000000000004p-16383", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0xep-16388, false, true, -+ 0xep-16388, false, true, -+ 0xep-16388, false, true, -+ 0xe.000000000000008p-16388, false, true, -+ false, -+ 0xep-16388, false, true, -+ 0xep-16388, false, true, -+ 0xep-16388, false, true, -+ 0xe.000000000000004p-16388, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ true, -+ 0xe.0000000000000008p-16388, false, false, -+ 0xe.0000000000000008p-16388, false, false, -+ 0xe.0000000000000008p-16388, false, false, -+ 0xe.0000000000000008p-16388, false, false), -+ TEST ("0x0.70000000000000000000000000002p-16382", -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x8p-152, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.c000000000000008p-16384, false, true, -+ false, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.c000000000000004p-16384, false, true, -+ false, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x0p+0, false, true, -+ 0x4p-1076, false, true, -+ false, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.cp-16384, false, true, -+ 0x1.c000000000000000000000000004p-16384, false, true), - }; - -commit cac10d88c684c0171e549d813bfef7a31029f257 -Author: Joseph Myers -Date: Tue Aug 27 20:41:54 2024 +0000 - - Make __strtod_internal tests type-generic - - Some of the strtod tests use type-generic machinery in tst-strtod.h to - test the strto* functions for all floating types, while others only - test double even when the tests are in fact meaningful for all - floating types. - - Convert the tests of the internal __strtod_internal interface to cover - all floating types. I haven't tried to convert them to use newer test - interfaces in other ways, just made the changes necessary to use the - type-generic machinery. As an internal interface, there are no - aliases for different types with the same ABI (however, - __strtold_internal is defined even if long double has the same ABI as - double), so macros used by the type-generic testing code are redefined - as needed to avoid expecting such aliases to be present. - - Tested for x86_64. - - (cherry picked from commit 3fc063dee01da4f80920a14b7db637c8501d6fd4) - -diff --git a/stdlib/tst-strtod1i.c b/stdlib/tst-strtod1i.c -index 9d6bb760fb..44ae0264f4 100644 ---- a/stdlib/tst-strtod1i.c -+++ b/stdlib/tst-strtod1i.c -@@ -25,60 +25,91 @@ - #include - #include - --/* Perform a few tests in a locale with thousands separators. */ --static int --do_test (void) --{ -- static const struct -- { -- const char *loc; -- const char *str; -- double exp; -- ptrdiff_t nread; -- } tests[] = -- { -- { "de_DE.UTF-8", "1,5", 1.5, 3 }, -- { "de_DE.UTF-8", "1.5", 1.0, 1 }, -- { "de_DE.UTF-8", "1.500", 1500.0, 5 }, -- { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65, 26 } -- }; --#define ntests (sizeof (tests) / sizeof (tests[0])) -- size_t n; -- int result = 0; -- -- puts ("\nLocale tests"); -+#include "tst-strtod.h" - -- for (n = 0; n < ntests; ++n) -- { -- double d; -- char *endp; -+/* This tests internal interfaces, which are only defined for types -+ with distinct ABIs, so disable testing for types without distinct -+ ABIs. */ -+#undef IF_FLOAT32 -+#define IF_FLOAT32(x) -+#undef IF_FLOAT64 -+#define IF_FLOAT64(x) -+#undef IF_FLOAT32X -+#define IF_FLOAT32X(x) -+#undef IF_FLOAT64X -+#define IF_FLOAT64X(x) -+#if !__HAVE_DISTINCT_FLOAT128 -+# undef IF_FLOAT128 -+# define IF_FLOAT128(x) -+#endif - -- if (setlocale (LC_ALL, tests[n].loc) == NULL) -- { -- printf ("cannot set locale %s\n", tests[n].loc); -- result = 1; -- continue; -- } -+#define ntests (sizeof (tests) / sizeof (tests[0])) - -- d = __strtod_internal (tests[n].str, &endp, 1); -- if (d != tests[n].exp) -- { -- printf ("strtod(\"%s\") returns %g and not %g\n", -- tests[n].str, d, tests[n].exp); -- result = 1; -- } -- else if (endp - tests[n].str != tests[n].nread) -- { -- printf ("strtod(\"%s\") read %td bytes and not %td\n", -- tests[n].str, endp - tests[n].str, tests[n].nread); -- result = 1; -- } -- } -+/* Perform a few tests in a locale with thousands separators. */ -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+static int \ -+test_strto ## FSUF (void) \ -+{ \ -+ static const struct \ -+ { \ -+ const char *loc; \ -+ const char *str; \ -+ FTYPE exp; \ -+ ptrdiff_t nread; \ -+ } tests[] = \ -+ { \ -+ { "de_DE.UTF-8", "1,5", 1.5 ## LSUF, 3 }, \ -+ { "de_DE.UTF-8", "1.5", 1.0 ## LSUF, 1 }, \ -+ { "de_DE.UTF-8", "1.500", 1500.0 ## LSUF, 5 }, \ -+ { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65 ## LSUF, 26 } \ -+ }; \ -+ size_t n; \ -+ int result = 0; \ -+ \ -+ puts ("\nLocale tests"); \ -+ \ -+ for (n = 0; n < ntests; ++n) \ -+ { \ -+ FTYPE d; \ -+ char *endp; \ -+ \ -+ if (setlocale (LC_ALL, tests[n].loc) == NULL) \ -+ { \ -+ printf ("cannot set locale %s\n", tests[n].loc); \ -+ result = 1; \ -+ continue; \ -+ } \ -+ \ -+ d = __strto ## FSUF ## _internal (tests[n].str, &endp, 1); \ -+ if (d != tests[n].exp) \ -+ { \ -+ char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ -+ FTOSTR (buf1, sizeof (buf1), "%g", d); \ -+ FTOSTR (buf2, sizeof (buf2), "%g", tests[n].exp); \ -+ printf ("strto" # FSUF "(\"%s\") returns %s and not %s\n", \ -+ tests[n].str, buf1, buf2); \ -+ result = 1; \ -+ } \ -+ else if (endp - tests[n].str != tests[n].nread) \ -+ { \ -+ printf ("strto" # FSUF "(\"%s\") read %td bytes and not %td\n", \ -+ tests[n].str, endp - tests[n].str, tests[n].nread); \ -+ result = 1; \ -+ } \ -+ } \ -+ \ -+ if (result == 0) \ -+ puts ("all OK"); \ -+ \ -+ return result ? EXIT_FAILURE : EXIT_SUCCESS; \ -+} - -- if (result == 0) -- puts ("all OK"); -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) - -- return result ? EXIT_FAILURE : EXIT_SUCCESS; -+static int -+do_test (void) -+{ -+ return STRTOD_TEST_FOREACH (test_strto); - } - - #include -diff --git a/stdlib/tst-strtod3.c b/stdlib/tst-strtod3.c -index 23abec1896..0d662d8be8 100644 ---- a/stdlib/tst-strtod3.c -+++ b/stdlib/tst-strtod3.c -@@ -3,19 +3,73 @@ - #include - #include - --static const struct --{ -- const char *in; -- const char *out; -- double expected; --} tests[] = -- { -- { "000,,,e1", ",,,e1", 0.0 }, -- { "000e1", "", 0.0 }, -- { "000,1e1", ",1e1", 0.0 } -- }; --#define NTESTS (sizeof (tests) / sizeof (tests[0])) -+#include "tst-strtod.h" -+ -+/* This tests internal interfaces, which are only defined for types -+ with distinct ABIs, so disable testing for types without distinct -+ ABIs. */ -+#undef IF_FLOAT32 -+#define IF_FLOAT32(x) -+#undef IF_FLOAT64 -+#define IF_FLOAT64(x) -+#undef IF_FLOAT32X -+#define IF_FLOAT32X(x) -+#undef IF_FLOAT64X -+#define IF_FLOAT64X(x) -+#if !__HAVE_DISTINCT_FLOAT128 -+# undef IF_FLOAT128 -+# define IF_FLOAT128(x) -+#endif - -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+static const struct \ -+{ \ -+ const char *in; \ -+ const char *out; \ -+ FTYPE expected; \ -+} tests_strto ## FSUF[] = \ -+ { \ -+ { "000,,,e1", ",,,e1", 0.0 ## LSUF }, \ -+ { "000e1", "", 0.0 ## LSUF }, \ -+ { "000,1e1", ",1e1", 0.0 ## LSUF } \ -+ }; \ -+ \ -+static int \ -+test_strto ## FSUF (void) \ -+{ \ -+ int status = 0; \ -+ \ -+ for (int i = 0; \ -+ i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ -+ ++i) \ -+ { \ -+ char *ep; \ -+ FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \ -+ &ep, 1); \ -+ \ -+ if (strcmp (ep, tests_strto ## FSUF[i].out) != 0) \ -+ { \ -+ printf ("%d: got rest string \"%s\", expected \"%s\"\n", \ -+ i, ep, tests_strto ## FSUF[i].out); \ -+ status = 1; \ -+ } \ -+ \ -+ if (r != tests_strto ## FSUF[i].expected) \ -+ { \ -+ char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ -+ FTOSTR (buf1, sizeof (buf1), "%g", r); \ -+ FTOSTR (buf2, sizeof (buf2), "%g", \ -+ tests_strto ## FSUF[i].expected); \ -+ printf ("%d: got wrong results %s, expected %s\n", \ -+ i, buf1, buf2); \ -+ status = 1; \ -+ } \ -+ } \ -+ \ -+ return status; \ -+} -+ -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) - - static int - do_test (void) -@@ -26,29 +80,7 @@ do_test (void) - return 1; - } - -- int status = 0; -- -- for (int i = 0; i < NTESTS; ++i) -- { -- char *ep; -- double r = __strtod_internal (tests[i].in, &ep, 1); -- -- if (strcmp (ep, tests[i].out) != 0) -- { -- printf ("%d: got rest string \"%s\", expected \"%s\"\n", -- i, ep, tests[i].out); -- status = 1; -- } -- -- if (r != tests[i].expected) -- { -- printf ("%d: got wrong results %g, expected %g\n", -- i, r, tests[i].expected); -- status = 1; -- } -- } -- -- return status; -+ return STRTOD_TEST_FOREACH (test_strto); - } - - #define TEST_FUNCTION do_test () -diff --git a/stdlib/tst-strtod4.c b/stdlib/tst-strtod4.c -index 6cc4e843c7..dfd3f05027 100644 ---- a/stdlib/tst-strtod4.c -+++ b/stdlib/tst-strtod4.c -@@ -3,22 +3,76 @@ - #include - #include - -+#include "tst-strtod.h" -+ -+/* This tests internal interfaces, which are only defined for types -+ with distinct ABIs, so disable testing for types without distinct -+ ABIs. */ -+#undef IF_FLOAT32 -+#define IF_FLOAT32(x) -+#undef IF_FLOAT64 -+#define IF_FLOAT64(x) -+#undef IF_FLOAT32X -+#define IF_FLOAT32X(x) -+#undef IF_FLOAT64X -+#define IF_FLOAT64X(x) -+#if !__HAVE_DISTINCT_FLOAT128 -+# undef IF_FLOAT128 -+# define IF_FLOAT128(x) -+#endif -+ - #define NNBSP "\xe2\x80\xaf" - --static const struct --{ -- const char *in; -- const char *out; -- double expected; --} tests[] = -- { -- { "000"NNBSP"000"NNBSP"000", "", 0.0 }, -- { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 }, -- /* Bug 30964 */ -- { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 } -- }; --#define NTESTS (sizeof (tests) / sizeof (tests[0])) -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+static const struct \ -+{ \ -+ const char *in; \ -+ const char *out; \ -+ FTYPE expected; \ -+} tests_strto ## FSUF[] = \ -+ { \ -+ { "000"NNBSP"000"NNBSP"000", "", 0.0 ## LSUF }, \ -+ { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 ## LSUF }, \ -+ /* Bug 30964 */ \ -+ { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 ## LSUF } \ -+ }; \ -+ \ -+static int \ -+test_strto ## FSUF (void) \ -+{ \ -+ int status = 0; \ -+ \ -+ for (int i = 0; \ -+ i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ -+ ++i) \ -+ { \ -+ char *ep; \ -+ FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \ -+ &ep, 1); \ -+ \ -+ if (strcmp (ep, tests_strto ## FSUF[i].out) != 0) \ -+ { \ -+ printf ("%d: got rest string \"%s\", expected \"%s\"\n", \ -+ i, ep, tests_strto ## FSUF[i].out); \ -+ status = 1; \ -+ } \ -+ \ -+ if (r != tests_strto ## FSUF[i].expected) \ -+ { \ -+ char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ -+ FTOSTR (buf1, sizeof (buf1), "%g", r); \ -+ FTOSTR (buf2, sizeof (buf2), "%g", \ -+ tests_strto ## FSUF[i].expected); \ -+ printf ("%d: got wrong results %s, expected %s\n", \ -+ i, buf1, buf2); \ -+ status = 1; \ -+ } \ -+ } \ -+ \ -+ return status; \ -+} - -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) - - static int - do_test (void) -@@ -29,29 +83,7 @@ do_test (void) - return 1; - } - -- int status = 0; -- -- for (int i = 0; i < NTESTS; ++i) -- { -- char *ep; -- double r = __strtod_internal (tests[i].in, &ep, 1); -- -- if (strcmp (ep, tests[i].out) != 0) -- { -- printf ("%d: got rest string \"%s\", expected \"%s\"\n", -- i, ep, tests[i].out); -- status = 1; -- } -- -- if (r != tests[i].expected) -- { -- printf ("%d: got wrong results %g, expected %g\n", -- i, r, tests[i].expected); -- status = 1; -- } -- } -- -- return status; -+ return STRTOD_TEST_FOREACH (test_strto); - } - - #define TEST_FUNCTION do_test () -diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c -index ee54e3404c..136aedea68 100644 ---- a/stdlib/tst-strtod5i.c -+++ b/stdlib/tst-strtod5i.c -@@ -16,52 +16,112 @@ - License along with the GNU C Library; if not, see - . */ - -+/* Defining _LIBC_TEST ensures long double math functions are -+ declared in the headers. */ -+#define _LIBC_TEST 1 - #include - #include - #include - #include - #include - -+#include "tst-strtod.h" -+ -+/* This tests internal interfaces, which are only defined for types -+ with distinct ABIs, so disable testing for types without distinct -+ ABIs. */ -+#undef IF_FLOAT32 -+#define IF_FLOAT32(x) -+#undef IF_FLOAT64 -+#define IF_FLOAT64(x) -+#undef IF_FLOAT32X -+#define IF_FLOAT32X(x) -+#undef IF_FLOAT64X -+#define IF_FLOAT64X(x) -+#if !__HAVE_DISTINCT_FLOAT128 -+# undef IF_FLOAT128 -+# define IF_FLOAT128(x) -+#endif -+ - #define NNBSP "\xe2\x80\xaf" - --static const struct --{ -- const char *in; -- int group; -- double expected; --} tests[] = -- { -- { "0", 0, 0.0 }, -- { "000", 0, 0.0 }, -- { "-0", 0, -0.0 }, -- { "-000", 0, -0.0 }, -- { "0,", 0, 0.0 }, -- { "-0,", 0, -0.0 }, -- { "0,0", 0, 0.0 }, -- { "-0,0", 0, -0.0 }, -- { "0e-10", 0, 0.0 }, -- { "-0e-10", 0, -0.0 }, -- { "0,e-10", 0, 0.0 }, -- { "-0,e-10", 0, -0.0 }, -- { "0,0e-10", 0, 0.0 }, -- { "-0,0e-10", 0, -0.0 }, -- { "0e-1000000", 0, 0.0 }, -- { "-0e-1000000", 0, -0.0 }, -- { "0,0e-1000000", 0, 0.0 }, -- { "-0,0e-1000000", 0, -0.0 }, -- { "0", 1, 0.0 }, -- { "000", 1, 0.0 }, -- { "-0", 1, -0.0 }, -- { "-000", 1, -0.0 }, -- { "0e-10", 1, 0.0 }, -- { "-0e-10", 1, -0.0 }, -- { "0e-1000000", 1, 0.0 }, -- { "-0e-1000000", 1, -0.0 }, -- { "000"NNBSP"000"NNBSP"000", 1, 0.0 }, -- { "-000"NNBSP"000"NNBSP"000", 1, -0.0 } -- }; --#define NTESTS (sizeof (tests) / sizeof (tests[0])) -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+static const struct \ -+{ \ -+ const char *in; \ -+ int group; \ -+ FTYPE expected; \ -+} tests_strto ## FSUF[] = \ -+ { \ -+ { "0", 0, 0.0 ## LSUF }, \ -+ { "000", 0, 0.0 ## LSUF }, \ -+ { "-0", 0, -0.0 ## LSUF }, \ -+ { "-000", 0, -0.0 ## LSUF }, \ -+ { "0,", 0, 0.0 ## LSUF }, \ -+ { "-0,", 0, -0.0 ## LSUF }, \ -+ { "0,0", 0, 0.0 ## LSUF }, \ -+ { "-0,0", 0, -0.0 ## LSUF }, \ -+ { "0e-10", 0, 0.0 ## LSUF }, \ -+ { "-0e-10", 0, -0.0 ## LSUF }, \ -+ { "0,e-10", 0, 0.0 ## LSUF }, \ -+ { "-0,e-10", 0, -0.0 ## LSUF }, \ -+ { "0,0e-10", 0, 0.0 ## LSUF }, \ -+ { "-0,0e-10", 0, -0.0 ## LSUF }, \ -+ { "0e-1000000", 0, 0.0 ## LSUF }, \ -+ { "-0e-1000000", 0, -0.0 ## LSUF }, \ -+ { "0,0e-1000000", 0, 0.0 ## LSUF }, \ -+ { "-0,0e-1000000", 0, -0.0 ## LSUF }, \ -+ { "0", 1, 0.0 ## LSUF }, \ -+ { "000", 1, 0.0 ## LSUF }, \ -+ { "-0", 1, -0.0 ## LSUF }, \ -+ { "-000", 1, -0.0 ## LSUF }, \ -+ { "0e-10", 1, 0.0 ## LSUF }, \ -+ { "-0e-10", 1, -0.0 ## LSUF }, \ -+ { "0e-1000000", 1, 0.0 ## LSUF }, \ -+ { "-0e-1000000", 1, -0.0 ## LSUF }, \ -+ { "000"NNBSP"000"NNBSP"000", 1, 0.0 ## LSUF }, \ -+ { "-000"NNBSP"000"NNBSP"000", 1, -0.0 ## LSUF } \ -+ }; \ -+ \ -+static int \ -+test_strto ## FSUF (void) \ -+{ \ -+ int status = 0; \ -+ \ -+ for (int i = 0; \ -+ i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ -+ ++i) \ -+ { \ -+ char *ep; \ -+ FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \ -+ &ep, \ -+ tests_strto ## FSUF[i].group); \ -+ \ -+ if (*ep != '\0') \ -+ { \ -+ printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \ -+ status = 1; \ -+ } \ -+ \ -+ if (r != tests_strto ## FSUF[i].expected \ -+ || (copysign ## CSUF (10.0 ## LSUF, r) \ -+ != copysign ## CSUF (10.0 ## LSUF, \ -+ tests_strto ## FSUF[i].expected))) \ -+ { \ -+ char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ -+ FTOSTR (buf1, sizeof (buf1), "%g", r); \ -+ FTOSTR (buf2, sizeof (buf2), "%g", \ -+ tests_strto ## FSUF[i].expected); \ -+ printf ("%d: got wrong results %s, expected %s\n", \ -+ i, buf1, buf2); \ -+ status = 1; \ -+ } \ -+ } \ -+ \ -+ return status; \ -+} - -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) - - static int - do_test (void) -@@ -72,29 +132,7 @@ do_test (void) - return 1; - } - -- int status = 0; -- -- for (int i = 0; i < NTESTS; ++i) -- { -- char *ep; -- double r = __strtod_internal (tests[i].in, &ep, tests[i].group); -- -- if (*ep != '\0') -- { -- printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); -- status = 1; -- } -- -- if (r != tests[i].expected -- || copysign (10.0, r) != copysign (10.0, tests[i].expected)) -- { -- printf ("%d: got wrong results %g, expected %g\n", -- i, r, tests[i].expected); -- status = 1; -- } -- } -- -- return status; -+ return STRTOD_TEST_FOREACH (test_strto); - } - - #include - -commit ad93c2047d791044d45e8f65070d821b0b918993 -Author: Joseph Myers -Date: Wed Sep 4 13:20:18 2024 +0000 - - Improve NaN payload testing - - There are two separate sets of tests of NaN payloads in glibc: - - * libm-test-{get,set}payload* verify that getpayload, setpayload, - setpayloadsig and __builtin_nan functions are consistent in their - payload handling. - - * test-nan-payload verifies that strtod-family functions and the - not-built-in nan functions are consistent in their payload handling. - - Nothing, however, connects the two sets of functions (i.e., verifies - that strtod / nan are consistent with getpayload / setpayload / - __builtin_nan). - - Improve test-nan-payload to check actual payload value with getpayload - rather than just verifying that the strtod and nan functions produce - the same NaN. Also check that the NaNs produced aren't signaling and - extend the tests to cover _FloatN / _FloatNx. - - Tested for x86_64. - - (cherry picked from commit be77d5ae417236883c02d3d67c0716e3f669fa41) - -diff --git a/math/test-nan-payload.c b/math/test-nan-payload.c -index 4a81dc348b..55c13de14e 100644 ---- a/math/test-nan-payload.c -+++ b/math/test-nan-payload.c -@@ -16,6 +16,8 @@ - License along with the GNU C Library; if not, see - . */ - -+#define _LIBC_TEST 1 -+#define __STDC_WANT_IEC_60559_TYPES_EXT__ - #include - #include - #include -@@ -31,7 +33,7 @@ - #define CHECK_IS_NAN(TYPE, A) \ - do \ - { \ -- if (isnan (A)) \ -+ if (isnan (A) && !issignaling (A)) \ - puts ("PASS: " #TYPE " " #A); \ - else \ - { \ -@@ -41,6 +43,19 @@ - } \ - while (0) - -+#define CHECK_PAYLOAD(TYPE, FUNC, A, P) \ -+ do \ -+ { \ -+ if (FUNC (&(A)) == (P)) \ -+ puts ("PASS: " #TYPE " payload " #A); \ -+ else \ -+ { \ -+ puts ("FAIL: " #TYPE " payload " #A); \ -+ result = 1; \ -+ } \ -+ } \ -+ while (0) -+ - #define CHECK_SAME_NAN(TYPE, A, B) \ - do \ - { \ -@@ -71,7 +86,7 @@ - bits. */ - #define CAN_TEST_EQ(MANT_DIG) ((MANT_DIG) != 64 && (MANT_DIG) != 106) - --#define RUN_TESTS(TYPE, SFUNC, FUNC, MANT_DIG) \ -+#define RUN_TESTS(TYPE, SFUNC, FUNC, PLFUNC, MANT_DIG) \ - do \ - { \ - TYPE n123 = WRAP_NAN (FUNC, "123"); \ -@@ -82,6 +97,10 @@ - CHECK_IS_NAN (TYPE, n456); \ - TYPE s456 = WRAP_STRTO (SFUNC, "NAN(456)"); \ - CHECK_IS_NAN (TYPE, s456); \ -+ TYPE nh123 = WRAP_NAN (FUNC, "0x123"); \ -+ CHECK_IS_NAN (TYPE, nh123); \ -+ TYPE sh123 = WRAP_STRTO (SFUNC, "NAN(0x123)"); \ -+ CHECK_IS_NAN (TYPE, sh123); \ - TYPE n123x = WRAP_NAN (FUNC, "123)"); \ - CHECK_IS_NAN (TYPE, n123x); \ - TYPE nemp = WRAP_NAN (FUNC, ""); \ -@@ -92,8 +111,16 @@ - CHECK_IS_NAN (TYPE, sx); \ - if (CAN_TEST_EQ (MANT_DIG)) \ - CHECK_SAME_NAN (TYPE, n123, s123); \ -+ CHECK_PAYLOAD (TYPE, PLFUNC, n123, 123); \ -+ CHECK_PAYLOAD (TYPE, PLFUNC, s123, 123); \ - if (CAN_TEST_EQ (MANT_DIG)) \ - CHECK_SAME_NAN (TYPE, n456, s456); \ -+ CHECK_PAYLOAD (TYPE, PLFUNC, n456, 456); \ -+ CHECK_PAYLOAD (TYPE, PLFUNC, s456, 456); \ -+ if (CAN_TEST_EQ (MANT_DIG)) \ -+ CHECK_SAME_NAN (TYPE, nh123, sh123); \ -+ CHECK_PAYLOAD (TYPE, PLFUNC, nh123, 0x123); \ -+ CHECK_PAYLOAD (TYPE, PLFUNC, sh123, 0x123); \ - if (CAN_TEST_EQ (MANT_DIG)) \ - CHECK_SAME_NAN (TYPE, nemp, semp); \ - if (CAN_TEST_EQ (MANT_DIG)) \ -@@ -110,9 +137,31 @@ static int - do_test (void) - { - int result = 0; -- RUN_TESTS (float, strtof, nanf, FLT_MANT_DIG); -- RUN_TESTS (double, strtod, nan, DBL_MANT_DIG); -- RUN_TESTS (long double, strtold, nanl, LDBL_MANT_DIG); -+ RUN_TESTS (float, strtof, nanf, getpayloadf, FLT_MANT_DIG); -+ RUN_TESTS (double, strtod, nan, getpayload, DBL_MANT_DIG); -+ RUN_TESTS (long double, strtold, nanl, getpayloadl, LDBL_MANT_DIG); -+#if __HAVE_FLOAT16 -+ RUN_TESTS (_Float16, strtof16, nanf16, getpayloadf16, FLT16_MANT_DIG); -+#endif -+#if __HAVE_FLOAT32 -+ RUN_TESTS (_Float32, strtof32, nanf32, getpayloadf32, FLT32_MANT_DIG); -+#endif -+#if __HAVE_FLOAT64 -+ RUN_TESTS (_Float64, strtof64, nanf64, getpayloadf64, FLT64_MANT_DIG); -+#endif -+#if __HAVE_FLOAT128 -+ RUN_TESTS (_Float128, strtof128, nanf128, getpayloadf128, FLT128_MANT_DIG); -+#endif -+#if __HAVE_FLOAT32X -+ RUN_TESTS (_Float32x, strtof32x, nanf32x, getpayloadf32x, FLT32X_MANT_DIG); -+#endif -+#if __HAVE_FLOAT64X -+ RUN_TESTS (_Float64x, strtof64x, nanf64x, getpayloadf64x, FLT64X_MANT_DIG); -+#endif -+#if __HAVE_FLOAT128X -+ RUN_TESTS (_Float128x, strtof128x, nanf128x, getpayloadf128x, -+ FLT128X_MANT_DIG); -+#endif - return result; - } - - -commit c4cc72d2efc741872d65ae1fd77572e47042d179 -Author: Joseph Myers -Date: Wed Sep 4 13:21:23 2024 +0000 - - Do not set errno for overflowing NaN payload in strtod/nan (bug 32045) - - As reported in bug 32045, it's incorrect for strtod/nan functions to - set errno based on overflowing payload (strtod should only set errno - for overflow / underflow of its actual result, and potentially if - nothing in the string can be parsed as a number at all; nan should be - a pure function that never sets it). Save and restore errno around - the internal strtoull call and add associated test coverage. - - Tested for x86_64. - - (cherry picked from commit 64f62c47e9c350f353336f2df6714e1d48ec50d8) - -diff --git a/math/Makefile b/math/Makefile -index f06d370383..b64c3eedd5 100644 ---- a/math/Makefile -+++ b/math/Makefile -@@ -1077,6 +1077,7 @@ CFLAGS-test-flt-eval-method.c += -fexcess-precision=standard - CFLAGS-test-fe-snans-always-signal.c += $(config-cflags-signaling-nans) - - CFLAGS-test-nan-const.c += -fno-builtin -+CFLAGS-test-nan-payload.c += -fno-builtin - - CFLAGS-test-ceil-except-2.c += -fno-builtin - CFLAGS-test-floor-except-2.c += -fno-builtin -diff --git a/math/test-nan-payload.c b/math/test-nan-payload.c -index 55c13de14e..413791e09f 100644 ---- a/math/test-nan-payload.c -+++ b/math/test-nan-payload.c -@@ -18,6 +18,7 @@ - - #define _LIBC_TEST 1 - #define __STDC_WANT_IEC_60559_TYPES_EXT__ -+#include - #include - #include - #include -@@ -82,6 +83,26 @@ - } \ - while (0) - -+#define CLEAR_ERRNO \ -+ do \ -+ { \ -+ errno = 12345; \ -+ } \ -+ while (0) -+ -+#define CHECK_ERRNO(TYPE, A) \ -+ do \ -+ { \ -+ if (errno == 12345) \ -+ puts ("PASS: " #TYPE " " #A " errno"); \ -+ else \ -+ { \ -+ puts ("FAIL: " #TYPE " " #A " errno"); \ -+ result = 1; \ -+ } \ -+ } \ -+ while (0) -+ - /* Cannot test payloads by memcmp for formats where NaNs have padding - bits. */ - #define CAN_TEST_EQ(MANT_DIG) ((MANT_DIG) != 64 && (MANT_DIG) != 106) -@@ -89,26 +110,58 @@ - #define RUN_TESTS(TYPE, SFUNC, FUNC, PLFUNC, MANT_DIG) \ - do \ - { \ -+ CLEAR_ERRNO; \ - TYPE n123 = WRAP_NAN (FUNC, "123"); \ -+ CHECK_ERRNO (TYPE, n123); \ - CHECK_IS_NAN (TYPE, n123); \ -+ CLEAR_ERRNO; \ - TYPE s123 = WRAP_STRTO (SFUNC, "NAN(123)"); \ -+ CHECK_ERRNO (TYPE, s123); \ - CHECK_IS_NAN (TYPE, s123); \ -+ CLEAR_ERRNO; \ - TYPE n456 = WRAP_NAN (FUNC, "456"); \ -+ CHECK_ERRNO (TYPE, n456); \ - CHECK_IS_NAN (TYPE, n456); \ -+ CLEAR_ERRNO; \ - TYPE s456 = WRAP_STRTO (SFUNC, "NAN(456)"); \ -+ CHECK_ERRNO (TYPE, s456); \ - CHECK_IS_NAN (TYPE, s456); \ -+ CLEAR_ERRNO; \ - TYPE nh123 = WRAP_NAN (FUNC, "0x123"); \ -+ CHECK_ERRNO (TYPE, nh123); \ - CHECK_IS_NAN (TYPE, nh123); \ -+ CLEAR_ERRNO; \ - TYPE sh123 = WRAP_STRTO (SFUNC, "NAN(0x123)"); \ -+ CHECK_ERRNO (TYPE, sh123); \ - CHECK_IS_NAN (TYPE, sh123); \ -+ CLEAR_ERRNO; \ - TYPE n123x = WRAP_NAN (FUNC, "123)"); \ -+ CHECK_ERRNO (TYPE, n123x); \ - CHECK_IS_NAN (TYPE, n123x); \ -+ CLEAR_ERRNO; \ - TYPE nemp = WRAP_NAN (FUNC, ""); \ -+ CHECK_ERRNO (TYPE, nemp); \ - CHECK_IS_NAN (TYPE, nemp); \ -+ CLEAR_ERRNO; \ - TYPE semp = WRAP_STRTO (SFUNC, "NAN()"); \ -+ CHECK_ERRNO (TYPE, semp); \ - CHECK_IS_NAN (TYPE, semp); \ -+ CLEAR_ERRNO; \ - TYPE sx = WRAP_STRTO (SFUNC, "NAN"); \ -+ CHECK_ERRNO (TYPE, sx); \ - CHECK_IS_NAN (TYPE, sx); \ -+ CLEAR_ERRNO; \ -+ TYPE novf = WRAP_NAN (FUNC, "9999999999" \ -+ "99999999999999999999" \ -+ "9999999999"); \ -+ CHECK_ERRNO (TYPE, novf); \ -+ CHECK_IS_NAN (TYPE, novf); \ -+ CLEAR_ERRNO; \ -+ TYPE sovf = WRAP_STRTO (SFUNC, "NAN(9999999999" \ -+ "99999999999999999999" \ -+ "9999999999)"); \ -+ CHECK_ERRNO (TYPE, sovf); \ -+ CHECK_IS_NAN (TYPE, sovf); \ - if (CAN_TEST_EQ (MANT_DIG)) \ - CHECK_SAME_NAN (TYPE, n123, s123); \ - CHECK_PAYLOAD (TYPE, PLFUNC, n123, 123); \ -diff --git a/stdlib/strtod_nan_main.c b/stdlib/strtod_nan_main.c -index 4cb286d2b3..39fb7e9f75 100644 ---- a/stdlib/strtod_nan_main.c -+++ b/stdlib/strtod_nan_main.c -@@ -16,6 +16,7 @@ - License along with the GNU C Library; if not, see - . */ - -+#include - #include - #include - #include -@@ -50,7 +51,9 @@ STRTOD_NAN (const STRING_TYPE *str, STRING_TYPE **endptr, STRING_TYPE endc) - STRING_TYPE *endp; - unsigned long long int mant; - -+ int save_errno = errno; - mant = STRTOULL (str, &endp, 0); -+ __set_errno (save_errno); - if (endp == cp) - SET_NAN_PAYLOAD (retval, mant); - - -commit 5a10d05c39689dcf7ee694ec94cd2fd069c747ee -Author: Florian Weimer -Date: Thu Sep 5 21:18:23 2024 +0200 - - powerpc64le: Build new strtod tests with long double ABI flags (bug 32145) - - This fixes several test failures: - - =====FAIL: stdlib/tst-strtod1i.out===== - Locale tests - all OK - Locale tests - all OK - Locale tests - strtold("1,5") returns -6,38643e+367 and not 1,5 - strtold("1.5") returns 1,5 and not 1 - strtold("1.500") returns 1 and not 1500 - strtold("36.893.488.147.419.103.232") returns 1500 and not 3,68935e+19 - Locale tests - all OK - - =====FAIL: stdlib/tst-strtod3.out===== - 0: got wrong results -2.5937e+4826, expected 0 - - =====FAIL: stdlib/tst-strtod4.out===== - 0: got wrong results -6,38643e+367, expected 0 - 1: got wrong results 0, expected 1e+06 - 2: got wrong results 1e+06, expected 10 - - =====FAIL: stdlib/tst-strtod5i.out===== - 0: got wrong results -6,38643e+367, expected 0 - 2: got wrong results 0, expected -0 - 4: got wrong results -0, expected 0 - 5: got wrong results 0, expected -0 - 6: got wrong results -0, expected 0 - 7: got wrong results 0, expected -0 - 8: got wrong results -0, expected 0 - 9: got wrong results 0, expected -0 - 10: got wrong results -0, expected 0 - 11: got wrong results 0, expected -0 - 12: got wrong results -0, expected 0 - 13: got wrong results 0, expected -0 - 14: got wrong results -0, expected 0 - 15: got wrong results 0, expected -0 - 16: got wrong results -0, expected 0 - 17: got wrong results 0, expected -0 - 18: got wrong results -0, expected 0 - 20: got wrong results 0, expected -0 - 22: got wrong results -0, expected 0 - 23: got wrong results 0, expected -0 - 24: got wrong results -0, expected 0 - 25: got wrong results 0, expected -0 - 26: got wrong results -0, expected 0 - 27: got wrong results 0, expected -0 - - Fixes commit 3fc063dee01da4f80920a14b7db637c8501d6fd4 - ("Make __strtod_internal tests type-generic"). - - Suggested-by: Joseph Myers - Reviewed-by: Carlos O'Donell - (cherry picked from commit cc3e743fc09ee6fca45767629df9cbcbe1feba82) - -diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile -index 9d568d4f44..b77775cf95 100644 ---- a/sysdeps/powerpc/powerpc64/le/Makefile -+++ b/sysdeps/powerpc/powerpc64/le/Makefile -@@ -129,6 +129,10 @@ CFLAGS-tst-strtod-round.c += $(type-float128-CFLAGS) - CFLAGS-tst-wcstod-round.c += $(type-float128-CFLAGS) - CFLAGS-tst-strtod-nan-locale.c += $(type-float128-CFLAGS) - CFLAGS-tst-wcstod-nan-locale.c += $(type-float128-CFLAGS) -+CFLAGS-tst-strtod1i.c += $(type-float128-CFLAGS) -+CFLAGS-tst-strtod3.c += $(type-float128-CFLAGS) -+CFLAGS-tst-strtod4.c += $(type-float128-CFLAGS) -+CFLAGS-tst-strtod5i.c += $(type-float128-CFLAGS) - CFLAGS-tst-strtod6.c += $(type-float128-CFLAGS) - CFLAGS-tst-strfrom.c += $(type-float128-CFLAGS) - CFLAGS-tst-strfrom-locale.c += $(type-float128-CFLAGS) - -commit 4a9b6cdc88335e2a7291418563073a58fe97346e -Author: Joseph Myers -Date: Fri Sep 20 23:23:13 2024 +0000 - - Make tst-strtod2 and tst-strtod5 type-generic - - Some of the strtod tests use type-generic machinery in tst-strtod.h to - test the strto* functions for all floating types, while others only - test double even when the tests are in fact meaningful for all - floating types. - - Convert tst-strtod2 and tst-strtod5 to use the type-generic machinery - so they test all floating types. I haven't tried to convert them to - use newer test interfaces in other ways, just made the changes - necessary to use the type-generic machinery. - - Tested for x86_64. - - (cherry picked from commit 8de031bcb9adfa736c0caed2c79d10947b8d8f48) - -diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c -index a7df82ebbd..2cb0953fa9 100644 ---- a/stdlib/tst-strtod2.c -+++ b/stdlib/tst-strtod2.c -@@ -1,43 +1,61 @@ - #include - #include - --struct test --{ -- const char *str; -- double result; -- size_t offset; --} tests[] = --{ -- { "0xy", 0.0, 1 }, -- { "0x.y", 0.0, 1 }, -- { "0x0.y", 0.0, 4 }, -- { "0x.0y", 0.0, 4 }, -- { ".y", 0.0, 0 }, -- { "0.y", 0.0, 2 }, -- { ".0y", 0.0, 2 } --}; -+#include "tst-strtod.h" -+ -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+struct test_strto ## FSUF \ -+{ \ -+ const char *str; \ -+ FTYPE result; \ -+ size_t offset; \ -+} tests_strto ## FSUF[] = \ -+{ \ -+ { "0xy", 0.0 ## LSUF, 1 }, \ -+ { "0x.y", 0.0 ## LSUF, 1 }, \ -+ { "0x0.y", 0.0 ## LSUF, 4 }, \ -+ { "0x.0y", 0.0 ## LSUF, 4 }, \ -+ { ".y", 0.0 ## LSUF, 0 }, \ -+ { "0.y", 0.0 ## LSUF, 2 }, \ -+ { ".0y", 0.0 ## LSUF, 2 } \ -+}; \ -+ \ -+static int \ -+test_strto ## FSUF (void) \ -+{ \ -+ int status = 0; \ -+ for (size_t i = 0; \ -+ i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ -+ ++i) \ -+ { \ -+ char *ep; \ -+ FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].str, &ep); \ -+ if (r != tests_strto ## FSUF[i].result) \ -+ { \ -+ char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ -+ FTOSTR (buf1, sizeof (buf1), "%g", r); \ -+ FTOSTR (buf2, sizeof (buf2), "%g", tests_strto ## FSUF[i].result); \ -+ printf ("test %zu r = %s, expect %s\n", i, buf1, buf2); \ -+ status = 1; \ -+ } \ -+ if (ep != tests_strto ## FSUF[i].str + tests_strto ## FSUF[i].offset) \ -+ { \ -+ printf ("test %zu strto" #FSUF \ -+ " parsed %tu characters, expected %zu\n", \ -+ i, ep - tests_strto ## FSUF[i].str, \ -+ tests_strto ## FSUF[i].offset); \ -+ status = 1; \ -+ } \ -+ } \ -+ return status; \ -+} -+ -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) - - static int - do_test (void) - { -- int status = 0; -- for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i) -- { -- char *ep; -- double r = strtod (tests[i].str, &ep); -- if (r != tests[i].result) -- { -- printf ("test %zu r = %g, expect %g\n", i, r, tests[i].result); -- status = 1; -- } -- if (ep != tests[i].str + tests[i].offset) -- { -- printf ("test %zu strtod parsed %tu characters, expected %zu\n", -- i, ep - tests[i].str, tests[i].offset); -- status = 1; -- } -- } -- return status; -+ return STRTOD_TEST_FOREACH (test_strto); - } - - #define TEST_FUNCTION do_test () -diff --git a/stdlib/tst-strtod5.c b/stdlib/tst-strtod5.c -index 29153ec005..7eb9b3a2d7 100644 ---- a/stdlib/tst-strtod5.c -+++ b/stdlib/tst-strtod5.c -@@ -22,35 +22,75 @@ - #include - #include - -+#include "tst-strtod.h" -+ - #define NBSP "\xc2\xa0" - --static const struct --{ -- const char *in; -- double expected; --} tests[] = -- { -- { "0", 0.0 }, -- { "000", 0.0 }, -- { "-0", -0.0 }, -- { "-000", -0.0 }, -- { "0,", 0.0 }, -- { "-0,", -0.0 }, -- { "0,0", 0.0 }, -- { "-0,0", -0.0 }, -- { "0e-10", 0.0 }, -- { "-0e-10", -0.0 }, -- { "0,e-10", 0.0 }, -- { "-0,e-10", -0.0 }, -- { "0,0e-10", 0.0 }, -- { "-0,0e-10", -0.0 }, -- { "0e-1000000", 0.0 }, -- { "-0e-1000000", -0.0 }, -- { "0,0e-1000000", 0.0 }, -- { "-0,0e-1000000", -0.0 }, -- }; --#define NTESTS (sizeof (tests) / sizeof (tests[0])) -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+static const struct \ -+{ \ -+ const char *in; \ -+ FTYPE expected; \ -+} tests_strto ## FSUF[] = \ -+ { \ -+ { "0", 0.0 ## LSUF }, \ -+ { "000", 0.0 ## LSUF }, \ -+ { "-0", -0.0 ## LSUF }, \ -+ { "-000", -0.0 ## LSUF }, \ -+ { "0,", 0.0 ## LSUF }, \ -+ { "-0,", -0.0 ## LSUF }, \ -+ { "0,0", 0.0 ## LSUF }, \ -+ { "-0,0", -0.0 ## LSUF }, \ -+ { "0e-10", 0.0 ## LSUF }, \ -+ { "-0e-10", -0.0 ## LSUF }, \ -+ { "0,e-10", 0.0 ## LSUF }, \ -+ { "-0,e-10", -0.0 ## LSUF }, \ -+ { "0,0e-10", 0.0 ## LSUF }, \ -+ { "-0,0e-10", -0.0 ## LSUF }, \ -+ { "0e-1000000", 0.0 ## LSUF }, \ -+ { "-0e-1000000", -0.0 ## LSUF }, \ -+ { "0,0e-1000000", 0.0 ## LSUF }, \ -+ { "-0,0e-1000000", -0.0 ## LSUF }, \ -+ }; \ -+ \ -+ \ -+static int \ -+test_strto ## FSUF (void) \ -+{ \ -+ int status = 0; \ -+ \ -+ for (int i = 0; \ -+ i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \ -+ ++i) \ -+ { \ -+ char *ep; \ -+ FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].in, &ep); \ -+ \ -+ if (*ep != '\0') \ -+ { \ -+ printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \ -+ status = 1; \ -+ } \ -+ \ -+ if (r != tests_strto ## FSUF[i].expected \ -+ || (copysign ## CSUF (10.0 ## LSUF, r) \ -+ != copysign ## CSUF (10.0 ## LSUF, \ -+ tests_strto ## FSUF[i].expected))) \ -+ { \ -+ char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ -+ FTOSTR (buf1, sizeof (buf1), "%g", r); \ -+ FTOSTR (buf2, sizeof (buf2), "%g", \ -+ tests_strto ## FSUF[i].expected); \ -+ printf ("%d: got wrong results %s, expected %s\n", \ -+ i, buf1, buf2); \ -+ status = 1; \ -+ } \ -+ } \ -+ \ -+ return status; \ -+} - -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) - - static int - do_test (void) -@@ -61,29 +101,7 @@ do_test (void) - return 1; - } - -- int status = 0; -- -- for (int i = 0; i < NTESTS; ++i) -- { -- char *ep; -- double r = strtod (tests[i].in, &ep); -- -- if (*ep != '\0') -- { -- printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); -- status = 1; -- } -- -- if (r != tests[i].expected -- || copysign (10.0, r) != copysign (10.0, tests[i].expected)) -- { -- printf ("%d: got wrong results %g, expected %g\n", -- i, r, tests[i].expected); -- status = 1; -- } -- } -- -- return status; -+ return STRTOD_TEST_FOREACH (test_strto); - } - - #include - -commit 8f40dfbe2ad8a4a2d2fc3bbe01d289037d113ced -Author: Joseph Myers -Date: Fri Sep 20 23:24:02 2024 +0000 - - Add more tests of strtod end pointer - - Although there are some tests in tst-strtod2 and tst-strtod3 for the - end pointer provided by strtod when it doesn't parse the whole string, - they aren't very thorough. Add tests of more such cases to - tst-strtod2. - - Tested for x86_64. - - (cherry picked from commit b5d3737b305525315e0c7c93ca49eadc868eabd5) - -diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c -index 2cb0953fa9..c84bd792c1 100644 ---- a/stdlib/tst-strtod2.c -+++ b/stdlib/tst-strtod2.c -@@ -1,3 +1,4 @@ -+#include - #include - #include - -@@ -17,10 +18,46 @@ struct test_strto ## FSUF \ - { "0x.0y", 0.0 ## LSUF, 4 }, \ - { ".y", 0.0 ## LSUF, 0 }, \ - { "0.y", 0.0 ## LSUF, 2 }, \ -- { ".0y", 0.0 ## LSUF, 2 } \ -+ { ".0y", 0.0 ## LSUF, 2 }, \ -+ { "1.0e", 1.0 ## LSUF, 3 }, \ -+ { "1.0e+", 1.0 ## LSUF, 3 }, \ -+ { "1.0e-", 1.0 ## LSUF, 3 }, \ -+ { "1.0ex", 1.0 ## LSUF, 3 }, \ -+ { "1.0e+x", 1.0 ## LSUF, 3 }, \ -+ { "1.0e-x", 1.0 ## LSUF, 3 }, \ -+ { "0x1p", 1.0 ## LSUF, 3 }, \ -+ { "0x1p+", 1.0 ## LSUF, 3 }, \ -+ { "0x1p-", 1.0 ## LSUF, 3 }, \ -+ { "0x1px", 1.0 ## LSUF, 3 }, \ -+ { "0x1p+x", 1.0 ## LSUF, 3 }, \ -+ { "0x1p-x", 1.0 ## LSUF, 3 }, \ -+ { "INFx", INFINITY, 3 }, \ -+ { "infx", INFINITY, 3 }, \ -+ { "INFINITx", INFINITY, 3 }, \ -+ { "infinitx", INFINITY, 3 }, \ -+ { "INFINITYY", INFINITY, 8 }, \ -+ { "infinityy", INFINITY, 8 }, \ -+ { "NANx", NAN, 3 }, \ -+ { "nanx", NAN, 3 }, \ -+ { "NAN(", NAN, 3 }, \ -+ { "nan(", NAN, 3 }, \ -+ { "NAN(x", NAN, 3 }, \ -+ { "nan(x", NAN, 3 }, \ -+ { "NAN(x)y", NAN, 6 }, \ -+ { "nan(x)y", NAN, 6 }, \ -+ { "NAN(*)y", NAN, 3 }, \ -+ { "nan(*)y", NAN, 3 } \ - }; \ - \ - static int \ -+compare_strto ## FSUF (FTYPE x, FTYPE y) \ -+{ \ -+ if (isnan (x) && isnan (y)) \ -+ return 1; \ -+ return x == y; \ -+} \ -+ \ -+static int \ - test_strto ## FSUF (void) \ - { \ - int status = 0; \ -@@ -30,7 +67,7 @@ test_strto ## FSUF (void) \ - { \ - char *ep; \ - FTYPE r = strto ## FSUF (tests_strto ## FSUF[i].str, &ep); \ -- if (r != tests_strto ## FSUF[i].result) \ -+ if (!compare_strto ## FSUF (r, tests_strto ## FSUF[i].result)) \ - { \ - char buf1[FSTRLENMAX], buf2[FSTRLENMAX]; \ - FTOSTR (buf1, sizeof (buf1), "%g", r); \ - -commit cc256952ecb07789c423dff9712eb7a38f80e963 -Author: Joseph Myers -Date: Fri Sep 20 23:24:45 2024 +0000 - - Add tests of more strtod special cases - - There is very little test coverage of inputs to strtod-family - functions that don't contain anything that can be parsed as a number - (one test of ".y" in tst-strtod2), and none that I can see of skipping - initial whitespace. Add some tests of these things to tst-strtod2. - - Tested for x86_64. - - (cherry picked from commit 378039ca578c2ea93095a1e710d96f58c68a3997) - -diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c -index c84bd792c1..d00bc13323 100644 ---- a/stdlib/tst-strtod2.c -+++ b/stdlib/tst-strtod2.c -@@ -31,6 +31,20 @@ struct test_strto ## FSUF \ - { "0x1px", 1.0 ## LSUF, 3 }, \ - { "0x1p+x", 1.0 ## LSUF, 3 }, \ - { "0x1p-x", 1.0 ## LSUF, 3 }, \ -+ { "", 0.0 ## LSUF, 0 }, \ -+ { ".", 0.0 ## LSUF, 0 }, \ -+ { "-", 0.0 ## LSUF, 0 }, \ -+ { "-.", 0.0 ## LSUF, 0 }, \ -+ { ".e", 0.0 ## LSUF, 0 }, \ -+ { "-.e", 0.0 ## LSUF, 0 }, \ -+ { " \t", 0.0 ## LSUF, 0 }, \ -+ { " \t.", 0.0 ## LSUF, 0 }, \ -+ { " \t-", 0.0 ## LSUF, 0 }, \ -+ { " \t-.", 0.0 ## LSUF, 0 }, \ -+ { " \t.e", 0.0 ## LSUF, 0 }, \ -+ { " \t-.e", 0.0 ## LSUF, 0 }, \ -+ { " \t\f\r\n\v1", 1.0 ## LSUF, 7 }, \ -+ { " \t\f\r\n\v-1.5e2", -150.0 ## LSUF, 12 }, \ - { "INFx", INFINITY, 3 }, \ - { "infx", INFINITY, 3 }, \ - { "INFINITx", INFINITY, 3 }, \ - -commit 5c06c6e0b5078ffb0aa0c09bac79f086145e0897 -Author: H.J. Lu -Date: Sat Sep 7 08:32:32 2024 -0700 - - libio: Set _vtable_offset before calling _IO_link_in [BZ #32148] - - Since _IO_vtable_offset is used to detect the old binaries, set it - in _IO_old_file_init_internal before calling _IO_link_in which checks - _IO_vtable_offset. Add a glibc 2.0 test with copy relocation on - _IO_stderr_@GLIBC_2.0 to verify that fopen won't cause memory corruption. - This fixes BZ #32148. - - Signed-off-by: H.J. Lu - Reviewed-by: Noah Goldstein - (cherry picked from commit 9dfea3de7f690bff70e3c6eb346b9ad082bb2e35) - -diff --git a/libio/Makefile b/libio/Makefile -index 6a507b67ea..5292baa4e0 100644 ---- a/libio/Makefile -+++ b/libio/Makefile -@@ -286,11 +286,18 @@ endif - ifeq ($(build-shared),yes) - aux += oldfileops oldstdfiles - tests += \ -+ tst-fopen-compat \ - tst-stderr-compat \ - # tests - tests-2.0 += \ -+ tst-fopen-compat \ - tst-stderr-compat \ - # tests-2.0 -+ -+tst-fopen-compat-ARGS = tst-fopen-compat.c -+# Disable PIE to trigger copy relocation. -+CFLAGS-tst-fopen-compat.c += -fno-pie -+tst-fopen-compat-no-pie = yes - endif - - shared-only-routines = oldiofopen oldiofdopen oldiofclose oldfileops \ -diff --git a/libio/oldfileops.c b/libio/oldfileops.c -index 97148dba9b..8f775c9094 100644 ---- a/libio/oldfileops.c -+++ b/libio/oldfileops.c -@@ -103,9 +103,11 @@ _IO_old_file_init_internal (struct _IO_FILE_plus *fp) - fp->file._old_offset = _IO_pos_BAD; - fp->file._flags |= CLOSED_FILEBUF_FLAGS; - -- _IO_link_in (fp); -+ /* NB: _vtable_offset must be set before calling _IO_link_in since -+ _IO_vtable_offset is used to detect the old binaries. */ - fp->file._vtable_offset = ((int) sizeof (struct _IO_FILE) - - (int) sizeof (struct _IO_FILE_complete)); -+ _IO_link_in (fp); - fp->file._fileno = -1; - - if (&_IO_stdin_used != NULL || !_IO_legacy_file ((FILE *) fp)) -diff --git a/libio/tst-fopen-compat.c b/libio/tst-fopen-compat.c -new file mode 100644 -index 0000000000..f241b61043 ---- /dev/null -+++ b/libio/tst-fopen-compat.c -@@ -0,0 +1,85 @@ -+/* Verify that fopen works with copy relocation on _IO_stderr_ in binaries -+ linked with glibc 2.0. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+ -+#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) -+# define _LIBC -+# define _IO_USE_OLD_IO_FILE -+# include -+# include -+# include -+# include -+# include -+# include -+ -+struct _IO_jump_t; -+ -+struct _IO_FILE_plus -+{ -+ FILE file; -+ const struct _IO_jump_t *vtable; -+}; -+ -+extern struct _IO_FILE_plus _IO_stderr_; -+compat_symbol_reference (libc, _IO_stderr_, _IO_stderr_, GLIBC_2_0); -+compat_symbol_reference (libc, fopen, fopen, GLIBC_2_0); -+compat_symbol_reference (libc, fclose, fclose, GLIBC_2_0); -+ -+static int -+do_test (int argc, char *argv[]) -+{ -+ static char filename[PATH_MAX + 1]; -+ struct stat st; -+ char *name = NULL; -+ int i; -+ -+ /* Try to trigger copy relocation. */ -+ TEST_VERIFY_EXIT (_IO_stderr_.file._fileno == STDERR_FILENO); -+ -+ for (i = 1; i < argc; i++) -+ { -+ name = argv[i]; -+ if (stat (name, &st) == 0) -+ { -+ TEST_VERIFY_EXIT (strlen (name) <= PATH_MAX); -+ break; -+ } -+ } -+ TEST_VERIFY_EXIT (name != NULL); -+ -+ strcpy (filename, name); -+ FILE *fp = fopen (filename, "r"); -+ TEST_VERIFY_EXIT (strcmp (filename, name) == 0); -+ TEST_VERIFY_EXIT (fp != NULL); -+ TEST_VERIFY_EXIT (fclose (fp) == 0); -+ return 0; -+} -+#else -+# include -+ -+static int -+do_test (int argc, char *argv[]) -+{ -+ return EXIT_UNSUPPORTED; -+} -+#endif -+ -+#define TEST_FUNCTION_ARGV do_test -+#include - -commit 85e5850f2f4ea5f304be5356ecb7a15998766a4e -Author: Joseph Myers -Date: Fri Sep 20 23:25:32 2024 +0000 - - Make tst-strtod-underflow type-generic - - The test tst-strtod-underflow covers various edge cases close to the - underflow threshold for strtod (especially cases where underflow on - architectures with after-rounding tininess detection depends on the - rounding mode). Make it use the type-generic machinery, with - corresponding test inputs for each supported floating-point format, so - that other functions in the strtod family are tested for underflow - edge cases as well. - - Tested for x86_64. - - (cherry picked from commit 94ca2c0894f0e1b62625c369cc598a2b9236622c) - -diff --git a/stdlib/tst-strtod-underflow.c b/stdlib/tst-strtod-underflow.c -index a5ced18599..8598b95b6d 100644 ---- a/stdlib/tst-strtod-underflow.c -+++ b/stdlib/tst-strtod-underflow.c -@@ -17,6 +17,10 @@ - License along with the GNU C Library; if not, see - . */ - -+/* Defining _LIBC_TEST ensures long double math functions are -+ declared in the headers. */ -+#define _LIBC_TEST 1 -+#define __STDC_WANT_IEC_60559_TYPES_EXT__ - #include - #include - #include -@@ -25,6 +29,60 @@ - #include - #include - -+#include "tst-strtod.h" -+ -+/* Logic for selecting between tests for different formats is as in -+ tst-strtod-skeleton.c, but here it is selecting string inputs with -+ different underflow properties, rather than generated test -+ data. */ -+ -+#define _CONCAT(a, b) a ## b -+#define CONCAT(a, b) _CONCAT (a, b) -+ -+#define MEMBER(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+ const char *s_ ## FSUF; -+ -+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 -+# define CHOOSE_ld(f,d,...) d -+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16381 -+# define CHOOSE_ld(f,d,ld64i,...) ld64i -+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16382 -+# define CHOOSE_ld(f,d,ld64i,ld64m,...) ld64m -+#elif LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024 -+# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,...) ld106 -+#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 -+# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,ld113,...) ld113 -+#else -+# error "unknown long double format" -+#endif -+ -+#define CHOOSE_f(f,...) f -+#define CHOOSE_f32(f,...) f -+#define CHOOSE_d(f,d,...) d -+#define CHOOSE_f64(f,d,...) d -+#define CHOOSE_f32x(f,d,...) d -+#define CHOOSE_f128(f,d,ld64i,ld64m,ld106,ld113,...) ld113 -+ -+#if __HAVE_FLOAT64X -+# if FLT64X_MANT_DIG == 113 && FLT64X_MAX_EXP == 16384 -+# define CHOOSE_f64x(f,d,ld64i,ld64m,ld106,ld113,...) ld113 -+# elif (FLT64X_MANT_DIG == 64 \ -+ && FLT64X_MAX_EXP == 16384 \ -+ && FLT64X_MIN_EXP == -16381) -+# define CHOOSE_f64x(f,d,ld64i,...) ld64i -+# else -+# error "unknown _Float64x format" -+# endif -+#endif -+ -+#define _XNTRY(FSUF, FTYPE, FTOSTR, LSUF, CSUF, ...) \ -+ CHOOSE_ ## FSUF (__VA_ARGS__), -+#define XNTRY(...) \ -+ GEN_TEST_STRTOD_FOREACH (_XNTRY, __VA_ARGS__) -+ -+#define TEST(f, d, ld64i, ld64m, ld106, ld113, u) \ -+ { XNTRY(f, d, ld64i, ld64m, ld106, ld113) u } -+ - enum underflow_case - { - /* Result is exact or outside the subnormal range. */ -@@ -55,38 +113,194 @@ enum underflow_case - - struct test - { -- const char *s; -+ GEN_TEST_STRTOD_FOREACH (MEMBER) - enum underflow_case c; - }; - - static const struct test tests[] = - { -- { "0x1p-1022", UNDERFLOW_NONE }, -- { "-0x1p-1022", UNDERFLOW_NONE }, -- { "0x0p-10000000000000000000000000", UNDERFLOW_NONE }, -- { "-0x0p-10000000000000000000000000", UNDERFLOW_NONE }, -- { "0x1p-10000000000000000000000000", UNDERFLOW_ALWAYS }, -- { "-0x1p-10000000000000000000000000", UNDERFLOW_ALWAYS }, -- { "0x1.000000000000000000001p-1022", UNDERFLOW_NONE }, -- { "-0x1.000000000000000000001p-1022", UNDERFLOW_NONE }, -- { "0x1p-1075", UNDERFLOW_ALWAYS }, -- { "-0x1p-1075", UNDERFLOW_ALWAYS }, -- { "0x1p-1023", UNDERFLOW_NONE }, -- { "-0x1p-1023", UNDERFLOW_NONE }, -- { "0x1p-1074", UNDERFLOW_NONE }, -- { "-0x1p-1074", UNDERFLOW_NONE }, -- { "0x1.ffffffffffffep-1023", UNDERFLOW_NONE }, -- { "-0x1.ffffffffffffep-1023", UNDERFLOW_NONE }, -- { "0x1.fffffffffffffp-1023", UNDERFLOW_ALWAYS }, -- { "-0x1.fffffffffffffp-1023", UNDERFLOW_ALWAYS }, -- { "0x1.fffffffffffff0001p-1023", UNDERFLOW_EXCEPT_UPWARD }, -- { "-0x1.fffffffffffff0001p-1023", UNDERFLOW_EXCEPT_DOWNWARD }, -- { "0x1.fffffffffffff7fffp-1023", UNDERFLOW_EXCEPT_UPWARD }, -- { "-0x1.fffffffffffff7fffp-1023", UNDERFLOW_EXCEPT_DOWNWARD }, -- { "0x1.fffffffffffff8p-1023", UNDERFLOW_ONLY_DOWNWARD_ZERO }, -- { "-0x1.fffffffffffff8p-1023", UNDERFLOW_ONLY_UPWARD_ZERO }, -- { "0x1.fffffffffffffffffp-1023", UNDERFLOW_ONLY_DOWNWARD_ZERO }, -- { "-0x1.fffffffffffffffffp-1023", UNDERFLOW_ONLY_UPWARD_ZERO }, -+ TEST ("0x1p-126", -+ "0x1p-1022", -+ "0x1p-16382", -+ "0x1p-16383", -+ "0x1p-969", -+ "0x1p-16382", -+ UNDERFLOW_NONE), -+ TEST ("-0x1p-126", -+ "-0x1p-1022", -+ "-0x1p-16382", -+ "-0x1p-16383", -+ "-0x1p-969", -+ "-0x1p-16382", -+ UNDERFLOW_NONE), -+ TEST ("0x0p-10000000000000000000000000", -+ "0x0p-10000000000000000000000000", -+ "0x0p-10000000000000000000000000", -+ "0x0p-10000000000000000000000000", -+ "0x0p-10000000000000000000000000", -+ "0x0p-10000000000000000000000000", -+ UNDERFLOW_NONE), -+ TEST ("-0x0p-10000000000000000000000000", -+ "-0x0p-10000000000000000000000000", -+ "-0x0p-10000000000000000000000000", -+ "-0x0p-10000000000000000000000000", -+ "-0x0p-10000000000000000000000000", -+ "-0x0p-10000000000000000000000000", -+ UNDERFLOW_NONE), -+ TEST ("0x1p-10000000000000000000000000", -+ "0x1p-10000000000000000000000000", -+ "0x1p-10000000000000000000000000", -+ "0x1p-10000000000000000000000000", -+ "0x1p-10000000000000000000000000", -+ "0x1p-10000000000000000000000000", -+ UNDERFLOW_ALWAYS), -+ TEST ("-0x1p-10000000000000000000000000", -+ "-0x1p-10000000000000000000000000", -+ "-0x1p-10000000000000000000000000", -+ "-0x1p-10000000000000000000000000", -+ "-0x1p-10000000000000000000000000", -+ "-0x1p-10000000000000000000000000", -+ UNDERFLOW_ALWAYS), -+ TEST ("0x1.000000000000000000001p-126", -+ "0x1.000000000000000000001p-1022", -+ "0x1.000000000000000000001p-16382", -+ "0x1.000000000000000000001p-16383", -+ "0x1.000000000000000000001p-969", -+ "0x1.00000000000000000000000000000000000000001p-16382", -+ UNDERFLOW_NONE), -+ TEST ("-0x1.000000000000000000001p-126", -+ "-0x1.000000000000000000001p-1022", -+ "-0x1.000000000000000000001p-16382", -+ "-0x1.000000000000000000001p-16383", -+ "-0x1.000000000000000000001p-969", -+ "-0x1.00000000000000000000000000000000000000001p-16382", -+ UNDERFLOW_NONE), -+ TEST ("0x1p-150", -+ "0x1p-1075", -+ "0x1p-16446", -+ "0x1p-16447", -+ "0x1p-1075", -+ "0x1p-16495", -+ UNDERFLOW_ALWAYS), -+ TEST ("-0x1p-150", -+ "-0x1p-1075", -+ "-0x1p-16446", -+ "-0x1p-16447", -+ "-0x1p-1075", -+ "-0x1p-16495", -+ UNDERFLOW_ALWAYS), -+ TEST ("0x1p-127", -+ "0x1p-1023", -+ "0x1p-16383", -+ "0x1p-16384", -+ "0x1p-970", -+ "0x1p-16383", -+ UNDERFLOW_NONE), -+ TEST ("-0x1p-127", -+ "-0x1p-1023", -+ "-0x1p-16383", -+ "-0x1p-16384", -+ "-0x1p-970", -+ "-0x1p-16383", -+ UNDERFLOW_NONE), -+ TEST ("0x1p-149", -+ "0x1p-1074", -+ "0x1p-16445", -+ "0x1p-16446", -+ "0x1p-1074", -+ "0x1p-16494", -+ UNDERFLOW_NONE), -+ TEST ("-0x1p-149", -+ "-0x1p-1074", -+ "-0x1p-16445", -+ "-0x1p-16446", -+ "-0x1p-1074", -+ "-0x1p-16494", -+ UNDERFLOW_NONE), -+ TEST ("0x1.fffffcp-127", -+ "0x1.ffffffffffffep-1023", -+ "0x1.fffffffffffffffcp-16383", -+ "0x1.fffffffffffffffcp-16384", -+ "0x1.ffffffffffffffffffffffffffp-970", -+ "0x1.fffffffffffffffffffffffffffep-16383", -+ UNDERFLOW_NONE), -+ TEST ("-0x1.fffffcp-127", -+ "-0x1.ffffffffffffep-1023", -+ "-0x1.fffffffffffffffcp-16383", -+ "-0x1.fffffffffffffffcp-16384", -+ "-0x1.ffffffffffffffffffffffffffp-970", -+ "-0x1.fffffffffffffffffffffffffffep-16383", -+ UNDERFLOW_NONE), -+ TEST ("0x1.fffffep-127", -+ "0x1.fffffffffffffp-1023", -+ "0x1.fffffffffffffffep-16383", -+ "0x1.fffffffffffffffep-16384", -+ "0x1.ffffffffffffffffffffffffff8p-970", -+ "0x1.ffffffffffffffffffffffffffffp-16383", -+ UNDERFLOW_ALWAYS), -+ TEST ("-0x1.fffffep-127", -+ "-0x1.fffffffffffffp-1023", -+ "-0x1.fffffffffffffffep-16383", -+ "-0x1.fffffffffffffffep-16384", -+ "-0x1.ffffffffffffffffffffffffff8p-970", -+ "-0x1.ffffffffffffffffffffffffffffp-16383", -+ UNDERFLOW_ALWAYS), -+ TEST ("0x1.fffffe0001p-127", -+ "0x1.fffffffffffff0001p-1023", -+ "0x1.fffffffffffffffe0001p-16383", -+ "0x1.fffffffffffffffe0001p-16384", -+ "0x1.ffffffffffffffffffffffffff80001p-970", -+ "0x1.ffffffffffffffffffffffffffff0001p-16383", -+ UNDERFLOW_EXCEPT_UPWARD), -+ TEST ("-0x1.fffffe0001p-127", -+ "-0x1.fffffffffffff0001p-1023", -+ "-0x1.fffffffffffffffe0001p-16383", -+ "-0x1.fffffffffffffffe0001p-16384", -+ "-0x1.ffffffffffffffffffffffffff80001p-970", -+ "-0x1.ffffffffffffffffffffffffffff0001p-16383", -+ UNDERFLOW_EXCEPT_DOWNWARD), -+ TEST ("0x1.fffffeffffp-127", -+ "0x1.fffffffffffff7fffp-1023", -+ "0x1.fffffffffffffffeffffp-16383", -+ "0x1.fffffffffffffffeffffp-16384", -+ "0x1.ffffffffffffffffffffffffffbffffp-970", -+ "0x1.ffffffffffffffffffffffffffff7fffp-16383", -+ UNDERFLOW_EXCEPT_UPWARD), -+ TEST ("-0x1.fffffeffffp-127", -+ "-0x1.fffffffffffff7fffp-1023", -+ "-0x1.fffffffffffffffeffffp-16383", -+ "-0x1.fffffffffffffffeffffp-16384", -+ "-0x1.ffffffffffffffffffffffffffbffffp-970", -+ "-0x1.ffffffffffffffffffffffffffff7fffp-16383", -+ UNDERFLOW_EXCEPT_DOWNWARD), -+ TEST ("0x1.ffffffp-127", -+ "0x1.fffffffffffff8p-1023", -+ "0x1.ffffffffffffffffp-16383", -+ "0x1.ffffffffffffffffp-16384", -+ "0x1.ffffffffffffffffffffffffffcp-970", -+ "0x1.ffffffffffffffffffffffffffff8p-16383", -+ UNDERFLOW_ONLY_DOWNWARD_ZERO), -+ TEST ("-0x1.ffffffp-127", -+ "-0x1.fffffffffffff8p-1023", -+ "-0x1.ffffffffffffffffp-16383", -+ "-0x1.ffffffffffffffffp-16384", -+ "-0x1.ffffffffffffffffffffffffffcp-970", -+ "-0x1.ffffffffffffffffffffffffffff8p-16383", -+ UNDERFLOW_ONLY_UPWARD_ZERO), -+ TEST ("0x1.ffffffffffp-127", -+ "0x1.fffffffffffffffffp-1023", -+ "0x1.ffffffffffffffffffffp-16383", -+ "0x1.ffffffffffffffffffffp-16384", -+ "0x1.ffffffffffffffffffffffffffffffp-970", -+ "0x1.ffffffffffffffffffffffffffffffffp-16383", -+ UNDERFLOW_ONLY_DOWNWARD_ZERO), -+ TEST ("-0x1.ffffffffffp-127", -+ "-0x1.fffffffffffffffffp-1023", -+ "-0x1.ffffffffffffffffffffp-16383", -+ "-0x1.ffffffffffffffffffffp-16384", -+ "-0x1.ffffffffffffffffffffffffffffffp-970", -+ "-0x1.ffffffffffffffffffffffffffffffffp-16383", -+ UNDERFLOW_ONLY_UPWARD_ZERO), - }; - - /* Return whether to expect underflow from a particular testcase, in a -@@ -133,39 +347,62 @@ static bool support_underflow_exception = false; - volatile double d = DBL_MIN; - volatile double dd; - --static int --test_in_one_mode (const char *s, enum underflow_case c, int rm, -- const char *mode_name) -+static bool -+test_got_fe_underflow (void) - { -- int result = 0; -- feclearexcept (FE_ALL_EXCEPT); -- errno = 0; -- double d = strtod (s, NULL); -- int got_errno = errno; - #ifdef FE_UNDERFLOW -- bool got_fe_underflow = fetestexcept (FE_UNDERFLOW) != 0; -+ return fetestexcept (FE_UNDERFLOW) != 0; - #else -- bool got_fe_underflow = false; -+ return false; - #endif -- printf ("strtod (%s) (%s) returned %a, errno = %d, %sunderflow exception\n", -- s, mode_name, d, got_errno, got_fe_underflow ? "" : "no "); -- bool this_expect_underflow = expect_underflow (c, rm); -- if (got_errno != 0 && got_errno != ERANGE) -- { -- puts ("FAIL: errno neither 0 nor ERANGE"); -- result = 1; -- } -- else if (this_expect_underflow != (errno == ERANGE)) -- { -- puts ("FAIL: underflow from errno differs from expectations"); -- result = 1; -- } -- if (support_underflow_exception && got_fe_underflow != this_expect_underflow) -- { -- puts ("FAIL: underflow from exceptions differs from expectations"); -- result = 1; -- } -- return result; -+} -+ -+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF) \ -+static int \ -+test_strto ## FSUF (int i, int rm, const char *mode_name) \ -+{ \ -+ const char *s = tests[i].s_ ## FSUF; \ -+ enum underflow_case c = tests[i].c; \ -+ int result = 0; \ -+ feclearexcept (FE_ALL_EXCEPT); \ -+ errno = 0; \ -+ FTYPE d = strto ## FSUF (s, NULL); \ -+ int got_errno = errno; \ -+ bool got_fe_underflow = test_got_fe_underflow (); \ -+ char buf[FSTRLENMAX]; \ -+ FTOSTR (buf, sizeof (buf), "%a", d); \ -+ printf ("strto" #FSUF \ -+ " (%s) (%s) returned %s, errno = %d, " \ -+ "%sunderflow exception\n", \ -+ s, mode_name, buf, got_errno, \ -+ got_fe_underflow ? "" : "no "); \ -+ bool this_expect_underflow = expect_underflow (c, rm); \ -+ if (got_errno != 0 && got_errno != ERANGE) \ -+ { \ -+ puts ("FAIL: errno neither 0 nor ERANGE"); \ -+ result = 1; \ -+ } \ -+ else if (this_expect_underflow != (errno == ERANGE)) \ -+ { \ -+ puts ("FAIL: underflow from errno differs from expectations"); \ -+ result = 1; \ -+ } \ -+ if (support_underflow_exception \ -+ && got_fe_underflow != this_expect_underflow) \ -+ { \ -+ puts ("FAIL: underflow from exceptions " \ -+ "differs from expectations"); \ -+ result = 1; \ -+ } \ -+ return result; \ -+} -+ -+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD) -+ -+static int -+test_in_one_mode (size_t i, int rm, const char *mode_name) -+{ -+ return STRTOD_TEST_FOREACH (test_strto, i, rm, mode_name); - } - - static int -@@ -191,12 +428,12 @@ do_test (void) - #endif - for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++) - { -- result |= test_in_one_mode (tests[i].s, tests[i].c, fe_tonearest, -+ result |= test_in_one_mode (i, fe_tonearest, - "default rounding mode"); - #ifdef FE_DOWNWARD - if (!fesetround (FE_DOWNWARD)) - { -- result |= test_in_one_mode (tests[i].s, tests[i].c, FE_DOWNWARD, -+ result |= test_in_one_mode (i, FE_DOWNWARD, - "FE_DOWNWARD"); - fesetround (save_round_mode); - } -@@ -204,7 +441,7 @@ do_test (void) - #ifdef FE_TOWARDZERO - if (!fesetround (FE_TOWARDZERO)) - { -- result |= test_in_one_mode (tests[i].s, tests[i].c, FE_TOWARDZERO, -+ result |= test_in_one_mode (i, FE_TOWARDZERO, - "FE_TOWARDZERO"); - fesetround (save_round_mode); - } -@@ -212,7 +449,7 @@ do_test (void) - #ifdef FE_UPWARD - if (!fesetround (FE_UPWARD)) - { -- result |= test_in_one_mode (tests[i].s, tests[i].c, FE_UPWARD, -+ result |= test_in_one_mode (i, FE_UPWARD, - "FE_UPWARD"); - fesetround (save_round_mode); - } - -commit 3a34851103d554b2c9b269ecae111648f9d7bb6d -Author: Florian Weimer -Date: Mon Oct 28 14:45:30 2024 +0100 - - elf: Change ldconfig auxcache magic number (bug 32231) - - In commit c628c2296392ed3bf2cb8d8470668e64fe53389f (elf: Remove - ldconfig kernel version check), the layout of auxcache entries - changed because the osversion field was removed from - struct aux_cache_file_entry. However, AUX_CACHEMAGIC was not - changed, so existing files are still used, potentially leading - to unintended ldconfig behavior. This commit changes AUX_CACHEMAGIC, - so that the file is regenerated. - - Reported-by: DJ Delorie - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 0a536f6e2f76e3ef581b3fd9af1e5cf4ddc7a5a2) - -diff --git a/NEWS b/NEWS -index 9033335db1..928c516bec 100644 ---- a/NEWS -+++ b/NEWS -@@ -17,6 +17,7 @@ The following bugs are resolved with this release: - [32026] strerror/strsignal TLS not handled correctly for secondary namespaces - [32052] Name space violation in fortify wrappers - [32137] libio: Attempt wide backup free only for non-legacy code -+ [32231] elf: Change ldconfig auxcache magic number - - Version 2.40 - -diff --git a/elf/cache.c b/elf/cache.c -index 8a618e11fa..62d681df42 100644 ---- a/elf/cache.c -+++ b/elf/cache.c -@@ -820,7 +820,7 @@ struct aux_cache_entry - struct aux_cache_entry *next; - }; - --#define AUX_CACHEMAGIC "glibc-ld.so.auxcache-1.0" -+#define AUX_CACHEMAGIC "glibc-ld.so.auxcache-2.0" - - struct aux_cache_file_entry - { - -commit 234458024300f0b4b430785999f33eddf059af6a -Author: Michael Karcher -Date: Sun Jul 28 15:30:57 2024 +0200 - - Mitigation for "clone on sparc might fail with -EFAULT for no valid reason" (bz 31394) - - It seems the kernel can not deal with uncommitted stack space in the area intended - for the register window when executing the clone() system call. So create a nested - frame (proxy for the kernel frame) and flush it from the processor to memory to - force committing pages to the stack before invoking the system call. - - Bug: https://www.mail-archive.com/debian-glibc@lists.debian.org/msg62592.html - Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31394 - See-also: https://lore.kernel.org/sparclinux/62f9be9d-a086-4134-9a9f-5df8822708af@mkarcher.dialup.fu-berlin.de/ - Signed-off-by: Michael Karcher - Reviewed-by: DJ Delorie - (cherry picked from commit faeaa3bc9f76030b9882ccfdee232fc0ca6dcb06) - -diff --git a/NEWS b/NEWS -index 928c516bec..dc815fb6d3 100644 ---- a/NEWS -+++ b/NEWS -@@ -11,6 +11,7 @@ The following bugs are resolved with this release: - - [27821] ungetc: Fix backup buffer leak on program exit - [30081] resolv: Do not wait for non-existing second DNS response after error -+ [31394] clone on sparc might fail with -EFAULT for no valid reason - [31717] elf: Avoid re-initializing already allocated TLS in dlopen - [31890] resolv: Allow short error responses to match any DNS query - [31968] mremap implementation in C does not handle arguments correctly -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S -index 748d25fcfe..c9cf9bb055 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S -@@ -28,6 +28,9 @@ - .text - ENTRY (__clone) - save %sp,-96,%sp -+ save %sp,-96,%sp -+ flushw -+ restore - cfi_def_cfa_register(%fp) - cfi_window_save - cfi_register(%o7, %i7) -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S -index e5ff2cf1a0..370d51fda2 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S -@@ -32,6 +32,9 @@ - - ENTRY (__clone) - save %sp, -192, %sp -+ save %sp, -192, %sp -+ flushw -+ restore - cfi_def_cfa_register(%fp) - cfi_window_save - cfi_register(%o7, %i7) - -commit efb710034e4c5e734d100cc4ef1b1e27d4315825 -Author: Adhemerval Zanella -Date: Mon Sep 2 16:58:51 2024 -0300 - - linux: sparc: Fix clone for LEON/sparcv8 (BZ 31394) - - The sparc clone mitigation (faeaa3bc9f76030) added the use of - flushw, which is not support by LEON/sparcv8. As discussed on - the libc-alpha, 'ta 3' is a working alternative [1]. - - [1] https://sourceware.org/pipermail/libc-alpha/2024-August/158905.html - - Checked with a build for sparcv8-linux-gnu targetting leon. - - Acked-by: John Paul Adrian Glaubitz - (cherry picked from commit 5e8cfc5d625e6dd000a0371d21d792836ea7951a) - -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S -index c9cf9bb055..c84244f56b 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S -@@ -29,7 +29,11 @@ - ENTRY (__clone) - save %sp,-96,%sp - save %sp,-96,%sp -+#ifdef __sparcv9 - flushw -+#else -+ ta 3 -+#endif - restore - cfi_def_cfa_register(%fp) - cfi_window_save - -commit 626c048f32a979f77662bdcb1cca477c11d3f9c1 -Author: Aurelien Jarno -Date: Sun Nov 10 10:50:34 2024 +0100 - - elf: handle addition overflow in _dl_find_object_update_1 [BZ #32245] - - The remaining_to_add variable can be 0 if (current_used + count) wraps, - This is caught by GCC 14+ on hppa, which determines from there that - target_seg could be be NULL when remaining_to_add is zero, which in - turns causes a -Wstringop-overflow warning: - - In file included from ../include/atomic.h:49, - from dl-find_object.c:20: - In function '_dlfo_update_init_seg', - inlined from '_dl_find_object_update_1' at dl-find_object.c:689:30, - inlined from '_dl_find_object_update' at dl-find_object.c:805:13: - ../sysdeps/unix/sysv/linux/hppa/atomic-machine.h:44:4: error: '__atomic_store_4' writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=] - 44 | __atomic_store_n ((mem), (val), __ATOMIC_RELAXED); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - dl-find_object.c:644:3: note: in expansion of macro 'atomic_store_relaxed' - 644 | atomic_store_relaxed (&seg->size, new_seg_size); - | ^~~~~~~~~~~~~~~~~~~~ - In function '_dl_find_object_update': - cc1: note: destination object is likely at address zero - - In practice, this is not possible as it represent counts of link maps. - Link maps have sizes larger than 1 byte, so the sum of any two link map - counts will always fit within a size_t without wrapping around. - - This patch therefore adds a check on remaining_to_add == 0 and tell GCC - that this can not happen using __builtin_unreachable. - - Thanks to Andreas Schwab for the investigation. - - Closes: BZ #32245 - Signed-off-by: Aurelien Jarno - Tested-by: John David Anglin - Reviewed-by: Florian Weimer - (cherry picked from commit 6c915c73d08028987232f6dc718f218c61113240) - -diff --git a/NEWS b/NEWS -index dc815fb6d3..bd0b3bd66a 100644 ---- a/NEWS -+++ b/NEWS -@@ -19,6 +19,7 @@ The following bugs are resolved with this release: - [32052] Name space violation in fortify wrappers - [32137] libio: Attempt wide backup free only for non-legacy code - [32231] elf: Change ldconfig auxcache magic number -+ [32245] glibc -Wstringop-overflow= build failure on hppa - - Version 2.40 - -diff --git a/elf/dl-find_object.c b/elf/dl-find_object.c -index 449302eda3..ae18b438d3 100644 ---- a/elf/dl-find_object.c -+++ b/elf/dl-find_object.c -@@ -662,6 +662,14 @@ _dl_find_object_update_1 (struct link_map **loaded, size_t count) - = _dlfo_loaded_mappings[!active_idx]; - size_t remaining_to_add = current_used + count; - -+ /* remaining_to_add can be 0 if (current_used + count) wraps, but in practice -+ this is not possible as it represent counts of link maps. Link maps have -+ sizes larger than 1 byte, so the sum of any two link map counts will -+ always fit within a size_t without wrapping around. This check ensures -+ that target_seg is not erroneously considered potentially NULL by GCC. */ -+ if (remaining_to_add == 0) -+ __builtin_unreachable (); -+ - /* Ensure that the new segment chain has enough space. */ - { - size_t new_allocated - -commit 9b9545ba27613fa41efdfa7965b6fc580bf1b919 -Author: Michael Jeanson -Date: Thu Nov 7 22:23:49 2024 +0100 - - nptl: initialize rseq area prior to registration - - Per the rseq syscall documentation, 3 fields are required to be - initialized by userspace prior to registration, they are 'cpu_id', - 'rseq_cs' and 'flags'. Since we have no guarantee that 'struct pthread' - is cleared on all architectures, explicitly set those 3 fields prior to - registration. - - Signed-off-by: Michael Jeanson - Reviewed-by: Florian Weimer - (cherry picked from commit 97f60abd25628425971f07e9b0e7f8eec0741235) - -diff --git a/nptl/descr.h b/nptl/descr.h -index 8cef95810c..c4bdd7757a 100644 ---- a/nptl/descr.h -+++ b/nptl/descr.h -@@ -414,6 +414,8 @@ struct pthread - { - uint32_t cpu_id_start; - uint32_t cpu_id; -+ uint64_t rseq_cs; -+ uint32_t flags; - }; - char pad[32]; /* Original rseq area size. */ - } rseq_area __attribute__ ((aligned (32))); -diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h -index 7ea935b4ad..37a8f630b6 100644 ---- a/sysdeps/unix/sysv/linux/rseq-internal.h -+++ b/sysdeps/unix/sysv/linux/rseq-internal.h -@@ -51,11 +51,21 @@ rseq_register_current_thread (struct pthread *self, bool do_rseq) - /* The initial implementation used only 20 bytes out of 32, - but still expected size 32. */ - size = RSEQ_AREA_SIZE_INITIAL; -+ -+ /* Initialize the rseq fields that are read by the kernel on -+ registration, there is no guarantee that struct pthread is -+ cleared on all architectures. */ -+ THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_UNINITIALIZED); -+ THREAD_SETMEM (self, rseq_area.rseq_cs, 0); -+ THREAD_SETMEM (self, rseq_area.flags, 0); -+ - int ret = INTERNAL_SYSCALL_CALL (rseq, &self->rseq_area, - size, 0, RSEQ_SIG); - if (!INTERNAL_SYSCALL_ERROR_P (ret)) - return true; - } -+ /* When rseq is disabled by tunables or the registration fails, inform -+ userspace by setting 'cpu_id' to RSEQ_CPU_ID_REGISTRATION_FAILED. */ - THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_REGISTRATION_FAILED); - return false; - } - -commit 091dd12831792cef16eee24fe240c73a25b47a1d -Author: Michael Jeanson -Date: Wed Nov 20 14:15:42 2024 -0500 - - nptl: initialize cpu_id_start prior to rseq registration - - When adding explicit initialization of rseq fields prior to - registration, I glossed over the fact that 'cpu_id_start' is also - documented as initialized by user-space. - - While current kernels don't validate the content of this field on - registration, future ones could. - - Signed-off-by: Michael Jeanson - Reviewed-by: Mathieu Desnoyers - (cherry picked from commit d9f40387d3305d97e30a8cf8724218c42a63680a) - -diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h -index 37a8f630b6..ef3eab1fef 100644 ---- a/sysdeps/unix/sysv/linux/rseq-internal.h -+++ b/sysdeps/unix/sysv/linux/rseq-internal.h -@@ -56,6 +56,7 @@ rseq_register_current_thread (struct pthread *self, bool do_rseq) - registration, there is no guarantee that struct pthread is - cleared on all architectures. */ - THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_UNINITIALIZED); -+ THREAD_SETMEM (self, rseq_area.cpu_id_start, 0); - THREAD_SETMEM (self, rseq_area.rseq_cs, 0); - THREAD_SETMEM (self, rseq_area.flags, 0); - - -commit c6cdab1e01bc11bc4036dc5b1be6086f6259c123 -Author: Sam James -Date: Mon Dec 9 23:11:25 2024 +0000 - - malloc: add indirection for malloc(-like) functions in tests [BZ #32366] - - GCC 15 introduces allocation dead code removal (DCE) for PR117370 in - r15-5255-g7828dc070510f8. This breaks various glibc tests which want - to assert various properties of the allocator without doing anything - obviously useful with the allocated memory. - - Alexander Monakov rightly pointed out that we can and should do better - than passing -fno-malloc-dce to paper over the problem. Not least because - GCC 14 already does such DCE where there's no testing of malloc's return - value against NULL, and LLVM has such optimisations too. - - Handle this by providing malloc (and friends) wrappers with a volatile - function pointer to obscure that we're calling malloc (et. al) from the - compiler. - - Reviewed-by: Paul Eggert - (cherry picked from commit a9944a52c967ce76a5894c30d0274b824df43c7a) - -diff --git a/malloc/tst-aligned-alloc.c b/malloc/tst-aligned-alloc.c -index 91167d1392..b0f05a8fec 100644 ---- a/malloc/tst-aligned-alloc.c -+++ b/malloc/tst-aligned-alloc.c -@@ -25,6 +25,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - static int - do_test (void) - { -diff --git a/malloc/tst-compathooks-off.c b/malloc/tst-compathooks-off.c -index d0106f3fb7..4cce6e5a80 100644 ---- a/malloc/tst-compathooks-off.c -+++ b/malloc/tst-compathooks-off.c -@@ -25,6 +25,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - extern void (*volatile __free_hook) (void *, const void *); - extern void *(*volatile __malloc_hook)(size_t, const void *); - extern void *(*volatile __realloc_hook)(void *, size_t, const void *); -diff --git a/malloc/tst-malloc-aux.h b/malloc/tst-malloc-aux.h -new file mode 100644 -index 0000000000..54908b4a24 ---- /dev/null -+++ b/malloc/tst-malloc-aux.h -@@ -0,0 +1,41 @@ -+/* Wrappers for malloc-like functions to allow testing the implementation -+ without optimization. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public License as -+ published by the Free Software Foundation; either version 2.1 of the -+ License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; see the file COPYING.LIB. If -+ not, see . */ -+ -+#ifndef TST_MALLOC_AUX_H -+#define TST_MALLOC_AUX_H -+ -+#include -+#include -+ -+static void *(*volatile aligned_alloc_indirect)(size_t, size_t) = aligned_alloc; -+static void *(*volatile calloc_indirect)(size_t, size_t) = calloc; -+static void *(*volatile malloc_indirect)(size_t) = malloc; -+static void *(*volatile realloc_indirect)(void*, size_t) = realloc; -+ -+#undef aligned_alloc -+#undef calloc -+#undef malloc -+#undef realloc -+ -+#define aligned_alloc aligned_alloc_indirect -+#define calloc calloc_indirect -+#define malloc malloc_indirect -+#define realloc realloc_indirect -+ -+#endif /* TST_MALLOC_AUX_H */ -diff --git a/malloc/tst-malloc-check.c b/malloc/tst-malloc-check.c -index fde8863ad7..cc88bff3b3 100644 ---- a/malloc/tst-malloc-check.c -+++ b/malloc/tst-malloc-check.c -@@ -20,6 +20,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - static int errors = 0; - - static void -diff --git a/malloc/tst-malloc-too-large.c b/malloc/tst-malloc-too-large.c -index 8e9e0d5fa2..2b91377e54 100644 ---- a/malloc/tst-malloc-too-large.c -+++ b/malloc/tst-malloc-too-large.c -@@ -43,6 +43,7 @@ - #include - #include - -+#include "tst-malloc-aux.h" - - /* This function prepares for each 'too-large memory allocation' test by - performing a small successful malloc/free and resetting errno prior to -diff --git a/malloc/tst-malloc.c b/malloc/tst-malloc.c -index f7a6e4654c..68af399022 100644 ---- a/malloc/tst-malloc.c -+++ b/malloc/tst-malloc.c -@@ -22,6 +22,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - static int errors = 0; - - static void -diff --git a/malloc/tst-realloc.c b/malloc/tst-realloc.c -index f50499ecb1..74a28fb45e 100644 ---- a/malloc/tst-realloc.c -+++ b/malloc/tst-realloc.c -@@ -23,6 +23,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - static int - do_test (void) - { -diff --git a/support/support.h b/support/support.h -index ba21ec9b5a..1a77f79793 100644 ---- a/support/support.h -+++ b/support/support.h -@@ -113,7 +113,7 @@ void *xposix_memalign (size_t alignment, size_t n) - __attribute_malloc__ __attribute_alloc_align__ ((1)) - __attribute_alloc_size__ ((2)) __attr_dealloc_free __returns_nonnull; - char *xasprintf (const char *format, ...) -- __attribute__ ((format (printf, 1, 2), malloc)) __attr_dealloc_free -+ __attribute__ ((format (printf, 1, 2), __malloc__)) __attr_dealloc_free - __returns_nonnull; - char *xstrdup (const char *) __attr_dealloc_free __returns_nonnull; - char *xstrndup (const char *, size_t) __attr_dealloc_free __returns_nonnull; -diff --git a/test-skeleton.c b/test-skeleton.c -index ae185a4f28..690f26e7cf 100644 ---- a/test-skeleton.c -+++ b/test-skeleton.c -@@ -27,7 +27,6 @@ - #include - #include - #include --#include - #include - #include - #include - -commit 846e64257e5fc9b5b723c2eec2b7155ab5944d1f -Author: Adhemerval Zanella -Date: Fri Sep 13 11:10:05 2024 -0300 - - support: Make support_process_state_wait return the found state - - So caller can check which state was found if multiple ones are - asked. - - Checked on x86_64-linux-gnu. - - Reviewed-by: Florian Weimer - (cherry picked from commit 38316352e0f742f3a2b5816a61a4b603cb5573f8) - (cherry picked from commit 2e38c5a090b3a54040b6e508d42e5a76e492c6e8) - -diff --git a/support/process_state.h b/support/process_state.h -index 1cf902e91b..9541d8c343 100644 ---- a/support/process_state.h -+++ b/support/process_state.h -@@ -31,13 +31,16 @@ enum support_process_state - support_process_state_dead = 0x20, /* X (dead). */ - support_process_state_zombie = 0x40, /* Z (zombie). */ - support_process_state_parked = 0x80, /* P (parked). */ -+ support_process_state_invalid = 0x100 /* Invalid state. */ - }; - - /* Wait for process PID to reach state STATE. It can be a combination of - multiple possible states ('process_state_running | process_state_sleeping') - where the function return when any of these state are observed. - For an invalid state not represented by SUPPORT_PROCESS_STATE, it fallbacks -- to a 2 second sleep. */ --void support_process_state_wait (pid_t pid, enum support_process_state state); -+ to a 2 second sleep. -+ Return the found process state. */ -+enum support_process_state -+support_process_state_wait (pid_t pid, enum support_process_state state); - - #endif -diff --git a/support/support_process_state.c b/support/support_process_state.c -index 062335234f..ae8e0a531c 100644 ---- a/support/support_process_state.c -+++ b/support/support_process_state.c -@@ -27,7 +27,7 @@ - #include - #include - --void -+enum support_process_state - support_process_state_wait (pid_t pid, enum support_process_state state) - { - #ifdef __linux__ -@@ -75,7 +75,7 @@ support_process_state_wait (pid_t pid, enum support_process_state state) - { - free (line); - xfclose (fstatus); -- return; -+ return process_states[i].s; - } - - rewind (fstatus); -@@ -90,4 +90,6 @@ support_process_state_wait (pid_t pid, enum support_process_state state) - /* Fallback to nanosleep if an invalid state is found. */ - #endif - nanosleep (&(struct timespec) { 1, 0 }, NULL); -+ -+ return support_process_state_invalid; - } -diff --git a/support/tst-support-process_state.c b/support/tst-support-process_state.c -index d73269320f..4a88eae3a7 100644 ---- a/support/tst-support-process_state.c -+++ b/support/tst-support-process_state.c -@@ -68,28 +68,39 @@ do_test (void) - if (test_verbose) - printf ("info: waiting pid %d, state_stopped/state_tracing_stop\n", - (int) pid); -- support_process_state_wait (pid, stop_state); -+ { -+ enum support_process_state state = -+ support_process_state_wait (pid, stop_state); -+ TEST_VERIFY (state == support_process_state_stopped -+ || state == support_process_state_tracing_stop); -+ } - - if (kill (pid, SIGCONT) != 0) - FAIL_RET ("kill (%d, SIGCONT): %m\n", pid); - - if (test_verbose) - printf ("info: waiting pid %d, state_sleeping\n", (int) pid); -- support_process_state_wait (pid, support_process_state_sleeping); -+ TEST_COMPARE (support_process_state_wait (pid, -+ support_process_state_sleeping), -+ support_process_state_sleeping); - - if (kill (pid, SIGUSR1) != 0) - FAIL_RET ("kill (%d, SIGUSR1): %m\n", pid); - - if (test_verbose) - printf ("info: waiting pid %d, state_running\n", (int) pid); -- support_process_state_wait (pid, support_process_state_running); -+ TEST_COMPARE (support_process_state_wait (pid, -+ support_process_state_running), -+ support_process_state_running); - - if (kill (pid, SIGKILL) != 0) - FAIL_RET ("kill (%d, SIGKILL): %m\n", pid); - - if (test_verbose) - printf ("info: waiting pid %d, state_zombie\n", (int) pid); -- support_process_state_wait (pid, support_process_state_zombie); -+ TEST_COMPARE (support_process_state_wait (pid, -+ support_process_state_zombie), -+ support_process_state_zombie);; - - siginfo_t info; - int r = waitid (P_PID, pid, &info, WEXITED); - -commit 11d9f49cebe64939f50e16a59c9ebefb80a294ab -Author: Adhemerval Zanella -Date: Fri Sep 13 11:11:56 2024 -0300 - - sparc: Fix restartable syscalls (BZ 32173) - - The commit 'sparc: Use Linux kABI for syscall return' - (86c5d2cf0ce046279baddc7faa27da71f1a89fde) did not take into account - a subtle sparc syscall kABI constraint. For syscalls that might block - indefinitely, on an interrupt (like SIGCONT) the kernel will set the - instruction pointer to just before the syscall: - - arch/sparc/kernel/signal_64.c - 476 static void do_signal(struct pt_regs *regs, unsigned long orig_i0) - 477 { - [...] - 525 if (restart_syscall) { - 526 switch (regs->u_regs[UREG_I0]) { - 527 case ERESTARTNOHAND: - 528 case ERESTARTSYS: - 529 case ERESTARTNOINTR: - 530 /* replay the system call when we are done */ - 531 regs->u_regs[UREG_I0] = orig_i0; - 532 regs->tpc -= 4; - 533 regs->tnpc -= 4; - 534 pt_regs_clear_syscall(regs); - 535 fallthrough; - 536 case ERESTART_RESTARTBLOCK: - 537 regs->u_regs[UREG_G1] = __NR_restart_syscall; - 538 regs->tpc -= 4; - 539 regs->tnpc -= 4; - 540 pt_regs_clear_syscall(regs); - 541 } - - However, on a SIGCONT it seems that 'g1' register is being clobbered after the - syscall returns. Before 86c5d2cf0ce046279, the 'g1' was always placed jus - before the 'ta' instruction which then reloads the syscall number and restarts - the syscall. - - On master, where 'g1' might be placed before 'ta': - - $ cat test.c - #include - - int main () - { - pause (); - } - $ gcc test.c -o test - $ strace -f ./t - [...] - ppoll(NULL, 0, NULL, NULL, 0 - - On another terminal - - $ kill -STOP 2262828 - - $ strace -f ./t - [...] - --- SIGSTOP {si_signo=SIGSTOP, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- - --- stopped by SIGSTOP --- - - And then - - $ kill -CONT 2262828 - - Results in: - - --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- - restart_syscall(<... resuming interrupted ppoll ...>) = -1 EINTR (Interrupted system call) - - Where the expected behaviour would be: - - $ strace -f ./t - [...] - ppoll(NULL, 0, NULL, NULL, 0) = ? ERESTARTNOHAND (To be restarted if no handler) - --- SIGSTOP {si_signo=SIGSTOP, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- - --- stopped by SIGSTOP --- - --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=2521813, si_uid=8289} --- - ppoll(NULL, 0, NULL, NULL, 0 - - Just moving the 'g1' setting near the syscall asm is not suffice, - the compiler might optimize it away (as I saw on cancellation.c by - trying this fix). Instead, I have change the inline asm to put the - 'g1' setup in ithe asm block. This would require to change the asm - constraint for INTERNAL_SYSCALL_NCS, since the syscall number is not - constant. - - Checked on sparc64-linux-gnu. - - Reported-by: René Rebe - Tested-by: Sam James - Reviewed-by: Sam James - (cherry picked from commit 2c1903cbbac0022153a67776f474c221250ad6ed) - (cherry picked from commit 1cd7e13289b91e1495a1865c1f678196d1bb7be4) - -diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile -index 59998c7af4..34890ef69a 100644 ---- a/sysdeps/unix/sysv/linux/Makefile -+++ b/sysdeps/unix/sysv/linux/Makefile -@@ -227,6 +227,7 @@ tests += \ - tst-scm_rights \ - tst-sigtimedwait \ - tst-sync_file_range \ -+ tst-syscall-restart \ - tst-sysconf-iov_max \ - tst-sysvmsg-linux \ - tst-sysvsem-linux \ -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h -index d2d68f5312..c2ffbb5c8f 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h -+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h -@@ -107,6 +107,7 @@ ENTRY(name); \ - #else /* __ASSEMBLER__ */ - - #define __SYSCALL_STRING \ -+ "mov %[scn], %%g1;" \ - "ta 0x10;" \ - "bcc 1f;" \ - " nop;" \ -@@ -114,7 +115,7 @@ ENTRY(name); \ - "1:" - - #define __SYSCALL_CLOBBERS \ -- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ -+ "g1", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ - "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ - "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ - "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ -diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h -index 96047424e9..5598fab08a 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h -+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h -@@ -106,6 +106,7 @@ ENTRY(name); \ - #else /* __ASSEMBLER__ */ - - #define __SYSCALL_STRING \ -+ "mov %[scn], %%g1;" \ - "ta 0x6d;" \ - "bcc,pt %%xcc, 1f;" \ - " nop;" \ -@@ -113,7 +114,7 @@ ENTRY(name); \ - "1:" - - #define __SYSCALL_CLOBBERS \ -- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ -+ "g1", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ - "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ - "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ - "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ -diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h -index dcabb57fe2..c287740a8c 100644 ---- a/sysdeps/unix/sysv/linux/sparc/sysdep.h -+++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h -@@ -50,97 +50,109 @@ - - #undef INTERNAL_SYSCALL_NCS - #define INTERNAL_SYSCALL_NCS(name, nr, args...) \ -- internal_syscall##nr(__SYSCALL_STRING, name, args) -+ _internal_syscall##nr(__SYSCALL_STRING, "p", name, args) - --#define internal_syscall0(string,name,dummy...) \ -+#define _internal_syscall0(string,nc,name,dummy...) \ - ({ \ -- register long int __g1 __asm__ ("g1") = (name); \ - register long __o0 __asm__ ("o0"); \ -+ long int _name = (long int) (name); \ - __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1) : \ -+ [scn] nc (_name) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall0(string,name,args...) \ -+ _internal_syscall0(string, "i", name, args) - --#define internal_syscall1(string,name,arg1) \ -+#define _internal_syscall1(string,nc,name,arg1) \ - ({ \ - long int _arg1 = (long int) (arg1); \ -- register long int __g1 __asm__("g1") = (name); \ -+ long int _name = (long int) (name); \ - register long int __o0 __asm__ ("o0") = _arg1; \ -- __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1), "0" (__o0) : \ -+ __asm __volatile (string : "+r" (__o0) : \ -+ [scn] nc (_name) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall1(string,name,args...) \ -+ _internal_syscall1(string, "i", name, args) - --#define internal_syscall2(string,name,arg1,arg2) \ -+#define _internal_syscall2(string,nc,name,arg1,arg2) \ - ({ \ - long int _arg1 = (long int) (arg1); \ - long int _arg2 = (long int) (arg2); \ -- register long int __g1 __asm__("g1") = (name); \ -+ long int _name = (long int) (name); \ - register long int __o0 __asm__ ("o0") = _arg1; \ - register long int __o1 __asm__ ("o1") = _arg2; \ -- __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1), "0" (__o0), "r" (__o1) : \ -+ __asm __volatile (string : "+r" (__o0) : \ -+ [scn] nc (_name), "r" (__o1) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall2(string,name,args...) \ -+ _internal_syscall2(string, "i", name, args) - --#define internal_syscall3(string,name,arg1,arg2,arg3) \ -+#define _internal_syscall3(string,nc,name,arg1,arg2,arg3) \ - ({ \ - long int _arg1 = (long int) (arg1); \ - long int _arg2 = (long int) (arg2); \ - long int _arg3 = (long int) (arg3); \ -- register long int __g1 __asm__("g1") = (name); \ -+ long int _name = (long int) (name); \ - register long int __o0 __asm__ ("o0") = _arg1; \ - register long int __o1 __asm__ ("o1") = _arg2; \ - register long int __o2 __asm__ ("o2") = _arg3; \ -- __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1), "0" (__o0), "r" (__o1), \ -+ __asm __volatile (string : "+r" (__o0) : \ -+ [scn] nc (_name), "r" (__o1), \ - "r" (__o2) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall3(string,name,args...) \ -+ _internal_syscall3(string, "i", name, args) - --#define internal_syscall4(string,name,arg1,arg2,arg3,arg4) \ -+#define _internal_syscall4(string,nc,name,arg1,arg2,arg3,arg4) \ - ({ \ - long int _arg1 = (long int) (arg1); \ - long int _arg2 = (long int) (arg2); \ - long int _arg3 = (long int) (arg3); \ - long int _arg4 = (long int) (arg4); \ -- register long int __g1 __asm__("g1") = (name); \ -+ long int _name = (long int) (name); \ - register long int __o0 __asm__ ("o0") = _arg1; \ - register long int __o1 __asm__ ("o1") = _arg2; \ - register long int __o2 __asm__ ("o2") = _arg3; \ - register long int __o3 __asm__ ("o3") = _arg4; \ -- __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1), "0" (__o0), "r" (__o1), \ -+ __asm __volatile (string : "+r" (__o0) : \ -+ [scn] nc (_name), "r" (__o1), \ - "r" (__o2), "r" (__o3) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall4(string,name,args...) \ -+ _internal_syscall4(string, "i", name, args) - --#define internal_syscall5(string,name,arg1,arg2,arg3,arg4,arg5) \ -+#define _internal_syscall5(string,nc,name,arg1,arg2,arg3,arg4,arg5) \ - ({ \ - long int _arg1 = (long int) (arg1); \ - long int _arg2 = (long int) (arg2); \ - long int _arg3 = (long int) (arg3); \ - long int _arg4 = (long int) (arg4); \ - long int _arg5 = (long int) (arg5); \ -- register long int __g1 __asm__("g1") = (name); \ -+ long int _name = (long int) (name); \ - register long int __o0 __asm__ ("o0") = _arg1; \ - register long int __o1 __asm__ ("o1") = _arg2; \ - register long int __o2 __asm__ ("o2") = _arg3; \ - register long int __o3 __asm__ ("o3") = _arg4; \ - register long int __o4 __asm__ ("o4") = _arg5; \ -- __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1), "0" (__o0), "r" (__o1), \ -+ __asm __volatile (string : "+r" (__o0) : \ -+ [scn] nc (_name), "r" (__o1), \ - "r" (__o2), "r" (__o3), "r" (__o4) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall5(string,name,args...) \ -+ _internal_syscall5(string, "i", name, args) - --#define internal_syscall6(string,name,arg1,arg2,arg3,arg4,arg5,arg6) \ -+#define _internal_syscall6(string,nc,name,arg1,arg2,arg3,arg4,arg5,arg6)\ - ({ \ - long int _arg1 = (long int) (arg1); \ - long int _arg2 = (long int) (arg2); \ -@@ -148,20 +160,22 @@ - long int _arg4 = (long int) (arg4); \ - long int _arg5 = (long int) (arg5); \ - long int _arg6 = (long int) (arg6); \ -- register long int __g1 __asm__("g1") = (name); \ -+ long int _name = (long int) (name); \ - register long int __o0 __asm__ ("o0") = _arg1; \ - register long int __o1 __asm__ ("o1") = _arg2; \ - register long int __o2 __asm__ ("o2") = _arg3; \ - register long int __o3 __asm__ ("o3") = _arg4; \ - register long int __o4 __asm__ ("o4") = _arg5; \ - register long int __o5 __asm__ ("o5") = _arg6; \ -- __asm __volatile (string : "=r" (__o0) : \ -- "r" (__g1), "0" (__o0), "r" (__o1), \ -+ __asm __volatile (string : "+r" (__o0) : \ -+ [scn] nc (_name), "r" (__o1), \ - "r" (__o2), "r" (__o3), "r" (__o4), \ - "r" (__o5) : \ - __SYSCALL_CLOBBERS); \ - __o0; \ - }) -+#define internal_syscall6(string,name,args...) \ -+ _internal_syscall6(string, "i", name, args) - - #define INLINE_CLONE_SYSCALL(arg1,arg2,arg3,arg4,arg5) \ - ({ \ -@@ -170,15 +184,15 @@ - long int _arg3 = (long int) (arg3); \ - long int _arg4 = (long int) (arg4); \ - long int _arg5 = (long int) (arg5); \ -+ long int _name = __NR_clone; \ - register long int __o0 __asm__ ("o0") = _arg1; \ - register long int __o1 __asm__ ("o1") = _arg2; \ - register long int __o2 __asm__ ("o2") = _arg3; \ - register long int __o3 __asm__ ("o3") = _arg4; \ - register long int __o4 __asm__ ("o4") = _arg5; \ -- register long int __g1 __asm__ ("g1") = __NR_clone; \ - __asm __volatile (__SYSCALL_STRING : \ - "=r" (__o0), "=r" (__o1) : \ -- "r" (__g1), "0" (__o0), "1" (__o1), \ -+ [scn] "i" (_name), "0" (__o0), "1" (__o1), \ - "r" (__o2), "r" (__o3), "r" (__o4) : \ - __SYSCALL_CLOBBERS); \ - if (__glibc_unlikely ((unsigned long int) (__o0) > -4096UL)) \ -diff --git a/sysdeps/unix/sysv/linux/tst-syscall-restart.c b/sysdeps/unix/sysv/linux/tst-syscall-restart.c -new file mode 100644 -index 0000000000..84a8a41b5c ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/tst-syscall-restart.c -@@ -0,0 +1,112 @@ -+/* Test if a syscall is correctly restarted. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static int -+check_pid (pid_t pid) -+{ -+ /* Wait until the child has called pause and it blocking on kernel. */ -+ support_process_state_wait (pid, support_process_state_sleeping); -+ -+ TEST_COMPARE (kill (pid, SIGSTOP), 0); -+ -+ /* Adding process_state_tracing_stop ('t') allows the test to work under -+ trace programs such as ptrace. */ -+ support_process_state_wait (pid, support_process_state_stopped -+ | support_process_state_tracing_stop); -+ -+ TEST_COMPARE (kill (pid, SIGCONT), 0); -+ -+ enum support_process_state state -+ = support_process_state_wait (pid, support_process_state_sleeping -+ | support_process_state_zombie); -+ -+ TEST_COMPARE (state, support_process_state_sleeping); -+ -+ TEST_COMPARE (kill (pid, SIGTERM), 0); -+ -+ siginfo_t info; -+ TEST_COMPARE (waitid (P_PID, pid, &info, WEXITED), 0); -+ TEST_COMPARE (info.si_signo, SIGCHLD); -+ TEST_COMPARE (info.si_code, CLD_KILLED); -+ TEST_COMPARE (info.si_status, SIGTERM); -+ TEST_COMPARE (info.si_pid, pid); -+ -+ return 0; -+} -+ -+static void * -+tf (void *) -+{ -+ pause (); -+ return NULL; -+} -+ -+static void -+child_mt (void) -+{ -+ /* Let only the created thread to handle signals. */ -+ sigset_t set; -+ sigfillset (&set); -+ xpthread_sigmask (SIG_BLOCK, &set, NULL); -+ -+ sigdelset (&set, SIGSTOP); -+ sigdelset (&set, SIGCONT); -+ sigdelset (&set, SIGTERM); -+ -+ pthread_attr_t attr; -+ xpthread_attr_init (&attr); -+ TEST_COMPARE (pthread_attr_setsigmask_np (&attr, &set), 0); -+ -+ xpthread_join (xpthread_create (&attr, tf, NULL)); -+} -+ -+static void -+do_test_syscall (bool multithread) -+{ -+ pid_t pid = xfork (); -+ if (pid == 0) -+ { -+ if (multithread) -+ child_mt (); -+ else -+ pause (); -+ _exit (127); -+ } -+ -+ check_pid (pid); -+} -+ -+static int -+do_test (void) -+{ -+ /* Check for both single and multi thread, since they use different syscall -+ mechanisms. */ -+ do_test_syscall (false); -+ do_test_syscall (true); -+ -+ return 0; -+} -+ -+#include - -commit 9af64ca64c532b7e42a40b48fe5e01726a9b7943 -Author: H.J. Lu -Date: Thu Dec 5 08:39:44 2024 +0800 - - math: Exclude internal math symbols for tests [BZ #32414] - - Since internal tests don't have access to internal symbols in libm, - exclude them for internal tests. Also make tst-strtod5 and tst-strtod5i - depend on $(libm) to support older versions of GCC which can't inline - copysign family functions. This fixes BZ #32414. - - Signed-off-by: H.J. Lu - Reviewed-by: Sunil K Pandey - (cherry picked from commit 5df09b444835fca6e64b3d4b4a5beb19b3b2ba21) - -diff --git a/include/math.h b/include/math.h -index fa11a710a6..035fd160ff 100644 ---- a/include/math.h -+++ b/include/math.h -@@ -130,7 +130,10 @@ fabsf128 (_Float128 x) - } - # endif - --# if !(defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) -+ -+/* NB: Internal tests don't have access to internal symbols. */ -+# if !IS_IN (testsuite_internal) \ -+ && !(defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0) - # ifndef NO_MATH_REDIRECT - /* Declare some functions for use within GLIBC. Compilers typically - inline those functions as a single instruction. Use an asm to -diff --git a/stdlib/Makefile b/stdlib/Makefile -index 8b0ac63ddb..8213fa83ef 100644 ---- a/stdlib/Makefile -+++ b/stdlib/Makefile -@@ -603,6 +603,8 @@ $(objpfx)bug-strtod2: $(libm) - $(objpfx)tst-strtod-round: $(libm) - $(objpfx)tst-tininess: $(libm) - $(objpfx)tst-strtod-underflow: $(libm) -+$(objpfx)tst-strtod5: $(libm) -+$(objpfx)tst-strtod5i: $(libm) - $(objpfx)tst-strtod6: $(libm) - $(objpfx)tst-strtod-nan-locale: $(libm) - $(objpfx)tst-strtod-nan-sign: $(libm) - -commit 0b39fe801208e805cc911f64a2fdd25d04b7151e -Author: Adhemerval Zanella -Date: Fri Oct 18 08:48:22 2024 -0300 - - linux: Fix tst-syscall-restart.c on old gcc (BZ 32283) - - To avoid a parameter name omitted error. - - (cherry picked from commit ab564362d0470d10947c24155ec048c4e14a009d) - -diff --git a/sysdeps/unix/sysv/linux/tst-syscall-restart.c b/sysdeps/unix/sysv/linux/tst-syscall-restart.c -index 84a8a41b5c..0ee7dc8517 100644 ---- a/sysdeps/unix/sysv/linux/tst-syscall-restart.c -+++ b/sysdeps/unix/sysv/linux/tst-syscall-restart.c -@@ -57,7 +57,7 @@ check_pid (pid_t pid) - } - - static void * --tf (void *) -+tf (void *closure) - { - pause (); - return NULL; - -commit 94e4a8c7d68129075f1b494a0b26151a4f989b36 -Author: Florian Weimer -Date: Tue Dec 17 18:12:03 2024 +0100 - - x86: Avoid integer truncation with large cache sizes (bug 32470) - - Some hypervisors report 1 TiB L3 cache size. This results - in some variables incorrectly getting zeroed, causing crashes - in memcpy/memmove because invariants are violated. - - (cherry picked from commit 61c3450db96dce96ad2b24b4f0b548e6a46d68e5) - -diff --git a/NEWS b/NEWS -index bd0b3bd66a..97a1e1f5d4 100644 ---- a/NEWS -+++ b/NEWS -@@ -20,6 +20,7 @@ The following bugs are resolved with this release: - [32137] libio: Attempt wide backup free only for non-legacy code - [32231] elf: Change ldconfig auxcache magic number - [32245] glibc -Wstringop-overflow= build failure on hppa -+ [32470] x86: Avoid integer truncation with large cache sizes - - Version 2.40 - -diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h -index a1c03b8903..ac97414b5b 100644 ---- a/sysdeps/x86/dl-cacheinfo.h -+++ b/sysdeps/x86/dl-cacheinfo.h -@@ -961,11 +961,11 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - non_temporal_threshold = maximum_non_temporal_threshold; - - /* NB: The REP MOVSB threshold must be greater than VEC_SIZE * 8. */ -- unsigned int minimum_rep_movsb_threshold; -+ unsigned long int minimum_rep_movsb_threshold; - /* NB: The default REP MOVSB threshold is 4096 * (VEC_SIZE / 16) for - VEC_SIZE == 64 or 32. For VEC_SIZE == 16, the default REP MOVSB - threshold is 2048 * (VEC_SIZE / 16). */ -- unsigned int rep_movsb_threshold; -+ unsigned long int rep_movsb_threshold; - if (CPU_FEATURE_USABLE_P (cpu_features, AVX512F) - && !CPU_FEATURE_PREFERRED_P (cpu_features, Prefer_No_AVX512)) - { - -commit 9fbfbd924f718663d5303858f34d1f857c375093 -Author: John David Anglin -Date: Thu Dec 19 11:30:09 2024 -0500 - - hppa: Fix strace detach-vfork test - - This change implements vfork.S for direct support of the vfork - syscall. clone.S is revised to correct child support for the - vfork case. - - The main bug was creating a frame prior to the clone syscall. - This was done to allow the rp and r4 registers to be saved and - restored from the stack frame. r4 was used to save and restore - the PIC register, r19, across the system call and the call to - set errno. But in the vfork case, it is undefined behavior - for the child to return from the function in which vfork was - called. It is surprising that this usually worked. - - Syscalls on hppa save and restore rp and r19, so we don't need - to create a frame prior to the clone syscall. We only need a - frame when __syscall_error is called. We also don't need to - save and restore r19 around the call to $$dyncall as r19 is not - used in the code after $$dyncall. - - This considerably simplifies clone.S. - - Signed-off-by: John David Anglin - -diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S -index a31afea429..c18163d0f7 100644 ---- a/sysdeps/unix/sysv/linux/hppa/clone.S -+++ b/sysdeps/unix/sysv/linux/hppa/clone.S -@@ -59,16 +59,6 @@ - - .text - ENTRY(__clone) -- /* Prologue */ -- stwm %r4, 64(%sp) -- .cfi_def_cfa_offset -64 -- .cfi_offset 4, 0 -- stw %sp, -4(%sp) --#ifdef PIC -- stw %r19, -32(%sp) -- .cfi_offset 19, 32 --#endif -- - /* Sanity check arguments. */ - comib,=,n 0,%arg0,.LerrorSanity /* no NULL function pointers */ - comib,=,n 0,%arg1,.LerrorSanity /* no NULL stack pointers */ -@@ -87,54 +77,34 @@ ENTRY(__clone) - /* User stack pointer is in the correct register already */ - - /* Load args from stack... */ -- ldw -116(%sp), %r24 /* Load parent_tidptr */ -- ldw -120(%sp), %r23 /* Load newtls */ -- ldw -124(%sp), %r22 /* Load child_tidptr */ -- -- /* Save the PIC register. */ --#ifdef PIC -- copy %r19, %r4 /* parent */ --#endif -+ ldw -52(%sp), %r24 /* Load parent_tidptr */ -+ ldw -56(%sp), %r23 /* Load newtls */ -+ ldw -60(%sp), %r22 /* Load child_tidptr */ - - /* Do the system call */ - ble 0x100(%sr2, %r0) - ldi __NR_clone, %r20 - - ldi -4096, %r1 -- comclr,>>= %r1, %ret0, %r0 /* Note: unsigned compare. */ -- b,n .LerrorRest -- -- /* Restore the PIC register. */ --#ifdef PIC -- copy %r4, %r19 /* parent */ --#endif -- -+ comb,<<,n %r1, %ret0, .LerrorRest /* Note: unsigned compare. */ - comib,=,n 0, %ret0, .LthreadStart -- -- /* Successful return from the parent -- No need to restore the PIC register, -- since we return immediately. */ -- -- ldw -84(%sp), %rp -- bv %r0(%rp) -- ldwm -64(%sp), %r4 -+ bv,n %r0(%rp) - - .LerrorRest: -- /* Something bad happened -- no child created */ -+ /* Something bad happened -- no child created -- need a frame */ -+ ldo 64(%sp),%sp -+ .cfi_def_cfa_offset -64 - bl __syscall_error, %rp - sub %r0, %ret0, %arg0 - ldw -84(%sp), %rp - /* Return after setting errno, ret0 is set to -1 by __syscall_error. */ - bv %r0(%rp) -- ldwm -64(%sp), %r4 -+ ldo -64(%sp), %sp - - .LerrorSanity: - /* Sanity checks failed, return -1, and set errno to EINVAL. */ -- bl __syscall_error, %rp -- ldi EINVAL, %arg0 -- ldw -84(%sp), %rp -- bv %r0(%rp) -- ldwm -64(%sp), %r4 -+ b .LerrorRest -+ ldi -EINVAL, %ret0 - - .LthreadStart: - /* Load up the arguments. */ -@@ -144,14 +114,8 @@ ENTRY(__clone) - /* $$dyncall fixes child's PIC register */ - - /* Call the user's function */ --#ifdef PIC -- copy %r19, %r4 --#endif - bl $$dyncall, %r31 - copy %r31, %rp --#ifdef PIC -- copy %r4, %r19 --#endif - copy %r28, %r26 - ble 0x100(%sr2, %r0) - ldi __NR_exit, %r20 -diff --git a/sysdeps/unix/sysv/linux/hppa/vfork.S b/sysdeps/unix/sysv/linux/hppa/vfork.S -new file mode 100644 -index 0000000000..5fd368f3cf ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/hppa/vfork.S -@@ -0,0 +1,53 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public License as -+ published by the Free Software Foundation; either version 2.1 of the -+ License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#define _ERRNO_H 1 -+#include -+ -+/* Clone the calling process, but without copying the whole address space. -+ The calling process is suspended until the new process exits or is -+ replaced by a call to `execve'. Return -1 for errors, 0 to the new process, -+ and the process ID of the new process to the old process. */ -+ -+ENTRY (__vfork) -+ ble 0x100(%sr2, %r0) -+ ldi __NR_vfork, %r20 -+ -+ ldi -4096, %r1 -+ comclr,<< %r1, %ret0, %r0 /* Note: unsigned compare. */ -+ bv,n %r0(%rp) -+ -+ /* Something bad happened -- no child created -- we need a frame */ -+ ldo 64(%sp), %sp -+ .cfi_def_cfa_offset -64 -+ -+ /* Set errno */ -+ bl __syscall_error, %rp -+ sub %r0, %ret0, %arg0 -+ -+ /* ret0 is set to -1 by __syscall_error */ -+ ldw -84(%sp), %rp -+ bv %r0(%rp) -+ ldo -64(%sp), %sp -+ -+PSEUDO_END (__vfork) -+libc_hidden_def (__vfork) -+ -+weak_alias (__vfork, vfork) -+strong_alias (__vfork, __libc_vfork) - -commit 7648e3c8e80b3f1b3b43506b2fbe370e4824ab97 -Author: John David Anglin -Date: Sun Dec 22 09:58:02 2024 -0500 - - hppa: Simplify handling of sanity check errors in clone.S. - - This simplifies the handling of sanity check errors in clone.S. - Adjusted a couple of comments to reflect current code. - - Signed-off-by: John David Anglin - -diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S -index c18163d0f7..e85e7f517f 100644 ---- a/sysdeps/unix/sysv/linux/hppa/clone.S -+++ b/sysdeps/unix/sysv/linux/hppa/clone.S -@@ -90,6 +90,10 @@ ENTRY(__clone) - comib,=,n 0, %ret0, .LthreadStart - bv,n %r0(%rp) - -+.LerrorSanity: -+ /* Sanity checks failed, set errno to EINVAL. */ -+ ldi -EINVAL, %ret0 -+ - .LerrorRest: - /* Something bad happened -- no child created -- need a frame */ - ldo 64(%sp),%sp -@@ -101,11 +105,6 @@ ENTRY(__clone) - bv %r0(%rp) - ldo -64(%sp), %sp - --.LerrorSanity: -- /* Sanity checks failed, return -1, and set errno to EINVAL. */ -- b .LerrorRest -- ldi -EINVAL, %ret0 -- - .LthreadStart: - /* Load up the arguments. */ - ldw -60(%sp), %arg0 -@@ -121,7 +120,7 @@ ENTRY(__clone) - ldi __NR_exit, %r20 - - /* We should not return from exit. -- We do not restore r4, or the stack state. */ -+ We do not restore the stack state. */ - iitlbp %r0, (%sr0, %r0) - - PSEUDO_END(__clone) - -commit 473597d8167f86afee3544215db108b170ec13c0 -Author: Andreas Schwab -Date: Wed Sep 25 11:49:30 2024 +0200 - - Fix missing randomness in __gen_tempname (bug 32214) - - Make sure to update the random value also if getrandom fails. - - Fixes: 686d542025 ("posix: Sync tempname with gnulib") - (cherry picked from commit 5f62cf88c4530c11904482775b7582bd7f6d80d2) - -diff --git a/NEWS b/NEWS -index 97a1e1f5d4..57feba81cd 100644 ---- a/NEWS -+++ b/NEWS -@@ -18,6 +18,7 @@ The following bugs are resolved with this release: - [32026] strerror/strsignal TLS not handled correctly for secondary namespaces - [32052] Name space violation in fortify wrappers - [32137] libio: Attempt wide backup free only for non-legacy code -+ [32214] Fix missing randomness in __gen_tempname - [32231] elf: Change ldconfig auxcache magic number - [32245] glibc -Wstringop-overflow= build failure on hppa - [32470] x86: Avoid integer truncation with large cache sizes -diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c -index c00fe0c181..fc30958a0c 100644 ---- a/sysdeps/posix/tempname.c -+++ b/sysdeps/posix/tempname.c -@@ -117,6 +117,8 @@ random_bits (random_value *r, random_value s) - succeed. */ - #if !_LIBC - *r = mix_random_values (v, clock ()); -+#else -+ *r = v; - #endif - return false; - } - -commit 7d4b6bcae91f29d7b4daf15bab06b66cf1d2217c -Author: Siddhesh Poyarekar -Date: Tue Jan 21 16:11:06 2025 -0500 - - Fix underallocation of abort_msg_s struct (CVE-2025-0395) - - Include the space needed to store the length of the message itself, in - addition to the message string. This resolves BZ #32582. - - Signed-off-by: Siddhesh Poyarekar - Reviewed: Adhemerval Zanella - (cherry picked from commit 68ee0f704cb81e9ad0a78c644a83e1e9cd2ee578) - -diff --git a/assert/assert.c b/assert/assert.c -index c29629f5f6..b6e37d694c 100644 ---- a/assert/assert.c -+++ b/assert/assert.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -65,7 +66,8 @@ __assert_fail_base (const char *fmt, const char *assertion, const char *file, - (void) __fxprintf (NULL, "%s", str); - (void) fflush (stderr); - -- total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1); -+ total = ALIGN_UP (total + sizeof (struct abort_msg_s) + 1, -+ GLRO(dl_pagesize)); - struct abort_msg_s *buf = __mmap (NULL, total, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE, -1, 0); - if (__glibc_likely (buf != MAP_FAILED)) -diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c -index f9e3425e04..089c47b04b 100644 ---- a/sysdeps/posix/libc_fatal.c -+++ b/sysdeps/posix/libc_fatal.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -105,7 +106,8 @@ __libc_message_impl (const char *fmt, ...) - { - WRITEV_FOR_FATAL (fd, iov, iovcnt, total); - -- total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1); -+ total = ALIGN_UP (total + sizeof (struct abort_msg_s) + 1, -+ GLRO(dl_pagesize)); - struct abort_msg_s *buf = __mmap (NULL, total, - PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE, -1, 0); - -commit aef8f8d6a947b290162393e1d717c7aee96fef8e -Author: H.J. Lu -Date: Tue Dec 17 18:41:45 2024 +0800 - - Hide all malloc functions from compiler [BZ #32366] - - Since -1 isn't a power of two, compiler may reject it, hide memalign from - Clang 19 which issues an error: - - tst-memalign.c:86:31: error: requested alignment is not a power of 2 [-Werror,-Wnon-power-of-two-alignment] - 86 | p = memalign (-1, pagesize); - | ^~ - tst-memalign.c:86:31: error: requested alignment must be 4294967296 bytes or smaller; maximum alignment assumed [-Werror,-Wbuiltin-assume-aligned-alignment] - 86 | p = memalign (-1, pagesize); - | ^~ - - Update tst-malloc-aux.h to hide all malloc functions and include it in - all malloc tests to prevent compiler from optimizing out any malloc - functions. - - Tested with Clang 19.1.5 and GCC 15 20241206 for BZ #32366. - - Signed-off-by: H.J. Lu - Reviewed-by: Sam James - (cherry picked from commit f9493a15ea9cfb63a815c00c23142369ec09d8ce) - -diff --git a/malloc/tst-mallinfo2.c b/malloc/tst-mallinfo2.c -index 2c02f5f700..f072b9f24b 100644 ---- a/malloc/tst-mallinfo2.c -+++ b/malloc/tst-mallinfo2.c -@@ -23,6 +23,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - /* This is not specifically needed for the test, but (1) does - something to the data so gcc doesn't optimize it away, and (2) may - help when developing future tests. */ -diff --git a/malloc/tst-malloc-aux.h b/malloc/tst-malloc-aux.h -index 54908b4a24..3e1b61ce34 100644 ---- a/malloc/tst-malloc-aux.h -+++ b/malloc/tst-malloc-aux.h -@@ -22,20 +22,35 @@ - - #include - #include -- --static void *(*volatile aligned_alloc_indirect)(size_t, size_t) = aligned_alloc; --static void *(*volatile calloc_indirect)(size_t, size_t) = calloc; --static void *(*volatile malloc_indirect)(size_t) = malloc; --static void *(*volatile realloc_indirect)(void*, size_t) = realloc; -+#include -+ -+static __typeof (aligned_alloc) * volatile aligned_alloc_indirect -+ = aligned_alloc; -+static __typeof (calloc) * volatile calloc_indirect = calloc; -+static __typeof (malloc) * volatile malloc_indirect = malloc; -+static __typeof (memalign) * volatile memalign_indirect = memalign; -+static __typeof (posix_memalign) * volatile posix_memalign_indirect -+ = posix_memalign; -+static __typeof (pvalloc) * volatile pvalloc_indirect = pvalloc; -+static __typeof (realloc) * volatile realloc_indirect = realloc; -+static __typeof (valloc) * volatile valloc_indirect = valloc; - - #undef aligned_alloc - #undef calloc - #undef malloc -+#undef memalign -+#undef posix_memalign -+#undef pvalloc - #undef realloc -+#undef valloc - - #define aligned_alloc aligned_alloc_indirect - #define calloc calloc_indirect - #define malloc malloc_indirect -+#define memalign memalign_indirect -+#define posix_memalign posix_memalign_indirect -+#define pvalloc pvalloc_indirect - #define realloc realloc_indirect -+#define valloc valloc_indirect - - #endif /* TST_MALLOC_AUX_H */ -diff --git a/malloc/tst-malloc-backtrace.c b/malloc/tst-malloc-backtrace.c -index c7b1d65e5c..65fa91f6fd 100644 ---- a/malloc/tst-malloc-backtrace.c -+++ b/malloc/tst-malloc-backtrace.c -@@ -22,6 +22,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - #define SIZE 4096 - - /* Wrap free with a function to prevent gcc from optimizing it out. */ -diff --git a/malloc/tst-memalign.c b/malloc/tst-memalign.c -index 563f6413d2..ac9770d3f9 100644 ---- a/malloc/tst-memalign.c -+++ b/malloc/tst-memalign.c -@@ -23,6 +23,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - static int errors = 0; - - static void -diff --git a/malloc/tst-safe-linking.c b/malloc/tst-safe-linking.c -index 01dd07004d..63a7e2bc8e 100644 ---- a/malloc/tst-safe-linking.c -+++ b/malloc/tst-safe-linking.c -@@ -26,6 +26,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - /* Run CALLBACK and check that the data on standard error equals - EXPECTED. */ - static void -diff --git a/malloc/tst-valloc.c b/malloc/tst-valloc.c -index 9bab8c6470..0243d3dfd4 100644 ---- a/malloc/tst-valloc.c -+++ b/malloc/tst-valloc.c -@@ -23,6 +23,8 @@ - #include - #include - -+#include "tst-malloc-aux.h" -+ - static int errors = 0; - - static void - -commit be48b8f6ad0ec6d0d6b1d2f45eb59bf8e8c67dd7 -Author: Sam James -Date: Fri Jan 10 03:03:47 2025 +0000 - - malloc: obscure calloc use in tst-calloc - - Similar to a9944a52c967ce76a5894c30d0274b824df43c7a and - f9493a15ea9cfb63a815c00c23142369ec09d8ce, we need to hide calloc use from - the compiler to accommodate GCC's r15-6566-g804e9d55d9e54c change. - - First, include tst-malloc-aux.h, but then use `volatile` variables - for size. - - The test passes without the tst-malloc-aux.h change but IMO we want - it there for consistency and to avoid future problems (possibly silent). - - Reviewed-by: H.J. Lu - (cherry picked from commit c3d1dac96bdd10250aa37bb367d5ef8334a093a1) - -diff --git a/malloc/tst-calloc.c b/malloc/tst-calloc.c -index 01f17f9e65..5a8c7ab121 100644 ---- a/malloc/tst-calloc.c -+++ b/malloc/tst-calloc.c -@@ -23,6 +23,7 @@ - #include - #include - -+#include "tst-malloc-aux.h" - - /* Number of samples per size. */ - #define N 50000 -@@ -94,16 +95,19 @@ random_test (void) - static void - null_test (void) - { -+ /* Obscure allocation size from the compiler. */ -+ volatile size_t max_size = UINT_MAX; -+ volatile size_t zero_size = 0; - /* If the size is 0 the result is implementation defined. Just make - sure the program doesn't crash. The result of calloc is - deliberately ignored, so do not warn about that. */ - DIAG_PUSH_NEEDS_COMMENT; - DIAG_IGNORE_NEEDS_COMMENT (10, "-Wunused-result"); - calloc (0, 0); -- calloc (0, UINT_MAX); -- calloc (UINT_MAX, 0); -- calloc (0, ~((size_t) 0)); -- calloc (~((size_t) 0), 0); -+ calloc (0, max_size); -+ calloc (max_size, 0); -+ calloc (0, ~((size_t) zero_size)); -+ calloc (~((size_t) zero_size), 0); - DIAG_POP_NEEDS_COMMENT; - } - - -commit 85668221974db44459527e04d04f77ca8f8e3115 -Author: H.J. Lu -Date: Fri Jan 24 18:53:13 2025 +0800 - - stdlib: Test using setenv with updated environ [BZ #32588] - - Add a test for setenv with updated environ. Verify that BZ #32588 is - fixed. - - Signed-off-by: H.J. Lu - Reviewed-by: Florian Weimer - (cherry picked from commit 8ab34497de14e35aff09b607222fe1309ef156da) - -diff --git a/stdlib/Makefile b/stdlib/Makefile -index 8213fa83ef..d3a84fa641 100644 ---- a/stdlib/Makefile -+++ b/stdlib/Makefile -@@ -307,6 +307,7 @@ tests := \ - tst-setcontext9 \ - tst-setcontext10 \ - tst-setcontext11 \ -+ tst-setenv-environ \ - tst-stdbit-Wconversion \ - tst-stdbit-builtins \ - tst-stdc_bit_ceil \ -diff --git a/stdlib/tst-setenv-environ.c b/stdlib/tst-setenv-environ.c -new file mode 100644 -index 0000000000..02fcef96d0 ---- /dev/null -+++ b/stdlib/tst-setenv-environ.c -@@ -0,0 +1,36 @@ -+/* Test using setenv with updated environ. -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+extern char **environ; -+ -+int -+do_test (void) -+{ -+ char *valp; -+ static char *dummy_environ[] = { NULL }; -+ environ = dummy_environ; -+ setenv ("A", "1", 0); -+ valp = getenv ("A"); -+ TEST_VERIFY_EXIT (valp[0] == '1' && valp[1] == '\0'); -+ return 0; -+} -+ -+#include - -commit e899ca3651f8c5e01bf3420cfb34aad97d093f74 -Author: John David Anglin -Date: Wed Jan 29 16:51:16 2025 -0500 - - nptl: Correct stack size attribute when stack grows up [BZ #32574] - - Set stack size attribute to the size of the mmap'd region only - when the size of the remaining stack space is less than the size - of the mmap'd region. - - This was reversed. As a result, the initial stack size was only - 135168 bytes. On architectures where the stack grows down, the - initial stack size is approximately 8384512 bytes with the default - rlimit settings. The small main stack size on hppa broke - applications like ruby that check for stack overflows. - - Signed-off-by: John David Anglin - -diff --git a/nptl/pthread_getattr_np.c b/nptl/pthread_getattr_np.c -index 1e91874767..3ce34437bc 100644 ---- a/nptl/pthread_getattr_np.c -+++ b/nptl/pthread_getattr_np.c -@@ -145,9 +145,9 @@ __pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr) - > (size_t) iattr->stackaddr - last_to) - iattr->stacksize = (size_t) iattr->stackaddr - last_to; - #else -- /* The limit might be too high. */ -+ /* The limit might be too low. */ - if ((size_t) iattr->stacksize -- > to - (size_t) iattr->stackaddr) -+ < to - (size_t) iattr->stackaddr) - iattr->stacksize = to - (size_t) iattr->stackaddr; - #endif - /* We succeed and no need to look further. */ - -commit d6c156c326999f144cb5b73d29982108d549ad8a -Author: Siddhesh Poyarekar -Date: Fri Jan 31 12:16:30 2025 -0500 - - assert: Add test for CVE-2025-0395 - - Use the __progname symbol to override the program name to induce the - failure that CVE-2025-0395 describes. - - This is related to BZ #32582 - - Signed-off-by: Siddhesh Poyarekar - Reviewed-by: Adhemerval Zanella - (cherry picked from commit cdb9ba84191ce72e86346fb8b1d906e7cd930ea2) - -diff --git a/assert/Makefile b/assert/Makefile -index 35dc908ddb..c0fe660bd6 100644 ---- a/assert/Makefile -+++ b/assert/Makefile -@@ -38,6 +38,7 @@ tests := \ - test-assert-perr \ - tst-assert-c++ \ - tst-assert-g++ \ -+ tst-assert-sa-2025-0001 \ - # tests - - ifeq ($(have-cxx-thread_local),yes) -diff --git a/assert/tst-assert-sa-2025-0001.c b/assert/tst-assert-sa-2025-0001.c -new file mode 100644 -index 0000000000..102cb0078d ---- /dev/null -+++ b/assert/tst-assert-sa-2025-0001.c -@@ -0,0 +1,92 @@ -+/* Test for CVE-2025-0395. -+ Copyright The GNU Toolchain Authors. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* Test that a large enough __progname does not result in a buffer overflow -+ when printing an assertion failure. This was CVE-2025-0395. */ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+extern const char *__progname; -+ -+int -+do_test (int argc, char **argv) -+{ -+ -+ support_need_proc ("Reads /proc/self/maps to add guards to writable maps."); -+ ignore_stderr (); -+ -+ /* XXX assumes that the assert is on a 2 digit line number. */ -+ const char *prompt = ": %s:99: do_test: Assertion `argc < 1' failed.\n"; -+ -+ int ret = fprintf (stderr, prompt, __FILE__); -+ if (ret < 0) -+ FAIL_EXIT1 ("fprintf failed: %m\n"); -+ -+ size_t pagesize = getpagesize (); -+ size_t namesize = pagesize - 1 - ret; -+ -+ /* Alter the progname so that the assert message fills the entire page. */ -+ char progname[namesize]; -+ memset (progname, 'A', namesize - 1); -+ progname[namesize - 1] = '\0'; -+ __progname = progname; -+ -+ FILE *f = xfopen ("/proc/self/maps", "r"); -+ char *line = NULL; -+ size_t len = 0; -+ uintptr_t prev_to = 0; -+ -+ /* Pad the beginning of every writable mapping with a PROT_NONE map. This -+ ensures that the mmap in the assert_fail path never ends up below a -+ writable map and will terminate immediately in case of a buffer -+ overflow. */ -+ while (xgetline (&line, &len, f)) -+ { -+ uintptr_t from, to; -+ char perm[4]; -+ -+ sscanf (line, "%" SCNxPTR "-%" SCNxPTR " %c%c%c%c ", -+ &from, &to, -+ &perm[0], &perm[1], &perm[2], &perm[3]); -+ -+ bool writable = (memchr (perm, 'w', 4) != NULL); -+ -+ if (prev_to != 0 && from - prev_to > pagesize && writable) -+ xmmap ((void *) from - pagesize, pagesize, PROT_NONE, -+ MAP_ANONYMOUS | MAP_PRIVATE, 0); -+ -+ prev_to = to; -+ } -+ -+ xfclose (f); -+ -+ assert (argc < 1); -+ return 0; -+} -+ -+#define EXPECTED_SIGNAL SIGABRT -+#define TEST_FUNCTION_ARGV do_test -+#include - -commit 523f85558152a1b9cced6d669f758c27677775ba -Author: John David Anglin -Date: Tue Feb 25 15:57:53 2025 -0500 - - math: Add optimization barrier to ensure a1 + u.d is not reused [BZ #30664] - - A number of fma tests started to fail on hppa when gcc was changed to - use Ranger rather than EVRP. Eventually I found that the value of - a1 + u.d in this is block of code was being computed in FE_TOWARDZERO - mode and not the original rounding mode: - - if (TININESS_AFTER_ROUNDING) - { - w.d = a1 + u.d; - if (w.ieee.exponent == 109) - return w.d * 0x1p-108; - } - - This caused the exponent value to be wrong and the wrong return path - to be used. - - Here we add an optimization barrier after the rounding mode is reset - to ensure that the previous value of a1 + u.d is not reused. - - Signed-off-by: John David Anglin - -diff --git a/sysdeps/ieee754/dbl-64/s_fma.c b/sysdeps/ieee754/dbl-64/s_fma.c -index c5f5abdc68..79a3cd721d 100644 ---- a/sysdeps/ieee754/dbl-64/s_fma.c -+++ b/sysdeps/ieee754/dbl-64/s_fma.c -@@ -244,6 +244,9 @@ __fma (double x, double y, double z) - /* Reset rounding mode and test for inexact simultaneously. */ - int j = libc_feupdateenv_test (&env, FE_INEXACT) != 0; - -+ /* Ensure value of a1 + u.d is not reused. */ -+ a1 = math_opt_barrier (a1); -+ - if (__glibc_likely (adjust == 0)) - { - if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff) - -commit ff10623706ea0096f3af7b38a3330ffb7fb15ae7 -Author: Joe Ramsay -Date: Mon Sep 9 13:00:01 2024 +0100 - - aarch64: Avoid redundant MOVs in AdvSIMD F32 logs - - Since the last operation is destructive, the first argument to the FMA - also has to be the first argument to the special-case in order to - avoid unnecessary MOVs. Reorder arguments and adjust special-case - bounds to facilitate this. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 8b09af572b208bfde4d31c6abbae047dcc217675) - -diff --git a/sysdeps/aarch64/fpu/log10f_advsimd.c b/sysdeps/aarch64/fpu/log10f_advsimd.c -index 9347422a77..82228b599a 100644 ---- a/sysdeps/aarch64/fpu/log10f_advsimd.c -+++ b/sysdeps/aarch64/fpu/log10f_advsimd.c -@@ -22,11 +22,11 @@ - - static const struct data - { -- uint32x4_t min_norm; -+ uint32x4_t off, offset_lower_bound; - uint16x8_t special_bound; -+ uint32x4_t mantissa_mask; - float32x4_t poly[8]; - float32x4_t inv_ln10, ln2; -- uint32x4_t off, mantissa_mask; - } data = { - /* Use order 9 for log10(1+x), i.e. order 8 for log10(1+x)/x, with x in - [-1/3, 1/3] (offset=2/3). Max. relative error: 0x1.068ee468p-25. */ -@@ -35,18 +35,22 @@ static const struct data - V4 (-0x1.0fc92cp-4f), V4 (0x1.f5f76ap-5f) }, - .ln2 = V4 (0x1.62e43p-1f), - .inv_ln10 = V4 (0x1.bcb7b2p-2f), -- .min_norm = V4 (0x00800000), -- .special_bound = V8 (0x7f00), /* asuint32(inf) - min_norm. */ -+ /* Lower bound is the smallest positive normal float 0x00800000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -+ .offset_lower_bound = V4 (0x00800000 - 0x3f2aaaab), -+ .special_bound = V8 (0x7f00), /* top16(asuint32(inf) - 0x00800000). */ - .off = V4 (0x3f2aaaab), /* 0.666667. */ - .mantissa_mask = V4 (0x007fffff), - }; - - static float32x4_t VPCS_ATTR NOINLINE --special_case (float32x4_t x, float32x4_t y, float32x4_t p, float32x4_t r2, -- uint16x4_t cmp) -+special_case (float32x4_t y, uint32x4_t u_off, float32x4_t p, float32x4_t r2, -+ uint16x4_t cmp, const struct data *d) - { - /* Fall back to scalar code. */ -- return v_call_f32 (log10f, x, vfmaq_f32 (y, p, r2), vmovl_u16 (cmp)); -+ return v_call_f32 (log10f, vreinterpretq_f32_u32 (vaddq_u32 (u_off, d->off)), -+ vfmaq_f32 (y, p, r2), vmovl_u16 (cmp)); - } - - /* Fast implementation of AdvSIMD log10f, -@@ -58,15 +62,21 @@ special_case (float32x4_t x, float32x4_t y, float32x4_t p, float32x4_t r2, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log10) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- uint32x4_t u = vreinterpretq_u32_f32 (x); -- uint16x4_t special = vcge_u16 (vsubhn_u32 (u, d->min_norm), -- vget_low_u16 (d->special_bound)); -+ -+ /* To avoid having to mov x out of the way, keep u after offset has been -+ applied, and recover x by adding the offset back in the special-case -+ handler. */ -+ uint32x4_t u_off = vreinterpretq_u32_f32 (x); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- u = vsubq_u32 (u, d->off); -+ u_off = vsubq_u32 (u_off, d->off); - float32x4_t n = vcvtq_f32_s32 ( -- vshrq_n_s32 (vreinterpretq_s32_u32 (u), 23)); /* signextend. */ -- u = vaddq_u32 (vandq_u32 (u, d->mantissa_mask), d->off); -+ vshrq_n_s32 (vreinterpretq_s32_u32 (u_off), 23)); /* signextend. */ -+ -+ uint16x4_t special = vcge_u16 (vsubhn_u32 (u_off, d->offset_lower_bound), -+ vget_low_u16 (d->special_bound)); -+ -+ uint32x4_t u = vaddq_u32 (vandq_u32 (u_off, d->mantissa_mask), d->off); - float32x4_t r = vsubq_f32 (vreinterpretq_f32_u32 (u), v_f32 (1.0f)); - - /* y = log10(1+r) + n * log10(2). */ -@@ -77,7 +87,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log10) (float32x4_t x) - y = vmulq_f32 (y, d->inv_ln10); - - if (__glibc_unlikely (v_any_u16h (special))) -- return special_case (x, y, poly, r2, special); -+ return special_case (y, u_off, poly, r2, special, d); - return vfmaq_f32 (y, poly, r2); - } - libmvec_hidden_def (V_NAME_F1 (log10)) -diff --git a/sysdeps/aarch64/fpu/log2f_advsimd.c b/sysdeps/aarch64/fpu/log2f_advsimd.c -index db21836749..84effe4fe9 100644 ---- a/sysdeps/aarch64/fpu/log2f_advsimd.c -+++ b/sysdeps/aarch64/fpu/log2f_advsimd.c -@@ -22,9 +22,9 @@ - - static const struct data - { -- uint32x4_t min_norm; -+ uint32x4_t off, offset_lower_bound; - uint16x8_t special_bound; -- uint32x4_t off, mantissa_mask; -+ uint32x4_t mantissa_mask; - float32x4_t poly[9]; - } data = { - /* Coefficients generated using Remez algorithm approximate -@@ -34,18 +34,22 @@ static const struct data - V4 (-0x1.715458p-1f), V4 (0x1.ec701cp-2f), V4 (-0x1.7171a4p-2f), - V4 (0x1.27a0b8p-2f), V4 (-0x1.e5143ep-3f), V4 (0x1.9d8ecap-3f), - V4 (-0x1.c675bp-3f), V4 (0x1.9e495p-3f) }, -- .min_norm = V4 (0x00800000), -- .special_bound = V8 (0x7f00), /* asuint32(inf) - min_norm. */ -+ /* Lower bound is the smallest positive normal float 0x00800000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -+ .offset_lower_bound = V4 (0x00800000 - 0x3f2aaaab), -+ .special_bound = V8 (0x7f00), /* top16(asuint32(inf) - 0x00800000). */ - .off = V4 (0x3f2aaaab), /* 0.666667. */ - .mantissa_mask = V4 (0x007fffff), - }; - - static float32x4_t VPCS_ATTR NOINLINE --special_case (float32x4_t x, float32x4_t n, float32x4_t p, float32x4_t r, -- uint16x4_t cmp) -+special_case (float32x4_t n, uint32x4_t u_off, float32x4_t p, float32x4_t r, -+ uint16x4_t cmp, const struct data *d) - { - /* Fall back to scalar code. */ -- return v_call_f32 (log2f, x, vfmaq_f32 (n, p, r), vmovl_u16 (cmp)); -+ return v_call_f32 (log2f, vreinterpretq_f32_u32 (vaddq_u32 (u_off, d->off)), -+ vfmaq_f32 (n, p, r), vmovl_u16 (cmp)); - } - - /* Fast implementation for single precision AdvSIMD log2, -@@ -56,15 +60,21 @@ special_case (float32x4_t x, float32x4_t n, float32x4_t p, float32x4_t r, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log2) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- uint32x4_t u = vreinterpretq_u32_f32 (x); -- uint16x4_t special = vcge_u16 (vsubhn_u32 (u, d->min_norm), -- vget_low_u16 (d->special_bound)); -+ -+ /* To avoid having to mov x out of the way, keep u after offset has been -+ applied, and recover x by adding the offset back in the special-case -+ handler. */ -+ uint32x4_t u_off = vreinterpretq_u32_f32 (x); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- u = vsubq_u32 (u, d->off); -+ u_off = vsubq_u32 (u_off, d->off); - float32x4_t n = vcvtq_f32_s32 ( -- vshrq_n_s32 (vreinterpretq_s32_u32 (u), 23)); /* signextend. */ -- u = vaddq_u32 (vandq_u32 (u, d->mantissa_mask), d->off); -+ vshrq_n_s32 (vreinterpretq_s32_u32 (u_off), 23)); /* signextend. */ -+ -+ uint16x4_t special = vcge_u16 (vsubhn_u32 (u_off, d->offset_lower_bound), -+ vget_low_u16 (d->special_bound)); -+ -+ uint32x4_t u = vaddq_u32 (vandq_u32 (u_off, d->mantissa_mask), d->off); - float32x4_t r = vsubq_f32 (vreinterpretq_f32_u32 (u), v_f32 (1.0f)); - - /* y = log2(1+r) + n. */ -@@ -72,7 +82,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log2) (float32x4_t x) - float32x4_t p = v_pw_horner_8_f32 (r, r2, d->poly); - - if (__glibc_unlikely (v_any_u16h (special))) -- return special_case (x, n, p, r, special); -+ return special_case (n, u_off, p, r, special, d); - return vfmaq_f32 (n, p, r); - } - libmvec_hidden_def (V_NAME_F1 (log2)) -diff --git a/sysdeps/aarch64/fpu/logf_advsimd.c b/sysdeps/aarch64/fpu/logf_advsimd.c -index 3c0d0fcdc7..c20dbfd6c0 100644 ---- a/sysdeps/aarch64/fpu/logf_advsimd.c -+++ b/sysdeps/aarch64/fpu/logf_advsimd.c -@@ -21,20 +21,22 @@ - - static const struct data - { -- uint32x4_t min_norm; -+ uint32x4_t off, offset_lower_bound; - uint16x8_t special_bound; -+ uint32x4_t mantissa_mask; - float32x4_t poly[7]; -- float32x4_t ln2, tiny_bound; -- uint32x4_t off, mantissa_mask; -+ float32x4_t ln2; - } data = { - /* 3.34 ulp error. */ - .poly = { V4 (-0x1.3e737cp-3f), V4 (0x1.5a9aa2p-3f), V4 (-0x1.4f9934p-3f), - V4 (0x1.961348p-3f), V4 (-0x1.00187cp-2f), V4 (0x1.555d7cp-2f), - V4 (-0x1.ffffc8p-2f) }, - .ln2 = V4 (0x1.62e43p-1f), -- .tiny_bound = V4 (0x1p-126), -- .min_norm = V4 (0x00800000), -- .special_bound = V8 (0x7f00), /* asuint32(inf) - min_norm. */ -+ /* Lower bound is the smallest positive normal float 0x00800000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -+ .offset_lower_bound = V4 (0x00800000 - 0x3f2aaaab), -+ .special_bound = V8 (0x7f00), /* top16(asuint32(inf) - 0x00800000). */ - .off = V4 (0x3f2aaaab), /* 0.666667. */ - .mantissa_mask = V4 (0x007fffff) - }; -@@ -42,32 +44,37 @@ static const struct data - #define P(i) d->poly[7 - i] - - static float32x4_t VPCS_ATTR NOINLINE --special_case (float32x4_t x, float32x4_t y, float32x4_t r2, float32x4_t p, -- uint16x4_t cmp) -+special_case (float32x4_t p, uint32x4_t u_off, float32x4_t y, float32x4_t r2, -+ uint16x4_t cmp, const struct data *d) - { - /* Fall back to scalar code. */ -- return v_call_f32 (logf, x, vfmaq_f32 (p, y, r2), vmovl_u16 (cmp)); -+ return v_call_f32 (logf, vreinterpretq_f32_u32 (vaddq_u32 (u_off, d->off)), -+ vfmaq_f32 (p, y, r2), vmovl_u16 (cmp)); - } - - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); - float32x4_t n, p, q, r, r2, y; -- uint32x4_t u; -+ uint32x4_t u, u_off; - uint16x4_t cmp; - -- u = vreinterpretq_u32_f32 (x); -- cmp = vcge_u16 (vsubhn_u32 (u, d->min_norm), -- vget_low_u16 (d->special_bound)); -+ /* To avoid having to mov x out of the way, keep u after offset has been -+ applied, and recover x by adding the offset back in the special-case -+ handler. */ -+ u_off = vreinterpretq_u32_f32 (x); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- u = vsubq_u32 (u, d->off); -+ u_off = vsubq_u32 (u_off, d->off); - n = vcvtq_f32_s32 ( -- vshrq_n_s32 (vreinterpretq_s32_u32 (u), 23)); /* signextend. */ -- u = vandq_u32 (u, d->mantissa_mask); -+ vshrq_n_s32 (vreinterpretq_s32_u32 (u_off), 23)); /* signextend. */ -+ u = vandq_u32 (u_off, d->mantissa_mask); - u = vaddq_u32 (u, d->off); - r = vsubq_f32 (vreinterpretq_f32_u32 (u), v_f32 (1.0f)); - -+ cmp = vcge_u16 (vsubhn_u32 (u_off, d->offset_lower_bound), -+ vget_low_u16 (d->special_bound)); -+ - /* y = log(1+r) + n*ln2. */ - r2 = vmulq_f32 (r, r); - /* n*ln2 + r + r2*(P1 + r*P2 + r2*(P3 + r*P4 + r2*(P5 + r*P6 + r2*P7))). */ -@@ -80,7 +87,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log) (float32x4_t x) - p = vfmaq_f32 (r, d->ln2, n); - - if (__glibc_unlikely (v_any_u16h (cmp))) -- return special_case (x, y, r2, p, cmp); -+ return special_case (p, u_off, y, r2, cmp, d); - return vfmaq_f32 (p, y, r2); - } - libmvec_hidden_def (V_NAME_F1 (log)) - -commit a991a0fc7c051d7ef2ea7778e0a699f22d4e53d7 -Author: Joe Ramsay -Date: Thu Sep 19 17:34:02 2024 +0100 - - AArch64: Add vector logp1 alias for log1p - - This enables vectorisation of C23 logp1, which is an alias for log1p. - There are no new tests or ulp entries because the new symbols are simply - aliases. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 751a5502bea1d13551c62c47bb9bd25bff870cda) - -diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h -index 08a41c46ad..5019e8e25c 100644 ---- a/bits/libm-simd-decl-stubs.h -+++ b/bits/libm-simd-decl-stubs.h -@@ -253,6 +253,17 @@ - #define __DECL_SIMD_log1pf64x - #define __DECL_SIMD_log1pf128x - -+#define __DECL_SIMD_logp1 -+#define __DECL_SIMD_logp1f -+#define __DECL_SIMD_logp1l -+#define __DECL_SIMD_logp1f16 -+#define __DECL_SIMD_logp1f32 -+#define __DECL_SIMD_logp1f64 -+#define __DECL_SIMD_logp1f128 -+#define __DECL_SIMD_logp1f32x -+#define __DECL_SIMD_logp1f64x -+#define __DECL_SIMD_logp1f128x -+ - #define __DECL_SIMD_atanh - #define __DECL_SIMD_atanhf - #define __DECL_SIMD_atanhl -diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h -index 6cb594b6ff..92856becc4 100644 ---- a/math/bits/mathcalls.h -+++ b/math/bits/mathcalls.h -@@ -126,7 +126,7 @@ __MATHCALL (log2p1,, (_Mdouble_ __x)); - __MATHCALL (log10p1,, (_Mdouble_ __x)); - - /* Return log(1 + X). */ --__MATHCALL (logp1,, (_Mdouble_ __x)); -+__MATHCALL_VEC (logp1,, (_Mdouble_ __x)); - #endif - - #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -diff --git a/sysdeps/aarch64/fpu/Versions b/sysdeps/aarch64/fpu/Versions -index cc15ce2d1e..015211f5f4 100644 ---- a/sysdeps/aarch64/fpu/Versions -+++ b/sysdeps/aarch64/fpu/Versions -@@ -135,4 +135,11 @@ libmvec { - _ZGVsMxv_tanh; - _ZGVsMxv_tanhf; - } -+ GLIBC_2.41 { -+ _ZGVnN2v_logp1; -+ _ZGVnN2v_logp1f; -+ _ZGVnN4v_logp1f; -+ _ZGVsMxv_logp1; -+ _ZGVsMxv_logp1f; -+ } - } -diff --git a/sysdeps/aarch64/fpu/advsimd_f32_protos.h b/sysdeps/aarch64/fpu/advsimd_f32_protos.h -index 097d403ffe..5909bb4ce9 100644 ---- a/sysdeps/aarch64/fpu/advsimd_f32_protos.h -+++ b/sysdeps/aarch64/fpu/advsimd_f32_protos.h -@@ -36,6 +36,7 @@ libmvec_hidden_proto (V_NAME_F2(hypot)); - libmvec_hidden_proto (V_NAME_F1(log10)); - libmvec_hidden_proto (V_NAME_F1(log1p)); - libmvec_hidden_proto (V_NAME_F1(log2)); -+libmvec_hidden_proto (V_NAME_F1(logp1)); - libmvec_hidden_proto (V_NAME_F1(log)); - libmvec_hidden_proto (V_NAME_F2(pow)); - libmvec_hidden_proto (V_NAME_F1(sin)); -diff --git a/sysdeps/aarch64/fpu/bits/math-vector.h b/sysdeps/aarch64/fpu/bits/math-vector.h -index 7484150131..f295fe185d 100644 ---- a/sysdeps/aarch64/fpu/bits/math-vector.h -+++ b/sysdeps/aarch64/fpu/bits/math-vector.h -@@ -113,6 +113,10 @@ - # define __DECL_SIMD_log2 __DECL_SIMD_aarch64 - # undef __DECL_SIMD_log2f - # define __DECL_SIMD_log2f __DECL_SIMD_aarch64 -+# undef __DECL_SIMD_logp1 -+# define __DECL_SIMD_logp1 __DECL_SIMD_aarch64 -+# undef __DECL_SIMD_logp1f -+# define __DECL_SIMD_logp1f __DECL_SIMD_aarch64 - # undef __DECL_SIMD_pow - # define __DECL_SIMD_pow __DECL_SIMD_aarch64 - # undef __DECL_SIMD_powf -@@ -180,6 +184,7 @@ __vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_log10f (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_log1pf (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_log2f (__f32x4_t); -+__vpcs __f32x4_t _ZGVnN4v_logp1f (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4vv_powf (__f32x4_t, __f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_sinhf (__f32x4_t); -@@ -207,6 +212,7 @@ __vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_log10 (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_log1p (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_log2 (__f64x2_t); -+__vpcs __f64x2_t _ZGVnN2v_logp1 (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2vv_pow (__f64x2_t, __f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_sinh (__f64x2_t); -@@ -239,6 +245,7 @@ __sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_log10f (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_log1pf (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_log2f (__sv_f32_t, __sv_bool_t); -+__sv_f32_t _ZGVsMxv_logp1f (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxvv_powf (__sv_f32_t, __sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_sinhf (__sv_f32_t, __sv_bool_t); -@@ -266,6 +273,7 @@ __sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_log10 (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_log1p (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_log2 (__sv_f64_t, __sv_bool_t); -+__sv_f64_t _ZGVsMxv_logp1 (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxvv_pow (__sv_f64_t, __sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_sinh (__sv_f64_t, __sv_bool_t); -diff --git a/sysdeps/aarch64/fpu/log1p_advsimd.c b/sysdeps/aarch64/fpu/log1p_advsimd.c -index ffc418fc9c..114064c696 100644 ---- a/sysdeps/aarch64/fpu/log1p_advsimd.c -+++ b/sysdeps/aarch64/fpu/log1p_advsimd.c -@@ -127,3 +127,5 @@ VPCS_ATTR float64x2_t V_NAME_D1 (log1p) (float64x2_t x) - - return vfmaq_f64 (y, f2, p); - } -+ -+strong_alias (V_NAME_D1 (log1p), V_NAME_D1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/log1p_sve.c b/sysdeps/aarch64/fpu/log1p_sve.c -index 04f7e5720e..b21cfb2c90 100644 ---- a/sysdeps/aarch64/fpu/log1p_sve.c -+++ b/sysdeps/aarch64/fpu/log1p_sve.c -@@ -116,3 +116,5 @@ svfloat64_t SV_NAME_D1 (log1p) (svfloat64_t x, svbool_t pg) - - return y; - } -+ -+strong_alias (SV_NAME_D1 (log1p), SV_NAME_D1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/log1pf_advsimd.c b/sysdeps/aarch64/fpu/log1pf_advsimd.c -index dc15334a85..8cfa28fb8a 100644 ---- a/sysdeps/aarch64/fpu/log1pf_advsimd.c -+++ b/sysdeps/aarch64/fpu/log1pf_advsimd.c -@@ -128,3 +128,6 @@ VPCS_ATTR float32x4_t V_NAME_F1 (log1p) (float32x4_t x) - } - libmvec_hidden_def (V_NAME_F1 (log1p)) - HALF_WIDTH_ALIAS_F1 (log1p) -+strong_alias (V_NAME_F1 (log1p), V_NAME_F1 (logp1)) -+libmvec_hidden_def (V_NAME_F1 (logp1)) -+HALF_WIDTH_ALIAS_F1 (logp1) -diff --git a/sysdeps/aarch64/fpu/log1pf_sve.c b/sysdeps/aarch64/fpu/log1pf_sve.c -index f645cc997e..5256d5e94c 100644 ---- a/sysdeps/aarch64/fpu/log1pf_sve.c -+++ b/sysdeps/aarch64/fpu/log1pf_sve.c -@@ -98,3 +98,5 @@ svfloat32_t SV_NAME_F1 (log1p) (svfloat32_t x, svbool_t pg) - - return y; - } -+ -+strong_alias (SV_NAME_F1 (log1p), SV_NAME_F1 (logp1)) -diff --git a/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist b/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist -index b685106954..98687cae0d 100644 ---- a/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist -+++ b/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist -@@ -128,3 +128,8 @@ GLIBC_2.40 _ZGVsMxvv_hypot F - GLIBC_2.40 _ZGVsMxvv_hypotf F - GLIBC_2.40 _ZGVsMxvv_pow F - GLIBC_2.40 _ZGVsMxvv_powf F -+GLIBC_2.41 _ZGVnN2v_logp1 F -+GLIBC_2.41 _ZGVnN2v_logp1f F -+GLIBC_2.41 _ZGVnN4v_logp1f F -+GLIBC_2.41 _ZGVsMxv_logp1 F -+GLIBC_2.41 _ZGVsMxv_logp1f F - -commit 354aeaf2130c1484007025563fe87c997f07324a -Author: Joe Ramsay -Date: Mon Sep 23 15:26:12 2024 +0100 - - AArch64: Improve codegen in SVE expf & related routines - - Reduce MOV and MOVPRFX by improving special-case handling. Use inline - helper to duplicate the entire computation between the special- and - non-special case branches, removing the contention for z0 between x - and the return value. - - Also rearrange some MLAs and MLSs - by making the multiplicand the - destination we can avoid a MOVPRFX in several cases. Also change which - constants go in the vector used for lanewise ops - the last lane is no - longer wasted. - - Spotted that shift was incorrect in exp2f and exp10f, w.r.t. to the - comment that explains it. Fixed - worst-case ULP for exp2f moves - around but it doesn't change significantly for either routine. - - Worst-case error for coshf increases due to passing x to exp rather - than abs(x) - updated the comment, but does not require regen-ulps. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 7b8c134b5460ed933d610fa92ed1227372b68fdc) - -diff --git a/sysdeps/aarch64/fpu/coshf_sve.c b/sysdeps/aarch64/fpu/coshf_sve.c -index e5d8a299c6..7ad6efa0fc 100644 ---- a/sysdeps/aarch64/fpu/coshf_sve.c -+++ b/sysdeps/aarch64/fpu/coshf_sve.c -@@ -23,37 +23,42 @@ - static const struct data - { - struct sv_expf_data expf_consts; -- uint32_t special_bound; -+ float special_bound; - } data = { - .expf_consts = SV_EXPF_DATA, - /* 0x1.5a92d8p+6: expf overflows above this, so have to use special case. */ -- .special_bound = 0x42ad496c, -+ .special_bound = 0x1.5a92d8p+6, - }; - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t pg) -+special_case (svfloat32_t x, svfloat32_t half_e, svfloat32_t half_over_e, -+ svbool_t pg) - { -- return sv_call_f32 (coshf, x, y, pg); -+ return sv_call_f32 (coshf, x, svadd_x (svptrue_b32 (), half_e, half_over_e), -+ pg); - } - - /* Single-precision vector cosh, using vector expf. -- Maximum error is 1.89 ULP: -- _ZGVsMxv_coshf (-0x1.65898cp+6) got 0x1.f00aep+127 -- want 0x1.f00adcp+127. */ -+ Maximum error is 2.77 ULP: -+ _ZGVsMxv_coshf(-0x1.5b38f4p+1) got 0x1.e45946p+2 -+ want 0x1.e4594cp+2. */ - svfloat32_t SV_NAME_F1 (cosh) (svfloat32_t x, svbool_t pg) - { - const struct data *d = ptr_barrier (&data); - -- svfloat32_t ax = svabs_x (pg, x); -- svbool_t special = svcmpge (pg, svreinterpret_u32 (ax), d->special_bound); -+ svbool_t special = svacge (pg, x, d->special_bound); - -- /* Calculate cosh by exp(x) / 2 + exp(-x) / 2. */ -- svfloat32_t t = expf_inline (ax, pg, &d->expf_consts); -- svfloat32_t half_t = svmul_x (pg, t, 0.5); -- svfloat32_t half_over_t = svdivr_x (pg, t, 0.5); -+ /* Calculate cosh by exp(x) / 2 + exp(-x) / 2. -+ Note that x is passed to exp here, rather than |x|. This is to avoid using -+ destructive unary ABS for better register usage. However it means the -+ routine is not exactly symmetrical, as the exp helper is slightly less -+ accurate in the negative range. */ -+ svfloat32_t e = expf_inline (x, pg, &d->expf_consts); -+ svfloat32_t half_e = svmul_x (svptrue_b32 (), e, 0.5); -+ svfloat32_t half_over_e = svdivr_x (pg, e, 0.5); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svadd_x (pg, half_t, half_over_t), special); -+ return special_case (x, half_e, half_over_e, special); - -- return svadd_x (pg, half_t, half_over_t); -+ return svadd_x (svptrue_b32 (), half_e, half_over_e); - } -diff --git a/sysdeps/aarch64/fpu/exp10f_sve.c b/sysdeps/aarch64/fpu/exp10f_sve.c -index e09b2f3b27..8aa3fa9c43 100644 ---- a/sysdeps/aarch64/fpu/exp10f_sve.c -+++ b/sysdeps/aarch64/fpu/exp10f_sve.c -@@ -18,74 +18,83 @@ - . */ - - #include "sv_math.h" --#include "poly_sve_f32.h" - --/* For x < -SpecialBound, the result is subnormal and not handled correctly by -+/* For x < -Thres, the result is subnormal and not handled correctly by - FEXPA. */ --#define SpecialBound 37.9 -+#define Thres 37.9 - - static const struct data - { -- float poly[5]; -- float shift, log10_2, log2_10_hi, log2_10_lo, special_bound; -+ float log2_10_lo, c0, c2, c4; -+ float c1, c3, log10_2; -+ float shift, log2_10_hi, thres; - } data = { - /* Coefficients generated using Remez algorithm with minimisation of relative - error. - rel error: 0x1.89dafa3p-24 - abs error: 0x1.167d55p-23 in [-log10(2)/2, log10(2)/2] - maxerr: 0.52 +0.5 ulp. */ -- .poly = { 0x1.26bb16p+1f, 0x1.5350d2p+1f, 0x1.04744ap+1f, 0x1.2d8176p+0f, -- 0x1.12b41ap-1f }, -+ .c0 = 0x1.26bb16p+1f, -+ .c1 = 0x1.5350d2p+1f, -+ .c2 = 0x1.04744ap+1f, -+ .c3 = 0x1.2d8176p+0f, -+ .c4 = 0x1.12b41ap-1f, - /* 1.5*2^17 + 127, a shift value suitable for FEXPA. */ -- .shift = 0x1.903f8p17f, -+ .shift = 0x1.803f8p17f, - .log10_2 = 0x1.a934fp+1, - .log2_10_hi = 0x1.344136p-2, - .log2_10_lo = -0x1.ec10cp-27, -- .special_bound = SpecialBound, -+ .thres = Thres, - }; - --static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+static inline svfloat32_t -+sv_exp10f_inline (svfloat32_t x, const svbool_t pg, const struct data *d) - { -- return sv_call_f32 (exp10f, x, y, special); --} -- --/* Single-precision SVE exp10f routine. Implements the same algorithm -- as AdvSIMD exp10f. -- Worst case error is 1.02 ULPs. -- _ZGVsMxv_exp10f(-0x1.040488p-4) got 0x1.ba5f9ep-1 -- want 0x1.ba5f9cp-1. */ --svfloat32_t SV_NAME_F1 (exp10) (svfloat32_t x, const svbool_t pg) --{ -- const struct data *d = ptr_barrier (&data); - /* exp10(x) = 2^(n/N) * 10^r = 2^n * (1 + poly (r)), - with poly(r) in [1/sqrt(2), sqrt(2)] and - x = r + n * log10(2) / N, with r in [-log10(2)/2N, log10(2)/2N]. */ - -- /* Load some constants in quad-word chunks to minimise memory access (last -- lane is wasted). */ -- svfloat32_t log10_2_and_inv = svld1rq (svptrue_b32 (), &d->log10_2); -+ svfloat32_t lane_consts = svld1rq (svptrue_b32 (), &d->log2_10_lo); - - /* n = round(x/(log10(2)/N)). */ - svfloat32_t shift = sv_f32 (d->shift); -- svfloat32_t z = svmla_lane (shift, x, log10_2_and_inv, 0); -- svfloat32_t n = svsub_x (pg, z, shift); -+ svfloat32_t z = svmad_x (pg, sv_f32 (d->log10_2), x, shift); -+ svfloat32_t n = svsub_x (svptrue_b32 (), z, shift); - - /* r = x - n*log10(2)/N. */ -- svfloat32_t r = svmls_lane (x, n, log10_2_and_inv, 1); -- r = svmls_lane (r, n, log10_2_and_inv, 2); -+ svfloat32_t r = svmsb_x (pg, sv_f32 (d->log2_10_hi), n, x); -+ r = svmls_lane (r, n, lane_consts, 0); - -- svbool_t special = svacgt (pg, x, d->special_bound); - svfloat32_t scale = svexpa (svreinterpret_u32 (z)); - - /* Polynomial evaluation: poly(r) ~ exp10(r)-1. */ -- svfloat32_t r2 = svmul_x (pg, r, r); -- svfloat32_t poly -- = svmla_x (pg, svmul_x (pg, r, d->poly[0]), -- sv_pairwise_poly_3_f32_x (pg, r, r2, d->poly + 1), r2); -- -- if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmla_x (pg, scale, scale, poly), special); -+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, lane_consts, 2); -+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, lane_consts, 3); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); -+ svfloat32_t p14 = svmla_x (pg, p12, p34, r2); -+ svfloat32_t p0 = svmul_lane (r, lane_consts, 1); -+ svfloat32_t poly = svmla_x (pg, p0, r2, p14); - - return svmla_x (pg, scale, scale, poly); - } -+ -+static svfloat32_t NOINLINE -+special_case (svfloat32_t x, svbool_t special, const struct data *d) -+{ -+ return sv_call_f32 (exp10f, x, sv_exp10f_inline (x, svptrue_b32 (), d), -+ special); -+} -+ -+/* Single-precision SVE exp10f routine. Implements the same algorithm -+ as AdvSIMD exp10f. -+ Worst case error is 1.02 ULPs. -+ _ZGVsMxv_exp10f(-0x1.040488p-4) got 0x1.ba5f9ep-1 -+ want 0x1.ba5f9cp-1. */ -+svfloat32_t SV_NAME_F1 (exp10) (svfloat32_t x, const svbool_t pg) -+{ -+ const struct data *d = ptr_barrier (&data); -+ svbool_t special = svacgt (pg, x, d->thres); -+ if (__glibc_unlikely (svptest_any (special, special))) -+ return special_case (x, special, d); -+ return sv_exp10f_inline (x, pg, d); -+} -diff --git a/sysdeps/aarch64/fpu/exp2f_sve.c b/sysdeps/aarch64/fpu/exp2f_sve.c -index 8a686e3e05..c6216bed9e 100644 ---- a/sysdeps/aarch64/fpu/exp2f_sve.c -+++ b/sysdeps/aarch64/fpu/exp2f_sve.c -@@ -24,54 +24,64 @@ - - static const struct data - { -- float poly[5]; -+ float c0, c2, c4, c1, c3; - float shift, thres; - } data = { -- /* Coefficients copied from the polynomial in AdvSIMD variant, reversed for -- compatibility with polynomial helpers. */ -- .poly = { 0x1.62e422p-1f, 0x1.ebf9bcp-3f, 0x1.c6bd32p-5f, 0x1.3ce9e4p-7f, -- 0x1.59977ap-10f }, -+ /* Coefficients copied from the polynomial in AdvSIMD variant. */ -+ .c0 = 0x1.62e422p-1f, -+ .c1 = 0x1.ebf9bcp-3f, -+ .c2 = 0x1.c6bd32p-5f, -+ .c3 = 0x1.3ce9e4p-7f, -+ .c4 = 0x1.59977ap-10f, - /* 1.5*2^17 + 127. */ -- .shift = 0x1.903f8p17f, -+ .shift = 0x1.803f8p17f, - /* Roughly 87.3. For x < -Thres, the result is subnormal and not handled - correctly by FEXPA. */ - .thres = Thres, - }; - --static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) --{ -- return sv_call_f32 (exp2f, x, y, special); --} -- --/* Single-precision SVE exp2f routine. Implements the same algorithm -- as AdvSIMD exp2f. -- Worst case error is 1.04 ULPs. -- SV_NAME_F1 (exp2)(0x1.943b9p-1) got 0x1.ba7eb2p+0 -- want 0x1.ba7ebp+0. */ --svfloat32_t SV_NAME_F1 (exp2) (svfloat32_t x, const svbool_t pg) -+static inline svfloat32_t -+sv_exp2f_inline (svfloat32_t x, const svbool_t pg, const struct data *d) - { -- const struct data *d = ptr_barrier (&data); - /* exp2(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] - x = n + r, with r in [-1/2, 1/2]. */ -- svfloat32_t shift = sv_f32 (d->shift); -- svfloat32_t z = svadd_x (pg, x, shift); -- svfloat32_t n = svsub_x (pg, z, shift); -- svfloat32_t r = svsub_x (pg, x, n); -+ svfloat32_t z = svadd_x (svptrue_b32 (), x, d->shift); -+ svfloat32_t n = svsub_x (svptrue_b32 (), z, d->shift); -+ svfloat32_t r = svsub_x (svptrue_b32 (), x, n); - -- svbool_t special = svacgt (pg, x, d->thres); - svfloat32_t scale = svexpa (svreinterpret_u32 (z)); - - /* Polynomial evaluation: poly(r) ~ exp2(r)-1. - Evaluate polynomial use hybrid scheme - offset ESTRIN by 1 for - coefficients 1 to 4, and apply most significant coefficient directly. */ -- svfloat32_t r2 = svmul_x (pg, r, r); -- svfloat32_t p14 = sv_pairwise_poly_3_f32_x (pg, r, r2, d->poly + 1); -- svfloat32_t p0 = svmul_x (pg, r, d->poly[0]); -+ svfloat32_t even_coeffs = svld1rq (svptrue_b32 (), &d->c0); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); -+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, even_coeffs, 1); -+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, even_coeffs, 2); -+ svfloat32_t p14 = svmla_x (pg, p12, r2, p34); -+ svfloat32_t p0 = svmul_lane (r, even_coeffs, 0); - svfloat32_t poly = svmla_x (pg, p0, r2, p14); - -- if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmla_x (pg, scale, scale, poly), special); -- - return svmla_x (pg, scale, scale, poly); - } -+ -+static svfloat32_t NOINLINE -+special_case (svfloat32_t x, svbool_t special, const struct data *d) -+{ -+ return sv_call_f32 (exp2f, x, sv_exp2f_inline (x, svptrue_b32 (), d), -+ special); -+} -+ -+/* Single-precision SVE exp2f routine. Implements the same algorithm -+ as AdvSIMD exp2f. -+ Worst case error is 1.04 ULPs. -+ _ZGVsMxv_exp2f(-0x1.af994ap-3) got 0x1.ba6a66p-1 -+ want 0x1.ba6a64p-1. */ -+svfloat32_t SV_NAME_F1 (exp2) (svfloat32_t x, const svbool_t pg) -+{ -+ const struct data *d = ptr_barrier (&data); -+ svbool_t special = svacgt (pg, x, d->thres); -+ if (__glibc_unlikely (svptest_any (special, special))) -+ return special_case (x, special, d); -+ return sv_exp2f_inline (x, pg, d); -+} -diff --git a/sysdeps/aarch64/fpu/expf_sve.c b/sysdeps/aarch64/fpu/expf_sve.c -index 3ba79bc4f1..da93e01b87 100644 ---- a/sysdeps/aarch64/fpu/expf_sve.c -+++ b/sysdeps/aarch64/fpu/expf_sve.c -@@ -18,33 +18,25 @@ - . */ - - #include "sv_math.h" -+#include "sv_expf_inline.h" -+ -+/* Roughly 87.3. For x < -Thres, the result is subnormal and not handled -+ correctly by FEXPA. */ -+#define Thres 0x1.5d5e2ap+6f - - static const struct data - { -- float poly[5]; -- float inv_ln2, ln2_hi, ln2_lo, shift, thres; -+ struct sv_expf_data d; -+ float thres; - } data = { -- /* Coefficients copied from the polynomial in AdvSIMD variant, reversed for -- compatibility with polynomial helpers. */ -- .poly = { 0x1.ffffecp-1f, 0x1.fffdb6p-2f, 0x1.555e66p-3f, 0x1.573e2ep-5f, -- 0x1.0e4020p-7f }, -- .inv_ln2 = 0x1.715476p+0f, -- .ln2_hi = 0x1.62e4p-1f, -- .ln2_lo = 0x1.7f7d1cp-20f, -- /* 1.5*2^17 + 127. */ -- .shift = 0x1.903f8p17f, -- /* Roughly 87.3. For x < -Thres, the result is subnormal and not handled -- correctly by FEXPA. */ -- .thres = 0x1.5d5e2ap+6f, -+ .d = SV_EXPF_DATA, -+ .thres = Thres, - }; - --#define C(i) sv_f32 (d->poly[i]) --#define ExponentBias 0x3f800000 -- - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svfloat32_t x, svbool_t special, const struct sv_expf_data *d) - { -- return sv_call_f32 (expf, x, y, special); -+ return sv_call_f32 (expf, x, expf_inline (x, svptrue_b32 (), d), special); - } - - /* Optimised single-precision SVE exp function. -@@ -54,36 +46,8 @@ special_case (svfloat32_t x, svfloat32_t y, svbool_t special) - svfloat32_t SV_NAME_F1 (exp) (svfloat32_t x, const svbool_t pg) - { - const struct data *d = ptr_barrier (&data); -- -- /* exp(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] -- x = ln2*n + r, with r in [-ln2/2, ln2/2]. */ -- -- /* Load some constants in quad-word chunks to minimise memory access (last -- lane is wasted). */ -- svfloat32_t invln2_and_ln2 = svld1rq (svptrue_b32 (), &d->inv_ln2); -- -- /* n = round(x/(ln2/N)). */ -- svfloat32_t z = svmla_lane (sv_f32 (d->shift), x, invln2_and_ln2, 0); -- svfloat32_t n = svsub_x (pg, z, d->shift); -- -- /* r = x - n*ln2/N. */ -- svfloat32_t r = svmls_lane (x, n, invln2_and_ln2, 1); -- r = svmls_lane (r, n, invln2_and_ln2, 2); -- -- /* scale = 2^(n/N). */ - svbool_t is_special_case = svacgt (pg, x, d->thres); -- svfloat32_t scale = svexpa (svreinterpret_u32 (z)); -- -- /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4 + C3 r^5 + C4 r^6. */ -- svfloat32_t p12 = svmla_x (pg, C (1), C (2), r); -- svfloat32_t p34 = svmla_x (pg, C (3), C (4), r); -- svfloat32_t r2 = svmul_x (pg, r, r); -- svfloat32_t p14 = svmla_x (pg, p12, p34, r2); -- svfloat32_t p0 = svmul_x (pg, r, C (0)); -- svfloat32_t poly = svmla_x (pg, p0, r2, p14); -- - if (__glibc_unlikely (svptest_any (pg, is_special_case))) -- return special_case (x, svmla_x (pg, scale, scale, poly), is_special_case); -- -- return svmla_x (pg, scale, scale, poly); -+ return special_case (x, is_special_case, &d->d); -+ return expf_inline (x, pg, &d->d); - } -diff --git a/sysdeps/aarch64/fpu/sv_expf_inline.h b/sysdeps/aarch64/fpu/sv_expf_inline.h -index 23963b5f8e..6166df6553 100644 ---- a/sysdeps/aarch64/fpu/sv_expf_inline.h -+++ b/sysdeps/aarch64/fpu/sv_expf_inline.h -@@ -24,19 +24,20 @@ - - struct sv_expf_data - { -- float poly[5]; -- float inv_ln2, ln2_hi, ln2_lo, shift; -+ float c1, c3, inv_ln2; -+ float ln2_lo, c0, c2, c4; -+ float ln2_hi, shift; - }; - - /* Coefficients copied from the polynomial in AdvSIMD variant, reversed for - compatibility with polynomial helpers. Shift is 1.5*2^17 + 127. */ - #define SV_EXPF_DATA \ - { \ -- .poly = { 0x1.ffffecp-1f, 0x1.fffdb6p-2f, 0x1.555e66p-3f, 0x1.573e2ep-5f, \ -- 0x1.0e4020p-7f }, \ -- \ -- .inv_ln2 = 0x1.715476p+0f, .ln2_hi = 0x1.62e4p-1f, \ -- .ln2_lo = 0x1.7f7d1cp-20f, .shift = 0x1.803f8p17f, \ -+ /* Coefficients copied from the polynomial in AdvSIMD variant. */ \ -+ .c0 = 0x1.ffffecp-1f, .c1 = 0x1.fffdb6p-2f, .c2 = 0x1.555e66p-3f, \ -+ .c3 = 0x1.573e2ep-5f, .c4 = 0x1.0e4020p-7f, .inv_ln2 = 0x1.715476p+0f, \ -+ .ln2_hi = 0x1.62e4p-1f, .ln2_lo = 0x1.7f7d1cp-20f, \ -+ .shift = 0x1.803f8p17f, \ - } - - #define C(i) sv_f32 (d->poly[i]) -@@ -47,26 +48,25 @@ expf_inline (svfloat32_t x, const svbool_t pg, const struct sv_expf_data *d) - /* exp(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] - x = ln2*n + r, with r in [-ln2/2, ln2/2]. */ - -- /* Load some constants in quad-word chunks to minimise memory access. */ -- svfloat32_t c4_invln2_and_ln2 = svld1rq (svptrue_b32 (), &d->poly[4]); -+ svfloat32_t lane_consts = svld1rq (svptrue_b32 (), &d->ln2_lo); - - /* n = round(x/(ln2/N)). */ -- svfloat32_t z = svmla_lane (sv_f32 (d->shift), x, c4_invln2_and_ln2, 1); -+ svfloat32_t z = svmad_x (pg, sv_f32 (d->inv_ln2), x, d->shift); - svfloat32_t n = svsub_x (pg, z, d->shift); - - /* r = x - n*ln2/N. */ -- svfloat32_t r = svmls_lane (x, n, c4_invln2_and_ln2, 2); -- r = svmls_lane (r, n, c4_invln2_and_ln2, 3); -+ svfloat32_t r = svmsb_x (pg, sv_f32 (d->ln2_hi), n, x); -+ r = svmls_lane (r, n, lane_consts, 0); - - /* scale = 2^(n/N). */ -- svfloat32_t scale = svexpa (svreinterpret_u32_f32 (z)); -+ svfloat32_t scale = svexpa (svreinterpret_u32 (z)); - - /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4 + C3 r^5 + C4 r^6. */ -- svfloat32_t p12 = svmla_x (pg, C (1), C (2), r); -- svfloat32_t p34 = svmla_lane (C (3), r, c4_invln2_and_ln2, 0); -- svfloat32_t r2 = svmul_f32_x (pg, r, r); -+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, lane_consts, 2); -+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, lane_consts, 3); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); - svfloat32_t p14 = svmla_x (pg, p12, p34, r2); -- svfloat32_t p0 = svmul_f32_x (pg, r, C (0)); -+ svfloat32_t p0 = svmul_lane (r, lane_consts, 1); - svfloat32_t poly = svmla_x (pg, p0, r2, p14); - - return svmla_x (pg, scale, scale, poly); - -commit c4373426e3a85ec483a0f412c2a7c6cdfa32ccdb -Author: Joe Ramsay -Date: Mon Sep 23 15:30:20 2024 +0100 - - AArch64: Improve codegen in SVE F32 logs - - Reduce MOVPRFXs by using unpredicated (non-destructive) instructions - where possible. Similar to the recent change to AdvSIMD F32 logs, - adjust special-case arguments and bounds to allow for more optimal - register usage. For all 3 routines one MOVPRFX remains in the - reduction, which cannot be avoided as immediate AND and ASR are both - destructive. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit a15b1394b5eba98ffe28a02a392b587e4fe13c0d) - -diff --git a/sysdeps/aarch64/fpu/log10f_sve.c b/sysdeps/aarch64/fpu/log10f_sve.c -index bdbb49cd32..7913679f67 100644 ---- a/sysdeps/aarch64/fpu/log10f_sve.c -+++ b/sysdeps/aarch64/fpu/log10f_sve.c -@@ -24,6 +24,7 @@ static const struct data - float poly_0246[4]; - float poly_1357[4]; - float ln2, inv_ln10; -+ uint32_t off, lower; - } data = { - .poly_1357 = { - /* Coefficients copied from the AdvSIMD routine, then rearranged so that coeffs -@@ -35,18 +36,23 @@ static const struct data - -0x1.0fc92cp-4f }, - .ln2 = 0x1.62e43p-1f, - .inv_ln10 = 0x1.bcb7b2p-2f, -+ .off = 0x3f2aaaab, -+ /* Lower bound is the smallest positive normal float 0x00800000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -+ .lower = 0x00800000 - 0x3f2aaaab - }; - --#define Min 0x00800000 --#define Max 0x7f800000 --#define Thres 0x7f000000 /* Max - Min. */ --#define Offset 0x3f2aaaab /* 0.666667. */ -+#define Thres 0x7f000000 /* asuint32(inf) - 0x00800000. */ - #define MantissaMask 0x007fffff - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svuint32_t u_off, svfloat32_t p, svfloat32_t r2, svfloat32_t y, -+ svbool_t cmp) - { -- return sv_call_f32 (log10f, x, y, special); -+ return sv_call_f32 ( -+ log10f, svreinterpret_f32 (svadd_x (svptrue_b32 (), u_off, data.off)), -+ svmla_x (svptrue_b32 (), p, r2, y), cmp); - } - - /* Optimised implementation of SVE log10f using the same algorithm and -@@ -57,23 +63,25 @@ special_case (svfloat32_t x, svfloat32_t y, svbool_t special) - svfloat32_t SV_NAME_F1 (log10) (svfloat32_t x, const svbool_t pg) - { - const struct data *d = ptr_barrier (&data); -- svuint32_t ix = svreinterpret_u32 (x); -- svbool_t special = svcmpge (pg, svsub_x (pg, ix, Min), Thres); -+ -+ svuint32_t u_off = svreinterpret_u32 (x); -+ -+ u_off = svsub_x (pg, u_off, d->off); -+ svbool_t special = svcmpge (pg, svsub_x (pg, u_off, d->lower), Thres); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- ix = svsub_x (pg, ix, Offset); - svfloat32_t n = svcvt_f32_x ( -- pg, svasr_x (pg, svreinterpret_s32 (ix), 23)); /* signextend. */ -- ix = svand_x (pg, ix, MantissaMask); -- ix = svadd_x (pg, ix, Offset); -+ pg, svasr_x (pg, svreinterpret_s32 (u_off), 23)); /* signextend. */ -+ svuint32_t ix = svand_x (pg, u_off, MantissaMask); -+ ix = svadd_x (pg, ix, d->off); - svfloat32_t r = svsub_x (pg, svreinterpret_f32 (ix), 1.0f); - - /* y = log10(1+r) + n*log10(2) - log10(1+r) ~ r * InvLn(10) + P(r) - where P(r) is a polynomial. Use order 9 for log10(1+x), i.e. order 8 for - log10(1+x)/x, with x in [-1/3, 1/3] (offset=2/3). */ -- svfloat32_t r2 = svmul_x (pg, r, r); -- svfloat32_t r4 = svmul_x (pg, r2, r2); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); -+ svfloat32_t r4 = svmul_x (svptrue_b32 (), r2, r2); - svfloat32_t p_1357 = svld1rq (svptrue_b32 (), &d->poly_1357[0]); - svfloat32_t q_01 = svmla_lane (sv_f32 (d->poly_0246[0]), r, p_1357, 0); - svfloat32_t q_23 = svmla_lane (sv_f32 (d->poly_0246[1]), r, p_1357, 1); -@@ -88,7 +96,6 @@ svfloat32_t SV_NAME_F1 (log10) (svfloat32_t x, const svbool_t pg) - hi = svmul_x (pg, hi, d->inv_ln10); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmla_x (svnot_z (pg, special), hi, r2, y), -- special); -- return svmla_x (pg, hi, r2, y); -+ return special_case (u_off, hi, r2, y, special); -+ return svmla_x (svptrue_b32 (), hi, r2, y); - } -diff --git a/sysdeps/aarch64/fpu/log2f_sve.c b/sysdeps/aarch64/fpu/log2f_sve.c -index 5031c42483..939d89bfb9 100644 ---- a/sysdeps/aarch64/fpu/log2f_sve.c -+++ b/sysdeps/aarch64/fpu/log2f_sve.c -@@ -23,6 +23,7 @@ static const struct data - { - float poly_02468[5]; - float poly_1357[4]; -+ uint32_t off, lower; - } data = { - .poly_1357 = { - /* Coefficients copied from the AdvSIMD routine, then rearranged so that coeffs -@@ -32,18 +33,23 @@ static const struct data - }, - .poly_02468 = { 0x1.715476p0f, 0x1.ec701cp-2f, 0x1.27a0b8p-2f, - 0x1.9d8ecap-3f, 0x1.9e495p-3f }, -+ .off = 0x3f2aaaab, -+ /* Lower bound is the smallest positive normal float 0x00800000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -+ .lower = 0x00800000 - 0x3f2aaaab - }; - --#define Min (0x00800000) --#define Max (0x7f800000) --#define Thres (0x7f000000) /* Max - Min. */ -+#define Thresh (0x7f000000) /* asuint32(inf) - 0x00800000. */ - #define MantissaMask (0x007fffff) --#define Off (0x3f2aaaab) /* 0.666667. */ - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t cmp) -+special_case (svuint32_t u_off, svfloat32_t p, svfloat32_t r2, svfloat32_t y, -+ svbool_t cmp) - { -- return sv_call_f32 (log2f, x, y, cmp); -+ return sv_call_f32 ( -+ log2f, svreinterpret_f32 (svadd_x (svptrue_b32 (), u_off, data.off)), -+ svmla_x (svptrue_b32 (), p, r2, y), cmp); - } - - /* Optimised implementation of SVE log2f, using the same algorithm -@@ -55,19 +61,20 @@ svfloat32_t SV_NAME_F1 (log2) (svfloat32_t x, const svbool_t pg) - { - const struct data *d = ptr_barrier (&data); - -- svuint32_t u = svreinterpret_u32 (x); -- svbool_t special = svcmpge (pg, svsub_x (pg, u, Min), Thres); -+ svuint32_t u_off = svreinterpret_u32 (x); -+ -+ u_off = svsub_x (pg, u_off, d->off); -+ svbool_t special = svcmpge (pg, svsub_x (pg, u_off, d->lower), Thresh); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- u = svsub_x (pg, u, Off); - svfloat32_t n = svcvt_f32_x ( -- pg, svasr_x (pg, svreinterpret_s32 (u), 23)); /* Sign-extend. */ -- u = svand_x (pg, u, MantissaMask); -- u = svadd_x (pg, u, Off); -+ pg, svasr_x (pg, svreinterpret_s32 (u_off), 23)); /* Sign-extend. */ -+ svuint32_t u = svand_x (pg, u_off, MantissaMask); -+ u = svadd_x (pg, u, d->off); - svfloat32_t r = svsub_x (pg, svreinterpret_f32 (u), 1.0f); - - /* y = log2(1+r) + n. */ -- svfloat32_t r2 = svmul_x (pg, r, r); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); - - /* Evaluate polynomial using pairwise Horner scheme. */ - svfloat32_t p_1357 = svld1rq (svptrue_b32 (), &d->poly_1357[0]); -@@ -81,6 +88,6 @@ svfloat32_t SV_NAME_F1 (log2) (svfloat32_t x, const svbool_t pg) - y = svmla_x (pg, q_01, r2, y); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmla_x (svnot_z (pg, special), n, r, y), special); -- return svmla_x (pg, n, r, y); -+ return special_case (u_off, n, r, y, special); -+ return svmla_x (svptrue_b32 (), n, r, y); - } -diff --git a/sysdeps/aarch64/fpu/logf_sve.c b/sysdeps/aarch64/fpu/logf_sve.c -index d64e810cfe..5b9324678d 100644 ---- a/sysdeps/aarch64/fpu/logf_sve.c -+++ b/sysdeps/aarch64/fpu/logf_sve.c -@@ -24,6 +24,7 @@ static const struct data - float poly_0135[4]; - float poly_246[3]; - float ln2; -+ uint32_t off, lower; - } data = { - .poly_0135 = { - /* Coefficients copied from the AdvSIMD routine in math/, then rearranged so -@@ -32,19 +33,24 @@ static const struct data - -0x1.3e737cp-3f, 0x1.5a9aa2p-3f, 0x1.961348p-3f, 0x1.555d7cp-2f - }, - .poly_246 = { -0x1.4f9934p-3f, -0x1.00187cp-2f, -0x1.ffffc8p-2f }, -- .ln2 = 0x1.62e43p-1f -+ .ln2 = 0x1.62e43p-1f, -+ .off = 0x3f2aaaab, -+ /* Lower bound is the smallest positive normal float 0x00800000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -+ .lower = 0x00800000 - 0x3f2aaaab - }; - --#define Min (0x00800000) --#define Max (0x7f800000) --#define Thresh (0x7f000000) /* Max - Min. */ -+#define Thresh (0x7f000000) /* asuint32(inf) - 0x00800000. */ - #define Mask (0x007fffff) --#define Off (0x3f2aaaab) /* 0.666667. */ - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t cmp) -+special_case (svuint32_t u_off, svfloat32_t p, svfloat32_t r2, svfloat32_t y, -+ svbool_t cmp) - { -- return sv_call_f32 (logf, x, y, cmp); -+ return sv_call_f32 ( -+ logf, svreinterpret_f32 (svadd_x (svptrue_b32 (), u_off, data.off)), -+ svmla_x (svptrue_b32 (), p, r2, y), cmp); - } - - /* Optimised implementation of SVE logf, using the same algorithm and -@@ -55,19 +61,21 @@ svfloat32_t SV_NAME_F1 (log) (svfloat32_t x, const svbool_t pg) - { - const struct data *d = ptr_barrier (&data); - -- svuint32_t u = svreinterpret_u32 (x); -- svbool_t cmp = svcmpge (pg, svsub_x (pg, u, Min), Thresh); -+ svuint32_t u_off = svreinterpret_u32 (x); -+ -+ u_off = svsub_x (pg, u_off, d->off); -+ svbool_t cmp = svcmpge (pg, svsub_x (pg, u_off, d->lower), Thresh); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- u = svsub_x (pg, u, Off); - svfloat32_t n = svcvt_f32_x ( -- pg, svasr_x (pg, svreinterpret_s32 (u), 23)); /* Sign-extend. */ -- u = svand_x (pg, u, Mask); -- u = svadd_x (pg, u, Off); -+ pg, svasr_x (pg, svreinterpret_s32 (u_off), 23)); /* Sign-extend. */ -+ -+ svuint32_t u = svand_x (pg, u_off, Mask); -+ u = svadd_x (pg, u, d->off); - svfloat32_t r = svsub_x (pg, svreinterpret_f32 (u), 1.0f); - - /* y = log(1+r) + n*ln2. */ -- svfloat32_t r2 = svmul_x (pg, r, r); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); - /* n*ln2 + r + r2*(P6 + r*P5 + r2*(P4 + r*P3 + r2*(P2 + r*P1 + r2*P0))). */ - svfloat32_t p_0135 = svld1rq (svptrue_b32 (), &d->poly_0135[0]); - svfloat32_t p = svmla_lane (sv_f32 (d->poly_246[0]), r, p_0135, 1); -@@ -80,6 +88,6 @@ svfloat32_t SV_NAME_F1 (log) (svfloat32_t x, const svbool_t pg) - p = svmla_x (pg, r, n, d->ln2); - - if (__glibc_unlikely (svptest_any (pg, cmp))) -- return special_case (x, svmla_x (svnot_z (pg, cmp), p, r2, y), cmp); -+ return special_case (u_off, p, r2, y, cmp); - return svmla_x (pg, p, r2, y); - } - -commit 520240173029fd03388ec01db9a5359291cbbd27 -Author: Joe Ramsay -Date: Mon Sep 23 15:32:14 2024 +0100 - - AArch64: Improve codegen in users of AdvSIMD log1pf helper - - log1pf is quite register-intensive - use fewer registers for the - polynomial, and make various changes to shorten dependency chains in - parent routines. There is now no spilling with GCC 14. Accuracy moves - around a little - comments adjusted accordingly but does not require - regen-ulps. - - Use the helper in log1pf as well, instead of having separate - implementations. The more accurate polynomial means special-casing can - be simplified, and the shorter dependency chain avoids the usual dance - around v0, which is otherwise difficult. - - There is a small duplication of vectors containing 1.0f (or 0x3f800000) - - GCC is not currently able to efficiently handle values which fit in FMOV - but not MOVI, and are reinterpreted to integer. There may be potential - for more optimisation if this is fixed. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 5bc100bd4b7e00db3009ae93d25d303341545d23) - -diff --git a/sysdeps/aarch64/fpu/acoshf_advsimd.c b/sysdeps/aarch64/fpu/acoshf_advsimd.c -index 8916dcbf40..004474acf9 100644 ---- a/sysdeps/aarch64/fpu/acoshf_advsimd.c -+++ b/sysdeps/aarch64/fpu/acoshf_advsimd.c -@@ -25,35 +25,32 @@ const static struct data - { - struct v_log1pf_data log1pf_consts; - uint32x4_t one; -- uint16x4_t thresh; --} data = { -- .log1pf_consts = V_LOG1PF_CONSTANTS_TABLE, -- .one = V4 (0x3f800000), -- .thresh = V4 (0x2000) /* top(asuint(SquareLim) - asuint(1)). */ --}; -+} data = { .log1pf_consts = V_LOG1PF_CONSTANTS_TABLE, .one = V4 (0x3f800000) }; -+ -+#define Thresh vdup_n_u16 (0x2000) /* top(asuint(SquareLim) - asuint(1)). */ - - static float32x4_t NOINLINE VPCS_ATTR - special_case (float32x4_t x, float32x4_t y, uint16x4_t special, -- const struct v_log1pf_data d) -+ const struct v_log1pf_data *d) - { - return v_call_f32 (acoshf, x, log1pf_inline (y, d), vmovl_u16 (special)); - } - - /* Vector approximation for single-precision acosh, based on log1p. Maximum - error depends on WANT_SIMD_EXCEPT. With SIMD fp exceptions enabled, it -- is 2.78 ULP: -- __v_acoshf(0x1.07887p+0) got 0x1.ef9e9cp-3 -- want 0x1.ef9ea2p-3. -+ is 3.00 ULP: -+ _ZGVnN4v_acoshf(0x1.01df3ap+0) got 0x1.ef0a82p-4 -+ want 0x1.ef0a7cp-4. - With exceptions disabled, we can compute u with a shorter dependency chain, -- which gives maximum error of 3.07 ULP: -- __v_acoshf(0x1.01f83ep+0) got 0x1.fbc7fap-4 -- want 0x1.fbc7f4p-4. */ -+ which gives maximum error of 3.22 ULP: -+ _ZGVnN4v_acoshf(0x1.007ef2p+0) got 0x1.fdcdccp-5 -+ want 0x1.fdcdd2p-5. */ - - VPCS_ATTR float32x4_t NOINLINE V_NAME_F1 (acosh) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); - uint32x4_t ix = vreinterpretq_u32_f32 (x); -- uint16x4_t special = vcge_u16 (vsubhn_u32 (ix, d->one), d->thresh); -+ uint16x4_t special = vcge_u16 (vsubhn_u32 (ix, d->one), Thresh); - - #if WANT_SIMD_EXCEPT - /* Mask special lanes with 1 to side-step spurious invalid or overflow. Use -@@ -64,15 +61,16 @@ VPCS_ATTR float32x4_t NOINLINE V_NAME_F1 (acosh) (float32x4_t x) - float32x4_t xm1 = v_zerofy_f32 (vsubq_f32 (x, v_f32 (1)), p); - float32x4_t u = vfmaq_f32 (vaddq_f32 (xm1, xm1), xm1, xm1); - #else -- float32x4_t xm1 = vsubq_f32 (x, v_f32 (1)); -- float32x4_t u = vmulq_f32 (xm1, vaddq_f32 (x, v_f32 (1.0f))); -+ float32x4_t xm1 = vsubq_f32 (x, vreinterpretq_f32_u32 (d->one)); -+ float32x4_t u -+ = vmulq_f32 (xm1, vaddq_f32 (x, vreinterpretq_f32_u32 (d->one))); - #endif - - float32x4_t y = vaddq_f32 (xm1, vsqrtq_f32 (u)); - - if (__glibc_unlikely (v_any_u16h (special))) -- return special_case (x, y, special, d->log1pf_consts); -- return log1pf_inline (y, d->log1pf_consts); -+ return special_case (x, y, special, &d->log1pf_consts); -+ return log1pf_inline (y, &d->log1pf_consts); - } - libmvec_hidden_def (V_NAME_F1 (acosh)) - HALF_WIDTH_ALIAS_F1 (acosh) -diff --git a/sysdeps/aarch64/fpu/asinhf_advsimd.c b/sysdeps/aarch64/fpu/asinhf_advsimd.c -index 09fd8a6143..eb789b91b6 100644 ---- a/sysdeps/aarch64/fpu/asinhf_advsimd.c -+++ b/sysdeps/aarch64/fpu/asinhf_advsimd.c -@@ -20,16 +20,16 @@ - #include "v_math.h" - #include "v_log1pf_inline.h" - --#define SignMask v_u32 (0x80000000) -- - const static struct data - { - struct v_log1pf_data log1pf_consts; -+ float32x4_t one; - uint32x4_t big_bound; - #if WANT_SIMD_EXCEPT - uint32x4_t tiny_bound; - #endif - } data = { -+ .one = V4 (1), - .log1pf_consts = V_LOG1PF_CONSTANTS_TABLE, - .big_bound = V4 (0x5f800000), /* asuint(0x1p64). */ - #if WANT_SIMD_EXCEPT -@@ -38,20 +38,27 @@ const static struct data - }; - - static float32x4_t NOINLINE VPCS_ATTR --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, uint32x4_t sign, float32x4_t y, -+ uint32x4_t special, const struct data *d) - { -- return v_call_f32 (asinhf, x, y, special); -+ return v_call_f32 ( -+ asinhf, x, -+ vreinterpretq_f32_u32 (veorq_u32 ( -+ sign, vreinterpretq_u32_f32 (log1pf_inline (y, &d->log1pf_consts)))), -+ special); - } - - /* Single-precision implementation of vector asinh(x), using vector log1p. -- Worst-case error is 2.66 ULP, at roughly +/-0.25: -- __v_asinhf(0x1.01b04p-2) got 0x1.fe163ep-3 want 0x1.fe1638p-3. */ -+ Worst-case error is 2.59 ULP: -+ _ZGVnN4v_asinhf(0x1.d86124p-3) got 0x1.d449bep-3 -+ want 0x1.d449c4p-3. */ - VPCS_ATTR float32x4_t NOINLINE V_NAME_F1 (asinh) (float32x4_t x) - { - const struct data *dat = ptr_barrier (&data); -- uint32x4_t iax = vbicq_u32 (vreinterpretq_u32_f32 (x), SignMask); -- float32x4_t ax = vreinterpretq_f32_u32 (iax); -+ float32x4_t ax = vabsq_f32 (x); -+ uint32x4_t iax = vreinterpretq_u32_f32 (ax); - uint32x4_t special = vcgeq_u32 (iax, dat->big_bound); -+ uint32x4_t sign = veorq_u32 (vreinterpretq_u32_f32 (x), iax); - float32x4_t special_arg = x; - - #if WANT_SIMD_EXCEPT -@@ -68,13 +75,13 @@ VPCS_ATTR float32x4_t NOINLINE V_NAME_F1 (asinh) (float32x4_t x) - /* asinh(x) = log(x + sqrt(x * x + 1)). - For positive x, asinh(x) = log1p(x + x * x / (1 + sqrt(x * x + 1))). */ - float32x4_t d -- = vaddq_f32 (v_f32 (1), vsqrtq_f32 (vfmaq_f32 (v_f32 (1), x, x))); -- float32x4_t y = log1pf_inline ( -- vaddq_f32 (ax, vdivq_f32 (vmulq_f32 (ax, ax), d)), dat->log1pf_consts); -+ = vaddq_f32 (v_f32 (1), vsqrtq_f32 (vfmaq_f32 (dat->one, ax, ax))); -+ float32x4_t y = vaddq_f32 (ax, vdivq_f32 (vmulq_f32 (ax, ax), d)); - - if (__glibc_unlikely (v_any_u32 (special))) -- return special_case (special_arg, vbslq_f32 (SignMask, x, y), special); -- return vbslq_f32 (SignMask, x, y); -+ return special_case (special_arg, sign, y, special, dat); -+ return vreinterpretq_f32_u32 (veorq_u32 ( -+ sign, vreinterpretq_u32_f32 (log1pf_inline (y, &dat->log1pf_consts)))); - } - libmvec_hidden_def (V_NAME_F1 (asinh)) - HALF_WIDTH_ALIAS_F1 (asinh) -diff --git a/sysdeps/aarch64/fpu/atanhf_advsimd.c b/sysdeps/aarch64/fpu/atanhf_advsimd.c -index ae488f7b54..818b6c92ad 100644 ---- a/sysdeps/aarch64/fpu/atanhf_advsimd.c -+++ b/sysdeps/aarch64/fpu/atanhf_advsimd.c -@@ -40,15 +40,17 @@ const static struct data - #define Half v_u32 (0x3f000000) - - static float32x4_t NOINLINE VPCS_ATTR --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, float32x4_t halfsign, float32x4_t y, -+ uint32x4_t special) - { -- return v_call_f32 (atanhf, x, y, special); -+ return v_call_f32 (atanhf, vbslq_f32 (AbsMask, x, halfsign), -+ vmulq_f32 (halfsign, y), special); - } - - /* Approximation for vector single-precision atanh(x) using modified log1p. -- The maximum error is 3.08 ULP: -- __v_atanhf(0x1.ff215p-5) got 0x1.ffcb7cp-5 -- want 0x1.ffcb82p-5. */ -+ The maximum error is 2.93 ULP: -+ _ZGVnN4v_atanhf(0x1.f43d7p-5) got 0x1.f4dcfep-5 -+ want 0x1.f4dcf8p-5. */ - VPCS_ATTR float32x4_t NOINLINE V_NAME_F1 (atanh) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -@@ -68,11 +70,19 @@ VPCS_ATTR float32x4_t NOINLINE V_NAME_F1 (atanh) (float32x4_t x) - uint32x4_t special = vcgeq_u32 (iax, d->one); - #endif - -- float32x4_t y = vdivq_f32 (vaddq_f32 (ax, ax), vsubq_f32 (v_f32 (1), ax)); -- y = log1pf_inline (y, d->log1pf_consts); -+ float32x4_t y = vdivq_f32 (vaddq_f32 (ax, ax), -+ vsubq_f32 (vreinterpretq_f32_u32 (d->one), ax)); -+ y = log1pf_inline (y, &d->log1pf_consts); - -+ /* If exceptions not required, pass ax to special-case for shorter dependency -+ chain. If exceptions are required ax will have been zerofied, so have to -+ pass x. */ - if (__glibc_unlikely (v_any_u32 (special))) -- return special_case (x, vmulq_f32 (halfsign, y), special); -+#if WANT_SIMD_EXCEPT -+ return special_case (x, halfsign, y, special); -+#else -+ return special_case (ax, halfsign, y, special); -+#endif - return vmulq_f32 (halfsign, y); - } - libmvec_hidden_def (V_NAME_F1 (atanh)) -diff --git a/sysdeps/aarch64/fpu/log1pf_advsimd.c b/sysdeps/aarch64/fpu/log1pf_advsimd.c -index 8cfa28fb8a..00006fc703 100644 ---- a/sysdeps/aarch64/fpu/log1pf_advsimd.c -+++ b/sysdeps/aarch64/fpu/log1pf_advsimd.c -@@ -18,114 +18,79 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f32.h" -+#include "v_log1pf_inline.h" -+ -+#if WANT_SIMD_EXCEPT - - const static struct data - { -- float32x4_t poly[8], ln2; -- uint32x4_t tiny_bound, minus_one, four, thresh; -- int32x4_t three_quarters; -+ uint32x4_t minus_one, thresh; -+ struct v_log1pf_data d; - } data = { -- .poly = { /* Generated using FPMinimax in [-0.25, 0.5]. First two coefficients -- (1, -0.5) are not stored as they can be generated more -- efficiently. */ -- V4 (0x1.5555aap-2f), V4 (-0x1.000038p-2f), V4 (0x1.99675cp-3f), -- V4 (-0x1.54ef78p-3f), V4 (0x1.28a1f4p-3f), V4 (-0x1.0da91p-3f), -- V4 (0x1.abcb6p-4f), V4 (-0x1.6f0d5ep-5f) }, -- .ln2 = V4 (0x1.62e43p-1f), -- .tiny_bound = V4 (0x34000000), /* asuint32(0x1p-23). ulp=0.5 at 0x1p-23. */ -- .thresh = V4 (0x4b800000), /* asuint32(INFINITY) - tiny_bound. */ -+ .d = V_LOG1PF_CONSTANTS_TABLE, -+ .thresh = V4 (0x4b800000), /* asuint32(INFINITY) - TinyBound. */ - .minus_one = V4 (0xbf800000), -- .four = V4 (0x40800000), -- .three_quarters = V4 (0x3f400000) - }; - --static inline float32x4_t --eval_poly (float32x4_t m, const float32x4_t *p) --{ -- /* Approximate log(1+m) on [-0.25, 0.5] using split Estrin scheme. */ -- float32x4_t p_12 = vfmaq_f32 (v_f32 (-0.5), m, p[0]); -- float32x4_t p_34 = vfmaq_f32 (p[1], m, p[2]); -- float32x4_t p_56 = vfmaq_f32 (p[3], m, p[4]); -- float32x4_t p_78 = vfmaq_f32 (p[5], m, p[6]); -- -- float32x4_t m2 = vmulq_f32 (m, m); -- float32x4_t p_02 = vfmaq_f32 (m, m2, p_12); -- float32x4_t p_36 = vfmaq_f32 (p_34, m2, p_56); -- float32x4_t p_79 = vfmaq_f32 (p_78, m2, p[7]); -- -- float32x4_t m4 = vmulq_f32 (m2, m2); -- float32x4_t p_06 = vfmaq_f32 (p_02, m4, p_36); -- return vfmaq_f32 (p_06, m4, vmulq_f32 (m4, p_79)); --} -+/* asuint32(0x1p-23). ulp=0.5 at 0x1p-23. */ -+# define TinyBound v_u32 (0x34000000) - - static float32x4_t NOINLINE VPCS_ATTR --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, uint32x4_t cmp, const struct data *d) - { -- return v_call_f32 (log1pf, x, y, special); -+ /* Side-step special lanes so fenv exceptions are not triggered -+ inadvertently. */ -+ float32x4_t x_nospecial = v_zerofy_f32 (x, cmp); -+ return v_call_f32 (log1pf, x, log1pf_inline (x_nospecial, &d->d), cmp); - } - --/* Vector log1pf approximation using polynomial on reduced interval. Accuracy -- is roughly 2.02 ULP: -- log1pf(0x1.21e13ap-2) got 0x1.fe8028p-3 want 0x1.fe802cp-3. */ -+/* Vector log1pf approximation using polynomial on reduced interval. Worst-case -+ error is 1.69 ULP: -+ _ZGVnN4v_log1pf(0x1.04418ap-2) got 0x1.cfcbd8p-3 -+ want 0x1.cfcbdcp-3. */ - VPCS_ATTR float32x4_t V_NAME_F1 (log1p) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- - uint32x4_t ix = vreinterpretq_u32_f32 (x); - uint32x4_t ia = vreinterpretq_u32_f32 (vabsq_f32 (x)); -+ - uint32x4_t special_cases -- = vorrq_u32 (vcgeq_u32 (vsubq_u32 (ia, d->tiny_bound), d->thresh), -+ = vorrq_u32 (vcgeq_u32 (vsubq_u32 (ia, TinyBound), d->thresh), - vcgeq_u32 (ix, d->minus_one)); -- float32x4_t special_arg = x; - --#if WANT_SIMD_EXCEPT - if (__glibc_unlikely (v_any_u32 (special_cases))) -- /* Side-step special lanes so fenv exceptions are not triggered -- inadvertently. */ -- x = v_zerofy_f32 (x, special_cases); --#endif -+ return special_case (x, special_cases, d); - -- /* With x + 1 = t * 2^k (where t = m + 1 and k is chosen such that m -- is in [-0.25, 0.5]): -- log1p(x) = log(t) + log(2^k) = log1p(m) + k*log(2). -- -- We approximate log1p(m) with a polynomial, then scale by -- k*log(2). Instead of doing this directly, we use an intermediate -- scale factor s = 4*k*log(2) to ensure the scale is representable -- as a normalised fp32 number. */ -+ return log1pf_inline (x, &d->d); -+} - -- float32x4_t m = vaddq_f32 (x, v_f32 (1.0f)); -+#else - -- /* Choose k to scale x to the range [-1/4, 1/2]. */ -- int32x4_t k -- = vandq_s32 (vsubq_s32 (vreinterpretq_s32_f32 (m), d->three_quarters), -- v_s32 (0xff800000)); -- uint32x4_t ku = vreinterpretq_u32_s32 (k); -+const static struct v_log1pf_data data = V_LOG1PF_CONSTANTS_TABLE; - -- /* Scale x by exponent manipulation. */ -- float32x4_t m_scale -- = vreinterpretq_f32_u32 (vsubq_u32 (vreinterpretq_u32_f32 (x), ku)); -+static float32x4_t NOINLINE VPCS_ATTR -+special_case (float32x4_t x, uint32x4_t cmp) -+{ -+ return v_call_f32 (log1pf, x, log1pf_inline (x, ptr_barrier (&data)), cmp); -+} - -- /* Scale up to ensure that the scale factor is representable as normalised -- fp32 number, and scale m down accordingly. */ -- float32x4_t s = vreinterpretq_f32_u32 (vsubq_u32 (d->four, ku)); -- m_scale = vaddq_f32 (m_scale, vfmaq_f32 (v_f32 (-1.0f), v_f32 (0.25f), s)); -+/* Vector log1pf approximation using polynomial on reduced interval. Worst-case -+ error is 1.63 ULP: -+ _ZGVnN4v_log1pf(0x1.216d12p-2) got 0x1.fdcb12p-3 -+ want 0x1.fdcb16p-3. */ -+VPCS_ATTR float32x4_t V_NAME_F1 (log1p) (float32x4_t x) -+{ -+ uint32x4_t special_cases = vornq_u32 (vcleq_f32 (x, v_f32 (-1)), -+ vcaleq_f32 (x, v_f32 (0x1p127f))); - -- /* Evaluate polynomial on the reduced interval. */ -- float32x4_t p = eval_poly (m_scale, d->poly); -+ if (__glibc_unlikely (v_any_u32 (special_cases))) -+ return special_case (x, special_cases); - -- /* The scale factor to be applied back at the end - by multiplying float(k) -- by 2^-23 we get the unbiased exponent of k. */ -- float32x4_t scale_back = vcvtq_f32_s32 (vshrq_n_s32 (k, 23)); -+ return log1pf_inline (x, ptr_barrier (&data)); -+} - -- /* Apply the scaling back. */ -- float32x4_t y = vfmaq_f32 (p, scale_back, d->ln2); -+#endif - -- if (__glibc_unlikely (v_any_u32 (special_cases))) -- return special_case (special_arg, y, special_cases); -- return y; --} - libmvec_hidden_def (V_NAME_F1 (log1p)) - HALF_WIDTH_ALIAS_F1 (log1p) - strong_alias (V_NAME_F1 (log1p), V_NAME_F1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/v_log1pf_inline.h b/sysdeps/aarch64/fpu/v_log1pf_inline.h -index 643a6cdcfc..73e45a942e 100644 ---- a/sysdeps/aarch64/fpu/v_log1pf_inline.h -+++ b/sysdeps/aarch64/fpu/v_log1pf_inline.h -@@ -25,54 +25,81 @@ - - struct v_log1pf_data - { -- float32x4_t poly[8], ln2; - uint32x4_t four; - int32x4_t three_quarters; -+ float c0, c3, c5, c7; -+ float32x4_t c4, c6, c1, c2, ln2; - }; - - /* Polynomial generated using FPMinimax in [-0.25, 0.5]. First two coefficients - (1, -0.5) are not stored as they can be generated more efficiently. */ - #define V_LOG1PF_CONSTANTS_TABLE \ - { \ -- .poly \ -- = { V4 (0x1.5555aap-2f), V4 (-0x1.000038p-2f), V4 (0x1.99675cp-3f), \ -- V4 (-0x1.54ef78p-3f), V4 (0x1.28a1f4p-3f), V4 (-0x1.0da91p-3f), \ -- V4 (0x1.abcb6p-4f), V4 (-0x1.6f0d5ep-5f) }, \ -- .ln2 = V4 (0x1.62e43p-1f), .four = V4 (0x40800000), \ -- .three_quarters = V4 (0x3f400000) \ -+ .c0 = 0x1.5555aap-2f, .c1 = V4 (-0x1.000038p-2f), \ -+ .c2 = V4 (0x1.99675cp-3f), .c3 = -0x1.54ef78p-3f, \ -+ .c4 = V4 (0x1.28a1f4p-3f), .c5 = -0x1.0da91p-3f, \ -+ .c6 = V4 (0x1.abcb6p-4f), .c7 = -0x1.6f0d5ep-5f, \ -+ .ln2 = V4 (0x1.62e43p-1f), .four = V4 (0x40800000), \ -+ .three_quarters = V4 (0x3f400000) \ - } - - static inline float32x4_t --eval_poly (float32x4_t m, const float32x4_t *c) -+eval_poly (float32x4_t m, const struct v_log1pf_data *d) - { -- /* Approximate log(1+m) on [-0.25, 0.5] using pairwise Horner (main routine -- uses split Estrin, but this way reduces register pressure in the calling -- routine). */ -- float32x4_t q = vfmaq_f32 (v_f32 (-0.5), m, c[0]); -+ /* Approximate log(1+m) on [-0.25, 0.5] using pairwise Horner. */ -+ float32x4_t c0357 = vld1q_f32 (&d->c0); -+ float32x4_t q = vfmaq_laneq_f32 (v_f32 (-0.5), m, c0357, 0); - float32x4_t m2 = vmulq_f32 (m, m); -- q = vfmaq_f32 (m, m2, q); -- float32x4_t p = v_pw_horner_6_f32 (m, m2, c + 1); -+ float32x4_t p67 = vfmaq_laneq_f32 (d->c6, m, c0357, 3); -+ float32x4_t p45 = vfmaq_laneq_f32 (d->c4, m, c0357, 2); -+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, m, c0357, 1); -+ float32x4_t p = vfmaq_f32 (p45, m2, p67); -+ p = vfmaq_f32 (p23, m2, p); -+ p = vfmaq_f32 (d->c1, m, p); - p = vmulq_f32 (m2, p); -- return vfmaq_f32 (q, m2, p); -+ p = vfmaq_f32 (m, m2, p); -+ return vfmaq_f32 (p, m2, q); - } - - static inline float32x4_t --log1pf_inline (float32x4_t x, const struct v_log1pf_data d) -+log1pf_inline (float32x4_t x, const struct v_log1pf_data *d) - { -- /* Helper for calculating log(x + 1). Copied from log1pf_2u1.c, with no -- special-case handling. See that file for details of the algorithm. */ -+ /* Helper for calculating log(x + 1). */ -+ -+ /* With x + 1 = t * 2^k (where t = m + 1 and k is chosen such that m -+ is in [-0.25, 0.5]): -+ log1p(x) = log(t) + log(2^k) = log1p(m) + k*log(2). -+ -+ We approximate log1p(m) with a polynomial, then scale by -+ k*log(2). Instead of doing this directly, we use an intermediate -+ scale factor s = 4*k*log(2) to ensure the scale is representable -+ as a normalised fp32 number. */ - float32x4_t m = vaddq_f32 (x, v_f32 (1.0f)); -+ -+ /* Choose k to scale x to the range [-1/4, 1/2]. */ - int32x4_t k -- = vandq_s32 (vsubq_s32 (vreinterpretq_s32_f32 (m), d.three_quarters), -+ = vandq_s32 (vsubq_s32 (vreinterpretq_s32_f32 (m), d->three_quarters), - v_s32 (0xff800000)); - uint32x4_t ku = vreinterpretq_u32_s32 (k); -- float32x4_t s = vreinterpretq_f32_u32 (vsubq_u32 (d.four, ku)); -+ -+ /* Scale up to ensure that the scale factor is representable as normalised -+ fp32 number, and scale m down accordingly. */ -+ float32x4_t s = vreinterpretq_f32_u32 (vsubq_u32 (d->four, ku)); -+ -+ /* Scale x by exponent manipulation. */ - float32x4_t m_scale - = vreinterpretq_f32_u32 (vsubq_u32 (vreinterpretq_u32_f32 (x), ku)); - m_scale = vaddq_f32 (m_scale, vfmaq_f32 (v_f32 (-1.0f), v_f32 (0.25f), s)); -- float32x4_t p = eval_poly (m_scale, d.poly); -+ -+ /* Evaluate polynomial on the reduced interval. */ -+ float32x4_t p = eval_poly (m_scale, d); -+ -+ /* The scale factor to be applied back at the end - by multiplying float(k) -+ by 2^-23 we get the unbiased exponent of k. */ - float32x4_t scale_back = vmulq_f32 (vcvtq_f32_s32 (k), v_f32 (0x1.0p-23f)); -- return vfmaq_f32 (p, scale_back, d.ln2); -+ -+ /* Apply the scaling back. */ -+ return vfmaq_f32 (p, scale_back, d->ln2); - } - - #endif - -commit a947a43b95bbea53ec50df058b42392fd5ea52b6 -Author: Joe Ramsay -Date: Mon Sep 23 15:32:53 2024 +0100 - - AArch64: Improve codegen in users of ADVSIMD expm1f helper - - Rearrange operations so MOV is not necessary in reduction or around - the special-case handler. Reduce memory access by using more indexed - MLAs in polynomial. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 7900ac490db32f6bccff812733f00280dde34e27) - -diff --git a/sysdeps/aarch64/fpu/expm1f_advsimd.c b/sysdeps/aarch64/fpu/expm1f_advsimd.c -index a0616ec754..8303ca296e 100644 ---- a/sysdeps/aarch64/fpu/expm1f_advsimd.c -+++ b/sysdeps/aarch64/fpu/expm1f_advsimd.c -@@ -18,27 +18,18 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f32.h" -+#include "v_expm1f_inline.h" - - static const struct data - { -- float32x4_t poly[5]; -- float invln2_and_ln2[4]; -- float32x4_t shift; -- int32x4_t exponent_bias; -+ struct v_expm1f_data d; - #if WANT_SIMD_EXCEPT - uint32x4_t thresh; - #else - float32x4_t oflow_bound; - #endif - } data = { -- /* Generated using fpminimax with degree=5 in [-log(2)/2, log(2)/2]. */ -- .poly = { V4 (0x1.fffffep-2), V4 (0x1.5554aep-3), V4 (0x1.555736p-5), -- V4 (0x1.12287cp-7), V4 (0x1.6b55a2p-10) }, -- /* Stores constants: invln2, ln2_hi, ln2_lo, 0. */ -- .invln2_and_ln2 = { 0x1.715476p+0f, 0x1.62e4p-1f, 0x1.7f7d1cp-20f, 0 }, -- .shift = V4 (0x1.8p23f), -- .exponent_bias = V4 (0x3f800000), -+ .d = V_EXPM1F_DATA, - #if !WANT_SIMD_EXCEPT - /* Value above which expm1f(x) should overflow. Absolute value of the - underflow bound is greater than this, so it catches both cases - there is -@@ -55,67 +46,38 @@ static const struct data - #define TinyBound v_u32 (0x34000000 << 1) - - static float32x4_t VPCS_ATTR NOINLINE --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, uint32x4_t special, const struct data *d) - { -- return v_call_f32 (expm1f, x, y, special); -+ return v_call_f32 ( -+ expm1f, x, expm1f_inline (v_zerofy_f32 (x, special), &d->d), special); - } - - /* Single-precision vector exp(x) - 1 function. -- The maximum error is 1.51 ULP: -- _ZGVnN4v_expm1f (0x1.8baa96p-2) got 0x1.e2fb9p-2 -- want 0x1.e2fb94p-2. */ -+ The maximum error is 1.62 ULP: -+ _ZGVnN4v_expm1f(0x1.85f83p-2) got 0x1.da9f4p-2 -+ want 0x1.da9f44p-2. */ - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (expm1) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- uint32x4_t ix = vreinterpretq_u32_f32 (x); - - #if WANT_SIMD_EXCEPT -+ uint32x4_t ix = vreinterpretq_u32_f32 (x); - /* If fp exceptions are to be triggered correctly, fall back to scalar for - |x| < 2^-23, |x| > oflow_bound, Inf & NaN. Add ix to itself for - shift-left by 1, and compare with thresh which was left-shifted offline - - this is effectively an absolute compare. */ - uint32x4_t special - = vcgeq_u32 (vsubq_u32 (vaddq_u32 (ix, ix), TinyBound), d->thresh); -- if (__glibc_unlikely (v_any_u32 (special))) -- x = v_zerofy_f32 (x, special); - #else - /* Handles very large values (+ve and -ve), +/-NaN, +/-Inf. */ - uint32x4_t special = vcagtq_f32 (x, d->oflow_bound); - #endif - -- /* Reduce argument to smaller range: -- Let i = round(x / ln2) -- and f = x - i * ln2, then f is in [-ln2/2, ln2/2]. -- exp(x) - 1 = 2^i * (expm1(f) + 1) - 1 -- where 2^i is exact because i is an integer. */ -- float32x4_t invln2_and_ln2 = vld1q_f32 (d->invln2_and_ln2); -- float32x4_t j -- = vsubq_f32 (vfmaq_laneq_f32 (d->shift, x, invln2_and_ln2, 0), d->shift); -- int32x4_t i = vcvtq_s32_f32 (j); -- float32x4_t f = vfmsq_laneq_f32 (x, j, invln2_and_ln2, 1); -- f = vfmsq_laneq_f32 (f, j, invln2_and_ln2, 2); -- -- /* Approximate expm1(f) using polynomial. -- Taylor expansion for expm1(x) has the form: -- x + ax^2 + bx^3 + cx^4 .... -- So we calculate the polynomial P(f) = a + bf + cf^2 + ... -- and assemble the approximation expm1(f) ~= f + f^2 * P(f). */ -- float32x4_t p = v_horner_4_f32 (f, d->poly); -- p = vfmaq_f32 (f, vmulq_f32 (f, f), p); -- -- /* Assemble the result. -- expm1(x) ~= 2^i * (p + 1) - 1 -- Let t = 2^i. */ -- int32x4_t u = vaddq_s32 (vshlq_n_s32 (i, 23), d->exponent_bias); -- float32x4_t t = vreinterpretq_f32_s32 (u); -- - if (__glibc_unlikely (v_any_u32 (special))) -- return special_case (vreinterpretq_f32_u32 (ix), -- vfmaq_f32 (vsubq_f32 (t, v_f32 (1.0f)), p, t), -- special); -+ return special_case (x, special, d); - - /* expm1(x) ~= p * t + (t - 1). */ -- return vfmaq_f32 (vsubq_f32 (t, v_f32 (1.0f)), p, t); -+ return expm1f_inline (x, &d->d); - } - libmvec_hidden_def (V_NAME_F1 (expm1)) - HALF_WIDTH_ALIAS_F1 (expm1) -diff --git a/sysdeps/aarch64/fpu/sinhf_advsimd.c b/sysdeps/aarch64/fpu/sinhf_advsimd.c -index 6bb7482dc2..c6ed7598e7 100644 ---- a/sysdeps/aarch64/fpu/sinhf_advsimd.c -+++ b/sysdeps/aarch64/fpu/sinhf_advsimd.c -@@ -23,15 +23,13 @@ - static const struct data - { - struct v_expm1f_data expm1f_consts; -- uint32x4_t halff; - #if WANT_SIMD_EXCEPT - uint32x4_t tiny_bound, thresh; - #else -- uint32x4_t oflow_bound; -+ float32x4_t oflow_bound; - #endif - } data = { - .expm1f_consts = V_EXPM1F_DATA, -- .halff = V4 (0x3f000000), - #if WANT_SIMD_EXCEPT - /* 0x1.6a09e8p-32, below which expm1f underflows. */ - .tiny_bound = V4 (0x2fb504f4), -@@ -39,14 +37,15 @@ static const struct data - .thresh = V4 (0x12fbbbb3), - #else - /* 0x1.61814ep+6, above which expm1f helper overflows. */ -- .oflow_bound = V4 (0x42b0c0a7), -+ .oflow_bound = V4 (0x1.61814ep+6), - #endif - }; - - static float32x4_t NOINLINE VPCS_ATTR --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, float32x4_t t, float32x4_t halfsign, -+ uint32x4_t special) - { -- return v_call_f32 (sinhf, x, y, special); -+ return v_call_f32 (sinhf, x, vmulq_f32 (t, halfsign), special); - } - - /* Approximation for vector single-precision sinh(x) using expm1. -@@ -60,15 +59,15 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (sinh) (float32x4_t x) - - uint32x4_t ix = vreinterpretq_u32_f32 (x); - float32x4_t ax = vabsq_f32 (x); -- uint32x4_t iax = vreinterpretq_u32_f32 (ax); -- uint32x4_t sign = veorq_u32 (ix, iax); -- float32x4_t halfsign = vreinterpretq_f32_u32 (vorrq_u32 (sign, d->halff)); -+ float32x4_t halfsign = vreinterpretq_f32_u32 ( -+ vbslq_u32 (v_u32 (0x80000000), ix, vreinterpretq_u32_f32 (v_f32 (0.5)))); - - #if WANT_SIMD_EXCEPT -- uint32x4_t special = vcgeq_u32 (vsubq_u32 (iax, d->tiny_bound), d->thresh); -+ uint32x4_t special = vcgeq_u32 ( -+ vsubq_u32 (vreinterpretq_u32_f32 (ax), d->tiny_bound), d->thresh); - ax = v_zerofy_f32 (ax, special); - #else -- uint32x4_t special = vcgeq_u32 (iax, d->oflow_bound); -+ uint32x4_t special = vcageq_f32 (x, d->oflow_bound); - #endif - - /* Up to the point that expm1f overflows, we can use it to calculate sinhf -@@ -80,7 +79,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (sinh) (float32x4_t x) - /* Fall back to the scalar variant for any lanes that should trigger an - exception. */ - if (__glibc_unlikely (v_any_u32 (special))) -- return special_case (x, vmulq_f32 (t, halfsign), special); -+ return special_case (x, t, halfsign, special); - - return vmulq_f32 (t, halfsign); - } -diff --git a/sysdeps/aarch64/fpu/tanhf_advsimd.c b/sysdeps/aarch64/fpu/tanhf_advsimd.c -index 50defd6ef0..3ced9b7a41 100644 ---- a/sysdeps/aarch64/fpu/tanhf_advsimd.c -+++ b/sysdeps/aarch64/fpu/tanhf_advsimd.c -@@ -28,13 +28,16 @@ static const struct data - /* 0x1.205966p+3, above which tanhf rounds to 1 (or -1 for negative). */ - .boring_bound = V4 (0x41102cb3), - .large_bound = V4 (0x7f800000), -- .onef = V4 (0x3f800000), - }; - - static float32x4_t NOINLINE VPCS_ATTR --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, uint32x4_t is_boring, float32x4_t boring, -+ float32x4_t q, uint32x4_t special) - { -- return v_call_f32 (tanhf, x, y, special); -+ return v_call_f32 ( -+ tanhf, x, -+ vbslq_f32 (is_boring, boring, vdivq_f32 (q, vaddq_f32 (q, v_f32 (2.0)))), -+ special); - } - - /* Approximation for single-precision vector tanh(x), using a simplified -@@ -50,7 +53,9 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (tanh) (float32x4_t x) - uint32x4_t iax = vreinterpretq_u32_f32 (ax); - uint32x4_t sign = veorq_u32 (ix, iax); - uint32x4_t is_boring = vcgtq_u32 (iax, d->boring_bound); -- float32x4_t boring = vreinterpretq_f32_u32 (vorrq_u32 (sign, d->onef)); -+ /* expm1 exponent bias is 1.0f reinterpreted to int. */ -+ float32x4_t boring = vreinterpretq_f32_u32 (vorrq_u32 ( -+ sign, vreinterpretq_u32_s32 (d->expm1f_consts.exponent_bias))); - - #if WANT_SIMD_EXCEPT - /* If fp exceptions are to be triggered properly, set all special and boring -@@ -66,10 +71,12 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (tanh) (float32x4_t x) - - /* tanh(x) = (e^2x - 1) / (e^2x + 1). */ - float32x4_t q = expm1f_inline (vmulq_n_f32 (x, 2), &d->expm1f_consts); -- float32x4_t y = vdivq_f32 (q, vaddq_f32 (q, v_f32 (2.0))); -+ - if (__glibc_unlikely (v_any_u32 (special))) -- return special_case (vreinterpretq_f32_u32 (ix), -- vbslq_f32 (is_boring, boring, y), special); -+ return special_case (vreinterpretq_f32_u32 (ix), is_boring, boring, q, -+ special); -+ -+ float32x4_t y = vdivq_f32 (q, vaddq_f32 (q, v_f32 (2.0))); - return vbslq_f32 (is_boring, boring, y); - } - libmvec_hidden_def (V_NAME_F1 (tanh)) -diff --git a/sysdeps/aarch64/fpu/v_expm1f_inline.h b/sysdeps/aarch64/fpu/v_expm1f_inline.h -index 59b552da6b..1daedfdd51 100644 ---- a/sysdeps/aarch64/fpu/v_expm1f_inline.h -+++ b/sysdeps/aarch64/fpu/v_expm1f_inline.h -@@ -21,48 +21,47 @@ - #define AARCH64_FPU_V_EXPM1F_INLINE_H - - #include "v_math.h" --#include "poly_advsimd_f32.h" -+#include "math_config.h" - - struct v_expm1f_data - { -- float32x4_t poly[5]; -- float invln2_and_ln2[4]; -- float32x4_t shift; -+ float32x4_t c0, c2; - int32x4_t exponent_bias; -+ float c1, c3, inv_ln2, c4; -+ float ln2_hi, ln2_lo; - }; - - /* Coefficients generated using fpminimax with degree=5 in [-log(2)/2, -- log(2)/2]. Exponent bias is asuint(1.0f). -- invln2_and_ln2 Stores constants: invln2, ln2_lo, ln2_hi, 0. */ -+ log(2)/2]. Exponent bias is asuint(1.0f). */ - #define V_EXPM1F_DATA \ - { \ -- .poly = { V4 (0x1.fffffep-2), V4 (0x1.5554aep-3), V4 (0x1.555736p-5), \ -- V4 (0x1.12287cp-7), V4 (0x1.6b55a2p-10) }, \ -- .shift = V4 (0x1.8p23f), .exponent_bias = V4 (0x3f800000), \ -- .invln2_and_ln2 = { 0x1.715476p+0f, 0x1.62e4p-1f, 0x1.7f7d1cp-20f, 0 }, \ -+ .c0 = V4 (0x1.fffffep-2), .c1 = 0x1.5554aep-3, .c2 = V4 (0x1.555736p-5), \ -+ .c3 = 0x1.12287cp-7, .c4 = 0x1.6b55a2p-10, \ -+ .exponent_bias = V4 (0x3f800000), .inv_ln2 = 0x1.715476p+0f, \ -+ .ln2_hi = 0x1.62e4p-1f, .ln2_lo = 0x1.7f7d1cp-20f, \ - } - - static inline float32x4_t - expm1f_inline (float32x4_t x, const struct v_expm1f_data *d) - { -- /* Helper routine for calculating exp(x) - 1. -- Copied from v_expm1f_1u6.c, with all special-case handling removed - the -- calling routine should handle special values if required. */ -+ /* Helper routine for calculating exp(x) - 1. */ -+ -+ float32x2_t ln2 = vld1_f32 (&d->ln2_hi); -+ float32x4_t lane_consts = vld1q_f32 (&d->c1); - - /* Reduce argument: f in [-ln2/2, ln2/2], i is exact. */ -- float32x4_t invln2_and_ln2 = vld1q_f32 (d->invln2_and_ln2); -- float32x4_t j -- = vsubq_f32 (vfmaq_laneq_f32 (d->shift, x, invln2_and_ln2, 0), d->shift); -+ float32x4_t j = vrndaq_f32 (vmulq_laneq_f32 (x, lane_consts, 2)); - int32x4_t i = vcvtq_s32_f32 (j); -- float32x4_t f = vfmsq_laneq_f32 (x, j, invln2_and_ln2, 1); -- f = vfmsq_laneq_f32 (f, j, invln2_and_ln2, 2); -+ float32x4_t f = vfmsq_lane_f32 (x, j, ln2, 0); -+ f = vfmsq_lane_f32 (f, j, ln2, 1); - -- /* Approximate expm1(f) with polynomial P, expm1(f) ~= f + f^2 * P(f). -- Uses Estrin scheme, where the main _ZGVnN4v_expm1f routine uses -- Horner. */ -+ /* Approximate expm1(f) with polynomial P, expm1(f) ~= f + f^2 * P(f). */ - float32x4_t f2 = vmulq_f32 (f, f); - float32x4_t f4 = vmulq_f32 (f2, f2); -- float32x4_t p = v_estrin_4_f32 (f, f2, f4, d->poly); -+ float32x4_t p01 = vfmaq_laneq_f32 (d->c0, f, lane_consts, 0); -+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, f, lane_consts, 1); -+ float32x4_t p = vfmaq_f32 (p01, f2, p23); -+ p = vfmaq_laneq_f32 (p, f4, lane_consts, 3); - p = vfmaq_f32 (f, f2, p); - - /* t = 2^i. */ - -commit 68f2eb20de698675ddc74068c2cd03fee29207df -Author: Joe Ramsay -Date: Mon Sep 23 15:33:31 2024 +0100 - - AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines - - This operation can be simplified to use simpler multiply-round-convert - sequence, which uses fewer instructions and constants. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 16a59571e4e9fd019d3fc23a2e7d73c1df8bb5cb) - -diff --git a/sysdeps/aarch64/fpu/cos_advsimd.c b/sysdeps/aarch64/fpu/cos_advsimd.c -index 3924c9ce44..11a89b1530 100644 ---- a/sysdeps/aarch64/fpu/cos_advsimd.c -+++ b/sysdeps/aarch64/fpu/cos_advsimd.c -@@ -22,7 +22,7 @@ - static const struct data - { - float64x2_t poly[7]; -- float64x2_t range_val, shift, inv_pi, half_pi, pi_1, pi_2, pi_3; -+ float64x2_t range_val, inv_pi, pi_1, pi_2, pi_3; - } data = { - /* Worst-case error is 3.3 ulp in [-pi/2, pi/2]. */ - .poly = { V2 (-0x1.555555555547bp-3), V2 (0x1.1111111108a4dp-7), -@@ -30,11 +30,9 @@ static const struct data - V2 (-0x1.ae633919987c6p-26), V2 (0x1.60e277ae07cecp-33), - V2 (-0x1.9e9540300a1p-41) }, - .inv_pi = V2 (0x1.45f306dc9c883p-2), -- .half_pi = V2 (0x1.921fb54442d18p+0), - .pi_1 = V2 (0x1.921fb54442d18p+1), - .pi_2 = V2 (0x1.1a62633145c06p-53), - .pi_3 = V2 (0x1.c1cd129024e09p-106), -- .shift = V2 (0x1.8p52), - .range_val = V2 (0x1p23) - }; - -@@ -68,10 +66,9 @@ float64x2_t VPCS_ATTR V_NAME_D1 (cos) (float64x2_t x) - #endif - - /* n = rint((|x|+pi/2)/pi) - 0.5. */ -- n = vfmaq_f64 (d->shift, d->inv_pi, vaddq_f64 (r, d->half_pi)); -- odd = vshlq_n_u64 (vreinterpretq_u64_f64 (n), 63); -- n = vsubq_f64 (n, d->shift); -- n = vsubq_f64 (n, v_f64 (0.5)); -+ n = vrndaq_f64 (vfmaq_f64 (v_f64 (0.5), r, d->inv_pi)); -+ odd = vshlq_n_u64 (vreinterpretq_u64_s64 (vcvtq_s64_f64 (n)), 63); -+ n = vsubq_f64 (n, v_f64 (0.5f)); - - /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */ - r = vfmsq_f64 (r, d->pi_1, n); -diff --git a/sysdeps/aarch64/fpu/cosf_advsimd.c b/sysdeps/aarch64/fpu/cosf_advsimd.c -index d0c285b03a..85a1b37373 100644 ---- a/sysdeps/aarch64/fpu/cosf_advsimd.c -+++ b/sysdeps/aarch64/fpu/cosf_advsimd.c -@@ -22,7 +22,7 @@ - static const struct data - { - float32x4_t poly[4]; -- float32x4_t range_val, inv_pi, half_pi, shift, pi_1, pi_2, pi_3; -+ float32x4_t range_val, inv_pi, pi_1, pi_2, pi_3; - } data = { - /* 1.886 ulp error. */ - .poly = { V4 (-0x1.555548p-3f), V4 (0x1.110df4p-7f), V4 (-0x1.9f42eap-13f), -@@ -33,8 +33,6 @@ static const struct data - .pi_3 = V4 (-0x1.ee59dap-49f), - - .inv_pi = V4 (0x1.45f306p-2f), -- .shift = V4 (0x1.8p+23f), -- .half_pi = V4 (0x1.921fb6p0f), - .range_val = V4 (0x1p20f) - }; - -@@ -69,9 +67,8 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (cos) (float32x4_t x) - #endif - - /* n = rint((|x|+pi/2)/pi) - 0.5. */ -- n = vfmaq_f32 (d->shift, d->inv_pi, vaddq_f32 (r, d->half_pi)); -- odd = vshlq_n_u32 (vreinterpretq_u32_f32 (n), 31); -- n = vsubq_f32 (n, d->shift); -+ n = vrndaq_f32 (vfmaq_f32 (v_f32 (0.5), r, d->inv_pi)); -+ odd = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtq_s32_f32 (n)), 31); - n = vsubq_f32 (n, v_f32 (0.5f)); - - /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */ -diff --git a/sysdeps/aarch64/fpu/expf_advsimd.c b/sysdeps/aarch64/fpu/expf_advsimd.c -index 99d2e647aa..5c9cb72620 100644 ---- a/sysdeps/aarch64/fpu/expf_advsimd.c -+++ b/sysdeps/aarch64/fpu/expf_advsimd.c -@@ -22,7 +22,7 @@ - static const struct data - { - float32x4_t poly[5]; -- float32x4_t shift, inv_ln2, ln2_hi, ln2_lo; -+ float32x4_t inv_ln2, ln2_hi, ln2_lo; - uint32x4_t exponent_bias; - #if !WANT_SIMD_EXCEPT - float32x4_t special_bound, scale_thresh; -@@ -31,7 +31,6 @@ static const struct data - /* maxerr: 1.45358 +0.5 ulp. */ - .poly = { V4 (0x1.0e4020p-7f), V4 (0x1.573e2ep-5f), V4 (0x1.555e66p-3f), - V4 (0x1.fffdb6p-2f), V4 (0x1.ffffecp-1f) }, -- .shift = V4 (0x1.8p23f), - .inv_ln2 = V4 (0x1.715476p+0f), - .ln2_hi = V4 (0x1.62e4p-1f), - .ln2_lo = V4 (0x1.7f7d1cp-20f), -@@ -85,7 +84,7 @@ special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- float32x4_t n, r, r2, scale, p, q, poly, z; -+ float32x4_t n, r, r2, scale, p, q, poly; - uint32x4_t cmp, e; - - #if WANT_SIMD_EXCEPT -@@ -104,11 +103,10 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp) (float32x4_t x) - - /* exp(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] - x = ln2*n + r, with r in [-ln2/2, ln2/2]. */ -- z = vfmaq_f32 (d->shift, x, d->inv_ln2); -- n = vsubq_f32 (z, d->shift); -+ n = vrndaq_f32 (vmulq_f32 (x, d->inv_ln2)); - r = vfmsq_f32 (x, n, d->ln2_hi); - r = vfmsq_f32 (r, n, d->ln2_lo); -- e = vshlq_n_u32 (vreinterpretq_u32_f32 (z), 23); -+ e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtq_s32_f32 (n)), 23); - scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); - - #if !WANT_SIMD_EXCEPT -diff --git a/sysdeps/aarch64/fpu/sin_advsimd.c b/sysdeps/aarch64/fpu/sin_advsimd.c -index a0d9d3b819..718125cbad 100644 ---- a/sysdeps/aarch64/fpu/sin_advsimd.c -+++ b/sysdeps/aarch64/fpu/sin_advsimd.c -@@ -22,7 +22,7 @@ - static const struct data - { - float64x2_t poly[7]; -- float64x2_t range_val, inv_pi, shift, pi_1, pi_2, pi_3; -+ float64x2_t range_val, inv_pi, pi_1, pi_2, pi_3; - } data = { - .poly = { V2 (-0x1.555555555547bp-3), V2 (0x1.1111111108a4dp-7), - V2 (-0x1.a01a019936f27p-13), V2 (0x1.71de37a97d93ep-19), -@@ -34,12 +34,13 @@ static const struct data - .pi_1 = V2 (0x1.921fb54442d18p+1), - .pi_2 = V2 (0x1.1a62633145c06p-53), - .pi_3 = V2 (0x1.c1cd129024e09p-106), -- .shift = V2 (0x1.8p52), - }; - - #if WANT_SIMD_EXCEPT --# define TinyBound v_u64 (0x3000000000000000) /* asuint64 (0x1p-255). */ --# define Thresh v_u64 (0x1160000000000000) /* RangeVal - TinyBound. */ -+/* asuint64(0x1p-253)), below which multiply by inv_pi underflows. */ -+# define TinyBound v_u64 (0x3020000000000000) -+/* RangeVal - TinyBound. */ -+# define Thresh v_u64 (0x1160000000000000) - #endif - - #define C(i) d->poly[i] -@@ -72,16 +73,15 @@ float64x2_t VPCS_ATTR V_NAME_D1 (sin) (float64x2_t x) - fenv). These lanes will be fixed by special-case handler later. */ - uint64x2_t ir = vreinterpretq_u64_f64 (vabsq_f64 (x)); - cmp = vcgeq_u64 (vsubq_u64 (ir, TinyBound), Thresh); -- r = vbslq_f64 (cmp, vreinterpretq_f64_u64 (cmp), x); -+ r = vreinterpretq_f64_u64 (vbicq_u64 (vreinterpretq_u64_f64 (x), cmp)); - #else - r = x; - cmp = vcageq_f64 (x, d->range_val); - #endif - - /* n = rint(|x|/pi). */ -- n = vfmaq_f64 (d->shift, d->inv_pi, r); -- odd = vshlq_n_u64 (vreinterpretq_u64_f64 (n), 63); -- n = vsubq_f64 (n, d->shift); -+ n = vrndaq_f64 (vmulq_f64 (r, d->inv_pi)); -+ odd = vshlq_n_u64 (vreinterpretq_u64_s64 (vcvtq_s64_f64 (n)), 63); - - /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */ - r = vfmsq_f64 (r, d->pi_1, n); -diff --git a/sysdeps/aarch64/fpu/sinf_advsimd.c b/sysdeps/aarch64/fpu/sinf_advsimd.c -index 375dfc3331..6ee9a23d5b 100644 ---- a/sysdeps/aarch64/fpu/sinf_advsimd.c -+++ b/sysdeps/aarch64/fpu/sinf_advsimd.c -@@ -22,7 +22,7 @@ - static const struct data - { - float32x4_t poly[4]; -- float32x4_t range_val, inv_pi, shift, pi_1, pi_2, pi_3; -+ float32x4_t range_val, inv_pi, pi_1, pi_2, pi_3; - } data = { - /* 1.886 ulp error. */ - .poly = { V4 (-0x1.555548p-3f), V4 (0x1.110df4p-7f), V4 (-0x1.9f42eap-13f), -@@ -33,13 +33,14 @@ static const struct data - .pi_3 = V4 (-0x1.ee59dap-49f), - - .inv_pi = V4 (0x1.45f306p-2f), -- .shift = V4 (0x1.8p+23f), - .range_val = V4 (0x1p20f) - }; - - #if WANT_SIMD_EXCEPT --# define TinyBound v_u32 (0x21000000) /* asuint32(0x1p-61f). */ --# define Thresh v_u32 (0x28800000) /* RangeVal - TinyBound. */ -+/* asuint32(0x1p-59f), below which multiply by inv_pi underflows. */ -+# define TinyBound v_u32 (0x22000000) -+/* RangeVal - TinyBound. */ -+# define Thresh v_u32 (0x27800000) - #endif - - #define C(i) d->poly[i] -@@ -64,23 +65,22 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (sin) (float32x4_t x) - /* If fenv exceptions are to be triggered correctly, set any special lanes - to 1 (which is neutral w.r.t. fenv). These lanes will be fixed by - special-case handler later. */ -- r = vbslq_f32 (cmp, vreinterpretq_f32_u32 (cmp), x); -+ r = vreinterpretq_f32_u32 (vbicq_u32 (vreinterpretq_u32_f32 (x), cmp)); - #else - r = x; - cmp = vcageq_f32 (x, d->range_val); - #endif - -- /* n = rint(|x|/pi) */ -- n = vfmaq_f32 (d->shift, d->inv_pi, r); -- odd = vshlq_n_u32 (vreinterpretq_u32_f32 (n), 31); -- n = vsubq_f32 (n, d->shift); -+ /* n = rint(|x|/pi). */ -+ n = vrndaq_f32 (vmulq_f32 (r, d->inv_pi)); -+ odd = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtq_s32_f32 (n)), 31); - -- /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2) */ -+ /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */ - r = vfmsq_f32 (r, d->pi_1, n); - r = vfmsq_f32 (r, d->pi_2, n); - r = vfmsq_f32 (r, d->pi_3, n); - -- /* y = sin(r) */ -+ /* y = sin(r). */ - r2 = vmulq_f32 (r, r); - y = vfmaq_f32 (C (2), C (3), r2); - y = vfmaq_f32 (C (1), y, r2); - -commit 9ff7559b274eb0dbce2cbcf87284c1d30d47a2d6 -Author: Joe Ramsay -Date: Mon Oct 28 14:58:35 2024 +0000 - - AArch64: Small optimisation in AdvSIMD erf and erfc - - In both routines, reduce register pressure such that GCC 14 emits no - spills for erf and fewer spills for erfc. Also use more efficient - comparison for the special-case in erf. - - Benchtests show erf improves by 6.4%, erfc by 1.0%. - - (cherry picked from commit 1cf29fbc5be23db775d1dfa6b332ded6e6554252) - -diff --git a/sysdeps/aarch64/fpu/erf_advsimd.c b/sysdeps/aarch64/fpu/erf_advsimd.c -index 19cbb7d0f4..c0116735e4 100644 ---- a/sysdeps/aarch64/fpu/erf_advsimd.c -+++ b/sysdeps/aarch64/fpu/erf_advsimd.c -@@ -22,19 +22,21 @@ - static const struct data - { - float64x2_t third; -- float64x2_t tenth, two_over_five, two_over_fifteen; -- float64x2_t two_over_nine, two_over_fortyfive; -+ float64x2_t tenth, two_over_five, two_over_nine; -+ double two_over_fifteen, two_over_fortyfive; - float64x2_t max, shift; -+ uint64x2_t max_idx; - #if WANT_SIMD_EXCEPT - float64x2_t tiny_bound, huge_bound, scale_minus_one; - #endif - } data = { -+ .max_idx = V2 (768), - .third = V2 (0x1.5555555555556p-2), /* used to compute 2/3 and 1/6 too. */ -- .two_over_fifteen = V2 (0x1.1111111111111p-3), -+ .two_over_fifteen = 0x1.1111111111111p-3, - .tenth = V2 (-0x1.999999999999ap-4), - .two_over_five = V2 (-0x1.999999999999ap-2), - .two_over_nine = V2 (-0x1.c71c71c71c71cp-3), -- .two_over_fortyfive = V2 (0x1.6c16c16c16c17p-5), -+ .two_over_fortyfive = 0x1.6c16c16c16c17p-5, - .max = V2 (5.9921875), /* 6 - 1/128. */ - .shift = V2 (0x1p45), - #if WANT_SIMD_EXCEPT -@@ -87,8 +89,8 @@ float64x2_t VPCS_ATTR V_NAME_D1 (erf) (float64x2_t x) - float64x2_t a = vabsq_f64 (x); - /* Reciprocal conditions that do not catch NaNs so they can be used in BSLs - to return expected results. */ -- uint64x2_t a_le_max = vcleq_f64 (a, dat->max); -- uint64x2_t a_gt_max = vcgtq_f64 (a, dat->max); -+ uint64x2_t a_le_max = vcaleq_f64 (x, dat->max); -+ uint64x2_t a_gt_max = vcagtq_f64 (x, dat->max); - - #if WANT_SIMD_EXCEPT - /* |x| huge or tiny. */ -@@ -115,7 +117,7 @@ float64x2_t VPCS_ATTR V_NAME_D1 (erf) (float64x2_t x) - segfault. */ - uint64x2_t i - = vsubq_u64 (vreinterpretq_u64_f64 (z), vreinterpretq_u64_f64 (shift)); -- i = vbslq_u64 (a_le_max, i, v_u64 (768)); -+ i = vbslq_u64 (a_le_max, i, dat->max_idx); - struct entry e = lookup (i); - - float64x2_t r = vsubq_f64 (z, shift); -@@ -125,14 +127,19 @@ float64x2_t VPCS_ATTR V_NAME_D1 (erf) (float64x2_t x) - float64x2_t d2 = vmulq_f64 (d, d); - float64x2_t r2 = vmulq_f64 (r, r); - -+ float64x2_t two_over_fifteen_and_fortyfive -+ = vld1q_f64 (&dat->two_over_fifteen); -+ - /* poly (d, r) = 1 + p1(r) * d + p2(r) * d^2 + ... + p5(r) * d^5. */ - float64x2_t p1 = r; - float64x2_t p2 - = vfmsq_f64 (dat->third, r2, vaddq_f64 (dat->third, dat->third)); - float64x2_t p3 = vmulq_f64 (r, vfmaq_f64 (v_f64 (-0.5), r2, dat->third)); -- float64x2_t p4 = vfmaq_f64 (dat->two_over_five, r2, dat->two_over_fifteen); -+ float64x2_t p4 = vfmaq_laneq_f64 (dat->two_over_five, r2, -+ two_over_fifteen_and_fortyfive, 0); - p4 = vfmsq_f64 (dat->tenth, r2, p4); -- float64x2_t p5 = vfmaq_f64 (dat->two_over_nine, r2, dat->two_over_fortyfive); -+ float64x2_t p5 = vfmaq_laneq_f64 (dat->two_over_nine, r2, -+ two_over_fifteen_and_fortyfive, 1); - p5 = vmulq_f64 (r, vfmaq_f64 (vmulq_f64 (v_f64 (0.5), dat->third), r2, p5)); - - float64x2_t p34 = vfmaq_f64 (p3, d, p4); -diff --git a/sysdeps/aarch64/fpu/erfc_advsimd.c b/sysdeps/aarch64/fpu/erfc_advsimd.c -index f1b3bfe830..2f2f755c46 100644 ---- a/sysdeps/aarch64/fpu/erfc_advsimd.c -+++ b/sysdeps/aarch64/fpu/erfc_advsimd.c -@@ -24,8 +24,8 @@ static const struct data - { - uint64x2_t offset, table_scale; - float64x2_t max, shift; -- float64x2_t p20, p40, p41, p42; -- float64x2_t p51, p52; -+ float64x2_t p20, p40, p41, p51; -+ double p42, p52; - double qr5[2], qr6[2], qr7[2], qr8[2], qr9[2]; - #if WANT_SIMD_EXCEPT - float64x2_t uflow_bound; -@@ -41,9 +41,9 @@ static const struct data - .p20 = V2 (0x1.5555555555555p-2), /* 1/3, used to compute 2/3 and 1/6. */ - .p40 = V2 (-0x1.999999999999ap-4), /* 1/10. */ - .p41 = V2 (-0x1.999999999999ap-2), /* 2/5. */ -- .p42 = V2 (0x1.1111111111111p-3), /* 2/15. */ -+ .p42 = 0x1.1111111111111p-3, /* 2/15. */ - .p51 = V2 (-0x1.c71c71c71c71cp-3), /* 2/9. */ -- .p52 = V2 (0x1.6c16c16c16c17p-5), /* 2/45. */ -+ .p52 = 0x1.6c16c16c16c17p-5, /* 2/45. */ - /* Qi = (i+1) / i, Ri = -2 * i / ((i+1)*(i+2)), for i = 5, ..., 9. */ - .qr5 = { 0x1.3333333333333p0, -0x1.e79e79e79e79ep-3 }, - .qr6 = { 0x1.2aaaaaaaaaaabp0, -0x1.b6db6db6db6dbp-3 }, -@@ -157,9 +157,10 @@ float64x2_t V_NAME_D1 (erfc) (float64x2_t x) - float64x2_t p1 = r; - float64x2_t p2 = vfmsq_f64 (dat->p20, r2, vaddq_f64 (dat->p20, dat->p20)); - float64x2_t p3 = vmulq_f64 (r, vfmaq_f64 (v_f64 (-0.5), r2, dat->p20)); -- float64x2_t p4 = vfmaq_f64 (dat->p41, r2, dat->p42); -+ float64x2_t p42_p52 = vld1q_f64 (&dat->p42); -+ float64x2_t p4 = vfmaq_laneq_f64 (dat->p41, r2, p42_p52, 0); - p4 = vfmsq_f64 (dat->p40, r2, p4); -- float64x2_t p5 = vfmaq_f64 (dat->p51, r2, dat->p52); -+ float64x2_t p5 = vfmaq_laneq_f64 (dat->p51, r2, p42_p52, 1); - p5 = vmulq_f64 (r, vfmaq_f64 (vmulq_f64 (v_f64 (0.5), dat->p20), r2, p5)); - /* Compute p_i using recurrence relation: - p_{i+2} = (p_i + r * Q_{i+1} * p_{i+1}) * R_{i+1}. */ - -commit 76c923fe9d09befc8131205659d99cb9ac97460a -Author: Joe Ramsay -Date: Fri Nov 1 15:48:54 2024 +0000 - - AArch64: Remove SVE erf and erfc tables - - By using a combination of mask-and-add instead of the shift-based - index calculation the routines can share the same table as other - variants with no performance degradation. - - The tables change name because of other changes in downstream AOR. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 2d82d781a539ce8e82178fc1fa2c99ae1884e7fe) - -diff --git a/sysdeps/aarch64/fpu/Makefile b/sysdeps/aarch64/fpu/Makefile -index 234a6c457c..be8541f649 100644 ---- a/sysdeps/aarch64/fpu/Makefile -+++ b/sysdeps/aarch64/fpu/Makefile -@@ -41,8 +41,6 @@ libmvec-support = $(addsuffix f_advsimd,$(float-advsimd-funcs)) \ - v_log10_data \ - erf_data \ - erff_data \ -- sv_erf_data \ -- sv_erff_data \ - v_exp_tail_data \ - erfc_data \ - erfcf_data \ -diff --git a/sysdeps/aarch64/fpu/erf_advsimd.c b/sysdeps/aarch64/fpu/erf_advsimd.c -index c0116735e4..a48092e838 100644 ---- a/sysdeps/aarch64/fpu/erf_advsimd.c -+++ b/sysdeps/aarch64/fpu/erf_advsimd.c -@@ -58,8 +58,8 @@ static inline struct entry - lookup (uint64x2_t i) - { - struct entry e; -- float64x2_t e1 = vld1q_f64 (&__erf_data.tab[vgetq_lane_u64 (i, 0)].erf), -- e2 = vld1q_f64 (&__erf_data.tab[vgetq_lane_u64 (i, 1)].erf); -+ float64x2_t e1 = vld1q_f64 (&__v_erf_data.tab[vgetq_lane_u64 (i, 0)].erf), -+ e2 = vld1q_f64 (&__v_erf_data.tab[vgetq_lane_u64 (i, 1)].erf); - e.erf = vuzp1q_f64 (e1, e2); - e.scale = vuzp2q_f64 (e1, e2); - return e; -diff --git a/sysdeps/aarch64/fpu/erf_data.c b/sysdeps/aarch64/fpu/erf_data.c -index 6d2dcd235c..ea01fad7ca 100644 ---- a/sysdeps/aarch64/fpu/erf_data.c -+++ b/sysdeps/aarch64/fpu/erf_data.c -@@ -19,14 +19,14 @@ - - #include "vecmath_config.h" - --/* Lookup table used in erf. -+/* Lookup table used in vector erf. - For each possible rounded input r (multiples of 1/128), between - r = 0.0 and r = 6.0 (769 values): -- - the first entry __erff_data.tab.erf contains the values of erf(r), -- - the second entry __erff_data.tab.scale contains the values of -+ - the first entry __v_erff_data.tab.erf contains the values of erf(r), -+ - the second entry __v_erff_data.tab.scale contains the values of - 2/sqrt(pi)*exp(-r^2). Note that indices 0 and 1 are never hit by the - algorithm, since lookup is performed only for x >= 1/64-1/512. */ --const struct erf_data __erf_data = { -+const struct v_erf_data __v_erf_data = { - .tab = { { 0x0.0000000000000p+0, 0x1.20dd750429b6dp+0 }, - { 0x1.20dbf3deb1340p-7, 0x1.20d8f1975c85dp+0 }, - { 0x1.20d77083f17a0p-6, 0x1.20cb67bd452c7p+0 }, -diff --git a/sysdeps/aarch64/fpu/erf_sve.c b/sysdeps/aarch64/fpu/erf_sve.c -index 7d51417406..671d55a02b 100644 ---- a/sysdeps/aarch64/fpu/erf_sve.c -+++ b/sysdeps/aarch64/fpu/erf_sve.c -@@ -67,14 +67,16 @@ svfloat64_t SV_NAME_D1 (erf) (svfloat64_t x, const svbool_t pg) - svfloat64_t a = svabs_x (pg, x); - svfloat64_t shift = sv_f64 (dat->shift); - svfloat64_t z = svadd_x (pg, a, shift); -- svuint64_t i -- = svsub_x (pg, svreinterpret_u64 (z), svreinterpret_u64 (shift)); -+ svuint64_t i = svand_x (pg, svreinterpret_u64 (z), 0xfff); -+ i = svadd_x (pg, i, i); - - /* Lookup without shortcut for small values but with predicate to avoid - segfault for large values and NaNs. */ - svfloat64_t r = svsub_x (pg, z, shift); -- svfloat64_t erfr = svld1_gather_index (a_lt_max, __sv_erf_data.erf, i); -- svfloat64_t scale = svld1_gather_index (a_lt_max, __sv_erf_data.scale, i); -+ svfloat64_t erfr -+ = svld1_gather_index (a_lt_max, &__v_erf_data.tab[0].erf, i); -+ svfloat64_t scale -+ = svld1_gather_index (a_lt_max, &__v_erf_data.tab[0].scale, i); - - /* erf(x) ~ erf(r) + scale * d * poly (r, d). */ - svfloat64_t d = svsub_x (pg, a, r); -diff --git a/sysdeps/aarch64/fpu/erfc_advsimd.c b/sysdeps/aarch64/fpu/erfc_advsimd.c -index 2f2f755c46..d05eac61a2 100644 ---- a/sysdeps/aarch64/fpu/erfc_advsimd.c -+++ b/sysdeps/aarch64/fpu/erfc_advsimd.c -@@ -69,9 +69,9 @@ lookup (uint64x2_t i) - { - struct entry e; - float64x2_t e1 -- = vld1q_f64 (&__erfc_data.tab[vgetq_lane_u64 (i, 0) - Off].erfc); -+ = vld1q_f64 (&__v_erfc_data.tab[vgetq_lane_u64 (i, 0) - Off].erfc); - float64x2_t e2 -- = vld1q_f64 (&__erfc_data.tab[vgetq_lane_u64 (i, 1) - Off].erfc); -+ = vld1q_f64 (&__v_erfc_data.tab[vgetq_lane_u64 (i, 1) - Off].erfc); - e.erfc = vuzp1q_f64 (e1, e2); - e.scale = vuzp2q_f64 (e1, e2); - return e; -diff --git a/sysdeps/aarch64/fpu/erfc_data.c b/sysdeps/aarch64/fpu/erfc_data.c -index 76a94e4681..8dc6a8c42c 100644 ---- a/sysdeps/aarch64/fpu/erfc_data.c -+++ b/sysdeps/aarch64/fpu/erfc_data.c -@@ -19,14 +19,14 @@ - - #include "vecmath_config.h" - --/* Lookup table used in erfc. -+/* Lookup table used in vector erfc. - For each possible rounded input r (multiples of 1/128), between - r = 0.0 and r = ~27.0 (3488 values): -- - the first entry __erfc_data.tab.erfc contains the values of erfc(r), -- - the second entry __erfc_data.tab.scale contains the values of -+ - the first entry __v_erfc_data.tab.erfc contains the values of erfc(r), -+ - the second entry __v_erfc_data.tab.scale contains the values of - 2/sqrt(pi)*exp(-r^2). Both values may go into subnormal range, therefore - they are scaled by a large enough value 2^128 (fits in 8bit). */ --const struct erfc_data __erfc_data = { -+const struct v_erfc_data __v_erfc_data = { - .tab = { { 0x1p128, 0x1.20dd750429b6dp128 }, - { 0x1.fb7c9030853b3p127, 0x1.20d8f1975c85dp128 }, - { 0x1.f6f9447be0743p127, 0x1.20cb67bd452c7p128 }, -diff --git a/sysdeps/aarch64/fpu/erfc_sve.c b/sysdeps/aarch64/fpu/erfc_sve.c -index c17d3e4484..703926ee41 100644 ---- a/sysdeps/aarch64/fpu/erfc_sve.c -+++ b/sysdeps/aarch64/fpu/erfc_sve.c -@@ -104,7 +104,7 @@ svfloat64_t SV_NAME_D1 (erfc) (svfloat64_t x, const svbool_t pg) - - /* Lookup erfc(r) and 2/sqrt(pi)*exp(-r^2) in tables. */ - i = svadd_x (pg, i, i); -- const float64_t *p = &__erfc_data.tab[0].erfc - 2 * dat->off_arr; -+ const float64_t *p = &__v_erfc_data.tab[0].erfc - 2 * dat->off_arr; - svfloat64_t erfcr = svld1_gather_index (pg, p, i); - svfloat64_t scale = svld1_gather_index (pg, p + 1, i); - -diff --git a/sysdeps/aarch64/fpu/erfcf_advsimd.c b/sysdeps/aarch64/fpu/erfcf_advsimd.c -index ca5bc3ab33..59b0b0d64b 100644 ---- a/sysdeps/aarch64/fpu/erfcf_advsimd.c -+++ b/sysdeps/aarch64/fpu/erfcf_advsimd.c -@@ -62,13 +62,13 @@ lookup (uint32x4_t i) - { - struct entry e; - float32x2_t t0 -- = vld1_f32 (&__erfcf_data.tab[vgetq_lane_u32 (i, 0) - Off].erfc); -+ = vld1_f32 (&__v_erfcf_data.tab[vgetq_lane_u32 (i, 0) - Off].erfc); - float32x2_t t1 -- = vld1_f32 (&__erfcf_data.tab[vgetq_lane_u32 (i, 1) - Off].erfc); -+ = vld1_f32 (&__v_erfcf_data.tab[vgetq_lane_u32 (i, 1) - Off].erfc); - float32x2_t t2 -- = vld1_f32 (&__erfcf_data.tab[vgetq_lane_u32 (i, 2) - Off].erfc); -+ = vld1_f32 (&__v_erfcf_data.tab[vgetq_lane_u32 (i, 2) - Off].erfc); - float32x2_t t3 -- = vld1_f32 (&__erfcf_data.tab[vgetq_lane_u32 (i, 3) - Off].erfc); -+ = vld1_f32 (&__v_erfcf_data.tab[vgetq_lane_u32 (i, 3) - Off].erfc); - float32x4_t e1 = vcombine_f32 (t0, t1); - float32x4_t e2 = vcombine_f32 (t2, t3); - e.erfc = vuzp1q_f32 (e1, e2); -diff --git a/sysdeps/aarch64/fpu/erfcf_data.c b/sysdeps/aarch64/fpu/erfcf_data.c -index 77fb889a78..d45087bbb9 100644 ---- a/sysdeps/aarch64/fpu/erfcf_data.c -+++ b/sysdeps/aarch64/fpu/erfcf_data.c -@@ -19,14 +19,14 @@ - - #include "vecmath_config.h" - --/* Lookup table used in erfcf. -+/* Lookup table used in vector erfcf. - For each possible rounded input r (multiples of 1/64), between - r = 0.0 and r = 10.0625 (645 values): -- - the first entry __erfcf_data.tab.erfc contains the values of erfc(r), -- - the second entry __erfcf_data.tab.scale contains the values of -+ - the first entry __v_erfcf_data.tab.erfc contains the values of erfc(r), -+ - the second entry __v_erfcf_data.tab.scale contains the values of - 2/sqrt(pi)*exp(-r^2). Both values may go into subnormal range, therefore - they are scaled by a large enough value 2^47 (fits in 8 bits). */ --const struct erfcf_data __erfcf_data = { -+const struct v_erfcf_data __v_erfcf_data = { - .tab = { { 0x1p47, 0x1.20dd76p47 }, - { 0x1.f6f944p46, 0x1.20cb68p47 }, - { 0x1.edf3aap46, 0x1.209546p47 }, -diff --git a/sysdeps/aarch64/fpu/erfcf_sve.c b/sysdeps/aarch64/fpu/erfcf_sve.c -index 48d1677eb4..ecacb933ac 100644 ---- a/sysdeps/aarch64/fpu/erfcf_sve.c -+++ b/sysdeps/aarch64/fpu/erfcf_sve.c -@@ -77,7 +77,7 @@ svfloat32_t SV_NAME_F1 (erfc) (svfloat32_t x, const svbool_t pg) - - /* Lookup erfc(r) and 2/sqrt(pi)*exp(-r^2) in tables. */ - i = svmul_x (pg, i, 2); -- const float32_t *p = &__erfcf_data.tab[0].erfc - 2 * dat->off_arr; -+ const float32_t *p = &__v_erfcf_data.tab[0].erfc - 2 * dat->off_arr; - svfloat32_t erfcr = svld1_gather_index (pg, p, i); - svfloat32_t scale = svld1_gather_index (pg, p + 1, i); - -diff --git a/sysdeps/aarch64/fpu/erff_advsimd.c b/sysdeps/aarch64/fpu/erff_advsimd.c -index f2fe6ff236..db39e789b6 100644 ---- a/sysdeps/aarch64/fpu/erff_advsimd.c -+++ b/sysdeps/aarch64/fpu/erff_advsimd.c -@@ -47,10 +47,10 @@ static inline struct entry - lookup (uint32x4_t i) - { - struct entry e; -- float32x2_t t0 = vld1_f32 (&__erff_data.tab[vgetq_lane_u32 (i, 0)].erf); -- float32x2_t t1 = vld1_f32 (&__erff_data.tab[vgetq_lane_u32 (i, 1)].erf); -- float32x2_t t2 = vld1_f32 (&__erff_data.tab[vgetq_lane_u32 (i, 2)].erf); -- float32x2_t t3 = vld1_f32 (&__erff_data.tab[vgetq_lane_u32 (i, 3)].erf); -+ float32x2_t t0 = vld1_f32 (&__v_erff_data.tab[vgetq_lane_u32 (i, 0)].erf); -+ float32x2_t t1 = vld1_f32 (&__v_erff_data.tab[vgetq_lane_u32 (i, 1)].erf); -+ float32x2_t t2 = vld1_f32 (&__v_erff_data.tab[vgetq_lane_u32 (i, 2)].erf); -+ float32x2_t t3 = vld1_f32 (&__v_erff_data.tab[vgetq_lane_u32 (i, 3)].erf); - float32x4_t e1 = vcombine_f32 (t0, t1); - float32x4_t e2 = vcombine_f32 (t2, t3); - e.erf = vuzp1q_f32 (e1, e2); -diff --git a/sysdeps/aarch64/fpu/erff_data.c b/sysdeps/aarch64/fpu/erff_data.c -index 9a32940915..da38aed205 100644 ---- a/sysdeps/aarch64/fpu/erff_data.c -+++ b/sysdeps/aarch64/fpu/erff_data.c -@@ -19,14 +19,14 @@ - - #include "vecmath_config.h" - --/* Lookup table used in erff. -+/* Lookup table used in vector erff. - For each possible rounded input r (multiples of 1/128), between - r = 0.0 and r = 4.0 (513 values): -- - the first entry __erff_data.tab.erf contains the values of erf(r), -- - the second entry __erff_data.tab.scale contains the values of -+ - the first entry __v_erff_data.tab.erf contains the values of erf(r), -+ - the second entry __v_erff_data.tab.scale contains the values of - 2/sqrt(pi)*exp(-r^2). Note that indices 0 and 1 are never hit by the - algorithm, since lookup is performed only for x >= 1/64-1/512. */ --const struct erff_data __erff_data = { -+const struct v_erff_data __v_erff_data = { - .tab = { { 0x0.000000p+0, 0x1.20dd76p+0 }, - { 0x1.20dbf4p-7, 0x1.20d8f2p+0 }, - { 0x1.20d770p-6, 0x1.20cb68p+0 }, -diff --git a/sysdeps/aarch64/fpu/erff_sve.c b/sysdeps/aarch64/fpu/erff_sve.c -index 38f00db9be..0e382eb09a 100644 ---- a/sysdeps/aarch64/fpu/erff_sve.c -+++ b/sysdeps/aarch64/fpu/erff_sve.c -@@ -62,18 +62,17 @@ svfloat32_t SV_NAME_F1 (erf) (svfloat32_t x, const svbool_t pg) - - svfloat32_t shift = sv_f32 (dat->shift); - svfloat32_t z = svadd_x (pg, a, shift); -- svuint32_t i -- = svsub_x (pg, svreinterpret_u32 (z), svreinterpret_u32 (shift)); -- -- /* Saturate lookup index. */ -- i = svsel (a_ge_max, sv_u32 (512), i); -+ svuint32_t i = svand_x (pg, svreinterpret_u32 (z), 0xfff); -+ i = svadd_x (pg, i, i); - - /* r and erf(r) set to 0 for |x| below min. */ - svfloat32_t r = svsub_z (a_gt_min, z, shift); -- svfloat32_t erfr = svld1_gather_index (a_gt_min, __sv_erff_data.erf, i); -+ svfloat32_t erfr -+ = svld1_gather_index (a_gt_min, &__v_erff_data.tab[0].erf, i); - - /* scale set to 2/sqrt(pi) for |x| below min. */ -- svfloat32_t scale = svld1_gather_index (a_gt_min, __sv_erff_data.scale, i); -+ svfloat32_t scale -+ = svld1_gather_index (a_gt_min, &__v_erff_data.tab[0].scale, i); - scale = svsel (a_gt_min, scale, sv_f32 (dat->scale)); - - /* erf(x) ~ erf(r) + scale * d * (1 - r * d + 1/3 * d^2). */ -diff --git a/sysdeps/aarch64/fpu/sv_erf_data.c b/sysdeps/aarch64/fpu/sv_erf_data.c -deleted file mode 100644 -index a53878f893..0000000000 ---- a/sysdeps/aarch64/fpu/sv_erf_data.c -+++ /dev/null -@@ -1,1570 +0,0 @@ --/* Table for SVE erf approximation -- -- Copyright (C) 2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#include "vecmath_config.h" -- --/* Lookup table used in vector erf. -- For each possible rounded input r (multiples of 1/128), between -- r = 0.0 and r = 6.0 (769 values): -- - the first entry __erf_data.tab.erf contains the values of erf(r), -- - the second entry __erf_data.tab.scale contains the values of -- 2/sqrt(pi)*exp(-r^2). Note that indices 0 and 1 are never hit by the -- algorithm, since lookup is performed only for x >= 1/64-1/512. */ --const struct sv_erf_data __sv_erf_data = { -- .erf = { 0x0.0000000000000p+0, -- 0x1.20dbf3deb1340p-7, -- 0x1.20d77083f17a0p-6, -- 0x1.b137e0cf584dcp-6, -- 0x1.20c5645dd2538p-5, -- 0x1.68e5d3bbc9526p-5, -- 0x1.b0fafef135745p-5, -- 0x1.f902a77bd3821p-5, -- 0x1.207d480e90658p-4, -- 0x1.44703e87e8593p-4, -- 0x1.68591a1e83b5dp-4, -- 0x1.8c36beb8a8d23p-4, -- 0x1.b0081148a873ap-4, -- 0x1.d3cbf7e70a4b3p-4, -- 0x1.f78159ec8bb50p-4, -- 0x1.0d939005f65e5p-3, -- 0x1.1f5e1a35c3b89p-3, -- 0x1.311fc15f56d14p-3, -- 0x1.42d7fc2f64959p-3, -- 0x1.548642321d7c6p-3, -- 0x1.662a0bdf7a89fp-3, -- 0x1.77c2d2a765f9ep-3, -- 0x1.895010fdbdbfdp-3, -- 0x1.9ad142662e14dp-3, -- 0x1.ac45e37fe2526p-3, -- 0x1.bdad72110a648p-3, -- 0x1.cf076d1233237p-3, -- 0x1.e05354b96ff36p-3, -- 0x1.f190aa85540e2p-3, -- 0x1.015f78a3dcf3dp-2, -- 0x1.09eed6982b948p-2, -- 0x1.127631eb8de32p-2, -- 0x1.1af54e232d609p-2, -- 0x1.236bef825d9a2p-2, -- 0x1.2bd9db0f7827fp-2, -- 0x1.343ed6989b7d9p-2, -- 0x1.3c9aa8b84bedap-2, -- 0x1.44ed18d9f6462p-2, -- 0x1.4d35ef3e5372ep-2, -- 0x1.5574f4ffac98ep-2, -- 0x1.5da9f415ff23fp-2, -- 0x1.65d4b75b00471p-2, -- 0x1.6df50a8dff772p-2, -- 0x1.760aba57a76bfp-2, -- 0x1.7e15944d9d3e4p-2, -- 0x1.861566f5fd3c0p-2, -- 0x1.8e0a01cab516bp-2, -- 0x1.95f3353cbb146p-2, -- 0x1.9dd0d2b721f39p-2, -- 0x1.a5a2aca209394p-2, -- 0x1.ad68966569a87p-2, -- 0x1.b522646bbda68p-2, -- 0x1.bccfec24855b8p-2, -- 0x1.c4710406a65fcp-2, -- 0x1.cc058392a6d2dp-2, -- 0x1.d38d4354c3bd0p-2, -- 0x1.db081ce6e2a48p-2, -- 0x1.e275eaf25e458p-2, -- 0x1.e9d68931ae650p-2, -- 0x1.f129d471eabb1p-2, -- 0x1.f86faa9428f9dp-2, -- 0x1.ffa7ea8eb5fd0p-2, -- 0x1.03693a371519cp-1, -- 0x1.06f794ab2cae7p-1, -- 0x1.0a7ef5c18edd2p-1, -- 0x1.0dff4f247f6c6p-1, -- 0x1.1178930ada115p-1, -- 0x1.14eab43841b55p-1, -- 0x1.1855a5fd3dd50p-1, -- 0x1.1bb95c3746199p-1, -- 0x1.1f15cb50bc4dep-1, -- 0x1.226ae840d4d70p-1, -- 0x1.25b8a88b6dd7fp-1, -- 0x1.28ff0240d52cdp-1, -- 0x1.2c3debfd7d6c1p-1, -- 0x1.2f755ce9a21f4p-1, -- 0x1.32a54cb8db67bp-1, -- 0x1.35cdb3a9a144dp-1, -- 0x1.38ee8a84beb71p-1, -- 0x1.3c07ca9cb4f9ep-1, -- 0x1.3f196dcd0f135p-1, -- 0x1.42236e79a5fa6p-1, -- 0x1.4525c78dd5966p-1, -- 0x1.4820747ba2dc2p-1, -- 0x1.4b13713ad3513p-1, -- 0x1.4dfeba47f63ccp-1, -- 0x1.50e24ca35fd2cp-1, -- 0x1.53be25d016a4fp-1, -- 0x1.569243d2b3a9bp-1, -- 0x1.595ea53035283p-1, -- 0x1.5c2348ecc4dc3p-1, -- 0x1.5ee02e8a71a53p-1, -- 0x1.61955607dd15dp-1, -- 0x1.6442bfdedd397p-1, -- 0x1.66e86d0312e82p-1, -- 0x1.69865ee075011p-1, -- 0x1.6c1c9759d0e5fp-1, -- 0x1.6eab18c74091bp-1, -- 0x1.7131e5f496a5ap-1, -- 0x1.73b1021fc0cb8p-1, -- 0x1.762870f720c6fp-1, -- 0x1.78983697dc96fp-1, -- 0x1.7b00578c26037p-1, -- 0x1.7d60d8c979f7bp-1, -- 0x1.7fb9bfaed8078p-1, -- 0x1.820b1202f27fbp-1, -- 0x1.8454d5f25760dp-1, -- 0x1.8697120d92a4ap-1, -- 0x1.88d1cd474a2e0p-1, -- 0x1.8b050ef253c37p-1, -- 0x1.8d30debfc572ep-1, -- 0x1.8f5544bd00c04p-1, -- 0x1.91724951b8fc6p-1, -- 0x1.9387f53df5238p-1, -- 0x1.959651980da31p-1, -- 0x1.979d67caa6631p-1, -- 0x1.999d4192a5715p-1, -- 0x1.9b95e8fd26abap-1, -- 0x1.9d8768656cc42p-1, -- 0x1.9f71ca72cffb6p-1, -- 0x1.a1551a16aaeafp-1, -- 0x1.a331628a45b92p-1, -- 0x1.a506af4cc00f4p-1, -- 0x1.a6d50c20fa293p-1, -- 0x1.a89c850b7d54dp-1, -- 0x1.aa5d265064366p-1, -- 0x1.ac16fc7143263p-1, -- 0x1.adca142b10f98p-1, -- 0x1.af767a741088bp-1, -- 0x1.b11c3c79bb424p-1, -- 0x1.b2bb679ead19cp-1, -- 0x1.b4540978921eep-1, -- 0x1.b5e62fce16095p-1, -- 0x1.b771e894d602ep-1, -- 0x1.b8f741ef54f83p-1, -- 0x1.ba764a2af2b78p-1, -- 0x1.bbef0fbde6221p-1, -- 0x1.bd61a1453ab44p-1, -- 0x1.bece0d82d1a5cp-1, -- 0x1.c034635b66e23p-1, -- 0x1.c194b1d49a184p-1, -- 0x1.c2ef0812fc1bdp-1, -- 0x1.c443755820d64p-1, -- 0x1.c5920900b5fd1p-1, -- 0x1.c6dad2829ec62p-1, -- 0x1.c81de16b14cefp-1, -- 0x1.c95b455cce69dp-1, -- 0x1.ca930e0e2a825p-1, -- 0x1.cbc54b476248dp-1, -- 0x1.ccf20ce0c0d27p-1, -- 0x1.ce1962c0e0d8bp-1, -- 0x1.cf3b5cdaf0c39p-1, -- 0x1.d0580b2cfd249p-1, -- 0x1.d16f7dbe41ca0p-1, -- 0x1.d281c49d818d0p-1, -- 0x1.d38eefdf64fddp-1, -- 0x1.d4970f9ce00d9p-1, -- 0x1.d59a33f19ed42p-1, -- 0x1.d6986cfa798e7p-1, -- 0x1.d791cad3eff01p-1, -- 0x1.d8865d98abe01p-1, -- 0x1.d97635600bb89p-1, -- 0x1.da61623cb41e0p-1, -- 0x1.db47f43b2980dp-1, -- 0x1.dc29fb60715afp-1, -- 0x1.dd0787a8bb39dp-1, -- 0x1.dde0a90611a0dp-1, -- 0x1.deb56f5f12d28p-1, -- 0x1.df85ea8db188ep-1, -- 0x1.e0522a5dfda73p-1, -- 0x1.e11a3e8cf4eb8p-1, -- 0x1.e1de36c75ba58p-1, -- 0x1.e29e22a89d766p-1, -- 0x1.e35a11b9b61cep-1, -- 0x1.e4121370224ccp-1, -- 0x1.e4c6372cd8927p-1, -- 0x1.e5768c3b4a3fcp-1, -- 0x1.e62321d06c5e0p-1, -- 0x1.e6cc0709c8a0dp-1, -- 0x1.e7714aec96534p-1, -- 0x1.e812fc64db369p-1, -- 0x1.e8b12a44944a8p-1, -- 0x1.e94be342e6743p-1, -- 0x1.e9e335fb56f87p-1, -- 0x1.ea7730ed0bbb9p-1, -- 0x1.eb07e27a133aap-1, -- 0x1.eb9558e6b42cep-1, -- 0x1.ec1fa258c4beap-1, -- 0x1.eca6ccd709544p-1, -- 0x1.ed2ae6489ac1ep-1, -- 0x1.edabfc7453e63p-1, -- 0x1.ee2a1d004692cp-1, -- 0x1.eea5557137ae0p-1, -- 0x1.ef1db32a2277cp-1, -- 0x1.ef93436bc2daap-1, -- 0x1.f006135426b26p-1, -- 0x1.f0762fde45ee6p-1, -- 0x1.f0e3a5e1a1788p-1, -- 0x1.f14e8211e8c55p-1, -- 0x1.f1b6d0fea5f4dp-1, -- 0x1.f21c9f12f0677p-1, -- 0x1.f27ff89525acfp-1, -- 0x1.f2e0e9a6a8b09p-1, -- 0x1.f33f7e43a706bp-1, -- 0x1.f39bc242e43e6p-1, -- 0x1.f3f5c1558b19ep-1, -- 0x1.f44d870704911p-1, -- 0x1.f4a31ebcd47dfp-1, -- 0x1.f4f693b67bd77p-1, -- 0x1.f547f10d60597p-1, -- 0x1.f59741b4b97cfp-1, -- 0x1.f5e4907982a07p-1, -- 0x1.f62fe80272419p-1, -- 0x1.f67952cff6282p-1, -- 0x1.f6c0db3c34641p-1, -- 0x1.f7068b7b10fd9p-1, -- 0x1.f74a6d9a38383p-1, -- 0x1.f78c8b812d498p-1, -- 0x1.f7cceef15d631p-1, -- 0x1.f80ba18636f07p-1, -- 0x1.f848acb544e95p-1, -- 0x1.f88419ce4e184p-1, -- 0x1.f8bdf1fb78370p-1, -- 0x1.f8f63e416ebffp-1, -- 0x1.f92d077f8d56dp-1, -- 0x1.f96256700da8ep-1, -- 0x1.f99633a838a57p-1, -- 0x1.f9c8a7989af0dp-1, -- 0x1.f9f9ba8d3c733p-1, -- 0x1.fa2974addae45p-1, -- 0x1.fa57ddfe27376p-1, -- 0x1.fa84fe5e05c8dp-1, -- 0x1.fab0dd89d1309p-1, -- 0x1.fadb831a9f9c3p-1, -- 0x1.fb04f6868a944p-1, -- 0x1.fb2d3f20f9101p-1, -- 0x1.fb54641aebbc9p-1, -- 0x1.fb7a6c834b5a2p-1, -- 0x1.fb9f5f4739170p-1, -- 0x1.fbc3433260ca5p-1, -- 0x1.fbe61eef4cf6ap-1, -- 0x1.fc07f907bc794p-1, -- 0x1.fc28d7e4f9cd0p-1, -- 0x1.fc48c1d033c7ap-1, -- 0x1.fc67bcf2d7b8fp-1, -- 0x1.fc85cf56ecd38p-1, -- 0x1.fca2fee770c79p-1, -- 0x1.fcbf5170b578bp-1, -- 0x1.fcdacca0bfb73p-1, -- 0x1.fcf57607a6e7cp-1, -- 0x1.fd0f5317f582fp-1, -- 0x1.fd2869270a56fp-1, -- 0x1.fd40bd6d7a785p-1, -- 0x1.fd58550773cb5p-1, -- 0x1.fd6f34f52013ap-1, -- 0x1.fd85621b0876dp-1, -- 0x1.fd9ae142795e3p-1, -- 0x1.fdafb719e6a69p-1, -- 0x1.fdc3e835500b3p-1, -- 0x1.fdd7790ea5bc0p-1, -- 0x1.fdea6e062d0c9p-1, -- 0x1.fdfccb62e52d3p-1, -- 0x1.fe0e9552ebdd6p-1, -- 0x1.fe1fcfebe2083p-1, -- 0x1.fe307f2b503d0p-1, -- 0x1.fe40a6f70af4bp-1, -- 0x1.fe504b1d9696cp-1, -- 0x1.fe5f6f568b301p-1, -- 0x1.fe6e1742f7cf6p-1, -- 0x1.fe7c466dc57a1p-1, -- 0x1.fe8a004c19ae6p-1, -- 0x1.fe97483db8670p-1, -- 0x1.fea4218d6594ap-1, -- 0x1.feb08f7146046p-1, -- 0x1.febc950b3fa75p-1, -- 0x1.fec835695932ep-1, -- 0x1.fed37386190fbp-1, -- 0x1.fede5248e38f4p-1, -- 0x1.fee8d486585eep-1, -- 0x1.fef2fd00af31ap-1, -- 0x1.fefcce6813974p-1, -- 0x1.ff064b5afffbep-1, -- 0x1.ff0f766697c76p-1, -- 0x1.ff18520700971p-1, -- 0x1.ff20e0a7ba8c2p-1, -- 0x1.ff2924a3f7a83p-1, -- 0x1.ff312046f2339p-1, -- 0x1.ff38d5cc4227fp-1, -- 0x1.ff404760319b4p-1, -- 0x1.ff47772010262p-1, -- 0x1.ff4e671a85425p-1, -- 0x1.ff55194fe19dfp-1, -- 0x1.ff5b8fb26f5f6p-1, -- 0x1.ff61cc26c1578p-1, -- 0x1.ff67d08401202p-1, -- 0x1.ff6d9e943c231p-1, -- 0x1.ff733814af88cp-1, -- 0x1.ff789eb6130c9p-1, -- 0x1.ff7dd41ce2b4dp-1, -- 0x1.ff82d9e1a76d8p-1, -- 0x1.ff87b1913e853p-1, -- 0x1.ff8c5cad200a5p-1, -- 0x1.ff90dcaba4096p-1, -- 0x1.ff9532f846ab0p-1, -- 0x1.ff9960f3eb327p-1, -- 0x1.ff9d67f51ddbap-1, -- 0x1.ffa14948549a7p-1, -- 0x1.ffa506302ebaep-1, -- 0x1.ffa89fe5b3625p-1, -- 0x1.ffac17988ef4bp-1, -- 0x1.ffaf6e6f4f5c0p-1, -- 0x1.ffb2a5879f35ep-1, -- 0x1.ffb5bdf67fe6fp-1, -- 0x1.ffb8b8c88295fp-1, -- 0x1.ffbb970200110p-1, -- 0x1.ffbe599f4f9d9p-1, -- 0x1.ffc10194fcb64p-1, -- 0x1.ffc38fcffbb7cp-1, -- 0x1.ffc60535dd7f5p-1, -- 0x1.ffc862a501fd7p-1, -- 0x1.ffcaa8f4c9beap-1, -- 0x1.ffccd8f5c66d1p-1, -- 0x1.ffcef371ea4d7p-1, -- 0x1.ffd0f92cb6ba7p-1, -- 0x1.ffd2eae369a07p-1, -- 0x1.ffd4c94d29fdbp-1, -- 0x1.ffd6951b33686p-1, -- 0x1.ffd84ef9009eep-1, -- 0x1.ffd9f78c7524ap-1, -- 0x1.ffdb8f7605ee7p-1, -- 0x1.ffdd1750e1220p-1, -- 0x1.ffde8fb314ebfp-1, -- 0x1.ffdff92db56e5p-1, -- 0x1.ffe1544d01ccbp-1, -- 0x1.ffe2a1988857cp-1, -- 0x1.ffe3e19349dc7p-1, -- 0x1.ffe514bbdc197p-1, -- 0x1.ffe63b8c8b5f7p-1, -- 0x1.ffe7567b7b5e1p-1, -- 0x1.ffe865fac722bp-1, -- 0x1.ffe96a78a04a9p-1, -- 0x1.ffea645f6d6dap-1, -- 0x1.ffeb5415e7c44p-1, -- 0x1.ffec39ff380b9p-1, -- 0x1.ffed167b12ac2p-1, -- 0x1.ffede9e5d3262p-1, -- 0x1.ffeeb49896c6dp-1, -- 0x1.ffef76e956a9fp-1, -- 0x1.fff0312b010b5p-1, -- 0x1.fff0e3ad91ec2p-1, -- 0x1.fff18ebe2b0e1p-1, -- 0x1.fff232a72b48ep-1, -- 0x1.fff2cfb0453d9p-1, -- 0x1.fff3661e9569dp-1, -- 0x1.fff3f634b79f9p-1, -- 0x1.fff48032dbe40p-1, -- 0x1.fff50456dab8cp-1, -- 0x1.fff582dc48d30p-1, -- 0x1.fff5fbfc8a439p-1, -- 0x1.fff66feee5129p-1, -- 0x1.fff6dee89352ep-1, -- 0x1.fff7491cd4af6p-1, -- 0x1.fff7aebcff755p-1, -- 0x1.fff80ff8911fdp-1, -- 0x1.fff86cfd3e657p-1, -- 0x1.fff8c5f702ccfp-1, -- 0x1.fff91b102fca8p-1, -- 0x1.fff96c717b695p-1, -- 0x1.fff9ba420e834p-1, -- 0x1.fffa04a7928b1p-1, -- 0x1.fffa4bc63ee9ap-1, -- 0x1.fffa8fc0e5f33p-1, -- 0x1.fffad0b901755p-1, -- 0x1.fffb0ecebee1bp-1, -- 0x1.fffb4a210b172p-1, -- 0x1.fffb82cd9dcbfp-1, -- 0x1.fffbb8f1049c6p-1, -- 0x1.fffbeca6adbe9p-1, -- 0x1.fffc1e08f25f5p-1, -- 0x1.fffc4d3120aa1p-1, -- 0x1.fffc7a37857d2p-1, -- 0x1.fffca53375ce3p-1, -- 0x1.fffcce3b57bffp-1, -- 0x1.fffcf564ab6b7p-1, -- 0x1.fffd1ac4135f9p-1, -- 0x1.fffd3e6d5cd87p-1, -- 0x1.fffd607387b07p-1, -- 0x1.fffd80e8ce0dap-1, -- 0x1.fffd9fdeabccep-1, -- 0x1.fffdbd65e5ad0p-1, -- 0x1.fffdd98e903b2p-1, -- 0x1.fffdf46816833p-1, -- 0x1.fffe0e0140857p-1, -- 0x1.fffe26683972ap-1, -- 0x1.fffe3daa95b18p-1, -- 0x1.fffe53d558ae9p-1, -- 0x1.fffe68f4fa777p-1, -- 0x1.fffe7d156d244p-1, -- 0x1.fffe904222101p-1, -- 0x1.fffea2860ee1ep-1, -- 0x1.fffeb3ebb267bp-1, -- 0x1.fffec47d19457p-1, -- 0x1.fffed443e2787p-1, -- 0x1.fffee34943b15p-1, -- 0x1.fffef1960d85dp-1, -- 0x1.fffeff32af7afp-1, -- 0x1.ffff0c273bea2p-1, -- 0x1.ffff187b6bc0ep-1, -- 0x1.ffff2436a21dcp-1, -- 0x1.ffff2f5fefcaap-1, -- 0x1.ffff39fe16963p-1, -- 0x1.ffff44178c8d2p-1, -- 0x1.ffff4db27f146p-1, -- 0x1.ffff56d4d5e5ep-1, -- 0x1.ffff5f8435efcp-1, -- 0x1.ffff67c604180p-1, -- 0x1.ffff6f9f67e55p-1, -- 0x1.ffff77154e0d6p-1, -- 0x1.ffff7e2c6aea2p-1, -- 0x1.ffff84e93cd75p-1, -- 0x1.ffff8b500e77cp-1, -- 0x1.ffff9164f8e46p-1, -- 0x1.ffff972be5c59p-1, -- 0x1.ffff9ca891572p-1, -- 0x1.ffffa1de8c582p-1, -- 0x1.ffffa6d13de73p-1, -- 0x1.ffffab83e54b8p-1, -- 0x1.ffffaff99bac4p-1, -- 0x1.ffffb43555b5fp-1, -- 0x1.ffffb839e52f3p-1, -- 0x1.ffffbc09fa7cdp-1, -- 0x1.ffffbfa82616bp-1, -- 0x1.ffffc316d9ed0p-1, -- 0x1.ffffc6586abf6p-1, -- 0x1.ffffc96f1165ep-1, -- 0x1.ffffcc5cec0c1p-1, -- 0x1.ffffcf23ff5fcp-1, -- 0x1.ffffd1c637b2bp-1, -- 0x1.ffffd4456a10dp-1, -- 0x1.ffffd6a3554a1p-1, -- 0x1.ffffd8e1a2f22p-1, -- 0x1.ffffdb01e8546p-1, -- 0x1.ffffdd05a75eap-1, -- 0x1.ffffdeee4f810p-1, -- 0x1.ffffe0bd3e852p-1, -- 0x1.ffffe273c15b7p-1, -- 0x1.ffffe41314e06p-1, -- 0x1.ffffe59c6698bp-1, -- 0x1.ffffe710d565ep-1, -- 0x1.ffffe8717232dp-1, -- 0x1.ffffe9bf4098cp-1, -- 0x1.ffffeafb377d5p-1, -- 0x1.ffffec2641a9ep-1, -- 0x1.ffffed413e5b7p-1, -- 0x1.ffffee4d01cd6p-1, -- 0x1.ffffef4a55bd4p-1, -- 0x1.fffff039f9e8fp-1, -- 0x1.fffff11ca4876p-1, -- 0x1.fffff1f302bc1p-1, -- 0x1.fffff2bdb904dp-1, -- 0x1.fffff37d63a36p-1, -- 0x1.fffff43297019p-1, -- 0x1.fffff4dde0118p-1, -- 0x1.fffff57fc4a95p-1, -- 0x1.fffff618c3da6p-1, -- 0x1.fffff6a956450p-1, -- 0x1.fffff731ee681p-1, -- 0x1.fffff7b2f8ed6p-1, -- 0x1.fffff82cdcf1bp-1, -- 0x1.fffff89ffc4aap-1, -- 0x1.fffff90cb3c81p-1, -- 0x1.fffff9735b73bp-1, -- 0x1.fffff9d446cccp-1, -- 0x1.fffffa2fc5015p-1, -- 0x1.fffffa8621251p-1, -- 0x1.fffffad7a2652p-1, -- 0x1.fffffb248c39dp-1, -- 0x1.fffffb6d1e95dp-1, -- 0x1.fffffbb196132p-1, -- 0x1.fffffbf22c1e2p-1, -- 0x1.fffffc2f171e3p-1, -- 0x1.fffffc688a9cfp-1, -- 0x1.fffffc9eb76acp-1, -- 0x1.fffffcd1cbc28p-1, -- 0x1.fffffd01f36afp-1, -- 0x1.fffffd2f57d68p-1, -- 0x1.fffffd5a2041fp-1, -- 0x1.fffffd8271d12p-1, -- 0x1.fffffda86faa9p-1, -- 0x1.fffffdcc3b117p-1, -- 0x1.fffffdedf37edp-1, -- 0x1.fffffe0db6b91p-1, -- 0x1.fffffe2ba0ea5p-1, -- 0x1.fffffe47ccb60p-1, -- 0x1.fffffe62534d4p-1, -- 0x1.fffffe7b4c81ep-1, -- 0x1.fffffe92ced93p-1, -- 0x1.fffffea8ef9cfp-1, -- 0x1.fffffebdc2ec6p-1, -- 0x1.fffffed15bcbap-1, -- 0x1.fffffee3cc32cp-1, -- 0x1.fffffef5251c2p-1, -- 0x1.ffffff0576917p-1, -- 0x1.ffffff14cfb92p-1, -- 0x1.ffffff233ee1dp-1, -- 0x1.ffffff30d18e8p-1, -- 0x1.ffffff3d9480fp-1, -- 0x1.ffffff4993c46p-1, -- 0x1.ffffff54dab72p-1, -- 0x1.ffffff5f74141p-1, -- 0x1.ffffff6969fb8p-1, -- 0x1.ffffff72c5fb6p-1, -- 0x1.ffffff7b91176p-1, -- 0x1.ffffff83d3d07p-1, -- 0x1.ffffff8b962bep-1, -- 0x1.ffffff92dfba2p-1, -- 0x1.ffffff99b79d2p-1, -- 0x1.ffffffa0248e8p-1, -- 0x1.ffffffa62ce54p-1, -- 0x1.ffffffabd69b4p-1, -- 0x1.ffffffb127525p-1, -- 0x1.ffffffb624592p-1, -- 0x1.ffffffbad2affp-1, -- 0x1.ffffffbf370cdp-1, -- 0x1.ffffffc355dfdp-1, -- 0x1.ffffffc733572p-1, -- 0x1.ffffffcad3626p-1, -- 0x1.ffffffce39b67p-1, -- 0x1.ffffffd169d0cp-1, -- 0x1.ffffffd466fa5p-1, -- 0x1.ffffffd7344aap-1, -- 0x1.ffffffd9d4aabp-1, -- 0x1.ffffffdc4ad7ap-1, -- 0x1.ffffffde9964ep-1, -- 0x1.ffffffe0c2bf0p-1, -- 0x1.ffffffe2c92dbp-1, -- 0x1.ffffffe4aed5ep-1, -- 0x1.ffffffe675bbdp-1, -- 0x1.ffffffe81fc4ep-1, -- 0x1.ffffffe9aeb97p-1, -- 0x1.ffffffeb24467p-1, -- 0x1.ffffffec81ff2p-1, -- 0x1.ffffffedc95e7p-1, -- 0x1.ffffffeefbc85p-1, -- 0x1.fffffff01a8b6p-1, -- 0x1.fffffff126e1ep-1, -- 0x1.fffffff221f30p-1, -- 0x1.fffffff30cd3fp-1, -- 0x1.fffffff3e8892p-1, -- 0x1.fffffff4b606fp-1, -- 0x1.fffffff57632dp-1, -- 0x1.fffffff629e44p-1, -- 0x1.fffffff6d1e56p-1, -- 0x1.fffffff76ef3fp-1, -- 0x1.fffffff801c1fp-1, -- 0x1.fffffff88af67p-1, -- 0x1.fffffff90b2e3p-1, -- 0x1.fffffff982fc1p-1, -- 0x1.fffffff9f2e9fp-1, -- 0x1.fffffffa5b790p-1, -- 0x1.fffffffabd229p-1, -- 0x1.fffffffb18582p-1, -- 0x1.fffffffb6d844p-1, -- 0x1.fffffffbbd0aap-1, -- 0x1.fffffffc0748fp-1, -- 0x1.fffffffc4c96cp-1, -- 0x1.fffffffc8d462p-1, -- 0x1.fffffffcc9a41p-1, -- 0x1.fffffffd01f89p-1, -- 0x1.fffffffd36871p-1, -- 0x1.fffffffd678edp-1, -- 0x1.fffffffd954aep-1, -- 0x1.fffffffdbff2ap-1, -- 0x1.fffffffde7ba0p-1, -- 0x1.fffffffe0cd16p-1, -- 0x1.fffffffe2f664p-1, -- 0x1.fffffffe4fa30p-1, -- 0x1.fffffffe6daf7p-1, -- 0x1.fffffffe89b0cp-1, -- 0x1.fffffffea3c9ap-1, -- 0x1.fffffffebc1a9p-1, -- 0x1.fffffffed2c21p-1, -- 0x1.fffffffee7dc8p-1, -- 0x1.fffffffefb847p-1, -- 0x1.ffffffff0dd2bp-1, -- 0x1.ffffffff1ede9p-1, -- 0x1.ffffffff2ebdap-1, -- 0x1.ffffffff3d843p-1, -- 0x1.ffffffff4b453p-1, -- 0x1.ffffffff58126p-1, -- 0x1.ffffffff63fc3p-1, -- 0x1.ffffffff6f121p-1, -- 0x1.ffffffff79626p-1, -- 0x1.ffffffff82fabp-1, -- 0x1.ffffffff8be77p-1, -- 0x1.ffffffff94346p-1, -- 0x1.ffffffff9bec8p-1, -- 0x1.ffffffffa319fp-1, -- 0x1.ffffffffa9c63p-1, -- 0x1.ffffffffaffa4p-1, -- 0x1.ffffffffb5be5p-1, -- 0x1.ffffffffbb1a2p-1, -- 0x1.ffffffffc014ep-1, -- 0x1.ffffffffc4b56p-1, -- 0x1.ffffffffc901cp-1, -- 0x1.ffffffffccfffp-1, -- 0x1.ffffffffd0b56p-1, -- 0x1.ffffffffd4271p-1, -- 0x1.ffffffffd759dp-1, -- 0x1.ffffffffda520p-1, -- 0x1.ffffffffdd13cp-1, -- 0x1.ffffffffdfa2dp-1, -- 0x1.ffffffffe202dp-1, -- 0x1.ffffffffe4371p-1, -- 0x1.ffffffffe642ap-1, -- 0x1.ffffffffe8286p-1, -- 0x1.ffffffffe9eb0p-1, -- 0x1.ffffffffeb8d0p-1, -- 0x1.ffffffffed10ap-1, -- 0x1.ffffffffee782p-1, -- 0x1.ffffffffefc57p-1, -- 0x1.fffffffff0fa7p-1, -- 0x1.fffffffff218fp-1, -- 0x1.fffffffff3227p-1, -- 0x1.fffffffff4188p-1, -- 0x1.fffffffff4fc9p-1, -- 0x1.fffffffff5cfdp-1, -- 0x1.fffffffff6939p-1, -- 0x1.fffffffff748ep-1, -- 0x1.fffffffff7f0dp-1, -- 0x1.fffffffff88c5p-1, -- 0x1.fffffffff91c6p-1, -- 0x1.fffffffff9a1bp-1, -- 0x1.fffffffffa1d2p-1, -- 0x1.fffffffffa8f6p-1, -- 0x1.fffffffffaf92p-1, -- 0x1.fffffffffb5b0p-1, -- 0x1.fffffffffbb58p-1, -- 0x1.fffffffffc095p-1, -- 0x1.fffffffffc56dp-1, -- 0x1.fffffffffc9e8p-1, -- 0x1.fffffffffce0dp-1, -- 0x1.fffffffffd1e1p-1, -- 0x1.fffffffffd56cp-1, -- 0x1.fffffffffd8b3p-1, -- 0x1.fffffffffdbbap-1, -- 0x1.fffffffffde86p-1, -- 0x1.fffffffffe11dp-1, -- 0x1.fffffffffe380p-1, -- 0x1.fffffffffe5b6p-1, -- 0x1.fffffffffe7c0p-1, -- 0x1.fffffffffe9a2p-1, -- 0x1.fffffffffeb60p-1, -- 0x1.fffffffffecfbp-1, -- 0x1.fffffffffee77p-1, -- 0x1.fffffffffefd6p-1, -- 0x1.ffffffffff11ap-1, -- 0x1.ffffffffff245p-1, -- 0x1.ffffffffff359p-1, -- 0x1.ffffffffff457p-1, -- 0x1.ffffffffff542p-1, -- 0x1.ffffffffff61bp-1, -- 0x1.ffffffffff6e3p-1, -- 0x1.ffffffffff79bp-1, -- 0x1.ffffffffff845p-1, -- 0x1.ffffffffff8e2p-1, -- 0x1.ffffffffff973p-1, -- 0x1.ffffffffff9f8p-1, -- 0x1.ffffffffffa73p-1, -- 0x1.ffffffffffae4p-1, -- 0x1.ffffffffffb4cp-1, -- 0x1.ffffffffffbadp-1, -- 0x1.ffffffffffc05p-1, -- 0x1.ffffffffffc57p-1, -- 0x1.ffffffffffca2p-1, -- 0x1.ffffffffffce7p-1, -- 0x1.ffffffffffd27p-1, -- 0x1.ffffffffffd62p-1, -- 0x1.ffffffffffd98p-1, -- 0x1.ffffffffffdcap-1, -- 0x1.ffffffffffdf8p-1, -- 0x1.ffffffffffe22p-1, -- 0x1.ffffffffffe49p-1, -- 0x1.ffffffffffe6cp-1, -- 0x1.ffffffffffe8dp-1, -- 0x1.ffffffffffeabp-1, -- 0x1.ffffffffffec7p-1, -- 0x1.ffffffffffee1p-1, -- 0x1.ffffffffffef8p-1, -- 0x1.fffffffffff0ep-1, -- 0x1.fffffffffff22p-1, -- 0x1.fffffffffff34p-1, -- 0x1.fffffffffff45p-1, -- 0x1.fffffffffff54p-1, -- 0x1.fffffffffff62p-1, -- 0x1.fffffffffff6fp-1, -- 0x1.fffffffffff7bp-1, -- 0x1.fffffffffff86p-1, -- 0x1.fffffffffff90p-1, -- 0x1.fffffffffff9ap-1, -- 0x1.fffffffffffa2p-1, -- 0x1.fffffffffffaap-1, -- 0x1.fffffffffffb1p-1, -- 0x1.fffffffffffb8p-1, -- 0x1.fffffffffffbep-1, -- 0x1.fffffffffffc3p-1, -- 0x1.fffffffffffc8p-1, -- 0x1.fffffffffffcdp-1, -- 0x1.fffffffffffd1p-1, -- 0x1.fffffffffffd5p-1, -- 0x1.fffffffffffd9p-1, -- 0x1.fffffffffffdcp-1, -- 0x1.fffffffffffdfp-1, -- 0x1.fffffffffffe2p-1, -- 0x1.fffffffffffe4p-1, -- 0x1.fffffffffffe7p-1, -- 0x1.fffffffffffe9p-1, -- 0x1.fffffffffffebp-1, -- 0x1.fffffffffffedp-1, -- 0x1.fffffffffffeep-1, -- 0x1.ffffffffffff0p-1, -- 0x1.ffffffffffff1p-1, -- 0x1.ffffffffffff3p-1, -- 0x1.ffffffffffff4p-1, -- 0x1.ffffffffffff5p-1, -- 0x1.ffffffffffff6p-1, -- 0x1.ffffffffffff7p-1, -- 0x1.ffffffffffff7p-1, -- 0x1.ffffffffffff8p-1, -- 0x1.ffffffffffff9p-1, -- 0x1.ffffffffffff9p-1, -- 0x1.ffffffffffffap-1, -- 0x1.ffffffffffffbp-1, -- 0x1.ffffffffffffbp-1, -- 0x1.ffffffffffffbp-1, -- 0x1.ffffffffffffcp-1, -- 0x1.ffffffffffffcp-1, -- 0x1.ffffffffffffdp-1, -- 0x1.ffffffffffffdp-1, -- 0x1.ffffffffffffdp-1, -- 0x1.ffffffffffffdp-1, -- 0x1.ffffffffffffep-1, -- 0x1.ffffffffffffep-1, -- 0x1.ffffffffffffep-1, -- 0x1.ffffffffffffep-1, -- 0x1.ffffffffffffep-1, -- 0x1.ffffffffffffep-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.fffffffffffffp-1, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- 0x1.0000000000000p+0, -- }, -- .scale = { 0x1.20dd750429b6dp+0, -- 0x1.20d8f1975c85dp+0, -- 0x1.20cb67bd452c7p+0, -- 0x1.20b4d8bac36c1p+0, -- 0x1.209546ad13ccfp+0, -- 0x1.206cb4897b148p+0, -- 0x1.203b261cd0052p+0, -- 0x1.2000a00ae3804p+0, -- 0x1.1fbd27cdc72d3p+0, -- 0x1.1f70c3b4f2cc7p+0, -- 0x1.1f1b7ae44867fp+0, -- 0x1.1ebd5552f795bp+0, -- 0x1.1e565bca400d4p+0, -- 0x1.1de697e413d28p+0, -- 0x1.1d6e14099944ap+0, -- 0x1.1cecdb718d61cp+0, -- 0x1.1c62fa1e869b6p+0, -- 0x1.1bd07cdd189acp+0, -- 0x1.1b357141d95d5p+0, -- 0x1.1a91e5a748165p+0, -- 0x1.19e5e92b964abp+0, -- 0x1.19318bae53a04p+0, -- 0x1.1874ddcdfce24p+0, -- 0x1.17aff0e56ec10p+0, -- 0x1.16e2d7093cd8cp+0, -- 0x1.160da304ed92fp+0, -- 0x1.153068581b781p+0, -- 0x1.144b3b337c90cp+0, -- 0x1.135e3075d076bp+0, -- 0x1.12695da8b5bdep+0, -- 0x1.116cd8fd67618p+0, -- 0x1.1068b94962e5ep+0, -- 0x1.0f5d1602f7e41p+0, -- 0x1.0e4a073dc1b91p+0, -- 0x1.0d2fa5a70c168p+0, -- 0x1.0c0e0a8223359p+0, -- 0x1.0ae54fa490722p+0, -- 0x1.09b58f724416bp+0, -- 0x1.087ee4d9ad247p+0, -- 0x1.07416b4fbfe7cp+0, -- 0x1.05fd3ecbec297p+0, -- 0x1.04b27bc403d30p+0, -- 0x1.03613f2812dafp+0, -- 0x1.0209a65e29545p+0, -- 0x1.00abcf3e187a9p+0, -- 0x1.fe8fb01a47307p-1, -- 0x1.fbbbbef34b4b2p-1, -- 0x1.f8dc092d58ff8p-1, -- 0x1.f5f0cdaf15313p-1, -- 0x1.f2fa4c16c0019p-1, -- 0x1.eff8c4b1375dbp-1, -- 0x1.ecec7870ebca7p-1, -- 0x1.e9d5a8e4c934ep-1, -- 0x1.e6b4982f158b9p-1, -- 0x1.e38988fc46e72p-1, -- 0x1.e054be79d3042p-1, -- 0x1.dd167c4cf9d2ap-1, -- 0x1.d9cf06898cdafp-1, -- 0x1.d67ea1a8b5368p-1, -- 0x1.d325927fb9d89p-1, -- 0x1.cfc41e36c7df9p-1, -- 0x1.cc5a8a3fbea40p-1, -- 0x1.c8e91c4d01368p-1, -- 0x1.c5701a484ef9dp-1, -- 0x1.c1efca49a5011p-1, -- 0x1.be68728e29d5dp-1, -- 0x1.bada596f25436p-1, -- 0x1.b745c55905bf8p-1, -- 0x1.b3aafcc27502ep-1, -- 0x1.b00a46237d5bep-1, -- 0x1.ac63e7ecc1411p-1, -- 0x1.a8b8287ec6a09p-1, -- 0x1.a5074e2157620p-1, -- 0x1.a1519efaf889ep-1, -- 0x1.9d97610879642p-1, -- 0x1.99d8da149c13fp-1, -- 0x1.96164fafd8de3p-1, -- 0x1.925007283d7aap-1, -- 0x1.8e86458169af8p-1, -- 0x1.8ab94f6caa71dp-1, -- 0x1.86e9694134b9ep-1, -- 0x1.8316d6f48133dp-1, -- 0x1.7f41dc12c9e89p-1, -- 0x1.7b6abbb7aaf19p-1, -- 0x1.7791b886e7403p-1, -- 0x1.73b714a552763p-1, -- 0x1.6fdb11b1e0c34p-1, -- 0x1.6bfdf0beddaf5p-1, -- 0x1.681ff24b4ab04p-1, -- 0x1.6441563c665d4p-1, -- 0x1.60625bd75d07bp-1, -- 0x1.5c8341bb23767p-1, -- 0x1.58a445da7c74cp-1, -- 0x1.54c5a57629db0p-1, -- 0x1.50e79d1749ac9p-1, -- 0x1.4d0a6889dfd9fp-1, -- 0x1.492e42d78d2c5p-1, -- 0x1.4553664273d24p-1, -- 0x1.417a0c4049fd0p-1, -- 0x1.3da26d759aef5p-1, -- 0x1.39ccc1b136d5ap-1, -- 0x1.35f93fe7d1b3dp-1, -- 0x1.32281e2fd1a92p-1, -- 0x1.2e5991bd4cbfcp-1, -- 0x1.2a8dcede3673bp-1, -- 0x1.26c508f6bd0ffp-1, -- 0x1.22ff727dd6f7bp-1, -- 0x1.1f3d3cf9ffe5ap-1, -- 0x1.1b7e98fe26217p-1, -- 0x1.17c3b626c7a11p-1, -- 0x1.140cc3173f007p-1, -- 0x1.1059ed7740313p-1, -- 0x1.0cab61f084b93p-1, -- 0x1.09014c2ca74dap-1, -- 0x1.055bd6d32e8d7p-1, -- 0x1.01bb2b87c6968p-1, -- 0x1.fc3ee5d1524b0p-2, -- 0x1.f511a91a67d2ap-2, -- 0x1.edeeee0959518p-2, -- 0x1.e6d6ffaa65a25p-2, -- 0x1.dfca26f5bbf88p-2, -- 0x1.d8c8aace11e63p-2, -- 0x1.d1d2cfff91594p-2, -- 0x1.cae8d93f1d7b6p-2, -- 0x1.c40b0729ed547p-2, -- 0x1.bd3998457afdap-2, -- 0x1.b674c8ffc6283p-2, -- 0x1.afbcd3afe8ab6p-2, -- 0x1.a911f096fbc26p-2, -- 0x1.a27455e14c93cp-2, -- 0x1.9be437a7de946p-2, -- 0x1.9561c7f23a47bp-2, -- 0x1.8eed36b886d93p-2, -- 0x1.8886b1e5ecfd1p-2, -- 0x1.822e655b417e6p-2, -- 0x1.7be47af1f5d89p-2, -- 0x1.75a91a7f4d2edp-2, -- 0x1.6f7c69d7d3ef8p-2, -- 0x1.695e8cd31867ep-2, -- 0x1.634fa54fa285fp-2, -- 0x1.5d4fd33729015p-2, -- 0x1.575f3483021c3p-2, -- 0x1.517de540ce2a3p-2, -- 0x1.4babff975a04cp-2, -- 0x1.45e99bcbb7915p-2, -- 0x1.4036d0468a7a2p-2, -- 0x1.3a93b1998736cp-2, -- 0x1.35005285227f1p-2, -- 0x1.2f7cc3fe6f423p-2, -- 0x1.2a09153529381p-2, -- 0x1.24a55399ea239p-2, -- 0x1.1f518ae487dc8p-2, -- 0x1.1a0dc51a9934dp-2, -- 0x1.14da0a961fd14p-2, -- 0x1.0fb6620c550afp-2, -- 0x1.0aa2d09497f2bp-2, -- 0x1.059f59af7a906p-2, -- 0x1.00abff4dec7a3p-2, -- 0x1.f79183b101c5bp-3, -- 0x1.edeb406d9c824p-3, -- 0x1.e4652fadcb6b2p-3, -- 0x1.daff4969c0b04p-3, -- 0x1.d1b982c501370p-3, -- 0x1.c893ce1dcbef7p-3, -- 0x1.bf8e1b1ca2279p-3, -- 0x1.b6a856c3ed54fp-3, -- 0x1.ade26b7fbed95p-3, -- 0x1.a53c4135a6526p-3, -- 0x1.9cb5bd549b111p-3, -- 0x1.944ec2e4f5630p-3, -- 0x1.8c07329874652p-3, -- 0x1.83deeada4d25ap-3, -- 0x1.7bd5c7df3fe9cp-3, -- 0x1.73eba3b5b07b7p-3, -- 0x1.6c205655be71fp-3, -- 0x1.6473b5b15a7a1p-3, -- 0x1.5ce595c455b0ap-3, -- 0x1.5575c8a468361p-3, -- 0x1.4e241e912c305p-3, -- 0x1.46f066040a832p-3, -- 0x1.3fda6bc016994p-3, -- 0x1.38e1fae1d6a9dp-3, -- 0x1.3206dceef5f87p-3, -- 0x1.2b48d9e5dea1cp-3, -- 0x1.24a7b84d38971p-3, -- 0x1.1e233d434b813p-3, -- 0x1.17bb2c8d41535p-3, -- 0x1.116f48a6476ccp-3, -- 0x1.0b3f52ce8c383p-3, -- 0x1.052b0b1a174eap-3, -- 0x1.fe6460fef4680p-4, -- 0x1.f2a901ccafb37p-4, -- 0x1.e723726b824a9p-4, -- 0x1.dbd32ac4c99b0p-4, -- 0x1.d0b7a0f921e7cp-4, -- 0x1.c5d0497c09e74p-4, -- 0x1.bb1c972f23e50p-4, -- 0x1.b09bfb7d11a83p-4, -- 0x1.a64de673e8837p-4, -- 0x1.9c31c6df3b1b8p-4, -- 0x1.92470a61b6965p-4, -- 0x1.888d1d8e510a3p-4, -- 0x1.7f036c0107294p-4, -- 0x1.75a96077274bap-4, -- 0x1.6c7e64e7281cbp-4, -- 0x1.6381e2980956bp-4, -- 0x1.5ab342383d177p-4, -- 0x1.5211ebf41880bp-4, -- 0x1.499d478bca735p-4, -- 0x1.4154bc68d75c3p-4, -- 0x1.3937b1b319259p-4, -- 0x1.31458e6542847p-4, -- 0x1.297db960e4f63p-4, -- 0x1.21df9981f8e53p-4, -- 0x1.1a6a95b1e786fp-4, -- 0x1.131e14fa1625dp-4, -- 0x1.0bf97e95f2a64p-4, -- 0x1.04fc3a0481321p-4, -- 0x1.fc4b5e32d6259p-5, -- 0x1.eeea8c1b1db93p-5, -- 0x1.e1d4cf1e2450ap-5, -- 0x1.d508f9a1ea64ep-5, -- 0x1.c885df3451a07p-5, -- 0x1.bc4a54a84e834p-5, -- 0x1.b055303221015p-5, -- 0x1.a4a549829587ep-5, -- 0x1.993979e14fffdp-5, -- 0x1.8e109c4622913p-5, -- 0x1.83298d717210ep-5, -- 0x1.78832c03aa2b1p-5, -- 0x1.6e1c5893c380bp-5, -- 0x1.63f3f5c4de13bp-5, -- 0x1.5a08e85af27e0p-5, -- 0x1.505a174e9c929p-5, -- 0x1.46e66be002240p-5, -- 0x1.3dacd1a8d8ccdp-5, -- 0x1.34ac36ad8dafep-5, -- 0x1.2be38b6d92415p-5, -- 0x1.2351c2f2d1449p-5, -- 0x1.1af5d2e04f3f6p-5, -- 0x1.12ceb37ff9bc3p-5, -- 0x1.0adb5fcfa8c75p-5, -- 0x1.031ad58d56279p-5, -- 0x1.f7182a851bca2p-6, -- 0x1.e85c449e377f2p-6, -- 0x1.da0005e5f28dfp-6, -- 0x1.cc0180af00a8bp-6, -- 0x1.be5ecd2fcb5f9p-6, -- 0x1.b1160991ff737p-6, -- 0x1.a4255a00b9f03p-6, -- 0x1.978ae8b55ce1bp-6, -- 0x1.8b44e6031383ep-6, -- 0x1.7f5188610ddc8p-6, -- 0x1.73af0c737bb45p-6, -- 0x1.685bb5134ef13p-6, -- 0x1.5d55cb54cd53ap-6, -- 0x1.529b9e8cf9a1ep-6, -- 0x1.482b8455dc491p-6, -- 0x1.3e03d891b37dep-6, -- 0x1.3422fd6d12e2bp-6, -- 0x1.2a875b5ffab56p-6, -- 0x1.212f612dee7fbp-6, -- 0x1.181983e5133ddp-6, -- 0x1.0f443edc5ce49p-6, -- 0x1.06ae13b0d3255p-6, -- 0x1.fcab1483ea7fcp-7, -- 0x1.ec72615a894c4p-7, -- 0x1.dcaf3691fc448p-7, -- 0x1.cd5ec93c12431p-7, -- 0x1.be7e5ac24963bp-7, -- 0x1.b00b38d6b3575p-7, -- 0x1.a202bd6372dcep-7, -- 0x1.94624e78e0fafp-7, -- 0x1.87275e3a6869dp-7, -- 0x1.7a4f6aca256cbp-7, -- 0x1.6dd7fe3358230p-7, -- 0x1.61beae53b72b7p-7, -- 0x1.56011cc3b036dp-7, -- 0x1.4a9cf6bda3f4cp-7, -- 0x1.3f8ff5042a88ep-7, -- 0x1.34d7dbc76d7e5p-7, -- 0x1.2a727a89a3f14p-7, -- 0x1.205dac02bd6b9p-7, -- 0x1.1697560347b25p-7, -- 0x1.0d1d69569b82dp-7, -- 0x1.03ede1a45bfeep-7, -- 0x1.f60d8aa2a88f2p-8, -- 0x1.e4cc4abf7d065p-8, -- 0x1.d4143a9dfe965p-8, -- 0x1.c3e1a5f5c077cp-8, -- 0x1.b430ecf4a83a8p-8, -- 0x1.a4fe83fb9db25p-8, -- 0x1.9646f35a76623p-8, -- 0x1.8806d70b2fc36p-8, -- 0x1.7a3ade6c8b3e4p-8, -- 0x1.6cdfcbfc1e263p-8, -- 0x1.5ff2750fe7820p-8, -- 0x1.536fc18f7ce5cp-8, -- 0x1.4754abacdf1dcp-8, -- 0x1.3b9e3f9d06e3fp-8, -- 0x1.30499b503957fp-8, -- 0x1.2553ee2a336bfp-8, -- 0x1.1aba78ba3af89p-8, -- 0x1.107a8c7323a6ep-8, -- 0x1.06918b6355624p-8, -- 0x1.f9f9cfd9c3035p-9, -- 0x1.e77448fb66bb9p-9, -- 0x1.d58da68fd1170p-9, -- 0x1.c4412bf4b8f0bp-9, -- 0x1.b38a3af2e55b4p-9, -- 0x1.a3645330550ffp-9, -- 0x1.93cb11a30d765p-9, -- 0x1.84ba3004a50d0p-9, -- 0x1.762d84469c18fp-9, -- 0x1.6821000795a03p-9, -- 0x1.5a90b00981d93p-9, -- 0x1.4d78bba8ca5fdp-9, -- 0x1.40d564548fad7p-9, -- 0x1.34a305080681fp-9, -- 0x1.28de11c5031ebp-9, -- 0x1.1d83170fbf6fbp-9, -- 0x1.128eb96be8798p-9, -- 0x1.07fdb4dafea5fp-9, -- 0x1.fb99b8b8279e1p-10, -- 0x1.e7f232d9e2630p-10, -- 0x1.d4fed7195d7e8p-10, -- 0x1.c2b9cf7f893bfp-10, -- 0x1.b11d702b3deb1p-10, -- 0x1.a024365f771bdp-10, -- 0x1.8fc8c794b03b5p-10, -- 0x1.8005f08d6f1efp-10, -- 0x1.70d6a46e07ddap-10, -- 0x1.6235fbd7a4345p-10, -- 0x1.541f340697987p-10, -- 0x1.468dadf4080abp-10, -- 0x1.397ced7af2b15p-10, -- 0x1.2ce898809244ep-10, -- 0x1.20cc76202c5fap-10, -- 0x1.15246dda49d47p-10, -- 0x1.09ec86c75d497p-10, -- 0x1.fe41cd9bb4eeep-11, -- 0x1.e97ba3b77f306p-11, -- 0x1.d57f524723822p-11, -- 0x1.c245d4b998479p-11, -- 0x1.afc85e0f82e12p-11, -- 0x1.9e005769dbc1dp-11, -- 0x1.8ce75e9f6f8a0p-11, -- 0x1.7c7744d9378f7p-11, -- 0x1.6caa0d3582fe9p-11, -- 0x1.5d79eb71e893bp-11, -- 0x1.4ee1429bf7cc0p-11, -- 0x1.40daa3c89f5b6p-11, -- 0x1.3360ccd23db3ap-11, -- 0x1.266ea71d4f71ap-11, -- 0x1.19ff4663ae9dfp-11, -- 0x1.0e0de78654d1ep-11, -- 0x1.0295ef6591848p-11, -- 0x1.ef25d37f49fe1p-12, -- 0x1.da01102b5f851p-12, -- 0x1.c5b5412dcafadp-12, -- 0x1.b23a5a23e4210p-12, -- 0x1.9f8893d8fd1c1p-12, -- 0x1.8d986a4187285p-12, -- 0x1.7c629a822bc9ep-12, -- 0x1.6be02102b3520p-12, -- 0x1.5c0a378c90bcap-12, -- 0x1.4cda5374ea275p-12, -- 0x1.3e4a23d1f4702p-12, -- 0x1.30538fbb77ecdp-12, -- 0x1.22f0b496539bdp-12, -- 0x1.161be46ad3b50p-12, -- 0x1.09cfa445b00ffp-12, -- 0x1.fc0d55470cf51p-13, -- 0x1.e577bbcd49935p-13, -- 0x1.cfd4a5adec5bfp-13, -- 0x1.bb1a9657ce465p-13, -- 0x1.a740684026555p-13, -- 0x1.943d4a1d1ed39p-13, -- 0x1.8208bc334a6a5p-13, -- 0x1.709a8db59f25cp-13, -- 0x1.5feada379d8b7p-13, -- 0x1.4ff207314a102p-13, -- 0x1.40a8c1949f75ep-13, -- 0x1.3207fb7420eb9p-13, -- 0x1.2408e9ba3327fp-13, -- 0x1.16a501f0e42cap-13, -- 0x1.09d5f819c9e29p-13, -- 0x1.fb2b792b40a22p-14, -- 0x1.e3bcf436a1a95p-14, -- 0x1.cd55277c18d05p-14, -- 0x1.b7e94604479dcp-14, -- 0x1.a36eec00926ddp-14, -- 0x1.8fdc1b2dcf7b9p-14, -- 0x1.7d2737527c3f9p-14, -- 0x1.6b4702d7d5849p-14, -- 0x1.5a329b7d30748p-14, -- 0x1.49e17724f4d41p-14, -- 0x1.3a4b60ba9aa4dp-14, -- 0x1.2b6875310f785p-14, -- 0x1.1d312098e9dbap-14, -- 0x1.0f9e1b4dd36dfp-14, -- 0x1.02a8673a94691p-14, -- 0x1.ec929a665b449p-15, -- 0x1.d4f4b4c8e09edp-15, -- 0x1.be6abbb10a5aap-15, -- 0x1.a8e8cc1fadef6p-15, -- 0x1.94637d5bacfdbp-15, -- 0x1.80cfdc72220cfp-15, -- 0x1.6e2367dc27f95p-15, -- 0x1.5c540b4936fd2p-15, -- 0x1.4b581b8d170fcp-15, -- 0x1.3b2652b06c2b2p-15, -- 0x1.2bb5cc22e5db6p-15, -- 0x1.1cfe010e2052dp-15, -- 0x1.0ef6c4c84a0fep-15, -- 0x1.01984165a5f36p-15, -- 0x1.e9b5e8d00ce76p-16, -- 0x1.d16f5716c6c1ap-16, -- 0x1.ba4f035d60e02p-16, -- 0x1.a447b7b03f045p-16, -- 0x1.8f4ccca7fc90dp-16, -- 0x1.7b5223dac7336p-16, -- 0x1.684c227fcacefp-16, -- 0x1.562fac4329b48p-16, -- 0x1.44f21e49054f2p-16, -- 0x1.34894a5e24657p-16, -- 0x1.24eb7254ccf83p-16, -- 0x1.160f438c70913p-16, -- 0x1.07ebd2a2d2844p-16, -- 0x1.f4f12e9ab070ap-17, -- 0x1.db5ad0b27805cp-17, -- 0x1.c304efa2c6f4ep-17, -- 0x1.abe09e9144b5ep-17, -- 0x1.95df988e76644p-17, -- 0x1.80f439b4ee04bp-17, -- 0x1.6d11788a69c64p-17, -- 0x1.5a2adfa0b4bc4p-17, -- 0x1.4834877429b8fp-17, -- 0x1.37231085c7d9ap-17, -- 0x1.26eb9daed6f7ep-17, -- 0x1.1783ceac28910p-17, -- 0x1.08e1badf0fcedp-17, -- 0x1.f5f7d88472604p-18, -- 0x1.db92b5212fb8dp-18, -- 0x1.c282cd3957edap-18, -- 0x1.aab7abace48dcp-18, -- 0x1.94219bfcb4928p-18, -- 0x1.7eb1a2075864dp-18, -- 0x1.6a597219a93d9p-18, -- 0x1.570b69502f313p-18, -- 0x1.44ba864670882p-18, -- 0x1.335a62115bce2p-18, -- 0x1.22df298214423p-18, -- 0x1.133d96ae7e0ddp-18, -- 0x1.046aeabcfcdecp-18, -- 0x1.ecb9cfe1d8642p-19, -- 0x1.d21397ead99cbp-19, -- 0x1.b8d094c86d374p-19, -- 0x1.a0df0f0c626dcp-19, -- 0x1.8a2e269750a39p-19, -- 0x1.74adc8f4064d3p-19, -- 0x1.604ea819f007cp-19, -- 0x1.4d0231928c6f9p-19, -- 0x1.3aba85fe22e1fp-19, -- 0x1.296a70f414053p-19, -- 0x1.1905613b3abf2p-19, -- 0x1.097f6156f32c5p-19, -- 0x1.f59a20caf6695p-20, -- 0x1.d9c73698fb1dcp-20, -- 0x1.bf716c6168baep-20, -- 0x1.a6852c6b58392p-20, -- 0x1.8eefd70594a88p-20, -- 0x1.789fb715aae95p-20, -- 0x1.6383f726a8e04p-20, -- 0x1.4f8c96f26a26ap-20, -- 0x1.3caa61607f920p-20, -- 0x1.2acee2f5ecdb8p-20, -- 0x1.19ec60b1242edp-20, -- 0x1.09f5cf4dd2877p-20, -- 0x1.f5bd95d8730d8p-21, -- 0x1.d9371e2ff7c35p-21, -- 0x1.be41de54d155ap-21, -- 0x1.a4c89e08ef4f3p-21, -- 0x1.8cb738399b12cp-21, -- 0x1.75fa8dbc84becp-21, -- 0x1.608078a70dcbcp-21, -- 0x1.4c37c0394d094p-21, -- 0x1.39100d5687bfep-21, -- 0x1.26f9df8519bd6p-21, -- 0x1.15e6827001f18p-21, -- 0x1.05c803e4831c1p-21, -- 0x1.ed22548cffd35p-22, -- 0x1.d06ad6ecdf971p-22, -- 0x1.b551c847fbc96p-22, -- 0x1.9bc09f112b494p-22, -- 0x1.83a1ff0aa239dp-22, -- 0x1.6ce1aa3fd7bddp-22, -- 0x1.576c72b514859p-22, -- 0x1.43302cc4a0da8p-22, -- 0x1.301ba221dc9bbp-22, -- 0x1.1e1e857adc568p-22, -- 0x1.0d2966b1746f7p-22, -- 0x1.fa5b4f49cc6b2p-23, -- 0x1.dc3ae30b55c16p-23, -- 0x1.bfd7555a3bd68p-23, -- 0x1.a517d9e61628ap-23, -- 0x1.8be4f8f6c951fp-23, -- 0x1.74287ded49339p-23, -- 0x1.5dcd669f2cd34p-23, -- 0x1.48bfd38302870p-23, -- 0x1.34ecf8a3c124ap-23, -- 0x1.22430f521cbcfp-23, -- 0x1.10b1488aeb235p-23, -- 0x1.0027c00a263a6p-23, -- 0x1.e12ee004efc37p-24, -- 0x1.c3e44ae32b16bp-24, -- 0x1.a854ea14102a8p-24, -- 0x1.8e6761569f45dp-24, -- 0x1.7603bac345f65p-24, -- 0x1.5f1353cdad001p-24, -- 0x1.4980cb3c80949p-24, -- 0x1.3537f00b6ad4dp-24, -- 0x1.2225b12bffc68p-24, -- 0x1.10380e1adb7e9p-24, -- 0x1.febc107d5efaap-25, -- 0x1.df0f2a0ee6946p-25, -- 0x1.c14b2188bcee4p-25, -- 0x1.a553644f7f07dp-25, -- 0x1.8b0cfce0579dfp-25, -- 0x1.725e7c5dd20f7p-25, -- 0x1.5b2fe547a1340p-25, -- 0x1.456a974e92e93p-25, -- 0x1.30f93c3699078p-25, -- 0x1.1dc7b5b978cf8p-25, -- 0x1.0bc30c5d52f15p-25, -- 0x1.f5b2be65a0c7fp-26, -- 0x1.d5f3a8dea7357p-26, -- 0x1.b82915b03515bp-26, -- 0x1.9c3517e789488p-26, -- 0x1.81fb7df06136ep-26, -- 0x1.6961b8d641d06p-26, -- 0x1.524ec4d916caep-26, -- 0x1.3cab1343d18d1p-26, -- 0x1.2860757487a01p-26, -- 0x1.155a09065d4f7p-26, -- 0x1.0384250e4c9fcp-26, -- 0x1.e59890b926c78p-27, -- 0x1.c642116a8a9e3p-27, -- 0x1.a8e405e651ab6p-27, -- 0x1.8d5f98114f872p-27, -- 0x1.7397c5a66e307p-27, -- 0x1.5b71456c5a4c4p-27, -- 0x1.44d26de513197p-27, -- 0x1.2fa31d6371537p-27, -- 0x1.1bcca373b7b43p-27, -- 0x1.0939ab853339fp-27, -- 0x1.efac5187b2863p-28, -- 0x1.cf1e86235d0e6p-28, -- 0x1.b0a68a2128babp-28, -- 0x1.9423165bc4444p-28, -- 0x1.7974e743dea3cp-28, -- 0x1.607e9eacd1050p-28, -- 0x1.4924a74dec728p-28, -- 0x1.334d19e0c2160p-28, -- 0x1.1edfa3c5f5ccap-28, -- 0x1.0bc56f1b54701p-28, -- 0x1.f3d2185e047d9p-29, -- 0x1.d26cb87945e87p-29, -- 0x1.b334fac4b9f99p-29, -- 0x1.96076f7918d1cp-29, -- 0x1.7ac2d72fc2c63p-29, -- 0x1.614801550319ep-29, -- 0x1.4979ac8b28926p-29, -- 0x1.333c68e2d0548p-29, -- 0x1.1e767bce37dd7p-29, -- 0x1.0b0fc5b6d05a0p-29, -- 0x1.f1e3523b41d7dp-30, -- 0x1.d00de6608effep-30, -- 0x1.b0778b7b3301ap-30, -- 0x1.92fb04ec0f6cfp-30, -- 0x1.77756ec9f78fap-30, -- 0x1.5dc61922d5a06p-30, -- 0x1.45ce65699ff6dp-30, -- 0x1.2f71a5f159970p-30, -- 0x1.1a94ff571654fp-30, -- 0x1.071f4bbea09ecp-30, -- 0x1.e9f1ff8ddd774p-31, -- 0x1.c818223a202c7p-31, -- 0x1.a887bd2b4404dp-31, -- 0x1.8b1a336c5eb6bp-31, -- 0x1.6fab63324088ap-31, -- 0x1.56197e30205bap-31, -- 0x1.3e44e45301b92p-31, -- 0x1.281000bfe4c3fp-31, -- 0x1.135f28f2d50b4p-31, -- 0x1.00187dded5975p-31, -- 0x1.dc479de0ef001p-32, -- 0x1.bad4fdad3caa1p-32, -- 0x1.9baed3ed27ab8p-32, -- 0x1.7ead9ce4285bbp-32, -- 0x1.63ac6b4edc88ep-32, -- 0x1.4a88be2a6390cp-32, -- 0x1.332259185f1a0p-32, -- 0x1.1d5b1f3793044p-32, -- 0x1.0916f04b6e18bp-32, -- 0x1.ec77101de6926p-33, -- 0x1.c960bf23153e0p-33, -- 0x1.a8bd20fc65ef7p-33, -- 0x1.8a61745ec7d1dp-33, -- 0x1.6e25d0e756261p-33, -- 0x1.53e4f7d1666cbp-33, -- 0x1.3b7c27a7ddb0ep-33, -- 0x1.24caf2c32af14p-33, -- 0x1.0fb3186804d0fp-33, -- 0x1.f830c0bb41fd7p-34, -- 0x1.d3c0f1a91c846p-34, -- 0x1.b1e5acf351d87p-34, -- 0x1.92712d259ce66p-34, -- 0x1.7538c60a04476p-34, -- 0x1.5a14b04b47879p-34, -- 0x1.40dfd87456f4cp-34, -- 0x1.2977b1172b9d5p-34, -- 0x1.13bc07e891491p-34, -- 0x1.ff1dbb4300811p-35, -- 0x1.d9a880f306bd8p-35, -- 0x1.b6e45220b55e0p-35, -- 0x1.96a0b33f2c4dap-35, -- 0x1.78b07e9e924acp-35, -- 0x1.5ce9ab1670dd2p-35, -- 0x1.4325167006bb0p-35, -- 0x1.2b3e53538ff3fp-35, -- 0x1.15137a7f44864p-35, -- 0x1.0084ff125639dp-35, -- 0x1.daeb0b7311ec7p-36, -- 0x1.b7937d1c40c52p-36, -- 0x1.96d082f59ab06p-36, -- 0x1.7872d9fa10aadp-36, -- 0x1.5c4e8e37bc7d0p-36, -- 0x1.423ac0df49a40p-36, -- 0x1.2a117230ad284p-36, -- 0x1.13af4f04f9998p-36, -- 0x1.fde703724e560p-37, -- 0x1.d77f0c82e7641p-37, -- 0x1.b3ee02611d7ddp-37, -- 0x1.92ff33023d5bdp-37, -- 0x1.7481a9e69f53fp-37, -- 0x1.5847eda620959p-37, -- 0x1.3e27c1fcc74bdp-37, -- 0x1.25f9ee0b923dcp-37, -- 0x1.0f9a0686531ffp-37, -- 0x1.f5cc7718082afp-38, -- 0x1.cf7e53d6a2ca5p-38, -- 0x1.ac0f5f3229372p-38, -- 0x1.8b498644847eap-38, -- 0x1.6cfa9bcca59dcp-38, -- 0x1.50f411d4fd2cdp-38, -- 0x1.370ab8327af5ep-38, -- 0x1.1f167f88c6b6ep-38, -- 0x1.08f24085d4597p-38, -- 0x1.e8f70e181d619p-39, -- 0x1.c324c20e337dcp-39, -- 0x1.a03261574b54ep-39, -- 0x1.7fe903cdf5855p-39, -- 0x1.6215c58da3450p-39, -- 0x1.46897d4b69fc6p-39, -- 0x1.2d1877d731b7bp-39, -- 0x1.159a386b11517p-39, -- 0x1.ffd27ae9393cep-40, -- 0x1.d7c593130dd0bp-40, -- 0x1.b2cd607c79bcfp-40, -- 0x1.90ae4d3405651p-40, -- 0x1.71312dd1759e2p-40, -- 0x1.5422ef5d8949dp-40, -- 0x1.39544b0ecc957p-40, -- 0x1.20997f73e73ddp-40, -- 0x1.09ca0eaacd277p-40, -- 0x1.e9810295890ecp-41, -- 0x1.c2b45b5aa4a1dp-41, -- 0x1.9eee068fa7596p-41, -- 0x1.7df2b399c10a8p-41, -- 0x1.5f8b87a31bd85p-41, -- 0x1.4385c96e9a2d9p-41, -- 0x1.29b2933ef4cbcp-41, -- 0x1.11e68a6378f8ap-41, -- 0x1.f7f338086a86bp-42, -- 0x1.cf8d7d9ce040ap-42, -- 0x1.aa577251ae484p-42, -- 0x1.8811d739efb5ep-42, -- 0x1.68823e52970bep-42, -- 0x1.4b72ae68e8b4cp-42, -- 0x1.30b14dbe876bcp-42, -- 0x1.181012ef86610p-42, -- 0x1.01647ba798744p-42, -- 0x1.d90e917701675p-43, -- 0x1.b2a87e86d0c8ap-43, -- 0x1.8f53dcb377293p-43, -- 0x1.6ed2f2515e933p-43, -- 0x1.50ecc9ed47f19p-43, -- 0x1.356cd5ce7799ep-43, -- 0x1.1c229a587ab78p-43, -- 0x1.04e15ecc7f3f6p-43, -- 0x1.deffc7e6a6017p-44, -- 0x1.b7b040832f310p-44, -- 0x1.938e021f36d76p-44, -- 0x1.7258610b3b233p-44, -- 0x1.53d3bfc82a909p-44, -- 0x1.37c92babdc2fdp-44, -- 0x1.1e06010120f6ap-44, -- 0x1.065b9616170d4p-44, -- 0x1.e13dd96b3753ap-45, -- 0x1.b950d32467392p-45, -- 0x1.94a72263259a5p-45, -- 0x1.72fd93e036cdcp-45, -- 0x1.54164576929abp-45, -- 0x1.37b83c521fe96p-45, -- 0x1.1daf033182e96p-45, -- 0x1.05ca50205d26ap-45, -- 0x1.dfbb6235639fap-46, -- 0x1.b7807e294781fp-46, -- 0x1.9298add70a734p-46, -- 0x1.70beaf9c7ffb6p-46, -- 0x1.51b2cd6709222p-46, -- 0x1.353a6cf7f7fffp-46, -- 0x1.1b1fa8cbe84a7p-46, -- 0x1.0330f0fd69921p-46, -- 0x1.da81670f96f9bp-47, -- 0x1.b24a16b4d09aap-47, -- 0x1.8d6eeb6efdbd6p-47, -- 0x1.6ba91ac734785p-47, -- 0x1.4cb7966770ab5p-47, -- 0x1.305e9721d0981p-47, -- 0x1.1667311fff70ap-47, -- 0x1.fd3de10d62855p-48, -- 0x1.d1aefbcd48d0cp-48, -- 0x1.a9cc93c25aca9p-48, -- 0x1.85487ee3ea735p-48, -- 0x1.63daf8b4b1e0cp-48, -- 0x1.45421e69a6ca1p-48, -- 0x1.294175802d99ap-48, -- 0x1.0fa17bf41068fp-48, -- 0x1.f05e82aae2bb9p-49, -- 0x1.c578101b29058p-49, -- 0x1.9e39dc5dd2f7cp-49, -- 0x1.7a553a728bbf2p-49, -- 0x1.5982008db1304p-49, -- 0x1.3b7e00422e51bp-49, -- 0x1.200c898d9ee3ep-49, -- 0x1.06f5f7eb65a56p-49, -- 0x1.e00e9148a1d25p-50, -- 0x1.b623734024e92p-50, -- 0x1.8fd4e01891bf8p-50, -- 0x1.6cd44c7470d89p-50, -- 0x1.4cd9c04158cd7p-50, -- 0x1.2fa34bf5c8344p-50, -- 0x1.14f4890ff2461p-50, -- 0x1.f92c49dfa4df5p-51, -- 0x1.ccaaea71ab0dfp-51, -- 0x1.a40829f001197p-51, -- 0x1.7eef13b59e96cp-51, -- 0x1.5d11e1a252bf5p-51, -- 0x1.3e296303b2297p-51, -- 0x1.21f47009f43cep-51, -- 0x1.083768c5e4541p-51, -- 0x1.e1777d831265ep-52, -- 0x1.b69f10b0191b5p-52, -- 0x1.8f8a3a05b5b52p-52, -- 0x1.6be573c40c8e7p-52, -- 0x1.4b645ba991fdbp-52, -- 0x1.2dc119095729fp-52, -- }, --}; -diff --git a/sysdeps/aarch64/fpu/sv_erff_data.c b/sysdeps/aarch64/fpu/sv_erff_data.c -deleted file mode 100644 -index 6dcd72af69..0000000000 ---- a/sysdeps/aarch64/fpu/sv_erff_data.c -+++ /dev/null -@@ -1,1058 +0,0 @@ --/* Table for SVE erff approximation -- -- Copyright (C) 2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#include "vecmath_config.h" -- --/* Lookup table used in SVE erff. -- For each possible rounded input r (multiples of 1/128), between -- r = 0.0 and r = 4.0 (513 values): -- - __erff_data.erf contains the values of erf(r), -- - __erff_data.scale contains the values of 2/sqrt(pi)*exp(-r^2). -- Note that indices 0 and 1 are never hit by the algorithm, since lookup is -- performed only for x >= 1/64-1/512. */ --const struct sv_erff_data __sv_erff_data = { -- .erf = { 0x0.000000p+0, -- 0x1.20dbf4p-7, -- 0x1.20d770p-6, -- 0x1.b137e0p-6, -- 0x1.20c564p-5, -- 0x1.68e5d4p-5, -- 0x1.b0fafep-5, -- 0x1.f902a8p-5, -- 0x1.207d48p-4, -- 0x1.44703ep-4, -- 0x1.68591ap-4, -- 0x1.8c36bep-4, -- 0x1.b00812p-4, -- 0x1.d3cbf8p-4, -- 0x1.f7815ap-4, -- 0x1.0d9390p-3, -- 0x1.1f5e1ap-3, -- 0x1.311fc2p-3, -- 0x1.42d7fcp-3, -- 0x1.548642p-3, -- 0x1.662a0cp-3, -- 0x1.77c2d2p-3, -- 0x1.895010p-3, -- 0x1.9ad142p-3, -- 0x1.ac45e4p-3, -- 0x1.bdad72p-3, -- 0x1.cf076ep-3, -- 0x1.e05354p-3, -- 0x1.f190aap-3, -- 0x1.015f78p-2, -- 0x1.09eed6p-2, -- 0x1.127632p-2, -- 0x1.1af54ep-2, -- 0x1.236bf0p-2, -- 0x1.2bd9dcp-2, -- 0x1.343ed6p-2, -- 0x1.3c9aa8p-2, -- 0x1.44ed18p-2, -- 0x1.4d35f0p-2, -- 0x1.5574f4p-2, -- 0x1.5da9f4p-2, -- 0x1.65d4b8p-2, -- 0x1.6df50ap-2, -- 0x1.760abap-2, -- 0x1.7e1594p-2, -- 0x1.861566p-2, -- 0x1.8e0a02p-2, -- 0x1.95f336p-2, -- 0x1.9dd0d2p-2, -- 0x1.a5a2acp-2, -- 0x1.ad6896p-2, -- 0x1.b52264p-2, -- 0x1.bccfecp-2, -- 0x1.c47104p-2, -- 0x1.cc0584p-2, -- 0x1.d38d44p-2, -- 0x1.db081cp-2, -- 0x1.e275eap-2, -- 0x1.e9d68ap-2, -- 0x1.f129d4p-2, -- 0x1.f86faap-2, -- 0x1.ffa7eap-2, -- 0x1.03693ap-1, -- 0x1.06f794p-1, -- 0x1.0a7ef6p-1, -- 0x1.0dff50p-1, -- 0x1.117894p-1, -- 0x1.14eab4p-1, -- 0x1.1855a6p-1, -- 0x1.1bb95cp-1, -- 0x1.1f15ccp-1, -- 0x1.226ae8p-1, -- 0x1.25b8a8p-1, -- 0x1.28ff02p-1, -- 0x1.2c3decp-1, -- 0x1.2f755cp-1, -- 0x1.32a54cp-1, -- 0x1.35cdb4p-1, -- 0x1.38ee8ap-1, -- 0x1.3c07cap-1, -- 0x1.3f196ep-1, -- 0x1.42236ep-1, -- 0x1.4525c8p-1, -- 0x1.482074p-1, -- 0x1.4b1372p-1, -- 0x1.4dfebap-1, -- 0x1.50e24cp-1, -- 0x1.53be26p-1, -- 0x1.569244p-1, -- 0x1.595ea6p-1, -- 0x1.5c2348p-1, -- 0x1.5ee02ep-1, -- 0x1.619556p-1, -- 0x1.6442c0p-1, -- 0x1.66e86ep-1, -- 0x1.69865ep-1, -- 0x1.6c1c98p-1, -- 0x1.6eab18p-1, -- 0x1.7131e6p-1, -- 0x1.73b102p-1, -- 0x1.762870p-1, -- 0x1.789836p-1, -- 0x1.7b0058p-1, -- 0x1.7d60d8p-1, -- 0x1.7fb9c0p-1, -- 0x1.820b12p-1, -- 0x1.8454d6p-1, -- 0x1.869712p-1, -- 0x1.88d1cep-1, -- 0x1.8b050ep-1, -- 0x1.8d30dep-1, -- 0x1.8f5544p-1, -- 0x1.91724ap-1, -- 0x1.9387f6p-1, -- 0x1.959652p-1, -- 0x1.979d68p-1, -- 0x1.999d42p-1, -- 0x1.9b95e8p-1, -- 0x1.9d8768p-1, -- 0x1.9f71cap-1, -- 0x1.a1551ap-1, -- 0x1.a33162p-1, -- 0x1.a506b0p-1, -- 0x1.a6d50cp-1, -- 0x1.a89c86p-1, -- 0x1.aa5d26p-1, -- 0x1.ac16fcp-1, -- 0x1.adca14p-1, -- 0x1.af767ap-1, -- 0x1.b11c3cp-1, -- 0x1.b2bb68p-1, -- 0x1.b4540ap-1, -- 0x1.b5e630p-1, -- 0x1.b771e8p-1, -- 0x1.b8f742p-1, -- 0x1.ba764ap-1, -- 0x1.bbef10p-1, -- 0x1.bd61a2p-1, -- 0x1.bece0ep-1, -- 0x1.c03464p-1, -- 0x1.c194b2p-1, -- 0x1.c2ef08p-1, -- 0x1.c44376p-1, -- 0x1.c5920ap-1, -- 0x1.c6dad2p-1, -- 0x1.c81de2p-1, -- 0x1.c95b46p-1, -- 0x1.ca930ep-1, -- 0x1.cbc54cp-1, -- 0x1.ccf20cp-1, -- 0x1.ce1962p-1, -- 0x1.cf3b5cp-1, -- 0x1.d0580cp-1, -- 0x1.d16f7ep-1, -- 0x1.d281c4p-1, -- 0x1.d38ef0p-1, -- 0x1.d49710p-1, -- 0x1.d59a34p-1, -- 0x1.d6986cp-1, -- 0x1.d791cap-1, -- 0x1.d8865ep-1, -- 0x1.d97636p-1, -- 0x1.da6162p-1, -- 0x1.db47f4p-1, -- 0x1.dc29fcp-1, -- 0x1.dd0788p-1, -- 0x1.dde0aap-1, -- 0x1.deb570p-1, -- 0x1.df85eap-1, -- 0x1.e0522ap-1, -- 0x1.e11a3ep-1, -- 0x1.e1de36p-1, -- 0x1.e29e22p-1, -- 0x1.e35a12p-1, -- 0x1.e41214p-1, -- 0x1.e4c638p-1, -- 0x1.e5768cp-1, -- 0x1.e62322p-1, -- 0x1.e6cc08p-1, -- 0x1.e7714ap-1, -- 0x1.e812fcp-1, -- 0x1.e8b12ap-1, -- 0x1.e94be4p-1, -- 0x1.e9e336p-1, -- 0x1.ea7730p-1, -- 0x1.eb07e2p-1, -- 0x1.eb9558p-1, -- 0x1.ec1fa2p-1, -- 0x1.eca6ccp-1, -- 0x1.ed2ae6p-1, -- 0x1.edabfcp-1, -- 0x1.ee2a1ep-1, -- 0x1.eea556p-1, -- 0x1.ef1db4p-1, -- 0x1.ef9344p-1, -- 0x1.f00614p-1, -- 0x1.f07630p-1, -- 0x1.f0e3a6p-1, -- 0x1.f14e82p-1, -- 0x1.f1b6d0p-1, -- 0x1.f21ca0p-1, -- 0x1.f27ff8p-1, -- 0x1.f2e0eap-1, -- 0x1.f33f7ep-1, -- 0x1.f39bc2p-1, -- 0x1.f3f5c2p-1, -- 0x1.f44d88p-1, -- 0x1.f4a31ep-1, -- 0x1.f4f694p-1, -- 0x1.f547f2p-1, -- 0x1.f59742p-1, -- 0x1.f5e490p-1, -- 0x1.f62fe8p-1, -- 0x1.f67952p-1, -- 0x1.f6c0dcp-1, -- 0x1.f7068cp-1, -- 0x1.f74a6ep-1, -- 0x1.f78c8cp-1, -- 0x1.f7cceep-1, -- 0x1.f80ba2p-1, -- 0x1.f848acp-1, -- 0x1.f8841ap-1, -- 0x1.f8bdf2p-1, -- 0x1.f8f63ep-1, -- 0x1.f92d08p-1, -- 0x1.f96256p-1, -- 0x1.f99634p-1, -- 0x1.f9c8a8p-1, -- 0x1.f9f9bap-1, -- 0x1.fa2974p-1, -- 0x1.fa57dep-1, -- 0x1.fa84fep-1, -- 0x1.fab0dep-1, -- 0x1.fadb84p-1, -- 0x1.fb04f6p-1, -- 0x1.fb2d40p-1, -- 0x1.fb5464p-1, -- 0x1.fb7a6cp-1, -- 0x1.fb9f60p-1, -- 0x1.fbc344p-1, -- 0x1.fbe61ep-1, -- 0x1.fc07fap-1, -- 0x1.fc28d8p-1, -- 0x1.fc48c2p-1, -- 0x1.fc67bcp-1, -- 0x1.fc85d0p-1, -- 0x1.fca2fep-1, -- 0x1.fcbf52p-1, -- 0x1.fcdaccp-1, -- 0x1.fcf576p-1, -- 0x1.fd0f54p-1, -- 0x1.fd286ap-1, -- 0x1.fd40bep-1, -- 0x1.fd5856p-1, -- 0x1.fd6f34p-1, -- 0x1.fd8562p-1, -- 0x1.fd9ae2p-1, -- 0x1.fdafb8p-1, -- 0x1.fdc3e8p-1, -- 0x1.fdd77ap-1, -- 0x1.fdea6ep-1, -- 0x1.fdfcccp-1, -- 0x1.fe0e96p-1, -- 0x1.fe1fd0p-1, -- 0x1.fe3080p-1, -- 0x1.fe40a6p-1, -- 0x1.fe504cp-1, -- 0x1.fe5f70p-1, -- 0x1.fe6e18p-1, -- 0x1.fe7c46p-1, -- 0x1.fe8a00p-1, -- 0x1.fe9748p-1, -- 0x1.fea422p-1, -- 0x1.feb090p-1, -- 0x1.febc96p-1, -- 0x1.fec836p-1, -- 0x1.fed374p-1, -- 0x1.fede52p-1, -- 0x1.fee8d4p-1, -- 0x1.fef2fep-1, -- 0x1.fefccep-1, -- 0x1.ff064cp-1, -- 0x1.ff0f76p-1, -- 0x1.ff1852p-1, -- 0x1.ff20e0p-1, -- 0x1.ff2924p-1, -- 0x1.ff3120p-1, -- 0x1.ff38d6p-1, -- 0x1.ff4048p-1, -- 0x1.ff4778p-1, -- 0x1.ff4e68p-1, -- 0x1.ff551ap-1, -- 0x1.ff5b90p-1, -- 0x1.ff61ccp-1, -- 0x1.ff67d0p-1, -- 0x1.ff6d9ep-1, -- 0x1.ff7338p-1, -- 0x1.ff789ep-1, -- 0x1.ff7dd4p-1, -- 0x1.ff82dap-1, -- 0x1.ff87b2p-1, -- 0x1.ff8c5cp-1, -- 0x1.ff90dcp-1, -- 0x1.ff9532p-1, -- 0x1.ff9960p-1, -- 0x1.ff9d68p-1, -- 0x1.ffa14ap-1, -- 0x1.ffa506p-1, -- 0x1.ffa8a0p-1, -- 0x1.ffac18p-1, -- 0x1.ffaf6ep-1, -- 0x1.ffb2a6p-1, -- 0x1.ffb5bep-1, -- 0x1.ffb8b8p-1, -- 0x1.ffbb98p-1, -- 0x1.ffbe5ap-1, -- 0x1.ffc102p-1, -- 0x1.ffc390p-1, -- 0x1.ffc606p-1, -- 0x1.ffc862p-1, -- 0x1.ffcaa8p-1, -- 0x1.ffccd8p-1, -- 0x1.ffcef4p-1, -- 0x1.ffd0fap-1, -- 0x1.ffd2eap-1, -- 0x1.ffd4cap-1, -- 0x1.ffd696p-1, -- 0x1.ffd84ep-1, -- 0x1.ffd9f8p-1, -- 0x1.ffdb90p-1, -- 0x1.ffdd18p-1, -- 0x1.ffde90p-1, -- 0x1.ffdffap-1, -- 0x1.ffe154p-1, -- 0x1.ffe2a2p-1, -- 0x1.ffe3e2p-1, -- 0x1.ffe514p-1, -- 0x1.ffe63cp-1, -- 0x1.ffe756p-1, -- 0x1.ffe866p-1, -- 0x1.ffe96ap-1, -- 0x1.ffea64p-1, -- 0x1.ffeb54p-1, -- 0x1.ffec3ap-1, -- 0x1.ffed16p-1, -- 0x1.ffedeap-1, -- 0x1.ffeeb4p-1, -- 0x1.ffef76p-1, -- 0x1.fff032p-1, -- 0x1.fff0e4p-1, -- 0x1.fff18ep-1, -- 0x1.fff232p-1, -- 0x1.fff2d0p-1, -- 0x1.fff366p-1, -- 0x1.fff3f6p-1, -- 0x1.fff480p-1, -- 0x1.fff504p-1, -- 0x1.fff582p-1, -- 0x1.fff5fcp-1, -- 0x1.fff670p-1, -- 0x1.fff6dep-1, -- 0x1.fff74ap-1, -- 0x1.fff7aep-1, -- 0x1.fff810p-1, -- 0x1.fff86cp-1, -- 0x1.fff8c6p-1, -- 0x1.fff91cp-1, -- 0x1.fff96cp-1, -- 0x1.fff9bap-1, -- 0x1.fffa04p-1, -- 0x1.fffa4cp-1, -- 0x1.fffa90p-1, -- 0x1.fffad0p-1, -- 0x1.fffb0ep-1, -- 0x1.fffb4ap-1, -- 0x1.fffb82p-1, -- 0x1.fffbb8p-1, -- 0x1.fffbecp-1, -- 0x1.fffc1ep-1, -- 0x1.fffc4ep-1, -- 0x1.fffc7ap-1, -- 0x1.fffca6p-1, -- 0x1.fffccep-1, -- 0x1.fffcf6p-1, -- 0x1.fffd1ap-1, -- 0x1.fffd3ep-1, -- 0x1.fffd60p-1, -- 0x1.fffd80p-1, -- 0x1.fffda0p-1, -- 0x1.fffdbep-1, -- 0x1.fffddap-1, -- 0x1.fffdf4p-1, -- 0x1.fffe0ep-1, -- 0x1.fffe26p-1, -- 0x1.fffe3ep-1, -- 0x1.fffe54p-1, -- 0x1.fffe68p-1, -- 0x1.fffe7ep-1, -- 0x1.fffe90p-1, -- 0x1.fffea2p-1, -- 0x1.fffeb4p-1, -- 0x1.fffec4p-1, -- 0x1.fffed4p-1, -- 0x1.fffee4p-1, -- 0x1.fffef2p-1, -- 0x1.ffff00p-1, -- 0x1.ffff0cp-1, -- 0x1.ffff18p-1, -- 0x1.ffff24p-1, -- 0x1.ffff30p-1, -- 0x1.ffff3ap-1, -- 0x1.ffff44p-1, -- 0x1.ffff4ep-1, -- 0x1.ffff56p-1, -- 0x1.ffff60p-1, -- 0x1.ffff68p-1, -- 0x1.ffff70p-1, -- 0x1.ffff78p-1, -- 0x1.ffff7ep-1, -- 0x1.ffff84p-1, -- 0x1.ffff8cp-1, -- 0x1.ffff92p-1, -- 0x1.ffff98p-1, -- 0x1.ffff9cp-1, -- 0x1.ffffa2p-1, -- 0x1.ffffa6p-1, -- 0x1.ffffacp-1, -- 0x1.ffffb0p-1, -- 0x1.ffffb4p-1, -- 0x1.ffffb8p-1, -- 0x1.ffffbcp-1, -- 0x1.ffffc0p-1, -- 0x1.ffffc4p-1, -- 0x1.ffffc6p-1, -- 0x1.ffffcap-1, -- 0x1.ffffccp-1, -- 0x1.ffffd0p-1, -- 0x1.ffffd2p-1, -- 0x1.ffffd4p-1, -- 0x1.ffffd6p-1, -- 0x1.ffffd8p-1, -- 0x1.ffffdcp-1, -- 0x1.ffffdep-1, -- 0x1.ffffdep-1, -- 0x1.ffffe0p-1, -- 0x1.ffffe2p-1, -- 0x1.ffffe4p-1, -- 0x1.ffffe6p-1, -- 0x1.ffffe8p-1, -- 0x1.ffffe8p-1, -- 0x1.ffffeap-1, -- 0x1.ffffeap-1, -- 0x1.ffffecp-1, -- 0x1.ffffeep-1, -- 0x1.ffffeep-1, -- 0x1.fffff0p-1, -- 0x1.fffff0p-1, -- 0x1.fffff2p-1, -- 0x1.fffff2p-1, -- 0x1.fffff2p-1, -- 0x1.fffff4p-1, -- 0x1.fffff4p-1, -- 0x1.fffff4p-1, -- 0x1.fffff6p-1, -- 0x1.fffff6p-1, -- 0x1.fffff6p-1, -- 0x1.fffff8p-1, -- 0x1.fffff8p-1, -- 0x1.fffff8p-1, -- 0x1.fffff8p-1, -- 0x1.fffffap-1, -- 0x1.fffffap-1, -- 0x1.fffffap-1, -- 0x1.fffffap-1, -- 0x1.fffffap-1, -- 0x1.fffffap-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffcp-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.fffffep-1, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- 0x1.000000p+0, -- }, -- .scale = { 0x1.20dd76p+0, -- 0x1.20d8f2p+0, -- 0x1.20cb68p+0, -- 0x1.20b4d8p+0, -- 0x1.209546p+0, -- 0x1.206cb4p+0, -- 0x1.203b26p+0, -- 0x1.2000a0p+0, -- 0x1.1fbd28p+0, -- 0x1.1f70c4p+0, -- 0x1.1f1b7ap+0, -- 0x1.1ebd56p+0, -- 0x1.1e565cp+0, -- 0x1.1de698p+0, -- 0x1.1d6e14p+0, -- 0x1.1cecdcp+0, -- 0x1.1c62fap+0, -- 0x1.1bd07cp+0, -- 0x1.1b3572p+0, -- 0x1.1a91e6p+0, -- 0x1.19e5eap+0, -- 0x1.19318cp+0, -- 0x1.1874dep+0, -- 0x1.17aff0p+0, -- 0x1.16e2d8p+0, -- 0x1.160da4p+0, -- 0x1.153068p+0, -- 0x1.144b3cp+0, -- 0x1.135e30p+0, -- 0x1.12695ep+0, -- 0x1.116cd8p+0, -- 0x1.1068bap+0, -- 0x1.0f5d16p+0, -- 0x1.0e4a08p+0, -- 0x1.0d2fa6p+0, -- 0x1.0c0e0ap+0, -- 0x1.0ae550p+0, -- 0x1.09b590p+0, -- 0x1.087ee4p+0, -- 0x1.07416cp+0, -- 0x1.05fd3ep+0, -- 0x1.04b27cp+0, -- 0x1.036140p+0, -- 0x1.0209a6p+0, -- 0x1.00abd0p+0, -- 0x1.fe8fb0p-1, -- 0x1.fbbbbep-1, -- 0x1.f8dc0ap-1, -- 0x1.f5f0cep-1, -- 0x1.f2fa4cp-1, -- 0x1.eff8c4p-1, -- 0x1.ecec78p-1, -- 0x1.e9d5a8p-1, -- 0x1.e6b498p-1, -- 0x1.e38988p-1, -- 0x1.e054bep-1, -- 0x1.dd167cp-1, -- 0x1.d9cf06p-1, -- 0x1.d67ea2p-1, -- 0x1.d32592p-1, -- 0x1.cfc41ep-1, -- 0x1.cc5a8ap-1, -- 0x1.c8e91cp-1, -- 0x1.c5701ap-1, -- 0x1.c1efcap-1, -- 0x1.be6872p-1, -- 0x1.bada5ap-1, -- 0x1.b745c6p-1, -- 0x1.b3aafcp-1, -- 0x1.b00a46p-1, -- 0x1.ac63e8p-1, -- 0x1.a8b828p-1, -- 0x1.a5074ep-1, -- 0x1.a1519ep-1, -- 0x1.9d9762p-1, -- 0x1.99d8dap-1, -- 0x1.961650p-1, -- 0x1.925008p-1, -- 0x1.8e8646p-1, -- 0x1.8ab950p-1, -- 0x1.86e96ap-1, -- 0x1.8316d6p-1, -- 0x1.7f41dcp-1, -- 0x1.7b6abcp-1, -- 0x1.7791b8p-1, -- 0x1.73b714p-1, -- 0x1.6fdb12p-1, -- 0x1.6bfdf0p-1, -- 0x1.681ff2p-1, -- 0x1.644156p-1, -- 0x1.60625cp-1, -- 0x1.5c8342p-1, -- 0x1.58a446p-1, -- 0x1.54c5a6p-1, -- 0x1.50e79ep-1, -- 0x1.4d0a68p-1, -- 0x1.492e42p-1, -- 0x1.455366p-1, -- 0x1.417a0cp-1, -- 0x1.3da26ep-1, -- 0x1.39ccc2p-1, -- 0x1.35f940p-1, -- 0x1.32281ep-1, -- 0x1.2e5992p-1, -- 0x1.2a8dcep-1, -- 0x1.26c508p-1, -- 0x1.22ff72p-1, -- 0x1.1f3d3cp-1, -- 0x1.1b7e98p-1, -- 0x1.17c3b6p-1, -- 0x1.140cc4p-1, -- 0x1.1059eep-1, -- 0x1.0cab62p-1, -- 0x1.09014cp-1, -- 0x1.055bd6p-1, -- 0x1.01bb2cp-1, -- 0x1.fc3ee6p-2, -- 0x1.f511aap-2, -- 0x1.edeeeep-2, -- 0x1.e6d700p-2, -- 0x1.dfca26p-2, -- 0x1.d8c8aap-2, -- 0x1.d1d2d0p-2, -- 0x1.cae8dap-2, -- 0x1.c40b08p-2, -- 0x1.bd3998p-2, -- 0x1.b674c8p-2, -- 0x1.afbcd4p-2, -- 0x1.a911f0p-2, -- 0x1.a27456p-2, -- 0x1.9be438p-2, -- 0x1.9561c8p-2, -- 0x1.8eed36p-2, -- 0x1.8886b2p-2, -- 0x1.822e66p-2, -- 0x1.7be47ap-2, -- 0x1.75a91ap-2, -- 0x1.6f7c6ap-2, -- 0x1.695e8cp-2, -- 0x1.634fa6p-2, -- 0x1.5d4fd4p-2, -- 0x1.575f34p-2, -- 0x1.517de6p-2, -- 0x1.4bac00p-2, -- 0x1.45e99cp-2, -- 0x1.4036d0p-2, -- 0x1.3a93b2p-2, -- 0x1.350052p-2, -- 0x1.2f7cc4p-2, -- 0x1.2a0916p-2, -- 0x1.24a554p-2, -- 0x1.1f518ap-2, -- 0x1.1a0dc6p-2, -- 0x1.14da0ap-2, -- 0x1.0fb662p-2, -- 0x1.0aa2d0p-2, -- 0x1.059f5ap-2, -- 0x1.00ac00p-2, -- 0x1.f79184p-3, -- 0x1.edeb40p-3, -- 0x1.e46530p-3, -- 0x1.daff4ap-3, -- 0x1.d1b982p-3, -- 0x1.c893cep-3, -- 0x1.bf8e1cp-3, -- 0x1.b6a856p-3, -- 0x1.ade26cp-3, -- 0x1.a53c42p-3, -- 0x1.9cb5bep-3, -- 0x1.944ec2p-3, -- 0x1.8c0732p-3, -- 0x1.83deeap-3, -- 0x1.7bd5c8p-3, -- 0x1.73eba4p-3, -- 0x1.6c2056p-3, -- 0x1.6473b6p-3, -- 0x1.5ce596p-3, -- 0x1.5575c8p-3, -- 0x1.4e241ep-3, -- 0x1.46f066p-3, -- 0x1.3fda6cp-3, -- 0x1.38e1fap-3, -- 0x1.3206dcp-3, -- 0x1.2b48dap-3, -- 0x1.24a7b8p-3, -- 0x1.1e233ep-3, -- 0x1.17bb2cp-3, -- 0x1.116f48p-3, -- 0x1.0b3f52p-3, -- 0x1.052b0cp-3, -- 0x1.fe6460p-4, -- 0x1.f2a902p-4, -- 0x1.e72372p-4, -- 0x1.dbd32ap-4, -- 0x1.d0b7a0p-4, -- 0x1.c5d04ap-4, -- 0x1.bb1c98p-4, -- 0x1.b09bfcp-4, -- 0x1.a64de6p-4, -- 0x1.9c31c6p-4, -- 0x1.92470ap-4, -- 0x1.888d1ep-4, -- 0x1.7f036cp-4, -- 0x1.75a960p-4, -- 0x1.6c7e64p-4, -- 0x1.6381e2p-4, -- 0x1.5ab342p-4, -- 0x1.5211ecp-4, -- 0x1.499d48p-4, -- 0x1.4154bcp-4, -- 0x1.3937b2p-4, -- 0x1.31458ep-4, -- 0x1.297dbap-4, -- 0x1.21df9ap-4, -- 0x1.1a6a96p-4, -- 0x1.131e14p-4, -- 0x1.0bf97ep-4, -- 0x1.04fc3ap-4, -- 0x1.fc4b5ep-5, -- 0x1.eeea8cp-5, -- 0x1.e1d4d0p-5, -- 0x1.d508fap-5, -- 0x1.c885e0p-5, -- 0x1.bc4a54p-5, -- 0x1.b05530p-5, -- 0x1.a4a54ap-5, -- 0x1.99397ap-5, -- 0x1.8e109cp-5, -- 0x1.83298ep-5, -- 0x1.78832cp-5, -- 0x1.6e1c58p-5, -- 0x1.63f3f6p-5, -- 0x1.5a08e8p-5, -- 0x1.505a18p-5, -- 0x1.46e66cp-5, -- 0x1.3dacd2p-5, -- 0x1.34ac36p-5, -- 0x1.2be38cp-5, -- 0x1.2351c2p-5, -- 0x1.1af5d2p-5, -- 0x1.12ceb4p-5, -- 0x1.0adb60p-5, -- 0x1.031ad6p-5, -- 0x1.f7182ap-6, -- 0x1.e85c44p-6, -- 0x1.da0006p-6, -- 0x1.cc0180p-6, -- 0x1.be5ecep-6, -- 0x1.b1160ap-6, -- 0x1.a4255ap-6, -- 0x1.978ae8p-6, -- 0x1.8b44e6p-6, -- 0x1.7f5188p-6, -- 0x1.73af0cp-6, -- 0x1.685bb6p-6, -- 0x1.5d55ccp-6, -- 0x1.529b9ep-6, -- 0x1.482b84p-6, -- 0x1.3e03d8p-6, -- 0x1.3422fep-6, -- 0x1.2a875cp-6, -- 0x1.212f62p-6, -- 0x1.181984p-6, -- 0x1.0f443ep-6, -- 0x1.06ae14p-6, -- 0x1.fcab14p-7, -- 0x1.ec7262p-7, -- 0x1.dcaf36p-7, -- 0x1.cd5ecap-7, -- 0x1.be7e5ap-7, -- 0x1.b00b38p-7, -- 0x1.a202bep-7, -- 0x1.94624ep-7, -- 0x1.87275ep-7, -- 0x1.7a4f6ap-7, -- 0x1.6dd7fep-7, -- 0x1.61beaep-7, -- 0x1.56011cp-7, -- 0x1.4a9cf6p-7, -- 0x1.3f8ff6p-7, -- 0x1.34d7dcp-7, -- 0x1.2a727ap-7, -- 0x1.205dacp-7, -- 0x1.169756p-7, -- 0x1.0d1d6ap-7, -- 0x1.03ede2p-7, -- 0x1.f60d8ap-8, -- 0x1.e4cc4ap-8, -- 0x1.d4143ap-8, -- 0x1.c3e1a6p-8, -- 0x1.b430ecp-8, -- 0x1.a4fe84p-8, -- 0x1.9646f4p-8, -- 0x1.8806d8p-8, -- 0x1.7a3adep-8, -- 0x1.6cdfccp-8, -- 0x1.5ff276p-8, -- 0x1.536fc2p-8, -- 0x1.4754acp-8, -- 0x1.3b9e40p-8, -- 0x1.30499cp-8, -- 0x1.2553eep-8, -- 0x1.1aba78p-8, -- 0x1.107a8cp-8, -- 0x1.06918cp-8, -- 0x1.f9f9d0p-9, -- 0x1.e77448p-9, -- 0x1.d58da6p-9, -- 0x1.c4412cp-9, -- 0x1.b38a3ap-9, -- 0x1.a36454p-9, -- 0x1.93cb12p-9, -- 0x1.84ba30p-9, -- 0x1.762d84p-9, -- 0x1.682100p-9, -- 0x1.5a90b0p-9, -- 0x1.4d78bcp-9, -- 0x1.40d564p-9, -- 0x1.34a306p-9, -- 0x1.28de12p-9, -- 0x1.1d8318p-9, -- 0x1.128ebap-9, -- 0x1.07fdb4p-9, -- 0x1.fb99b8p-10, -- 0x1.e7f232p-10, -- 0x1.d4fed8p-10, -- 0x1.c2b9d0p-10, -- 0x1.b11d70p-10, -- 0x1.a02436p-10, -- 0x1.8fc8c8p-10, -- 0x1.8005f0p-10, -- 0x1.70d6a4p-10, -- 0x1.6235fcp-10, -- 0x1.541f34p-10, -- 0x1.468daep-10, -- 0x1.397ceep-10, -- 0x1.2ce898p-10, -- 0x1.20cc76p-10, -- 0x1.15246ep-10, -- 0x1.09ec86p-10, -- 0x1.fe41cep-11, -- 0x1.e97ba4p-11, -- 0x1.d57f52p-11, -- 0x1.c245d4p-11, -- 0x1.afc85ep-11, -- 0x1.9e0058p-11, -- 0x1.8ce75ep-11, -- 0x1.7c7744p-11, -- 0x1.6caa0ep-11, -- 0x1.5d79ecp-11, -- 0x1.4ee142p-11, -- 0x1.40daa4p-11, -- 0x1.3360ccp-11, -- 0x1.266ea8p-11, -- 0x1.19ff46p-11, -- 0x1.0e0de8p-11, -- 0x1.0295f0p-11, -- 0x1.ef25d4p-12, -- 0x1.da0110p-12, -- 0x1.c5b542p-12, -- 0x1.b23a5ap-12, -- 0x1.9f8894p-12, -- 0x1.8d986ap-12, -- 0x1.7c629ap-12, -- 0x1.6be022p-12, -- 0x1.5c0a38p-12, -- 0x1.4cda54p-12, -- 0x1.3e4a24p-12, -- 0x1.305390p-12, -- 0x1.22f0b4p-12, -- 0x1.161be4p-12, -- 0x1.09cfa4p-12, -- 0x1.fc0d56p-13, -- 0x1.e577bcp-13, -- 0x1.cfd4a6p-13, -- 0x1.bb1a96p-13, -- 0x1.a74068p-13, -- 0x1.943d4ap-13, -- 0x1.8208bcp-13, -- 0x1.709a8ep-13, -- 0x1.5feadap-13, -- 0x1.4ff208p-13, -- 0x1.40a8c2p-13, -- 0x1.3207fcp-13, -- 0x1.2408eap-13, -- 0x1.16a502p-13, -- 0x1.09d5f8p-13, -- 0x1.fb2b7ap-14, -- 0x1.e3bcf4p-14, -- 0x1.cd5528p-14, -- 0x1.b7e946p-14, -- 0x1.a36eecp-14, -- 0x1.8fdc1cp-14, -- 0x1.7d2738p-14, -- 0x1.6b4702p-14, -- 0x1.5a329cp-14, -- 0x1.49e178p-14, -- 0x1.3a4b60p-14, -- 0x1.2b6876p-14, -- 0x1.1d3120p-14, -- 0x1.0f9e1cp-14, -- 0x1.02a868p-14, -- 0x1.ec929ap-15, -- 0x1.d4f4b4p-15, -- 0x1.be6abcp-15, -- 0x1.a8e8ccp-15, -- 0x1.94637ep-15, -- 0x1.80cfdcp-15, -- 0x1.6e2368p-15, -- 0x1.5c540cp-15, -- 0x1.4b581cp-15, -- 0x1.3b2652p-15, -- 0x1.2bb5ccp-15, -- 0x1.1cfe02p-15, -- 0x1.0ef6c4p-15, -- 0x1.019842p-15, -- 0x1.e9b5e8p-16, -- 0x1.d16f58p-16, -- 0x1.ba4f04p-16, -- 0x1.a447b8p-16, -- 0x1.8f4cccp-16, -- 0x1.7b5224p-16, -- 0x1.684c22p-16, -- 0x1.562facp-16, -- 0x1.44f21ep-16, -- 0x1.34894ap-16, -- 0x1.24eb72p-16, -- 0x1.160f44p-16, -- 0x1.07ebd2p-16, -- 0x1.f4f12ep-17, -- 0x1.db5ad0p-17, -- 0x1.c304f0p-17, -- 0x1.abe09ep-17, -- 0x1.95df98p-17, -- 0x1.80f43ap-17, -- 0x1.6d1178p-17, -- 0x1.5a2ae0p-17, -- 0x1.483488p-17, -- 0x1.372310p-17, -- 0x1.26eb9ep-17, -- 0x1.1783cep-17, -- 0x1.08e1bap-17, -- 0x1.f5f7d8p-18, -- 0x1.db92b6p-18, -- 0x1.c282cep-18, -- 0x1.aab7acp-18, -- 0x1.94219cp-18, -- 0x1.7eb1a2p-18, -- 0x1.6a5972p-18, -- 0x1.570b6ap-18, -- 0x1.44ba86p-18, -- 0x1.335a62p-18, -- 0x1.22df2ap-18, -- 0x1.133d96p-18, -- 0x1.046aeap-18, -- 0x1.ecb9d0p-19, -- 0x1.d21398p-19, -- 0x1.b8d094p-19, -- 0x1.a0df10p-19, -- 0x1.8a2e26p-19, -- 0x1.74adc8p-19, -- 0x1.604ea8p-19, -- 0x1.4d0232p-19, -- 0x1.3aba86p-19, -- 0x1.296a70p-19, -- 0x1.190562p-19, -- 0x1.097f62p-19, -- 0x1.f59a20p-20, -- 0x1.d9c736p-20, -- 0x1.bf716cp-20, -- 0x1.a6852cp-20, -- 0x1.8eefd8p-20, -- 0x1.789fb8p-20, -- 0x1.6383f8p-20, -- 0x1.4f8c96p-20, -- 0x1.3caa62p-20, -- 0x1.2acee2p-20, -- 0x1.19ec60p-20, -- 0x1.09f5d0p-20, -- 0x1.f5bd96p-21, -- 0x1.d9371ep-21, -- 0x1.be41dep-21, -- 0x1.a4c89ep-21, -- 0x1.8cb738p-21, -- 0x1.75fa8ep-21, -- 0x1.608078p-21, -- 0x1.4c37c0p-21, -- 0x1.39100ep-21, -- 0x1.26f9e0p-21, -- 0x1.15e682p-21, -- 0x1.05c804p-21, -- 0x1.ed2254p-22, -- 0x1.d06ad6p-22, -- 0x1.b551c8p-22, -- 0x1.9bc0a0p-22, -- 0x1.83a200p-22, -- 0x1.6ce1aap-22, -- 0x1.576c72p-22, -- 0x1.43302cp-22, -- 0x1.301ba2p-22, -- 0x1.1e1e86p-22, -- 0x1.0d2966p-22, -- 0x1.fa5b50p-23, -- 0x1.dc3ae4p-23, -- 0x1.bfd756p-23, -- 0x1.a517dap-23, -- 0x1.8be4f8p-23, -- 0x1.74287ep-23, -- 0x1.5dcd66p-23, -- 0x1.48bfd4p-23, -- 0x1.34ecf8p-23, -- 0x1.224310p-23, -- 0x1.10b148p-23, -- }, --}; -diff --git a/sysdeps/aarch64/fpu/vecmath_config.h b/sysdeps/aarch64/fpu/vecmath_config.h -index 7f0a8aa5f2..862eefaf8f 100644 ---- a/sysdeps/aarch64/fpu/vecmath_config.h -+++ b/sysdeps/aarch64/fpu/vecmath_config.h -@@ -75,49 +75,37 @@ extern const struct v_log10_data - } table[1 << V_LOG10_TABLE_BITS]; - } __v_log10_data attribute_hidden; - --extern const struct erff_data -+extern const struct v_erff_data - { - struct - { - float erf, scale; - } tab[513]; --} __erff_data attribute_hidden; -+} __v_erff_data attribute_hidden; - --extern const struct sv_erff_data --{ -- float erf[513]; -- float scale[513]; --} __sv_erff_data attribute_hidden; -- --extern const struct erf_data -+extern const struct v_erf_data - { - struct - { - double erf, scale; - } tab[769]; --} __erf_data attribute_hidden; -- --extern const struct sv_erf_data --{ -- double erf[769]; -- double scale[769]; --} __sv_erf_data attribute_hidden; -+} __v_erf_data attribute_hidden; - --extern const struct erfc_data -+extern const struct v_erfc_data - { - struct - { - double erfc, scale; - } tab[3488]; --} __erfc_data attribute_hidden; -+} __v_erfc_data attribute_hidden; - --extern const struct erfcf_data -+extern const struct v_erfcf_data - { - struct - { - float erfc, scale; - } tab[645]; --} __erfcf_data attribute_hidden; -+} __v_erfcf_data attribute_hidden; - - /* Some data for AdvSIMD and SVE pow's internal exp and log. */ - #define V_POW_EXP_TABLE_BITS 8 - -commit 4148940836eee07d1138da6f1805280eeb8217e3 -Author: Pierre Blanchard -Date: Mon Dec 9 15:53:04 2024 +0000 - - AArch64: Improve codegen in AdvSIMD pow - - Remove spurious ADRP. Improve memory access by shuffling constants and - using more indexed MLAs. - - A few more optimisation with no impact on accuracy - - force fmas contraction - - switch from shift-aided rint to rint instruction - - Between 1 and 5% throughput improvement on Neoverse - V1 depending on benchmark. - - (cherry picked from commit 569cfaaf4984ae70b23c61ee28a609b5aef93fea) - -diff --git a/sysdeps/aarch64/fpu/pow_advsimd.c b/sysdeps/aarch64/fpu/pow_advsimd.c -index 3c91e3e183..81e134ac2f 100644 ---- a/sysdeps/aarch64/fpu/pow_advsimd.c -+++ b/sysdeps/aarch64/fpu/pow_advsimd.c -@@ -22,9 +22,6 @@ - /* Defines parameters of the approximation and scalar fallback. */ - #include "finite_pow.h" - --#define VecSmallExp v_u64 (SmallExp) --#define VecThresExp v_u64 (ThresExp) -- - #define VecSmallPowX v_u64 (SmallPowX) - #define VecThresPowX v_u64 (ThresPowX) - #define VecSmallPowY v_u64 (SmallPowY) -@@ -32,36 +29,48 @@ - - static const struct data - { -- float64x2_t log_poly[6]; -- float64x2_t exp_poly[3]; -- float64x2_t ln2_hi, ln2_lo; -- float64x2_t shift, inv_ln2_n, ln2_hi_n, ln2_lo_n, small_powx; - uint64x2_t inf; -+ float64x2_t small_powx; -+ uint64x2_t offset, mask; -+ uint64x2_t mask_sub_0, mask_sub_1; -+ float64x2_t log_c0, log_c2, log_c4, log_c5; -+ double log_c1, log_c3; -+ double ln2_lo, ln2_hi; -+ uint64x2_t small_exp, thres_exp; -+ double ln2_lo_n, ln2_hi_n; -+ double inv_ln2_n, exp_c2; -+ float64x2_t exp_c0, exp_c1; - } data = { -+ /* Power threshold. */ -+ .inf = V2 (0x7ff0000000000000), -+ .small_powx = V2 (0x1p-126), -+ .offset = V2 (Off), -+ .mask = V2 (0xfffULL << 52), -+ .mask_sub_0 = V2 (1ULL << 52), -+ .mask_sub_1 = V2 (52ULL << 52), - /* Coefficients copied from v_pow_log_data.c - relative error: 0x1.11922ap-70 in [-0x1.6bp-8, 0x1.6bp-8] - Coefficients are scaled to match the scaling during evaluation. */ -- .log_poly -- = { V2 (0x1.555555555556p-2 * -2), V2 (-0x1.0000000000006p-2 * -2), -- V2 (0x1.999999959554ep-3 * 4), V2 (-0x1.555555529a47ap-3 * 4), -- V2 (0x1.2495b9b4845e9p-3 * -8), V2 (-0x1.0002b8b263fc3p-3 * -8) }, -- .ln2_hi = V2 (0x1.62e42fefa3800p-1), -- .ln2_lo = V2 (0x1.ef35793c76730p-45), -+ .log_c0 = V2 (0x1.555555555556p-2 * -2), -+ .log_c1 = -0x1.0000000000006p-2 * -2, -+ .log_c2 = V2 (0x1.999999959554ep-3 * 4), -+ .log_c3 = -0x1.555555529a47ap-3 * 4, -+ .log_c4 = V2 (0x1.2495b9b4845e9p-3 * -8), -+ .log_c5 = V2 (-0x1.0002b8b263fc3p-3 * -8), -+ .ln2_hi = 0x1.62e42fefa3800p-1, -+ .ln2_lo = 0x1.ef35793c76730p-45, - /* Polynomial coefficients: abs error: 1.43*2^-58, ulp error: 0.549 - (0.550 without fma) if |x| < ln2/512. */ -- .exp_poly = { V2 (0x1.fffffffffffd4p-2), V2 (0x1.5555571d6ef9p-3), -- V2 (0x1.5555576a5adcep-5) }, -- .shift = V2 (0x1.8p52), /* round to nearest int. without intrinsics. */ -- .inv_ln2_n = V2 (0x1.71547652b82fep8), /* N/ln2. */ -- .ln2_hi_n = V2 (0x1.62e42fefc0000p-9), /* ln2/N. */ -- .ln2_lo_n = V2 (-0x1.c610ca86c3899p-45), -- .small_powx = V2 (0x1p-126), -- .inf = V2 (0x7ff0000000000000) -+ .exp_c0 = V2 (0x1.fffffffffffd4p-2), -+ .exp_c1 = V2 (0x1.5555571d6ef9p-3), -+ .exp_c2 = 0x1.5555576a5adcep-5, -+ .small_exp = V2 (0x3c90000000000000), -+ .thres_exp = V2 (0x03f0000000000000), -+ .inv_ln2_n = 0x1.71547652b82fep8, /* N/ln2. */ -+ .ln2_hi_n = 0x1.62e42fefc0000p-9, /* ln2/N. */ -+ .ln2_lo_n = -0x1.c610ca86c3899p-45, - }; - --#define A(i) data.log_poly[i] --#define C(i) data.exp_poly[i] -- - /* This version implements an algorithm close to scalar pow but - - does not implement the trick in the exp's specialcase subroutine to avoid - double-rounding, -@@ -91,10 +100,9 @@ v_log_inline (uint64x2_t ix, float64x2_t *tail, const struct data *d) - /* x = 2^k z; where z is in range [OFF,2*OFF) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- uint64x2_t tmp = vsubq_u64 (ix, v_u64 (Off)); -- int64x2_t k -- = vshrq_n_s64 (vreinterpretq_s64_u64 (tmp), 52); /* arithmetic shift. */ -- uint64x2_t iz = vsubq_u64 (ix, vandq_u64 (tmp, v_u64 (0xfffULL << 52))); -+ uint64x2_t tmp = vsubq_u64 (ix, d->offset); -+ int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (tmp), 52); -+ uint64x2_t iz = vsubq_u64 (ix, vandq_u64 (tmp, d->mask)); - float64x2_t z = vreinterpretq_f64_u64 (iz); - float64x2_t kd = vcvtq_f64_s64 (k); - /* log(x) = k*Ln2 + log(c) + log1p(z/c-1). */ -@@ -105,9 +113,10 @@ v_log_inline (uint64x2_t ix, float64x2_t *tail, const struct data *d) - |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. */ - float64x2_t r = vfmaq_f64 (v_f64 (-1.0), z, invc); - /* k*Ln2 + log(c) + r. */ -- float64x2_t t1 = vfmaq_f64 (logc, kd, d->ln2_hi); -+ float64x2_t ln2 = vld1q_f64 (&d->ln2_lo); -+ float64x2_t t1 = vfmaq_laneq_f64 (logc, kd, ln2, 1); - float64x2_t t2 = vaddq_f64 (t1, r); -- float64x2_t lo1 = vfmaq_f64 (logctail, kd, d->ln2_lo); -+ float64x2_t lo1 = vfmaq_laneq_f64 (logctail, kd, ln2, 0); - float64x2_t lo2 = vaddq_f64 (vsubq_f64 (t1, t2), r); - /* Evaluation is optimized assuming superscalar pipelined execution. */ - float64x2_t ar = vmulq_f64 (v_f64 (-0.5), r); -@@ -118,9 +127,10 @@ v_log_inline (uint64x2_t ix, float64x2_t *tail, const struct data *d) - float64x2_t lo3 = vfmaq_f64 (vnegq_f64 (ar2), ar, r); - float64x2_t lo4 = vaddq_f64 (vsubq_f64 (t2, hi), ar2); - /* p = log1p(r) - r - A[0]*r*r. */ -- float64x2_t a56 = vfmaq_f64 (A (4), r, A (5)); -- float64x2_t a34 = vfmaq_f64 (A (2), r, A (3)); -- float64x2_t a12 = vfmaq_f64 (A (0), r, A (1)); -+ float64x2_t odd_coeffs = vld1q_f64 (&d->log_c1); -+ float64x2_t a56 = vfmaq_f64 (d->log_c4, r, d->log_c5); -+ float64x2_t a34 = vfmaq_laneq_f64 (d->log_c2, r, odd_coeffs, 1); -+ float64x2_t a12 = vfmaq_laneq_f64 (d->log_c0, r, odd_coeffs, 0); - float64x2_t p = vfmaq_f64 (a34, ar2, a56); - p = vfmaq_f64 (a12, ar2, p); - p = vmulq_f64 (ar3, p); -@@ -140,28 +150,28 @@ exp_special_case (float64x2_t x, float64x2_t xtail) - - /* Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. */ - static inline float64x2_t --v_exp_inline (float64x2_t x, float64x2_t xtail, const struct data *d) -+v_exp_inline (float64x2_t x, float64x2_t neg_xtail, const struct data *d) - { - /* Fallback to scalar exp_inline for all lanes if any lane - contains value of x s.t. |x| <= 2^-54 or >= 512. */ -- uint64x2_t abstop -- = vshrq_n_u64 (vandq_u64 (vreinterpretq_u64_f64 (x), d->inf), 52); -- uint64x2_t uoflowx -- = vcgeq_u64 (vsubq_u64 (abstop, VecSmallExp), VecThresExp); -+ uint64x2_t uoflowx = vcgeq_u64 ( -+ vsubq_u64 (vreinterpretq_u64_f64 (vabsq_f64 (x)), d->small_exp), -+ d->thres_exp); - if (__glibc_unlikely (v_any_u64 (uoflowx))) -- return exp_special_case (x, xtail); -+ return exp_special_case (x, vnegq_f64 (neg_xtail)); - - /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ - /* x = ln2/N*k + r, with k integer and r in [-ln2/2N, ln2/2N]. */ -- float64x2_t z = vmulq_f64 (d->inv_ln2_n, x); - /* z - kd is in [-1, 1] in non-nearest rounding modes. */ -- float64x2_t kd = vaddq_f64 (z, d->shift); -- uint64x2_t ki = vreinterpretq_u64_f64 (kd); -- kd = vsubq_f64 (kd, d->shift); -- float64x2_t r = vfmsq_f64 (x, kd, d->ln2_hi_n); -- r = vfmsq_f64 (r, kd, d->ln2_lo_n); -+ float64x2_t exp_consts = vld1q_f64 (&d->inv_ln2_n); -+ float64x2_t z = vmulq_laneq_f64 (x, exp_consts, 0); -+ float64x2_t kd = vrndnq_f64 (z); -+ uint64x2_t ki = vreinterpretq_u64_s64 (vcvtaq_s64_f64 (z)); -+ float64x2_t ln2_n = vld1q_f64 (&d->ln2_lo_n); -+ float64x2_t r = vfmsq_laneq_f64 (x, kd, ln2_n, 1); -+ r = vfmsq_laneq_f64 (r, kd, ln2_n, 0); - /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ -- r = vaddq_f64 (r, xtail); -+ r = vsubq_f64 (r, neg_xtail); - /* 2^(k/N) ~= scale. */ - uint64x2_t idx = vandq_u64 (ki, v_u64 (N_EXP - 1)); - uint64x2_t top = vshlq_n_u64 (ki, 52 - V_POW_EXP_TABLE_BITS); -@@ -170,8 +180,8 @@ v_exp_inline (float64x2_t x, float64x2_t xtail, const struct data *d) - sbits = vaddq_u64 (sbits, top); - /* exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (exp(r) - 1). */ - float64x2_t r2 = vmulq_f64 (r, r); -- float64x2_t tmp = vfmaq_f64 (C (1), r, C (2)); -- tmp = vfmaq_f64 (C (0), r, tmp); -+ float64x2_t tmp = vfmaq_laneq_f64 (d->exp_c1, r, exp_consts, 1); -+ tmp = vfmaq_f64 (d->exp_c0, r, tmp); - tmp = vfmaq_f64 (r, r2, tmp); - float64x2_t scale = vreinterpretq_f64_u64 (sbits); - /* Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there -@@ -230,8 +240,8 @@ float64x2_t VPCS_ATTR V_NAME_D2 (pow) (float64x2_t x, float64x2_t y) - { - /* Normalize subnormal x so exponent becomes negative. */ - uint64x2_t vix_norm = vreinterpretq_u64_f64 ( -- vabsq_f64 (vmulq_f64 (x, vcvtq_f64_u64 (v_u64 (1ULL << 52))))); -- vix_norm = vsubq_u64 (vix_norm, v_u64 (52ULL << 52)); -+ vabsq_f64 (vmulq_f64 (x, vcvtq_f64_u64 (d->mask_sub_0)))); -+ vix_norm = vsubq_u64 (vix_norm, d->mask_sub_1); - vix = vbslq_u64 (sub_x, vix_norm, vix); - } - } -@@ -242,8 +252,7 @@ float64x2_t VPCS_ATTR V_NAME_D2 (pow) (float64x2_t x, float64x2_t y) - - /* Vector Exp(y_loghi, y_loglo). */ - float64x2_t vehi = vmulq_f64 (y, vhi); -- float64x2_t velo = vmulq_f64 (y, vlo); - float64x2_t vemi = vfmsq_f64 (vehi, y, vhi); -- velo = vsubq_f64 (velo, vemi); -- return v_exp_inline (vehi, velo, d); -+ float64x2_t neg_velo = vfmsq_f64 (vemi, y, vlo); -+ return v_exp_inline (vehi, neg_velo, d); - } - -commit ae04f63087415eba9060143608b03db693854bb7 -Author: Pierre Blanchard -Date: Mon Dec 9 15:54:34 2024 +0000 - - AArch64: Improve codegen in AdvSIMD logs - - Remove spurious ADRP and a few MOVs. - Reduce memory access by using more indexed MLAs in polynomial. - Align notation so that algorithms are easier to compare. - Speedup on Neoverse V1 for log10 (8%), log (8.5%), and log2 (10%). - Update error threshold in AdvSIMD log (now matches SVE log). - - (cherry picked from commit 8eb5ad2ebc94cc5bedbac57c226c02ec254479c7) - -diff --git a/sysdeps/aarch64/fpu/log10_advsimd.c b/sysdeps/aarch64/fpu/log10_advsimd.c -index c065aaebae..f69ed21c39 100644 ---- a/sysdeps/aarch64/fpu/log10_advsimd.c -+++ b/sysdeps/aarch64/fpu/log10_advsimd.c -@@ -18,36 +18,36 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f64.h" -- --#define N (1 << V_LOG10_TABLE_BITS) - - static const struct data - { -- uint64x2_t min_norm; -+ uint64x2_t off, sign_exp_mask, offset_lower_bound; - uint32x4_t special_bound; -- float64x2_t poly[5]; -- float64x2_t invln10, log10_2, ln2; -- uint64x2_t sign_exp_mask; -+ double invln10, log10_2; -+ double c1, c3; -+ float64x2_t c0, c2, c4; - } data = { - /* Computed from log coefficients divided by log(10) then rounded to double - precision. */ -- .poly = { V2 (-0x1.bcb7b1526e506p-3), V2 (0x1.287a7636be1d1p-3), -- V2 (-0x1.bcb7b158af938p-4), V2 (0x1.63c78734e6d07p-4), -- V2 (-0x1.287461742fee4p-4) }, -- .ln2 = V2 (0x1.62e42fefa39efp-1), -- .invln10 = V2 (0x1.bcb7b1526e50ep-2), -- .log10_2 = V2 (0x1.34413509f79ffp-2), -- .min_norm = V2 (0x0010000000000000), /* asuint64(0x1p-1022). */ -- .special_bound = V4 (0x7fe00000), /* asuint64(inf) - min_norm. */ -+ .c0 = V2 (-0x1.bcb7b1526e506p-3), -+ .c1 = 0x1.287a7636be1d1p-3, -+ .c2 = V2 (-0x1.bcb7b158af938p-4), -+ .c3 = 0x1.63c78734e6d07p-4, -+ .c4 = V2 (-0x1.287461742fee4p-4), -+ .invln10 = 0x1.bcb7b1526e50ep-2, -+ .log10_2 = 0x1.34413509f79ffp-2, -+ .off = V2 (0x3fe6900900000000), - .sign_exp_mask = V2 (0xfff0000000000000), -+ /* Lower bound is 0x0010000000000000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound - offset (which wraps around). */ -+ .offset_lower_bound = V2 (0x0010000000000000 - 0x3fe6900900000000), -+ .special_bound = V4 (0x7fe00000), /* asuint64(inf) - 0x0010000000000000. */ - }; - --#define Off v_u64 (0x3fe6900900000000) -+#define N (1 << V_LOG10_TABLE_BITS) - #define IndexMask (N - 1) - --#define T(s, i) __v_log10_data.s[i] -- - struct entry - { - float64x2_t invc; -@@ -70,10 +70,11 @@ lookup (uint64x2_t i) - } - - static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t x, float64x2_t y, float64x2_t hi, float64x2_t r2, -- uint32x2_t special) -+special_case (float64x2_t hi, uint64x2_t u_off, float64x2_t y, float64x2_t r2, -+ uint32x2_t special, const struct data *d) - { -- return v_call_f64 (log10, x, vfmaq_f64 (hi, r2, y), vmovl_u32 (special)); -+ float64x2_t x = vreinterpretq_f64_u64 (vaddq_u64 (u_off, d->off)); -+ return v_call_f64 (log10, x, vfmaq_f64 (hi, y, r2), vmovl_u32 (special)); - } - - /* Fast implementation of double-precision vector log10 -@@ -85,19 +86,24 @@ special_case (float64x2_t x, float64x2_t y, float64x2_t hi, float64x2_t r2, - float64x2_t VPCS_ATTR V_NAME_D1 (log10) (float64x2_t x) - { - const struct data *d = ptr_barrier (&data); -- uint64x2_t ix = vreinterpretq_u64_f64 (x); -- uint32x2_t special = vcge_u32 (vsubhn_u64 (ix, d->min_norm), -- vget_low_u32 (d->special_bound)); -+ -+ /* To avoid having to mov x out of the way, keep u after offset has been -+ applied, and recover x by adding the offset back in the special-case -+ handler. */ -+ uint64x2_t u = vreinterpretq_u64_f64 (x); -+ uint64x2_t u_off = vsubq_u64 (u, d->off); - - /* x = 2^k z; where z is in range [OFF,2*OFF) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- uint64x2_t tmp = vsubq_u64 (ix, Off); -- int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (tmp), 52); -- uint64x2_t iz = vsubq_u64 (ix, vandq_u64 (tmp, d->sign_exp_mask)); -+ int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (u_off), 52); -+ uint64x2_t iz = vsubq_u64 (u, vandq_u64 (u_off, d->sign_exp_mask)); - float64x2_t z = vreinterpretq_f64_u64 (iz); - -- struct entry e = lookup (tmp); -+ struct entry e = lookup (u_off); -+ -+ uint32x2_t special = vcge_u32 (vsubhn_u64 (u_off, d->offset_lower_bound), -+ vget_low_u32 (d->special_bound)); - - /* log10(x) = log1p(z/c-1)/log(10) + log10(c) + k*log10(2). */ - float64x2_t r = vfmaq_f64 (v_f64 (-1.0), z, e.invc); -@@ -105,17 +111,22 @@ float64x2_t VPCS_ATTR V_NAME_D1 (log10) (float64x2_t x) - - /* hi = r / log(10) + log10(c) + k*log10(2). - Constants in v_log10_data.c are computed (in extended precision) as -- e.log10c := e.logc * ivln10. */ -- float64x2_t w = vfmaq_f64 (e.log10c, r, d->invln10); -+ e.log10c := e.logc * invln10. */ -+ float64x2_t cte = vld1q_f64 (&d->invln10); -+ float64x2_t hi = vfmaq_laneq_f64 (e.log10c, r, cte, 0); - - /* y = log10(1+r) + n * log10(2). */ -- float64x2_t hi = vfmaq_f64 (w, kd, d->log10_2); -+ hi = vfmaq_laneq_f64 (hi, kd, cte, 1); - - /* y = r2*(A0 + r*A1 + r2*(A2 + r*A3 + r2*A4)) + hi. */ - float64x2_t r2 = vmulq_f64 (r, r); -- float64x2_t y = v_pw_horner_4_f64 (r, r2, d->poly); -+ float64x2_t odd_coeffs = vld1q_f64 (&d->c1); -+ float64x2_t y = vfmaq_laneq_f64 (d->c2, r, odd_coeffs, 1); -+ float64x2_t p = vfmaq_laneq_f64 (d->c0, r, odd_coeffs, 0); -+ y = vfmaq_f64 (y, d->c4, r2); -+ y = vfmaq_f64 (p, y, r2); - - if (__glibc_unlikely (v_any_u32h (special))) -- return special_case (x, y, hi, r2, special); -- return vfmaq_f64 (hi, r2, y); -+ return special_case (hi, u_off, y, r2, special, d); -+ return vfmaq_f64 (hi, y, r2); - } -diff --git a/sysdeps/aarch64/fpu/log2_advsimd.c b/sysdeps/aarch64/fpu/log2_advsimd.c -index 4057c552d8..1eea1f86eb 100644 ---- a/sysdeps/aarch64/fpu/log2_advsimd.c -+++ b/sysdeps/aarch64/fpu/log2_advsimd.c -@@ -18,31 +18,33 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f64.h" -- --#define N (1 << V_LOG2_TABLE_BITS) - - static const struct data - { -- uint64x2_t min_norm; -+ uint64x2_t off, sign_exp_mask, offset_lower_bound; - uint32x4_t special_bound; -- float64x2_t poly[5]; -- float64x2_t invln2; -- uint64x2_t sign_exp_mask; -+ float64x2_t c0, c2; -+ double c1, c3, invln2, c4; - } data = { - /* Each coefficient was generated to approximate log(r) for |r| < 0x1.fp-9 - and N = 128, then scaled by log2(e) in extended precision and rounded back - to double precision. */ -- .poly = { V2 (-0x1.71547652b83p-1), V2 (0x1.ec709dc340953p-2), -- V2 (-0x1.71547651c8f35p-2), V2 (0x1.2777ebe12dda5p-2), -- V2 (-0x1.ec738d616fe26p-3) }, -- .invln2 = V2 (0x1.71547652b82fep0), -- .min_norm = V2 (0x0010000000000000), /* asuint64(0x1p-1022). */ -- .special_bound = V4 (0x7fe00000), /* asuint64(inf) - min_norm. */ -+ .c0 = V2 (-0x1.71547652b8300p-1), -+ .c1 = 0x1.ec709dc340953p-2, -+ .c2 = V2 (-0x1.71547651c8f35p-2), -+ .c3 = 0x1.2777ebe12dda5p-2, -+ .c4 = -0x1.ec738d616fe26p-3, -+ .invln2 = 0x1.71547652b82fep0, -+ .off = V2 (0x3fe6900900000000), - .sign_exp_mask = V2 (0xfff0000000000000), -+ /* Lower bound is 0x0010000000000000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound - offset (which wraps around). */ -+ .offset_lower_bound = V2 (0x0010000000000000 - 0x3fe6900900000000), -+ .special_bound = V4 (0x7fe00000), /* asuint64(inf) - asuint64(0x1p-1022). */ - }; - --#define Off v_u64 (0x3fe6900900000000) -+#define N (1 << V_LOG2_TABLE_BITS) - #define IndexMask (N - 1) - - struct entry -@@ -67,10 +69,11 @@ lookup (uint64x2_t i) - } - - static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t x, float64x2_t y, float64x2_t w, float64x2_t r2, -- uint32x2_t special) -+special_case (float64x2_t hi, uint64x2_t u_off, float64x2_t y, float64x2_t r2, -+ uint32x2_t special, const struct data *d) - { -- return v_call_f64 (log2, x, vfmaq_f64 (w, r2, y), vmovl_u32 (special)); -+ float64x2_t x = vreinterpretq_f64_u64 (vaddq_u64 (u_off, d->off)); -+ return v_call_f64 (log2, x, vfmaq_f64 (hi, y, r2), vmovl_u32 (special)); - } - - /* Double-precision vector log2 routine. Implements the same algorithm as -@@ -81,31 +84,41 @@ special_case (float64x2_t x, float64x2_t y, float64x2_t w, float64x2_t r2, - float64x2_t VPCS_ATTR V_NAME_D1 (log2) (float64x2_t x) - { - const struct data *d = ptr_barrier (&data); -- uint64x2_t ix = vreinterpretq_u64_f64 (x); -- uint32x2_t special = vcge_u32 (vsubhn_u64 (ix, d->min_norm), -- vget_low_u32 (d->special_bound)); -+ -+ /* To avoid having to mov x out of the way, keep u after offset has been -+ applied, and recover x by adding the offset back in the special-case -+ handler. */ -+ uint64x2_t u = vreinterpretq_u64_f64 (x); -+ uint64x2_t u_off = vsubq_u64 (u, d->off); - - /* x = 2^k z; where z is in range [Off,2*Off) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- uint64x2_t tmp = vsubq_u64 (ix, Off); -- int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (tmp), 52); -- uint64x2_t iz = vsubq_u64 (ix, vandq_u64 (tmp, d->sign_exp_mask)); -+ int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (u_off), 52); -+ uint64x2_t iz = vsubq_u64 (u, vandq_u64 (u_off, d->sign_exp_mask)); - float64x2_t z = vreinterpretq_f64_u64 (iz); - -- struct entry e = lookup (tmp); -+ struct entry e = lookup (u_off); - -- /* log2(x) = log1p(z/c-1)/log(2) + log2(c) + k. */ -+ uint32x2_t special = vcge_u32 (vsubhn_u64 (u_off, d->offset_lower_bound), -+ vget_low_u32 (d->special_bound)); - -+ /* log2(x) = log1p(z/c-1)/log(2) + log2(c) + k. */ - float64x2_t r = vfmaq_f64 (v_f64 (-1.0), z, e.invc); - float64x2_t kd = vcvtq_f64_s64 (k); -- float64x2_t w = vfmaq_f64 (e.log2c, r, d->invln2); -+ -+ float64x2_t invln2_and_c4 = vld1q_f64 (&d->invln2); -+ float64x2_t hi -+ = vfmaq_laneq_f64 (vaddq_f64 (e.log2c, kd), r, invln2_and_c4, 0); - - float64x2_t r2 = vmulq_f64 (r, r); -- float64x2_t y = v_pw_horner_4_f64 (r, r2, d->poly); -- w = vaddq_f64 (kd, w); -+ float64x2_t odd_coeffs = vld1q_f64 (&d->c1); -+ float64x2_t y = vfmaq_laneq_f64 (d->c2, r, odd_coeffs, 1); -+ float64x2_t p = vfmaq_laneq_f64 (d->c0, r, odd_coeffs, 0); -+ y = vfmaq_laneq_f64 (y, r2, invln2_and_c4, 1); -+ y = vfmaq_f64 (p, r2, y); - - if (__glibc_unlikely (v_any_u32h (special))) -- return special_case (x, y, w, r2, special); -- return vfmaq_f64 (w, r2, y); -+ return special_case (hi, u_off, y, r2, special, d); -+ return vfmaq_f64 (hi, y, r2); - } -diff --git a/sysdeps/aarch64/fpu/log_advsimd.c b/sysdeps/aarch64/fpu/log_advsimd.c -index 015a6da7d7..b1a27fbc29 100644 ---- a/sysdeps/aarch64/fpu/log_advsimd.c -+++ b/sysdeps/aarch64/fpu/log_advsimd.c -@@ -21,27 +21,29 @@ - - static const struct data - { -- uint64x2_t min_norm; -+ uint64x2_t off, sign_exp_mask, offset_lower_bound; - uint32x4_t special_bound; -- float64x2_t poly[5]; -- float64x2_t ln2; -- uint64x2_t sign_exp_mask; -+ float64x2_t c0, c2; -+ double c1, c3, ln2, c4; - } data = { -- /* Worst-case error: 1.17 + 0.5 ulp. -- Rel error: 0x1.6272e588p-56 in [ -0x1.fc1p-9 0x1.009p-8 ]. */ -- .poly = { V2 (-0x1.ffffffffffff7p-2), V2 (0x1.55555555170d4p-2), -- V2 (-0x1.0000000399c27p-2), V2 (0x1.999b2e90e94cap-3), -- V2 (-0x1.554e550bd501ep-3) }, -- .ln2 = V2 (0x1.62e42fefa39efp-1), -- .min_norm = V2 (0x0010000000000000), -- .special_bound = V4 (0x7fe00000), /* asuint64(inf) - min_norm. */ -- .sign_exp_mask = V2 (0xfff0000000000000) -+ /* Rel error: 0x1.6272e588p-56 in [ -0x1.fc1p-9 0x1.009p-8 ]. */ -+ .c0 = V2 (-0x1.ffffffffffff7p-2), -+ .c1 = 0x1.55555555170d4p-2, -+ .c2 = V2 (-0x1.0000000399c27p-2), -+ .c3 = 0x1.999b2e90e94cap-3, -+ .c4 = -0x1.554e550bd501ep-3, -+ .ln2 = 0x1.62e42fefa39efp-1, -+ .sign_exp_mask = V2 (0xfff0000000000000), -+ .off = V2 (0x3fe6900900000000), -+ /* Lower bound is 0x0010000000000000. For -+ optimised register use subnormals are detected after offset has been -+ subtracted, so lower bound - offset (which wraps around). */ -+ .offset_lower_bound = V2 (0x0010000000000000 - 0x3fe6900900000000), -+ .special_bound = V4 (0x7fe00000), /* asuint64(inf) - asuint64(0x1p-126). */ - }; - --#define A(i) d->poly[i] - #define N (1 << V_LOG_TABLE_BITS) - #define IndexMask (N - 1) --#define Off v_u64 (0x3fe6900900000000) - - struct entry - { -@@ -64,48 +66,56 @@ lookup (uint64x2_t i) - } - - static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t x, float64x2_t y, float64x2_t hi, float64x2_t r2, -- uint32x2_t cmp) -+special_case (float64x2_t hi, uint64x2_t u_off, float64x2_t y, float64x2_t r2, -+ uint32x2_t special, const struct data *d) - { -- return v_call_f64 (log, x, vfmaq_f64 (hi, y, r2), vmovl_u32 (cmp)); -+ float64x2_t x = vreinterpretq_f64_u64 (vaddq_u64 (u_off, d->off)); -+ return v_call_f64 (log, x, vfmaq_f64 (hi, y, r2), vmovl_u32 (special)); - } - -+/* Double-precision vector log routine. -+ The maximum observed error is 2.17 ULP: -+ _ZGVnN2v_log(0x1.a6129884398a3p+0) got 0x1.ffffff1cca043p-2 -+ want 0x1.ffffff1cca045p-2. */ - float64x2_t VPCS_ATTR V_NAME_D1 (log) (float64x2_t x) - { - const struct data *d = ptr_barrier (&data); -- float64x2_t z, r, r2, p, y, kd, hi; -- uint64x2_t ix, iz, tmp; -- uint32x2_t cmp; -- int64x2_t k; -- struct entry e; - -- ix = vreinterpretq_u64_f64 (x); -- cmp = vcge_u32 (vsubhn_u64 (ix, d->min_norm), -- vget_low_u32 (d->special_bound)); -+ /* To avoid having to mov x out of the way, keep u after offset has been -+ applied, and recover x by adding the offset back in the special-case -+ handler. */ -+ uint64x2_t u = vreinterpretq_u64_f64 (x); -+ uint64x2_t u_off = vsubq_u64 (u, d->off); - - /* x = 2^k z; where z is in range [Off,2*Off) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- tmp = vsubq_u64 (ix, Off); -- k = vshrq_n_s64 (vreinterpretq_s64_u64 (tmp), 52); /* arithmetic shift. */ -- iz = vsubq_u64 (ix, vandq_u64 (tmp, d->sign_exp_mask)); -- z = vreinterpretq_f64_u64 (iz); -- e = lookup (tmp); -+ int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (u_off), 52); -+ uint64x2_t iz = vsubq_u64 (u, vandq_u64 (u_off, d->sign_exp_mask)); -+ float64x2_t z = vreinterpretq_f64_u64 (iz); -+ -+ struct entry e = lookup (u_off); -+ -+ uint32x2_t special = vcge_u32 (vsubhn_u64 (u_off, d->offset_lower_bound), -+ vget_low_u32 (d->special_bound)); - - /* log(x) = log1p(z/c-1) + log(c) + k*Ln2. */ -- r = vfmaq_f64 (v_f64 (-1.0), z, e.invc); -- kd = vcvtq_f64_s64 (k); -+ float64x2_t r = vfmaq_f64 (v_f64 (-1.0), z, e.invc); -+ float64x2_t kd = vcvtq_f64_s64 (k); - - /* hi = r + log(c) + k*Ln2. */ -- hi = vfmaq_f64 (vaddq_f64 (e.logc, r), kd, d->ln2); -+ float64x2_t ln2_and_c4 = vld1q_f64 (&d->ln2); -+ float64x2_t hi = vfmaq_laneq_f64 (vaddq_f64 (e.logc, r), kd, ln2_and_c4, 0); -+ - /* y = r2*(A0 + r*A1 + r2*(A2 + r*A3 + r2*A4)) + hi. */ -- r2 = vmulq_f64 (r, r); -- y = vfmaq_f64 (A (2), A (3), r); -- p = vfmaq_f64 (A (0), A (1), r); -- y = vfmaq_f64 (y, A (4), r2); -- y = vfmaq_f64 (p, y, r2); -- -- if (__glibc_unlikely (v_any_u32h (cmp))) -- return special_case (x, y, hi, r2, cmp); -+ float64x2_t odd_coeffs = vld1q_f64 (&d->c1); -+ float64x2_t r2 = vmulq_f64 (r, r); -+ float64x2_t y = vfmaq_laneq_f64 (d->c2, r, odd_coeffs, 1); -+ float64x2_t p = vfmaq_laneq_f64 (d->c0, r, odd_coeffs, 0); -+ y = vfmaq_laneq_f64 (y, r2, ln2_and_c4, 1); -+ y = vfmaq_f64 (p, r2, y); -+ -+ if (__glibc_unlikely (v_any_u32h (special))) -+ return special_case (hi, u_off, y, r2, special, d); - return vfmaq_f64 (hi, y, r2); - } - -commit 2aed9796bfb17b257e63b12cefdb7ff60be09626 -Author: Pierre Blanchard -Date: Mon Dec 9 15:55:39 2024 +0000 - - AArch64: Improve codegen in users of ADVSIMD log1p helper - - Add inline helper for log1p and rearrange operations so MOV - is not necessary in reduction or around the special-case handler. - Reduce memory access by using more indexed MLAs in polynomial. - Speedup on Neoverse V1 for log1p (3.5%), acosh (7.5%) and atanh (10%). - - (cherry picked from commit ca0c0d0f26fbf75b9cacc65122b457e8fdec40b8) - -diff --git a/sysdeps/aarch64/fpu/acosh_advsimd.c b/sysdeps/aarch64/fpu/acosh_advsimd.c -index c88283cf11..a98f4a2e4d 100644 ---- a/sysdeps/aarch64/fpu/acosh_advsimd.c -+++ b/sysdeps/aarch64/fpu/acosh_advsimd.c -@@ -54,9 +54,8 @@ VPCS_ATTR float64x2_t V_NAME_D1 (acosh) (float64x2_t x) - x = vbslq_f64 (special, vreinterpretq_f64_u64 (d->one), x); - #endif - -- float64x2_t xm1 = vsubq_f64 (x, v_f64 (1)); -- float64x2_t y; -- y = vaddq_f64 (x, v_f64 (1)); -+ float64x2_t xm1 = vsubq_f64 (x, v_f64 (1.0)); -+ float64x2_t y = vaddq_f64 (x, v_f64 (1.0)); - y = vmulq_f64 (y, xm1); - y = vsqrtq_f64 (y); - y = vaddq_f64 (xm1, y); -diff --git a/sysdeps/aarch64/fpu/atanh_advsimd.c b/sysdeps/aarch64/fpu/atanh_advsimd.c -index 3c3d0bd6ad..eb9769aeac 100644 ---- a/sysdeps/aarch64/fpu/atanh_advsimd.c -+++ b/sysdeps/aarch64/fpu/atanh_advsimd.c -@@ -23,15 +23,19 @@ - const static struct data - { - struct v_log1p_data log1p_consts; -- uint64x2_t one, half; -+ uint64x2_t one; -+ uint64x2_t sign_mask; - } data = { .log1p_consts = V_LOG1P_CONSTANTS_TABLE, - .one = V2 (0x3ff0000000000000), -- .half = V2 (0x3fe0000000000000) }; -+ .sign_mask = V2 (0x8000000000000000) }; - - static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t x, float64x2_t y, uint64x2_t special) -+special_case (float64x2_t x, float64x2_t halfsign, float64x2_t y, -+ uint64x2_t special, const struct data *d) - { -- return v_call_f64 (atanh, x, y, special); -+ y = log1p_inline (y, &d->log1p_consts); -+ return v_call_f64 (atanh, vbslq_f64 (d->sign_mask, halfsign, x), -+ vmulq_f64 (halfsign, y), special); - } - - /* Approximation for vector double-precision atanh(x) using modified log1p. -@@ -43,11 +47,10 @@ float64x2_t V_NAME_D1 (atanh) (float64x2_t x) - { - const struct data *d = ptr_barrier (&data); - -+ float64x2_t halfsign = vbslq_f64 (d->sign_mask, x, v_f64 (0.5)); - float64x2_t ax = vabsq_f64 (x); - uint64x2_t ia = vreinterpretq_u64_f64 (ax); -- uint64x2_t sign = veorq_u64 (vreinterpretq_u64_f64 (x), ia); - uint64x2_t special = vcgeq_u64 (ia, d->one); -- float64x2_t halfsign = vreinterpretq_f64_u64 (vorrq_u64 (sign, d->half)); - - #if WANT_SIMD_EXCEPT - ax = v_zerofy_f64 (ax, special); -@@ -55,10 +58,15 @@ float64x2_t V_NAME_D1 (atanh) (float64x2_t x) - - float64x2_t y; - y = vaddq_f64 (ax, ax); -- y = vdivq_f64 (y, vsubq_f64 (v_f64 (1), ax)); -- y = log1p_inline (y, &d->log1p_consts); -+ y = vdivq_f64 (y, vsubq_f64 (vreinterpretq_f64_u64 (d->one), ax)); - - if (__glibc_unlikely (v_any_u64 (special))) -- return special_case (x, vmulq_f64 (y, halfsign), special); -+#if WANT_SIMD_EXCEPT -+ return special_case (x, halfsign, y, special, d); -+#else -+ return special_case (ax, halfsign, y, special, d); -+#endif -+ -+ y = log1p_inline (y, &d->log1p_consts); - return vmulq_f64 (y, halfsign); - } -diff --git a/sysdeps/aarch64/fpu/log1p_advsimd.c b/sysdeps/aarch64/fpu/log1p_advsimd.c -index 114064c696..1263587201 100644 ---- a/sysdeps/aarch64/fpu/log1p_advsimd.c -+++ b/sysdeps/aarch64/fpu/log1p_advsimd.c -@@ -17,43 +17,26 @@ - License along with the GNU C Library; if not, see - . */ - --#include "v_math.h" --#include "poly_advsimd_f64.h" -+#define WANT_V_LOG1P_K0_SHORTCUT 0 -+#include "v_log1p_inline.h" - - const static struct data - { -- float64x2_t poly[19], ln2[2]; -- uint64x2_t hf_rt2_top, one_m_hf_rt2_top, umask, inf, minus_one; -- int64x2_t one_top; --} data = { -- /* Generated using Remez, deg=20, in [sqrt(2)/2-1, sqrt(2)-1]. */ -- .poly = { V2 (-0x1.ffffffffffffbp-2), V2 (0x1.55555555551a9p-2), -- V2 (-0x1.00000000008e3p-2), V2 (0x1.9999999a32797p-3), -- V2 (-0x1.555555552fecfp-3), V2 (0x1.249248e071e5ap-3), -- V2 (-0x1.ffffff8bf8482p-4), V2 (0x1.c71c8f07da57ap-4), -- V2 (-0x1.9999ca4ccb617p-4), V2 (0x1.7459ad2e1dfa3p-4), -- V2 (-0x1.554d2680a3ff2p-4), V2 (0x1.3b4c54d487455p-4), -- V2 (-0x1.2548a9ffe80e6p-4), V2 (0x1.0f389a24b2e07p-4), -- V2 (-0x1.eee4db15db335p-5), V2 (0x1.e95b494d4a5ddp-5), -- V2 (-0x1.15fdf07cb7c73p-4), V2 (0x1.0310b70800fcfp-4), -- V2 (-0x1.cfa7385bdb37ep-6) }, -- .ln2 = { V2 (0x1.62e42fefa3800p-1), V2 (0x1.ef35793c76730p-45) }, -- /* top32(asuint64(sqrt(2)/2)) << 32. */ -- .hf_rt2_top = V2 (0x3fe6a09e00000000), -- /* (top32(asuint64(1)) - top32(asuint64(sqrt(2)/2))) << 32. */ -- .one_m_hf_rt2_top = V2 (0x00095f6200000000), -- .umask = V2 (0x000fffff00000000), -- .one_top = V2 (0x3ff), -- .inf = V2 (0x7ff0000000000000), -- .minus_one = V2 (0xbff0000000000000) --}; -+ struct v_log1p_data d; -+ uint64x2_t inf, minus_one; -+} data = { .d = V_LOG1P_CONSTANTS_TABLE, -+ .inf = V2 (0x7ff0000000000000), -+ .minus_one = V2 (0xbff0000000000000) }; - - #define BottomMask v_u64 (0xffffffff) - --static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t x, float64x2_t y, uint64x2_t special) -+static float64x2_t NOINLINE VPCS_ATTR -+special_case (float64x2_t x, uint64x2_t cmp, const struct data *d) - { -- return v_call_f64 (log1p, x, y, special); -+ /* Side-step special lanes so fenv exceptions are not triggered -+ inadvertently. */ -+ float64x2_t x_nospecial = v_zerofy_f64 (x, cmp); -+ return v_call_f64 (log1p, x, log1p_inline (x_nospecial, &d->d), cmp); - } - - /* Vector log1p approximation using polynomial on reduced interval. Routine is -@@ -66,66 +49,14 @@ VPCS_ATTR float64x2_t V_NAME_D1 (log1p) (float64x2_t x) - const struct data *d = ptr_barrier (&data); - uint64x2_t ix = vreinterpretq_u64_f64 (x); - uint64x2_t ia = vreinterpretq_u64_f64 (vabsq_f64 (x)); -- uint64x2_t special = vcgeq_u64 (ia, d->inf); - --#if WANT_SIMD_EXCEPT -- special = vorrq_u64 (special, -- vcgeq_u64 (ix, vreinterpretq_u64_f64 (v_f64 (-1)))); -- if (__glibc_unlikely (v_any_u64 (special))) -- x = v_zerofy_f64 (x, special); --#else -- special = vorrq_u64 (special, vcleq_f64 (x, v_f64 (-1))); --#endif -+ uint64x2_t special_cases -+ = vorrq_u64 (vcgeq_u64 (ia, d->inf), vcgeq_u64 (ix, d->minus_one)); - -- /* With x + 1 = t * 2^k (where t = f + 1 and k is chosen such that f -- is in [sqrt(2)/2, sqrt(2)]): -- log1p(x) = k*log(2) + log1p(f). -+ if (__glibc_unlikely (v_any_u64 (special_cases))) -+ return special_case (x, special_cases, d); - -- f may not be representable exactly, so we need a correction term: -- let m = round(1 + x), c = (1 + x) - m. -- c << m: at very small x, log1p(x) ~ x, hence: -- log(1+x) - log(m) ~ c/m. -- -- We therefore calculate log1p(x) by k*log2 + log1p(f) + c/m. */ -- -- /* Obtain correctly scaled k by manipulation in the exponent. -- The scalar algorithm casts down to 32-bit at this point to calculate k and -- u_red. We stay in double-width to obtain f and k, using the same constants -- as the scalar algorithm but shifted left by 32. */ -- float64x2_t m = vaddq_f64 (x, v_f64 (1)); -- uint64x2_t mi = vreinterpretq_u64_f64 (m); -- uint64x2_t u = vaddq_u64 (mi, d->one_m_hf_rt2_top); -- -- int64x2_t ki -- = vsubq_s64 (vreinterpretq_s64_u64 (vshrq_n_u64 (u, 52)), d->one_top); -- float64x2_t k = vcvtq_f64_s64 (ki); -- -- /* Reduce x to f in [sqrt(2)/2, sqrt(2)]. */ -- uint64x2_t utop = vaddq_u64 (vandq_u64 (u, d->umask), d->hf_rt2_top); -- uint64x2_t u_red = vorrq_u64 (utop, vandq_u64 (mi, BottomMask)); -- float64x2_t f = vsubq_f64 (vreinterpretq_f64_u64 (u_red), v_f64 (1)); -- -- /* Correction term c/m. */ -- float64x2_t cm = vdivq_f64 (vsubq_f64 (x, vsubq_f64 (m, v_f64 (1))), m); -- -- /* Approximate log1p(x) on the reduced input using a polynomial. Because -- log1p(0)=0 we choose an approximation of the form: -- x + C0*x^2 + C1*x^3 + C2x^4 + ... -- Hence approximation has the form f + f^2 * P(f) -- where P(x) = C0 + C1*x + C2x^2 + ... -- Assembling this all correctly is dealt with at the final step. */ -- float64x2_t f2 = vmulq_f64 (f, f); -- float64x2_t p = v_pw_horner_18_f64 (f, f2, d->poly); -- -- float64x2_t ylo = vfmaq_f64 (cm, k, d->ln2[1]); -- float64x2_t yhi = vfmaq_f64 (f, k, d->ln2[0]); -- float64x2_t y = vaddq_f64 (ylo, yhi); -- -- if (__glibc_unlikely (v_any_u64 (special))) -- return special_case (vreinterpretq_f64_u64 (ix), vfmaq_f64 (y, f2, p), -- special); -- -- return vfmaq_f64 (y, f2, p); -+ return log1p_inline (x, &d->d); - } - - strong_alias (V_NAME_D1 (log1p), V_NAME_D1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/v_log1p_inline.h b/sysdeps/aarch64/fpu/v_log1p_inline.h -index 242e43b6ee..834ff65adf 100644 ---- a/sysdeps/aarch64/fpu/v_log1p_inline.h -+++ b/sysdeps/aarch64/fpu/v_log1p_inline.h -@@ -21,29 +21,30 @@ - #define AARCH64_FPU_V_LOG1P_INLINE_H - - #include "v_math.h" --#include "poly_advsimd_f64.h" - - struct v_log1p_data - { -- float64x2_t poly[19], ln2[2]; -+ float64x2_t c0, c2, c4, c6, c8, c10, c12, c14, c16; - uint64x2_t hf_rt2_top, one_m_hf_rt2_top, umask; - int64x2_t one_top; -+ double c1, c3, c5, c7, c9, c11, c13, c15, c17, c18; -+ double ln2[2]; - }; - - /* Coefficients generated using Remez, deg=20, in [sqrt(2)/2-1, sqrt(2)-1]. */ - #define V_LOG1P_CONSTANTS_TABLE \ - { \ -- .poly = { V2 (-0x1.ffffffffffffbp-2), V2 (0x1.55555555551a9p-2), \ -- V2 (-0x1.00000000008e3p-2), V2 (0x1.9999999a32797p-3), \ -- V2 (-0x1.555555552fecfp-3), V2 (0x1.249248e071e5ap-3), \ -- V2 (-0x1.ffffff8bf8482p-4), V2 (0x1.c71c8f07da57ap-4), \ -- V2 (-0x1.9999ca4ccb617p-4), V2 (0x1.7459ad2e1dfa3p-4), \ -- V2 (-0x1.554d2680a3ff2p-4), V2 (0x1.3b4c54d487455p-4), \ -- V2 (-0x1.2548a9ffe80e6p-4), V2 (0x1.0f389a24b2e07p-4), \ -- V2 (-0x1.eee4db15db335p-5), V2 (0x1.e95b494d4a5ddp-5), \ -- V2 (-0x1.15fdf07cb7c73p-4), V2 (0x1.0310b70800fcfp-4), \ -- V2 (-0x1.cfa7385bdb37ep-6) }, \ -- .ln2 = { V2 (0x1.62e42fefa3800p-1), V2 (0x1.ef35793c76730p-45) }, \ -+ .c0 = V2 (-0x1.ffffffffffffbp-2), .c1 = 0x1.55555555551a9p-2, \ -+ .c2 = V2 (-0x1.00000000008e3p-2), .c3 = 0x1.9999999a32797p-3, \ -+ .c4 = V2 (-0x1.555555552fecfp-3), .c5 = 0x1.249248e071e5ap-3, \ -+ .c6 = V2 (-0x1.ffffff8bf8482p-4), .c7 = 0x1.c71c8f07da57ap-4, \ -+ .c8 = V2 (-0x1.9999ca4ccb617p-4), .c9 = 0x1.7459ad2e1dfa3p-4, \ -+ .c10 = V2 (-0x1.554d2680a3ff2p-4), .c11 = 0x1.3b4c54d487455p-4, \ -+ .c12 = V2 (-0x1.2548a9ffe80e6p-4), .c13 = 0x1.0f389a24b2e07p-4, \ -+ .c14 = V2 (-0x1.eee4db15db335p-5), .c15 = 0x1.e95b494d4a5ddp-5, \ -+ .c16 = V2 (-0x1.15fdf07cb7c73p-4), .c17 = 0x1.0310b70800fcfp-4, \ -+ .c18 = -0x1.cfa7385bdb37ep-6, \ -+ .ln2 = { 0x1.62e42fefa3800p-1, 0x1.ef35793c76730p-45 }, \ - .hf_rt2_top = V2 (0x3fe6a09e00000000), \ - .one_m_hf_rt2_top = V2 (0x00095f6200000000), \ - .umask = V2 (0x000fffff00000000), .one_top = V2 (0x3ff) \ -@@ -51,19 +52,45 @@ struct v_log1p_data - - #define BottomMask v_u64 (0xffffffff) - -+static inline float64x2_t -+eval_poly (float64x2_t m, float64x2_t m2, const struct v_log1p_data *d) -+{ -+ /* Approximate log(1+m) on [-0.25, 0.5] using pairwise Horner. */ -+ float64x2_t c13 = vld1q_f64 (&d->c1); -+ float64x2_t c57 = vld1q_f64 (&d->c5); -+ float64x2_t c911 = vld1q_f64 (&d->c9); -+ float64x2_t c1315 = vld1q_f64 (&d->c13); -+ float64x2_t c1718 = vld1q_f64 (&d->c17); -+ float64x2_t p1617 = vfmaq_laneq_f64 (d->c16, m, c1718, 0); -+ float64x2_t p1415 = vfmaq_laneq_f64 (d->c14, m, c1315, 1); -+ float64x2_t p1213 = vfmaq_laneq_f64 (d->c12, m, c1315, 0); -+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, m, c911, 1); -+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, m, c911, 0); -+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, m, c57, 1); -+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, m, c57, 0); -+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, m, c13, 1); -+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, m, c13, 0); -+ float64x2_t p = vfmaq_laneq_f64 (p1617, m2, c1718, 1); -+ p = vfmaq_f64 (p1415, m2, p); -+ p = vfmaq_f64 (p1213, m2, p); -+ p = vfmaq_f64 (p1011, m2, p); -+ p = vfmaq_f64 (p89, m2, p); -+ p = vfmaq_f64 (p67, m2, p); -+ p = vfmaq_f64 (p45, m2, p); -+ p = vfmaq_f64 (p23, m2, p); -+ return vfmaq_f64 (p01, m2, p); -+} -+ - static inline float64x2_t - log1p_inline (float64x2_t x, const struct v_log1p_data *d) - { -- /* Helper for calculating log(x + 1). Copied from v_log1p_2u5.c, with several -- modifications: -+ /* Helper for calculating log(x + 1): - - No special-case handling - this should be dealt with by the caller. -- - Pairwise Horner polynomial evaluation for improved accuracy. - - Optionally simulate the shortcut for k=0, used in the scalar routine, -- using v_sel, for improved accuracy when the argument to log1p is close to -- 0. This feature is enabled by defining WANT_V_LOG1P_K0_SHORTCUT as 1 in -- the source of the caller before including this file. -- See v_log1pf_2u1.c for details of the algorithm. */ -- float64x2_t m = vaddq_f64 (x, v_f64 (1)); -+ using v_sel, for improved accuracy when the argument to log1p is close -+ to 0. This feature is enabled by defining WANT_V_LOG1P_K0_SHORTCUT as 1 -+ in the source of the caller before including this file. */ -+ float64x2_t m = vaddq_f64 (x, v_f64 (1.0)); - uint64x2_t mi = vreinterpretq_u64_f64 (m); - uint64x2_t u = vaddq_u64 (mi, d->one_m_hf_rt2_top); - -@@ -74,14 +101,14 @@ log1p_inline (float64x2_t x, const struct v_log1p_data *d) - /* Reduce x to f in [sqrt(2)/2, sqrt(2)]. */ - uint64x2_t utop = vaddq_u64 (vandq_u64 (u, d->umask), d->hf_rt2_top); - uint64x2_t u_red = vorrq_u64 (utop, vandq_u64 (mi, BottomMask)); -- float64x2_t f = vsubq_f64 (vreinterpretq_f64_u64 (u_red), v_f64 (1)); -+ float64x2_t f = vsubq_f64 (vreinterpretq_f64_u64 (u_red), v_f64 (1.0)); - - /* Correction term c/m. */ -- float64x2_t cm = vdivq_f64 (vsubq_f64 (x, vsubq_f64 (m, v_f64 (1))), m); -+ float64x2_t cm = vdivq_f64 (vsubq_f64 (x, vsubq_f64 (m, v_f64 (1.0))), m); - - #ifndef WANT_V_LOG1P_K0_SHORTCUT --#error \ -- "Cannot use v_log1p_inline.h without specifying whether you need the k0 shortcut for greater accuracy close to 0" -+# error \ -+ "Cannot use v_log1p_inline.h without specifying whether you need the k0 shortcut for greater accuracy close to 0" - #elif WANT_V_LOG1P_K0_SHORTCUT - /* Shortcut if k is 0 - set correction term to 0 and f to x. The result is - that the approximation is solely the polynomial. */ -@@ -92,11 +119,12 @@ log1p_inline (float64x2_t x, const struct v_log1p_data *d) - - /* Approximate log1p(f) on the reduced input using a polynomial. */ - float64x2_t f2 = vmulq_f64 (f, f); -- float64x2_t p = v_pw_horner_18_f64 (f, f2, d->poly); -+ float64x2_t p = eval_poly (f, f2, d); - - /* Assemble log1p(x) = k * log2 + log1p(f) + c/m. */ -- float64x2_t ylo = vfmaq_f64 (cm, k, d->ln2[1]); -- float64x2_t yhi = vfmaq_f64 (f, k, d->ln2[0]); -+ float64x2_t ln2 = vld1q_f64 (&d->ln2[0]); -+ float64x2_t ylo = vfmaq_laneq_f64 (cm, k, ln2, 1); -+ float64x2_t yhi = vfmaq_laneq_f64 (f, k, ln2, 0); - return vfmaq_f64 (vaddq_f64 (ylo, yhi), f2, p); - } - - -commit 9170b921fa49d2ef37141506837baaae92c7d3f8 -Author: Joana Cruz -Date: Tue Dec 17 14:47:31 2024 +0000 - - AArch64: Improve codegen of AdvSIMD logf function family - - Load the polynomial evaluation coefficients into 2 vectors and use lanewise MLAs. - 8% improvement in throughput microbenchmark on Neoverse V1 for log2 and log, - and 2% for log10. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit d6e034f5b222a9ed1aeb5de0c0c7d0dda8b63da3) - -diff --git a/sysdeps/aarch64/fpu/log10f_advsimd.c b/sysdeps/aarch64/fpu/log10f_advsimd.c -index 82228b599a..0d792c3df9 100644 ---- a/sysdeps/aarch64/fpu/log10f_advsimd.c -+++ b/sysdeps/aarch64/fpu/log10f_advsimd.c -@@ -18,21 +18,25 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f32.h" - - static const struct data - { -+ float32x4_t c0, c2, c4, c6, inv_ln10, ln2; - uint32x4_t off, offset_lower_bound; - uint16x8_t special_bound; - uint32x4_t mantissa_mask; -- float32x4_t poly[8]; -- float32x4_t inv_ln10, ln2; -+ float c1, c3, c5, c7; - } data = { - /* Use order 9 for log10(1+x), i.e. order 8 for log10(1+x)/x, with x in - [-1/3, 1/3] (offset=2/3). Max. relative error: 0x1.068ee468p-25. */ -- .poly = { V4 (-0x1.bcb79cp-3f), V4 (0x1.2879c8p-3f), V4 (-0x1.bcd472p-4f), -- V4 (0x1.6408f8p-4f), V4 (-0x1.246f8p-4f), V4 (0x1.f0e514p-5f), -- V4 (-0x1.0fc92cp-4f), V4 (0x1.f5f76ap-5f) }, -+ .c0 = V4 (-0x1.bcb79cp-3f), -+ .c1 = 0x1.2879c8p-3f, -+ .c2 = V4 (-0x1.bcd472p-4f), -+ .c3 = 0x1.6408f8p-4f, -+ .c4 = V4 (-0x1.246f8p-4f), -+ .c5 = 0x1.f0e514p-5f, -+ .c6 = V4 (-0x1.0fc92cp-4f), -+ .c7 = 0x1.f5f76ap-5f, - .ln2 = V4 (0x1.62e43p-1f), - .inv_ln10 = V4 (0x1.bcb7b2p-2f), - /* Lower bound is the smallest positive normal float 0x00800000. For -@@ -62,7 +66,7 @@ special_case (float32x4_t y, uint32x4_t u_off, float32x4_t p, float32x4_t r2, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log10) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- -+ float32x4_t c1357 = vld1q_f32 (&d->c1); - /* To avoid having to mov x out of the way, keep u after offset has been - applied, and recover x by adding the offset back in the special-case - handler. */ -@@ -81,7 +85,16 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log10) (float32x4_t x) - - /* y = log10(1+r) + n * log10(2). */ - float32x4_t r2 = vmulq_f32 (r, r); -- float32x4_t poly = v_pw_horner_7_f32 (r, r2, d->poly); -+ -+ float32x4_t c01 = vfmaq_laneq_f32 (d->c0, r, c1357, 0); -+ float32x4_t c23 = vfmaq_laneq_f32 (d->c2, r, c1357, 1); -+ float32x4_t c45 = vfmaq_laneq_f32 (d->c4, r, c1357, 2); -+ float32x4_t c67 = vfmaq_laneq_f32 (d->c6, r, c1357, 3); -+ -+ float32x4_t p47 = vfmaq_f32 (c45, r2, c67); -+ float32x4_t p27 = vfmaq_f32 (c23, r2, p47); -+ float32x4_t poly = vfmaq_f32 (c01, r2, p27); -+ - /* y = Log10(2) * n + poly * InvLn(10). */ - float32x4_t y = vfmaq_f32 (r, d->ln2, n); - y = vmulq_f32 (y, d->inv_ln10); -diff --git a/sysdeps/aarch64/fpu/log2f_advsimd.c b/sysdeps/aarch64/fpu/log2f_advsimd.c -index 84effe4fe9..116c36c8e2 100644 ---- a/sysdeps/aarch64/fpu/log2f_advsimd.c -+++ b/sysdeps/aarch64/fpu/log2f_advsimd.c -@@ -18,22 +18,27 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f32.h" - - static const struct data - { -+ float32x4_t c0, c2, c4, c6, c8; - uint32x4_t off, offset_lower_bound; - uint16x8_t special_bound; - uint32x4_t mantissa_mask; -- float32x4_t poly[9]; -+ float c1, c3, c5, c7; - } data = { - /* Coefficients generated using Remez algorithm approximate - log2(1+r)/r for r in [ -1/3, 1/3 ]. - rel error: 0x1.c4c4b0cp-26. */ -- .poly = { V4 (0x1.715476p0f), /* (float)(1 / ln(2)). */ -- V4 (-0x1.715458p-1f), V4 (0x1.ec701cp-2f), V4 (-0x1.7171a4p-2f), -- V4 (0x1.27a0b8p-2f), V4 (-0x1.e5143ep-3f), V4 (0x1.9d8ecap-3f), -- V4 (-0x1.c675bp-3f), V4 (0x1.9e495p-3f) }, -+ .c0 = V4 (0x1.715476p0f), /* (float)(1 / ln(2)). */ -+ .c1 = -0x1.715458p-1f, -+ .c2 = V4 (0x1.ec701cp-2f), -+ .c3 = -0x1.7171a4p-2f, -+ .c4 = V4 (0x1.27a0b8p-2f), -+ .c5 = -0x1.e5143ep-3f, -+ .c6 = V4 (0x1.9d8ecap-3f), -+ .c7 = -0x1.c675bp-3f, -+ .c8 = V4 (0x1.9e495p-3f), - /* Lower bound is the smallest positive normal float 0x00800000. For - optimised register use subnormals are detected after offset has been - subtracted, so lower bound is 0x0080000 - offset (which wraps around). */ -@@ -79,11 +84,21 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log2) (float32x4_t x) - - /* y = log2(1+r) + n. */ - float32x4_t r2 = vmulq_f32 (r, r); -- float32x4_t p = v_pw_horner_8_f32 (r, r2, d->poly); -+ -+ float32x4_t c1357 = vld1q_f32 (&d->c1); -+ float32x4_t c01 = vfmaq_laneq_f32 (d->c0, r, c1357, 0); -+ float32x4_t c23 = vfmaq_laneq_f32 (d->c2, r, c1357, 1); -+ float32x4_t c45 = vfmaq_laneq_f32 (d->c4, r, c1357, 2); -+ float32x4_t c67 = vfmaq_laneq_f32 (d->c6, r, c1357, 3); -+ float32x4_t p68 = vfmaq_f32 (c67, r2, d->c8); -+ float32x4_t p48 = vfmaq_f32 (c45, r2, p68); -+ float32x4_t p28 = vfmaq_f32 (c23, r2, p48); -+ float32x4_t p = vfmaq_f32 (c01, r2, p28); - - if (__glibc_unlikely (v_any_u16h (special))) - return special_case (n, u_off, p, r, special, d); - return vfmaq_f32 (n, p, r); - } -+ - libmvec_hidden_def (V_NAME_F1 (log2)) - HALF_WIDTH_ALIAS_F1 (log2) -diff --git a/sysdeps/aarch64/fpu/logf_advsimd.c b/sysdeps/aarch64/fpu/logf_advsimd.c -index c20dbfd6c0..d9e64c732d 100644 ---- a/sysdeps/aarch64/fpu/logf_advsimd.c -+++ b/sysdeps/aarch64/fpu/logf_advsimd.c -@@ -21,16 +21,19 @@ - - static const struct data - { -- uint32x4_t off, offset_lower_bound; -+ float32x4_t c2, c4, c6, ln2; -+ uint32x4_t off, offset_lower_bound, mantissa_mask; - uint16x8_t special_bound; -- uint32x4_t mantissa_mask; -- float32x4_t poly[7]; -- float32x4_t ln2; -+ float c1, c3, c5, c0; - } data = { - /* 3.34 ulp error. */ -- .poly = { V4 (-0x1.3e737cp-3f), V4 (0x1.5a9aa2p-3f), V4 (-0x1.4f9934p-3f), -- V4 (0x1.961348p-3f), V4 (-0x1.00187cp-2f), V4 (0x1.555d7cp-2f), -- V4 (-0x1.ffffc8p-2f) }, -+ .c0 = -0x1.3e737cp-3f, -+ .c1 = 0x1.5a9aa2p-3f, -+ .c2 = V4 (-0x1.4f9934p-3f), -+ .c3 = 0x1.961348p-3f, -+ .c4 = V4 (-0x1.00187cp-2f), -+ .c5 = 0x1.555d7cp-2f, -+ .c6 = V4 (-0x1.ffffc8p-2f), - .ln2 = V4 (0x1.62e43p-1f), - /* Lower bound is the smallest positive normal float 0x00800000. For - optimised register use subnormals are detected after offset has been -@@ -41,8 +44,6 @@ static const struct data - .mantissa_mask = V4 (0x007fffff) - }; - --#define P(i) d->poly[7 - i] -- - static float32x4_t VPCS_ATTR NOINLINE - special_case (float32x4_t p, uint32x4_t u_off, float32x4_t y, float32x4_t r2, - uint16x4_t cmp, const struct data *d) -@@ -55,33 +56,30 @@ special_case (float32x4_t p, uint32x4_t u_off, float32x4_t y, float32x4_t r2, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (log) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- float32x4_t n, p, q, r, r2, y; -- uint32x4_t u, u_off; -- uint16x4_t cmp; -+ float32x4_t c1350 = vld1q_f32 (&d->c1); - - /* To avoid having to mov x out of the way, keep u after offset has been - applied, and recover x by adding the offset back in the special-case - handler. */ -- u_off = vreinterpretq_u32_f32 (x); -+ uint32x4_t u_off = vsubq_u32 (vreinterpretq_u32_f32 (x), d->off); - - /* x = 2^n * (1+r), where 2/3 < 1+r < 4/3. */ -- u_off = vsubq_u32 (u_off, d->off); -- n = vcvtq_f32_s32 ( -+ float32x4_t n = vcvtq_f32_s32 ( - vshrq_n_s32 (vreinterpretq_s32_u32 (u_off), 23)); /* signextend. */ -- u = vandq_u32 (u_off, d->mantissa_mask); -- u = vaddq_u32 (u, d->off); -- r = vsubq_f32 (vreinterpretq_f32_u32 (u), v_f32 (1.0f)); -+ uint16x4_t cmp = vcge_u16 (vsubhn_u32 (u_off, d->offset_lower_bound), -+ vget_low_u16 (d->special_bound)); - -- cmp = vcge_u16 (vsubhn_u32 (u_off, d->offset_lower_bound), -- vget_low_u16 (d->special_bound)); -+ uint32x4_t u = vaddq_u32 (vandq_u32 (u_off, d->mantissa_mask), d->off); -+ float32x4_t r = vsubq_f32 (vreinterpretq_f32_u32 (u), v_f32 (1.0f)); - - /* y = log(1+r) + n*ln2. */ -- r2 = vmulq_f32 (r, r); -+ float32x4_t r2 = vmulq_f32 (r, r); - /* n*ln2 + r + r2*(P1 + r*P2 + r2*(P3 + r*P4 + r2*(P5 + r*P6 + r2*P7))). */ -- p = vfmaq_f32 (P (5), P (6), r); -- q = vfmaq_f32 (P (3), P (4), r); -- y = vfmaq_f32 (P (1), P (2), r); -- p = vfmaq_f32 (p, P (7), r2); -+ float32x4_t p = vfmaq_laneq_f32 (d->c2, r, c1350, 0); -+ float32x4_t q = vfmaq_laneq_f32 (d->c4, r, c1350, 1); -+ float32x4_t y = vfmaq_laneq_f32 (d->c6, r, c1350, 2); -+ p = vfmaq_laneq_f32 (p, r2, c1350, 3); -+ - q = vfmaq_f32 (q, p, r2); - y = vfmaq_f32 (y, q, r2); - p = vfmaq_f32 (r, d->ln2, n); - -commit 41dc9e7c2d80bc5e886950b8a7bd21f77c9793b3 -Author: Joana Cruz -Date: Tue Dec 17 14:49:30 2024 +0000 - - AArch64: Improve codegen of AdvSIMD atan(2)(f) - - Load the polynomial evaluation coefficients into 2 vectors and use lanewise MLAs. - 8% improvement in throughput microbenchmark on Neoverse V1. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 6914774b9d3460876d9ad4482782213ec01a752e) - -diff --git a/sysdeps/aarch64/fpu/atan2_advsimd.c b/sysdeps/aarch64/fpu/atan2_advsimd.c -index b1e7a9b8fc..1a8f02109f 100644 ---- a/sysdeps/aarch64/fpu/atan2_advsimd.c -+++ b/sysdeps/aarch64/fpu/atan2_advsimd.c -@@ -23,40 +23,57 @@ - - static const struct data - { -+ float64x2_t c0, c2, c4, c6, c8, c10, c12, c14, c16, c18; - float64x2_t pi_over_2; -- float64x2_t poly[20]; -+ double c1, c3, c5, c7, c9, c11, c13, c15, c17, c19; -+ uint64x2_t zeroinfnan, minustwo; - } data = { - /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on -- the interval [2**-1022, 1.0]. */ -- .poly = { V2 (-0x1.5555555555555p-2), V2 (0x1.99999999996c1p-3), -- V2 (-0x1.2492492478f88p-3), V2 (0x1.c71c71bc3951cp-4), -- V2 (-0x1.745d160a7e368p-4), V2 (0x1.3b139b6a88ba1p-4), -- V2 (-0x1.11100ee084227p-4), V2 (0x1.e1d0f9696f63bp-5), -- V2 (-0x1.aebfe7b418581p-5), V2 (0x1.842dbe9b0d916p-5), -- V2 (-0x1.5d30140ae5e99p-5), V2 (0x1.338e31eb2fbbcp-5), -- V2 (-0x1.00e6eece7de8p-5), V2 (0x1.860897b29e5efp-6), -- V2 (-0x1.0051381722a59p-6), V2 (0x1.14e9dc19a4a4ep-7), -- V2 (-0x1.d0062b42fe3bfp-9), V2 (0x1.17739e210171ap-10), -- V2 (-0x1.ab24da7be7402p-13), V2 (0x1.358851160a528p-16), }, -+ [2**-1022, 1.0]. */ -+ .c0 = V2 (-0x1.5555555555555p-2), -+ .c1 = 0x1.99999999996c1p-3, -+ .c2 = V2 (-0x1.2492492478f88p-3), -+ .c3 = 0x1.c71c71bc3951cp-4, -+ .c4 = V2 (-0x1.745d160a7e368p-4), -+ .c5 = 0x1.3b139b6a88ba1p-4, -+ .c6 = V2 (-0x1.11100ee084227p-4), -+ .c7 = 0x1.e1d0f9696f63bp-5, -+ .c8 = V2 (-0x1.aebfe7b418581p-5), -+ .c9 = 0x1.842dbe9b0d916p-5, -+ .c10 = V2 (-0x1.5d30140ae5e99p-5), -+ .c11 = 0x1.338e31eb2fbbcp-5, -+ .c12 = V2 (-0x1.00e6eece7de8p-5), -+ .c13 = 0x1.860897b29e5efp-6, -+ .c14 = V2 (-0x1.0051381722a59p-6), -+ .c15 = 0x1.14e9dc19a4a4ep-7, -+ .c16 = V2 (-0x1.d0062b42fe3bfp-9), -+ .c17 = 0x1.17739e210171ap-10, -+ .c18 = V2 (-0x1.ab24da7be7402p-13), -+ .c19 = 0x1.358851160a528p-16, - .pi_over_2 = V2 (0x1.921fb54442d18p+0), -+ .zeroinfnan = V2 (2 * 0x7ff0000000000000ul - 1), -+ .minustwo = V2 (0xc000000000000000), - }; - - #define SignMask v_u64 (0x8000000000000000) - - /* Special cases i.e. 0, infinity, NaN (fall back to scalar calls). */ - static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t y, float64x2_t x, float64x2_t ret, uint64x2_t cmp) -+special_case (float64x2_t y, float64x2_t x, float64x2_t ret, -+ uint64x2_t sign_xy, uint64x2_t cmp) - { -+ /* Account for the sign of x and y. */ -+ ret = vreinterpretq_f64_u64 ( -+ veorq_u64 (vreinterpretq_u64_f64 (ret), sign_xy)); - return v_call2_f64 (atan2, y, x, ret, cmp); - } - - /* Returns 1 if input is the bit representation of 0, infinity or nan. */ - static inline uint64x2_t --zeroinfnan (uint64x2_t i) -+zeroinfnan (uint64x2_t i, const struct data *d) - { - /* (2 * i - 1) >= (2 * asuint64 (INFINITY) - 1). */ -- return vcgeq_u64 (vsubq_u64 (vaddq_u64 (i, i), v_u64 (1)), -- v_u64 (2 * asuint64 (INFINITY) - 1)); -+ return vcgeq_u64 (vsubq_u64 (vaddq_u64 (i, i), v_u64 (1)), d->zeroinfnan); - } - - /* Fast implementation of vector atan2. -@@ -66,12 +83,13 @@ zeroinfnan (uint64x2_t i) - want 0x1.92d628ab678cfp-1. */ - float64x2_t VPCS_ATTR V_NAME_D2 (atan2) (float64x2_t y, float64x2_t x) - { -- const struct data *data_ptr = ptr_barrier (&data); -+ const struct data *d = ptr_barrier (&data); - - uint64x2_t ix = vreinterpretq_u64_f64 (x); - uint64x2_t iy = vreinterpretq_u64_f64 (y); - -- uint64x2_t special_cases = vorrq_u64 (zeroinfnan (ix), zeroinfnan (iy)); -+ uint64x2_t special_cases -+ = vorrq_u64 (zeroinfnan (ix, d), zeroinfnan (iy, d)); - - uint64x2_t sign_x = vandq_u64 (ix, SignMask); - uint64x2_t sign_y = vandq_u64 (iy, SignMask); -@@ -81,18 +99,18 @@ float64x2_t VPCS_ATTR V_NAME_D2 (atan2) (float64x2_t y, float64x2_t x) - float64x2_t ay = vabsq_f64 (y); - - uint64x2_t pred_xlt0 = vcltzq_f64 (x); -- uint64x2_t pred_aygtax = vcgtq_f64 (ay, ax); -+ uint64x2_t pred_aygtax = vcagtq_f64 (y, x); - - /* Set up z for call to atan. */ - float64x2_t n = vbslq_f64 (pred_aygtax, vnegq_f64 (ax), ay); -- float64x2_t d = vbslq_f64 (pred_aygtax, ay, ax); -- float64x2_t z = vdivq_f64 (n, d); -+ float64x2_t q = vbslq_f64 (pred_aygtax, ay, ax); -+ float64x2_t z = vdivq_f64 (n, q); - - /* Work out the correct shift. */ -- float64x2_t shift = vreinterpretq_f64_u64 ( -- vandq_u64 (pred_xlt0, vreinterpretq_u64_f64 (v_f64 (-2.0)))); -+ float64x2_t shift -+ = vreinterpretq_f64_u64 (vandq_u64 (pred_xlt0, d->minustwo)); - shift = vbslq_f64 (pred_aygtax, vaddq_f64 (shift, v_f64 (1.0)), shift); -- shift = vmulq_f64 (shift, data_ptr->pi_over_2); -+ shift = vmulq_f64 (shift, d->pi_over_2); - - /* Calculate the polynomial approximation. - Use split Estrin scheme for P(z^2) with deg(P)=19. Use split instead of -@@ -103,20 +121,52 @@ float64x2_t VPCS_ATTR V_NAME_D2 (atan2) (float64x2_t y, float64x2_t x) - float64x2_t x2 = vmulq_f64 (z2, z2); - float64x2_t x4 = vmulq_f64 (x2, x2); - float64x2_t x8 = vmulq_f64 (x4, x4); -- float64x2_t ret -- = vfmaq_f64 (v_estrin_7_f64 (z2, x2, x4, data_ptr->poly), -- v_estrin_11_f64 (z2, x2, x4, x8, data_ptr->poly + 8), x8); -+ -+ float64x2_t c13 = vld1q_f64 (&d->c1); -+ float64x2_t c57 = vld1q_f64 (&d->c5); -+ float64x2_t c911 = vld1q_f64 (&d->c9); -+ float64x2_t c1315 = vld1q_f64 (&d->c13); -+ float64x2_t c1719 = vld1q_f64 (&d->c17); -+ -+ /* estrin_7. */ -+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0); -+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1); -+ float64x2_t p03 = vfmaq_f64 (p01, x2, p23); -+ -+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0); -+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1); -+ float64x2_t p47 = vfmaq_f64 (p45, x2, p67); -+ -+ float64x2_t p07 = vfmaq_f64 (p03, x4, p47); -+ -+ /* estrin_11. */ -+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0); -+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1); -+ float64x2_t p811 = vfmaq_f64 (p89, x2, p1011); -+ -+ float64x2_t p1213 = vfmaq_laneq_f64 (d->c12, z2, c1315, 0); -+ float64x2_t p1415 = vfmaq_laneq_f64 (d->c14, z2, c1315, 1); -+ float64x2_t p1215 = vfmaq_f64 (p1213, x2, p1415); -+ -+ float64x2_t p1617 = vfmaq_laneq_f64 (d->c16, z2, c1719, 0); -+ float64x2_t p1819 = vfmaq_laneq_f64 (d->c18, z2, c1719, 1); -+ float64x2_t p1619 = vfmaq_f64 (p1617, x2, p1819); -+ -+ float64x2_t p815 = vfmaq_f64 (p811, x4, p1215); -+ float64x2_t p819 = vfmaq_f64 (p815, x8, p1619); -+ -+ float64x2_t ret = vfmaq_f64 (p07, p819, x8); - - /* Finalize. y = shift + z + z^3 * P(z^2). */ - ret = vfmaq_f64 (z, ret, vmulq_f64 (z2, z)); - ret = vaddq_f64 (ret, shift); - -+ if (__glibc_unlikely (v_any_u64 (special_cases))) -+ return special_case (y, x, ret, sign_xy, special_cases); -+ - /* Account for the sign of x and y. */ - ret = vreinterpretq_f64_u64 ( - veorq_u64 (vreinterpretq_u64_f64 (ret), sign_xy)); - -- if (__glibc_unlikely (v_any_u64 (special_cases))) -- return special_case (y, x, ret, special_cases); -- - return ret; - } -diff --git a/sysdeps/aarch64/fpu/atan2f_advsimd.c b/sysdeps/aarch64/fpu/atan2f_advsimd.c -index 56e610caf1..88daacd76c 100644 ---- a/sysdeps/aarch64/fpu/atan2f_advsimd.c -+++ b/sysdeps/aarch64/fpu/atan2f_advsimd.c -@@ -22,34 +22,39 @@ - - static const struct data - { -- float32x4_t poly[8]; -- float32x4_t pi_over_2; -+ float32x4_t c0, pi_over_2, c4, c6, c2; -+ float c1, c3, c5, c7; -+ uint32x4_t comp_const; - } data = { - /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on - [2**-128, 1.0]. - Generated using fpminimax between FLT_MIN and 1. */ -- .poly = { V4 (-0x1.55555p-2f), V4 (0x1.99935ep-3f), V4 (-0x1.24051ep-3f), -- V4 (0x1.bd7368p-4f), V4 (-0x1.491f0ep-4f), V4 (0x1.93a2c0p-5f), -- V4 (-0x1.4c3c60p-6f), V4 (0x1.01fd88p-8f) }, -- .pi_over_2 = V4 (0x1.921fb6p+0f), -+ .c0 = V4 (-0x1.55555p-2f), .c1 = 0x1.99935ep-3f, -+ .c2 = V4 (-0x1.24051ep-3f), .c3 = 0x1.bd7368p-4f, -+ .c4 = V4 (-0x1.491f0ep-4f), .c5 = 0x1.93a2c0p-5f, -+ .c6 = V4 (-0x1.4c3c60p-6f), .c7 = 0x1.01fd88p-8f, -+ .pi_over_2 = V4 (0x1.921fb6p+0f), .comp_const = V4 (2 * 0x7f800000lu - 1), - }; - - #define SignMask v_u32 (0x80000000) - - /* Special cases i.e. 0, infinity and nan (fall back to scalar calls). */ - static float32x4_t VPCS_ATTR NOINLINE --special_case (float32x4_t y, float32x4_t x, float32x4_t ret, uint32x4_t cmp) -+special_case (float32x4_t y, float32x4_t x, float32x4_t ret, -+ uint32x4_t sign_xy, uint32x4_t cmp) - { -+ /* Account for the sign of y. */ -+ ret = vreinterpretq_f32_u32 ( -+ veorq_u32 (vreinterpretq_u32_f32 (ret), sign_xy)); - return v_call2_f32 (atan2f, y, x, ret, cmp); - } - - /* Returns 1 if input is the bit representation of 0, infinity or nan. */ - static inline uint32x4_t --zeroinfnan (uint32x4_t i) -+zeroinfnan (uint32x4_t i, const struct data *d) - { - /* 2 * i - 1 >= 2 * 0x7f800000lu - 1. */ -- return vcgeq_u32 (vsubq_u32 (vmulq_n_u32 (i, 2), v_u32 (1)), -- v_u32 (2 * 0x7f800000lu - 1)); -+ return vcgeq_u32 (vsubq_u32 (vmulq_n_u32 (i, 2), v_u32 (1)), d->comp_const); - } - - /* Fast implementation of vector atan2f. Maximum observed error is -@@ -58,12 +63,13 @@ zeroinfnan (uint32x4_t i) - want 0x1.967f00p-1. */ - float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2) (float32x4_t y, float32x4_t x) - { -- const struct data *data_ptr = ptr_barrier (&data); -+ const struct data *d = ptr_barrier (&data); - - uint32x4_t ix = vreinterpretq_u32_f32 (x); - uint32x4_t iy = vreinterpretq_u32_f32 (y); - -- uint32x4_t special_cases = vorrq_u32 (zeroinfnan (ix), zeroinfnan (iy)); -+ uint32x4_t special_cases -+ = vorrq_u32 (zeroinfnan (ix, d), zeroinfnan (iy, d)); - - uint32x4_t sign_x = vandq_u32 (ix, SignMask); - uint32x4_t sign_y = vandq_u32 (iy, SignMask); -@@ -77,14 +83,14 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2) (float32x4_t y, float32x4_t x) - - /* Set up z for call to atanf. */ - float32x4_t n = vbslq_f32 (pred_aygtax, vnegq_f32 (ax), ay); -- float32x4_t d = vbslq_f32 (pred_aygtax, ay, ax); -- float32x4_t z = vdivq_f32 (n, d); -+ float32x4_t q = vbslq_f32 (pred_aygtax, ay, ax); -+ float32x4_t z = vdivq_f32 (n, q); - - /* Work out the correct shift. */ - float32x4_t shift = vreinterpretq_f32_u32 ( - vandq_u32 (pred_xlt0, vreinterpretq_u32_f32 (v_f32 (-2.0f)))); - shift = vbslq_f32 (pred_aygtax, vaddq_f32 (shift, v_f32 (1.0f)), shift); -- shift = vmulq_f32 (shift, data_ptr->pi_over_2); -+ shift = vmulq_f32 (shift, d->pi_over_2); - - /* Calculate the polynomial approximation. - Use 2-level Estrin scheme for P(z^2) with deg(P)=7. However, -@@ -96,23 +102,27 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F2 (atan2) (float32x4_t y, float32x4_t x) - float32x4_t z2 = vmulq_f32 (z, z); - float32x4_t z4 = vmulq_f32 (z2, z2); - -- float32x4_t ret = vfmaq_f32 ( -- v_pairwise_poly_3_f32 (z2, z4, data_ptr->poly), z4, -- vmulq_f32 (z4, v_pairwise_poly_3_f32 (z2, z4, data_ptr->poly + 4))); -+ float32x4_t c1357 = vld1q_f32 (&d->c1); -+ float32x4_t p01 = vfmaq_laneq_f32 (d->c0, z2, c1357, 0); -+ float32x4_t p23 = vfmaq_laneq_f32 (d->c2, z2, c1357, 1); -+ float32x4_t p45 = vfmaq_laneq_f32 (d->c4, z2, c1357, 2); -+ float32x4_t p67 = vfmaq_laneq_f32 (d->c6, z2, c1357, 3); -+ float32x4_t p03 = vfmaq_f32 (p01, z4, p23); -+ float32x4_t p47 = vfmaq_f32 (p45, z4, p67); -+ -+ float32x4_t ret = vfmaq_f32 (p03, z4, vmulq_f32 (z4, p47)); - - /* y = shift + z * P(z^2). */ - ret = vaddq_f32 (vfmaq_f32 (z, ret, vmulq_f32 (z2, z)), shift); - -- /* Account for the sign of y. */ -- ret = vreinterpretq_f32_u32 ( -- veorq_u32 (vreinterpretq_u32_f32 (ret), sign_xy)); -- - if (__glibc_unlikely (v_any_u32 (special_cases))) - { -- return special_case (y, x, ret, special_cases); -+ return special_case (y, x, ret, sign_xy, special_cases); - } - -- return ret; -+ /* Account for the sign of y. */ -+ return vreinterpretq_f32_u32 ( -+ veorq_u32 (vreinterpretq_u32_f32 (ret), sign_xy)); - } - libmvec_hidden_def (V_NAME_F2 (atan2)) - HALF_WIDTH_ALIAS_F2(atan2) -diff --git a/sysdeps/aarch64/fpu/atan_advsimd.c b/sysdeps/aarch64/fpu/atan_advsimd.c -index a962be0f78..14f1809796 100644 ---- a/sysdeps/aarch64/fpu/atan_advsimd.c -+++ b/sysdeps/aarch64/fpu/atan_advsimd.c -@@ -22,21 +22,22 @@ - - static const struct data - { -+ float64x2_t c0, c2, c4, c6, c8, c10, c12, c14, c16, c18; - float64x2_t pi_over_2; -- float64x2_t poly[20]; -+ double c1, c3, c5, c7, c9, c11, c13, c15, c17, c19; - } data = { - /* Coefficients of polynomial P such that atan(x)~x+x*P(x^2) on - [2**-1022, 1.0]. */ -- .poly = { V2 (-0x1.5555555555555p-2), V2 (0x1.99999999996c1p-3), -- V2 (-0x1.2492492478f88p-3), V2 (0x1.c71c71bc3951cp-4), -- V2 (-0x1.745d160a7e368p-4), V2 (0x1.3b139b6a88ba1p-4), -- V2 (-0x1.11100ee084227p-4), V2 (0x1.e1d0f9696f63bp-5), -- V2 (-0x1.aebfe7b418581p-5), V2 (0x1.842dbe9b0d916p-5), -- V2 (-0x1.5d30140ae5e99p-5), V2 (0x1.338e31eb2fbbcp-5), -- V2 (-0x1.00e6eece7de8p-5), V2 (0x1.860897b29e5efp-6), -- V2 (-0x1.0051381722a59p-6), V2 (0x1.14e9dc19a4a4ep-7), -- V2 (-0x1.d0062b42fe3bfp-9), V2 (0x1.17739e210171ap-10), -- V2 (-0x1.ab24da7be7402p-13), V2 (0x1.358851160a528p-16), }, -+ .c0 = V2 (-0x1.5555555555555p-2), .c1 = 0x1.99999999996c1p-3, -+ .c2 = V2 (-0x1.2492492478f88p-3), .c3 = 0x1.c71c71bc3951cp-4, -+ .c4 = V2 (-0x1.745d160a7e368p-4), .c5 = 0x1.3b139b6a88ba1p-4, -+ .c6 = V2 (-0x1.11100ee084227p-4), .c7 = 0x1.e1d0f9696f63bp-5, -+ .c8 = V2 (-0x1.aebfe7b418581p-5), .c9 = 0x1.842dbe9b0d916p-5, -+ .c10 = V2 (-0x1.5d30140ae5e99p-5), .c11 = 0x1.338e31eb2fbbcp-5, -+ .c12 = V2 (-0x1.00e6eece7de8p-5), .c13 = 0x1.860897b29e5efp-6, -+ .c14 = V2 (-0x1.0051381722a59p-6), .c15 = 0x1.14e9dc19a4a4ep-7, -+ .c16 = V2 (-0x1.d0062b42fe3bfp-9), .c17 = 0x1.17739e210171ap-10, -+ .c18 = V2 (-0x1.ab24da7be7402p-13), .c19 = 0x1.358851160a528p-16, - .pi_over_2 = V2 (0x1.921fb54442d18p+0), - }; - -@@ -52,6 +53,11 @@ static const struct data - float64x2_t VPCS_ATTR V_NAME_D1 (atan) (float64x2_t x) - { - const struct data *d = ptr_barrier (&data); -+ float64x2_t c13 = vld1q_f64 (&d->c1); -+ float64x2_t c57 = vld1q_f64 (&d->c5); -+ float64x2_t c911 = vld1q_f64 (&d->c9); -+ float64x2_t c1315 = vld1q_f64 (&d->c13); -+ float64x2_t c1719 = vld1q_f64 (&d->c17); - - /* Small cases, infs and nans are supported by our approximation technique, - but do not set fenv flags correctly. Only trigger special case if we need -@@ -90,9 +96,35 @@ float64x2_t VPCS_ATTR V_NAME_D1 (atan) (float64x2_t x) - float64x2_t x2 = vmulq_f64 (z2, z2); - float64x2_t x4 = vmulq_f64 (x2, x2); - float64x2_t x8 = vmulq_f64 (x4, x4); -- float64x2_t y -- = vfmaq_f64 (v_estrin_7_f64 (z2, x2, x4, d->poly), -- v_estrin_11_f64 (z2, x2, x4, x8, d->poly + 8), x8); -+ -+ /* estrin_7. */ -+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, z2, c13, 0); -+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, z2, c13, 1); -+ float64x2_t p03 = vfmaq_f64 (p01, x2, p23); -+ -+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, z2, c57, 0); -+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, z2, c57, 1); -+ float64x2_t p47 = vfmaq_f64 (p45, x2, p67); -+ -+ float64x2_t p07 = vfmaq_f64 (p03, x4, p47); -+ -+ /* estrin_11. */ -+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, z2, c911, 0); -+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, z2, c911, 1); -+ float64x2_t p811 = vfmaq_f64 (p89, x2, p1011); -+ -+ float64x2_t p1213 = vfmaq_laneq_f64 (d->c12, z2, c1315, 0); -+ float64x2_t p1415 = vfmaq_laneq_f64 (d->c14, z2, c1315, 1); -+ float64x2_t p1215 = vfmaq_f64 (p1213, x2, p1415); -+ -+ float64x2_t p1617 = vfmaq_laneq_f64 (d->c16, z2, c1719, 0); -+ float64x2_t p1819 = vfmaq_laneq_f64 (d->c18, z2, c1719, 1); -+ float64x2_t p1619 = vfmaq_f64 (p1617, x2, p1819); -+ -+ float64x2_t p815 = vfmaq_f64 (p811, x4, p1215); -+ float64x2_t p819 = vfmaq_f64 (p815, x8, p1619); -+ -+ float64x2_t y = vfmaq_f64 (p07, p819, x8); - - /* Finalize. y = shift + z + z^3 * P(z^2). */ - y = vfmaq_f64 (az, y, vmulq_f64 (z2, az)); - -commit bf2b60a56036c951a798845223a2e04cc48507e4 -Author: Joana Cruz -Date: Tue Dec 17 14:50:33 2024 +0000 - - AArch64: Improve codegen of AdvSIMD expf family - - Load the polynomial evaluation coefficients into 2 vectors and use lanewise MLAs. - Also use intrinsics instead of native operations. - expf: 3% improvement in throughput microbenchmark on Neoverse V1, exp2f: 5%, - exp10f: 13%, coshf: 14%. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit cff9648d0b50d19cdaf685f6767add040d4e1a8e) - -diff --git a/sysdeps/aarch64/fpu/coshf_advsimd.c b/sysdeps/aarch64/fpu/coshf_advsimd.c -index c1ab4923b8..cd5c866521 100644 ---- a/sysdeps/aarch64/fpu/coshf_advsimd.c -+++ b/sysdeps/aarch64/fpu/coshf_advsimd.c -@@ -23,19 +23,27 @@ - static const struct data - { - struct v_expf_data expf_consts; -- uint32x4_t tiny_bound, special_bound; -+ uint32x4_t tiny_bound; -+ float32x4_t bound; -+#if WANT_SIMD_EXCEPT -+ uint32x4_t special_bound; -+#endif - } data = { - .expf_consts = V_EXPF_DATA, - .tiny_bound = V4 (0x20000000), /* 0x1p-63: Round to 1 below this. */ - /* 0x1.5a92d8p+6: expf overflows above this, so have to use special case. */ -+ .bound = V4 (0x1.5a92d8p+6), -+#if WANT_SIMD_EXCEPT - .special_bound = V4 (0x42ad496c), -+#endif - }; - - #if !WANT_SIMD_EXCEPT - static float32x4_t NOINLINE VPCS_ATTR --special_case (float32x4_t x, float32x4_t y, uint32x4_t special) -+special_case (float32x4_t x, float32x4_t half_t, float32x4_t half_over_t, -+ uint32x4_t special) - { -- return v_call_f32 (coshf, x, y, special); -+ return v_call_f32 (coshf, x, vaddq_f32 (half_t, half_over_t), special); - } - #endif - -@@ -47,14 +55,13 @@ float32x4_t VPCS_ATTR V_NAME_F1 (cosh) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); - -- float32x4_t ax = vabsq_f32 (x); -- uint32x4_t iax = vreinterpretq_u32_f32 (ax); -- uint32x4_t special = vcgeq_u32 (iax, d->special_bound); -- - #if WANT_SIMD_EXCEPT - /* If fp exceptions are to be triggered correctly, fall back to the scalar - variant for all inputs if any input is a special value or above the bound - at which expf overflows. */ -+ float32x4_t ax = vabsq_f32 (x); -+ uint32x4_t iax = vreinterpretq_u32_f32 (ax); -+ uint32x4_t special = vcgeq_u32 (iax, d->special_bound); - if (__glibc_unlikely (v_any_u32 (special))) - return v_call_f32 (coshf, x, x, v_u32 (-1)); - -@@ -63,10 +70,13 @@ float32x4_t VPCS_ATTR V_NAME_F1 (cosh) (float32x4_t x) - input to 0, which will generate no exceptions. */ - if (__glibc_unlikely (v_any_u32 (tiny))) - ax = v_zerofy_f32 (ax, tiny); -+ float32x4_t t = v_expf_inline (ax, &d->expf_consts); -+#else -+ uint32x4_t special = vcageq_f32 (x, d->bound); -+ float32x4_t t = v_expf_inline (x, &d->expf_consts); - #endif - - /* Calculate cosh by exp(x) / 2 + exp(-x) / 2. */ -- float32x4_t t = v_expf_inline (ax, &d->expf_consts); - float32x4_t half_t = vmulq_n_f32 (t, 0.5); - float32x4_t half_over_t = vdivq_f32 (v_f32 (0.5), t); - -@@ -75,7 +85,7 @@ float32x4_t VPCS_ATTR V_NAME_F1 (cosh) (float32x4_t x) - return vbslq_f32 (tiny, v_f32 (1), vaddq_f32 (half_t, half_over_t)); - #else - if (__glibc_unlikely (v_any_u32 (special))) -- return special_case (x, vaddq_f32 (half_t, half_over_t), special); -+ return special_case (x, half_t, half_over_t, special); - #endif - - return vaddq_f32 (half_t, half_over_t); -diff --git a/sysdeps/aarch64/fpu/exp10f_advsimd.c b/sysdeps/aarch64/fpu/exp10f_advsimd.c -index cf53e73290..55d9cd83f2 100644 ---- a/sysdeps/aarch64/fpu/exp10f_advsimd.c -+++ b/sysdeps/aarch64/fpu/exp10f_advsimd.c -@@ -18,16 +18,15 @@ - . */ - - #include "v_math.h" --#include "poly_advsimd_f32.h" - - #define ScaleBound 192.0f - - static const struct data - { -- float32x4_t poly[5]; -- float log10_2_and_inv[4]; -- float32x4_t shift; -- -+ float32x4_t c0, c1, c3; -+ float log10_2_high, log10_2_low, c2, c4; -+ float32x4_t inv_log10_2, special_bound; -+ uint32x4_t exponent_bias, special_offset, special_bias; - #if !WANT_SIMD_EXCEPT - float32x4_t scale_thresh; - #endif -@@ -37,19 +36,24 @@ static const struct data - rel error: 0x1.89dafa3p-24 - abs error: 0x1.167d55p-23 in [-log10(2)/2, log10(2)/2] - maxerr: 1.85943 +0.5 ulp. */ -- .poly = { V4 (0x1.26bb16p+1f), V4 (0x1.5350d2p+1f), V4 (0x1.04744ap+1f), -- V4 (0x1.2d8176p+0f), V4 (0x1.12b41ap-1f) }, -- .shift = V4 (0x1.8p23f), -- -- /* Stores constants 1/log10(2), log10(2)_high, log10(2)_low, 0. */ -- .log10_2_and_inv = { 0x1.a934fp+1, 0x1.344136p-2, -0x1.ec10cp-27, 0 }, -+ .c0 = V4 (0x1.26bb16p+1f), -+ .c1 = V4 (0x1.5350d2p+1f), -+ .c2 = 0x1.04744ap+1f, -+ .c3 = V4 (0x1.2d8176p+0f), -+ .c4 = 0x1.12b41ap-1f, -+ .inv_log10_2 = V4 (0x1.a934fp+1), -+ .log10_2_high = 0x1.344136p-2, -+ .log10_2_low = 0x1.ec10cp-27, -+ /* rint (log2 (2^127 / (1 + sqrt (2)))). */ -+ .special_bound = V4 (126.0f), -+ .exponent_bias = V4 (0x3f800000), -+ .special_offset = V4 (0x82000000), -+ .special_bias = V4 (0x7f000000), - #if !WANT_SIMD_EXCEPT - .scale_thresh = V4 (ScaleBound) - #endif - }; - --#define ExponentBias v_u32 (0x3f800000) -- - #if WANT_SIMD_EXCEPT - - # define SpecialBound 38.0f /* rint(log10(2^127)). */ -@@ -67,17 +71,15 @@ special_case (float32x4_t x, float32x4_t y, uint32x4_t cmp) - - #else - --# define SpecialBound 126.0f /* rint (log2 (2^127 / (1 + sqrt (2)))). */ --# define SpecialOffset v_u32 (0x82000000) --# define SpecialBias v_u32 (0x7f000000) -+# define SpecialBound 126.0f - - static float32x4_t VPCS_ATTR NOINLINE - special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, - float32x4_t scale, const struct data *d) - { - /* 2^n may overflow, break it up into s1*s2. */ -- uint32x4_t b = vandq_u32 (vclezq_f32 (n), SpecialOffset); -- float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, SpecialBias)); -+ uint32x4_t b = vandq_u32 (vclezq_f32 (n), d->special_offset); -+ float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, d->special_bias)); - float32x4_t s2 = vreinterpretq_f32_u32 (vsubq_u32 (e, b)); - uint32x4_t cmp2 = vcagtq_f32 (n, d->scale_thresh); - float32x4_t r2 = vmulq_f32 (s1, s1); -@@ -112,23 +114,23 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp10) (float32x4_t x) - /* exp10(x) = 2^n * 10^r = 2^n * (1 + poly (r)), - with poly(r) in [1/sqrt(2), sqrt(2)] and - x = r + n * log10 (2), with r in [-log10(2)/2, log10(2)/2]. */ -- float32x4_t log10_2_and_inv = vld1q_f32 (d->log10_2_and_inv); -- float32x4_t z = vfmaq_laneq_f32 (d->shift, x, log10_2_and_inv, 0); -- float32x4_t n = vsubq_f32 (z, d->shift); -- float32x4_t r = vfmsq_laneq_f32 (x, n, log10_2_and_inv, 1); -- r = vfmsq_laneq_f32 (r, n, log10_2_and_inv, 2); -- uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_f32 (z), 23); -+ float32x4_t log10_2_c24 = vld1q_f32 (&d->log10_2_high); -+ float32x4_t n = vrndaq_f32 (vmulq_f32 (x, d->inv_log10_2)); -+ float32x4_t r = vfmsq_laneq_f32 (x, n, log10_2_c24, 0); -+ r = vfmaq_laneq_f32 (r, n, log10_2_c24, 1); -+ uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtaq_s32_f32 (n)), 23); - -- float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, ExponentBias)); -+ float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); - - #if !WANT_SIMD_EXCEPT -- uint32x4_t cmp = vcagtq_f32 (n, v_f32 (SpecialBound)); -+ uint32x4_t cmp = vcagtq_f32 (n, d->special_bound); - #endif - - float32x4_t r2 = vmulq_f32 (r, r); -- float32x4_t poly -- = vfmaq_f32 (vmulq_f32 (r, d->poly[0]), -- v_pairwise_poly_3_f32 (r, r2, d->poly + 1), r2); -+ float32x4_t p12 = vfmaq_laneq_f32 (d->c1, r, log10_2_c24, 2); -+ float32x4_t p34 = vfmaq_laneq_f32 (d->c3, r, log10_2_c24, 3); -+ float32x4_t p14 = vfmaq_f32 (p12, r2, p34); -+ float32x4_t poly = vfmaq_f32 (vmulq_f32 (r, d->c0), p14, r2); - - if (__glibc_unlikely (v_any_u32 (cmp))) - #if WANT_SIMD_EXCEPT -diff --git a/sysdeps/aarch64/fpu/exp2f_advsimd.c b/sysdeps/aarch64/fpu/exp2f_advsimd.c -index 69e0b193a1..a4220da63c 100644 ---- a/sysdeps/aarch64/fpu/exp2f_advsimd.c -+++ b/sysdeps/aarch64/fpu/exp2f_advsimd.c -@@ -21,24 +21,28 @@ - - static const struct data - { -- float32x4_t poly[5]; -- uint32x4_t exponent_bias; -+ float32x4_t c1, c3; -+ uint32x4_t exponent_bias, special_offset, special_bias; - #if !WANT_SIMD_EXCEPT -- float32x4_t special_bound, scale_thresh; -+ float32x4_t scale_thresh, special_bound; - #endif -+ float c0, c2, c4, zero; - } data = { - /* maxerr: 1.962 ulp. */ -- .poly = { V4 (0x1.59977ap-10f), V4 (0x1.3ce9e4p-7f), V4 (0x1.c6bd32p-5f), -- V4 (0x1.ebf9bcp-3f), V4 (0x1.62e422p-1f) }, -+ .c0 = 0x1.59977ap-10f, -+ .c1 = V4 (0x1.3ce9e4p-7f), -+ .c2 = 0x1.c6bd32p-5f, -+ .c3 = V4 (0x1.ebf9bcp-3f), -+ .c4 = 0x1.62e422p-1f, - .exponent_bias = V4 (0x3f800000), -+ .special_offset = V4 (0x82000000), -+ .special_bias = V4 (0x7f000000), - #if !WANT_SIMD_EXCEPT - .special_bound = V4 (126.0f), - .scale_thresh = V4 (192.0f), - #endif - }; - --#define C(i) d->poly[i] -- - #if WANT_SIMD_EXCEPT - - # define TinyBound v_u32 (0x20000000) /* asuint (0x1p-63). */ -@@ -55,16 +59,13 @@ special_case (float32x4_t x, float32x4_t y, uint32x4_t cmp) - - #else - --# define SpecialOffset v_u32 (0x82000000) --# define SpecialBias v_u32 (0x7f000000) -- - static float32x4_t VPCS_ATTR NOINLINE - special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, - float32x4_t scale, const struct data *d) - { - /* 2^n may overflow, break it up into s1*s2. */ -- uint32x4_t b = vandq_u32 (vclezq_f32 (n), SpecialOffset); -- float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, SpecialBias)); -+ uint32x4_t b = vandq_u32 (vclezq_f32 (n), d->special_offset); -+ float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, d->special_bias)); - float32x4_t s2 = vreinterpretq_f32_u32 (vsubq_u32 (e, b)); - uint32x4_t cmp2 = vcagtq_f32 (n, d->scale_thresh); - float32x4_t r2 = vmulq_f32 (s1, s1); -@@ -80,13 +81,11 @@ special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp2) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- float32x4_t n, r, r2, scale, p, q, poly; -- uint32x4_t cmp, e; - - #if WANT_SIMD_EXCEPT - /* asuint(|x|) - TinyBound >= BigBound - TinyBound. */ - uint32x4_t ia = vreinterpretq_u32_f32 (vabsq_f32 (x)); -- cmp = vcgeq_u32 (vsubq_u32 (ia, TinyBound), SpecialBound); -+ uint32x4_t cmp = vcgeq_u32 (vsubq_u32 (ia, TinyBound), SpecialBound); - float32x4_t xm = x; - /* If any lanes are special, mask them with 1 and retain a copy of x to allow - special_case to fix special lanes later. This is only necessary if fenv -@@ -95,23 +94,24 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp2) (float32x4_t x) - x = vbslq_f32 (cmp, v_f32 (1), x); - #endif - -- /* exp2(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] -- x = n + r, with r in [-1/2, 1/2]. */ -- n = vrndaq_f32 (x); -- r = vsubq_f32 (x, n); -- e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtaq_s32_f32 (x)), 23); -- scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); -+ /* exp2(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] -+ x = n + r, with r in [-1/2, 1/2]. */ -+ float32x4_t n = vrndaq_f32 (x); -+ float32x4_t r = vsubq_f32 (x, n); -+ uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtaq_s32_f32 (x)), 23); -+ float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); - - #if !WANT_SIMD_EXCEPT -- cmp = vcagtq_f32 (n, d->special_bound); -+ uint32x4_t cmp = vcagtq_f32 (n, d->special_bound); - #endif - -- r2 = vmulq_f32 (r, r); -- p = vfmaq_f32 (C (1), C (0), r); -- q = vfmaq_f32 (C (3), C (2), r); -+ float32x4_t c024 = vld1q_f32 (&d->c0); -+ float32x4_t r2 = vmulq_f32 (r, r); -+ float32x4_t p = vfmaq_laneq_f32 (d->c1, r, c024, 0); -+ float32x4_t q = vfmaq_laneq_f32 (d->c3, r, c024, 1); - q = vfmaq_f32 (q, p, r2); -- p = vmulq_f32 (C (4), r); -- poly = vfmaq_f32 (p, q, r2); -+ p = vmulq_laneq_f32 (r, c024, 2); -+ float32x4_t poly = vfmaq_f32 (p, q, r2); - - if (__glibc_unlikely (v_any_u32 (cmp))) - #if WANT_SIMD_EXCEPT -diff --git a/sysdeps/aarch64/fpu/expf_advsimd.c b/sysdeps/aarch64/fpu/expf_advsimd.c -index 5c9cb72620..70f137e2e5 100644 ---- a/sysdeps/aarch64/fpu/expf_advsimd.c -+++ b/sysdeps/aarch64/fpu/expf_advsimd.c -@@ -21,20 +21,25 @@ - - static const struct data - { -- float32x4_t poly[5]; -- float32x4_t inv_ln2, ln2_hi, ln2_lo; -- uint32x4_t exponent_bias; -+ float32x4_t c1, c3, c4, inv_ln2; -+ float ln2_hi, ln2_lo, c0, c2; -+ uint32x4_t exponent_bias, special_offset, special_bias; - #if !WANT_SIMD_EXCEPT - float32x4_t special_bound, scale_thresh; - #endif - } data = { - /* maxerr: 1.45358 +0.5 ulp. */ -- .poly = { V4 (0x1.0e4020p-7f), V4 (0x1.573e2ep-5f), V4 (0x1.555e66p-3f), -- V4 (0x1.fffdb6p-2f), V4 (0x1.ffffecp-1f) }, -+ .c0 = 0x1.0e4020p-7f, -+ .c1 = V4 (0x1.573e2ep-5f), -+ .c2 = 0x1.555e66p-3f, -+ .c3 = V4 (0x1.fffdb6p-2f), -+ .c4 = V4 (0x1.ffffecp-1f), - .inv_ln2 = V4 (0x1.715476p+0f), -- .ln2_hi = V4 (0x1.62e4p-1f), -- .ln2_lo = V4 (0x1.7f7d1cp-20f), -+ .ln2_hi = 0x1.62e4p-1f, -+ .ln2_lo = 0x1.7f7d1cp-20f, - .exponent_bias = V4 (0x3f800000), -+ .special_offset = V4 (0x82000000), -+ .special_bias = V4 (0x7f000000), - #if !WANT_SIMD_EXCEPT - .special_bound = V4 (126.0f), - .scale_thresh = V4 (192.0f), -@@ -59,19 +64,17 @@ special_case (float32x4_t x, float32x4_t y, uint32x4_t cmp) - - #else - --# define SpecialOffset v_u32 (0x82000000) --# define SpecialBias v_u32 (0x7f000000) -- - static float32x4_t VPCS_ATTR NOINLINE - special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, - float32x4_t scale, const struct data *d) - { - /* 2^n may overflow, break it up into s1*s2. */ -- uint32x4_t b = vandq_u32 (vclezq_f32 (n), SpecialOffset); -- float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, SpecialBias)); -+ uint32x4_t b = vandq_u32 (vclezq_f32 (n), d->special_offset); -+ float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, d->special_bias)); - float32x4_t s2 = vreinterpretq_f32_u32 (vsubq_u32 (e, b)); - uint32x4_t cmp2 = vcagtq_f32 (n, d->scale_thresh); - float32x4_t r2 = vmulq_f32 (s1, s1); -+ // (s2 + p*s2)*s1 = s2(p+1)s1 - float32x4_t r1 = vmulq_f32 (vfmaq_f32 (s2, poly, s2), s1); - /* Similar to r1 but avoids double rounding in the subnormal range. */ - float32x4_t r0 = vfmaq_f32 (scale, poly, scale); -@@ -84,12 +87,11 @@ special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, - float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp) (float32x4_t x) - { - const struct data *d = ptr_barrier (&data); -- float32x4_t n, r, r2, scale, p, q, poly; -- uint32x4_t cmp, e; -+ float32x4_t ln2_c02 = vld1q_f32 (&d->ln2_hi); - - #if WANT_SIMD_EXCEPT - /* asuint(x) - TinyBound >= BigBound - TinyBound. */ -- cmp = vcgeq_u32 ( -+ uint32x4_t cmp = vcgeq_u32 ( - vsubq_u32 (vandq_u32 (vreinterpretq_u32_f32 (x), v_u32 (0x7fffffff)), - TinyBound), - SpecialBound); -@@ -103,22 +105,22 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp) (float32x4_t x) - - /* exp(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] - x = ln2*n + r, with r in [-ln2/2, ln2/2]. */ -- n = vrndaq_f32 (vmulq_f32 (x, d->inv_ln2)); -- r = vfmsq_f32 (x, n, d->ln2_hi); -- r = vfmsq_f32 (r, n, d->ln2_lo); -- e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtq_s32_f32 (n)), 23); -- scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); -+ float32x4_t n = vrndaq_f32 (vmulq_f32 (x, d->inv_ln2)); -+ float32x4_t r = vfmsq_laneq_f32 (x, n, ln2_c02, 0); -+ r = vfmsq_laneq_f32 (r, n, ln2_c02, 1); -+ uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtq_s32_f32 (n)), 23); -+ float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); - - #if !WANT_SIMD_EXCEPT -- cmp = vcagtq_f32 (n, d->special_bound); -+ uint32x4_t cmp = vcagtq_f32 (n, d->special_bound); - #endif - -- r2 = vmulq_f32 (r, r); -- p = vfmaq_f32 (C (1), C (0), r); -- q = vfmaq_f32 (C (3), C (2), r); -+ float32x4_t r2 = vmulq_f32 (r, r); -+ float32x4_t p = vfmaq_laneq_f32 (d->c1, r, ln2_c02, 2); -+ float32x4_t q = vfmaq_laneq_f32 (d->c3, r, ln2_c02, 3); - q = vfmaq_f32 (q, p, r2); -- p = vmulq_f32 (C (4), r); -- poly = vfmaq_f32 (p, q, r2); -+ p = vmulq_f32 (d->c4, r); -+ float32x4_t poly = vfmaq_f32 (p, q, r2); - - if (__glibc_unlikely (v_any_u32 (cmp))) - #if WANT_SIMD_EXCEPT -diff --git a/sysdeps/aarch64/fpu/v_expf_inline.h b/sysdeps/aarch64/fpu/v_expf_inline.h -index 08b06e0a6b..eacd2af241 100644 ---- a/sysdeps/aarch64/fpu/v_expf_inline.h -+++ b/sysdeps/aarch64/fpu/v_expf_inline.h -@@ -24,50 +24,45 @@ - - struct v_expf_data - { -- float32x4_t poly[5]; -- float32x4_t shift; -- float invln2_and_ln2[4]; -+ float ln2_hi, ln2_lo, c0, c2; -+ float32x4_t inv_ln2, c1, c3, c4; -+ /* asuint(1.0f). */ -+ uint32x4_t exponent_bias; - }; - - /* maxerr: 1.45358 +0.5 ulp. */ - #define V_EXPF_DATA \ - { \ -- .poly = { V4 (0x1.0e4020p-7f), V4 (0x1.573e2ep-5f), V4 (0x1.555e66p-3f), \ -- V4 (0x1.fffdb6p-2f), V4 (0x1.ffffecp-1f) }, \ -- .shift = V4 (0x1.8p23f), \ -- .invln2_and_ln2 = { 0x1.715476p+0f, 0x1.62e4p-1f, 0x1.7f7d1cp-20f, 0 }, \ -+ .c0 = 0x1.0e4020p-7f, .c1 = V4 (0x1.573e2ep-5f), .c2 = 0x1.555e66p-3f, \ -+ .c3 = V4 (0x1.fffdb6p-2f), .c4 = V4 (0x1.ffffecp-1f), \ -+ .ln2_hi = 0x1.62e4p-1f, .ln2_lo = 0x1.7f7d1cp-20f, \ -+ .inv_ln2 = V4 (0x1.715476p+0f), .exponent_bias = V4 (0x3f800000), \ - } - --#define ExponentBias v_u32 (0x3f800000) /* asuint(1.0f). */ --#define C(i) d->poly[i] -- - static inline float32x4_t - v_expf_inline (float32x4_t x, const struct v_expf_data *d) - { -- /* Helper routine for calculating exp(x). -+ /* Helper routine for calculating exp(ax). - Copied from v_expf.c, with all special-case handling removed - the - calling routine should handle special values if required. */ - -- /* exp(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] -- x = ln2*n + r, with r in [-ln2/2, ln2/2]. */ -- float32x4_t n, r, z; -- float32x4_t invln2_and_ln2 = vld1q_f32 (d->invln2_and_ln2); -- z = vfmaq_laneq_f32 (d->shift, x, invln2_and_ln2, 0); -- n = vsubq_f32 (z, d->shift); -- r = vfmsq_laneq_f32 (x, n, invln2_and_ln2, 1); -- r = vfmsq_laneq_f32 (r, n, invln2_and_ln2, 2); -- uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_f32 (z), 23); -- float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, ExponentBias)); -+ /* exp(ax) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] -+ ax = ln2*n + r, with r in [-ln2/2, ln2/2]. */ -+ float32x4_t ax = vabsq_f32 (x); -+ float32x4_t ln2_c02 = vld1q_f32 (&d->ln2_hi); -+ float32x4_t n = vrndaq_f32 (vmulq_f32 (ax, d->inv_ln2)); -+ float32x4_t r = vfmsq_laneq_f32 (ax, n, ln2_c02, 0); -+ r = vfmsq_laneq_f32 (r, n, ln2_c02, 1); -+ uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtq_s32_f32 (n)), 23); -+ float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); - - /* Custom order-4 Estrin avoids building high order monomial. */ - float32x4_t r2 = vmulq_f32 (r, r); -- float32x4_t p, q, poly; -- p = vfmaq_f32 (C (1), C (0), r); -- q = vfmaq_f32 (C (3), C (2), r); -+ float32x4_t p = vfmaq_laneq_f32 (d->c1, r, ln2_c02, 2); -+ float32x4_t q = vfmaq_laneq_f32 (d->c3, r, ln2_c02, 3); - q = vfmaq_f32 (q, p, r2); -- p = vmulq_f32 (C (4), r); -- poly = vfmaq_f32 (p, q, r2); -+ p = vmulq_f32 (d->c4, r); -+ float32x4_t poly = vfmaq_f32 (p, q, r2); - return vfmaq_f32 (scale, poly, scale); - } -- - #endif - -commit abfd20ebbd2883f2c6e5f16709f7b9781c3c8068 -Author: Luna Lamb -Date: Fri Jan 3 19:00:12 2025 +0000 - - AArch64: Improve codegen in AdvSIMD asinh - - Improves memory access and removes spills. - Load the polynomial evaluation coefficients into 2 vectors and use lanewise - MLAs. Reduces MOVs 6->3 , LDR 11->5, STR/STP 2->0, ADRP 3->2. - - (cherry picked from commit 140b985e5a2071000122b3cb63ebfe88cf21dd29) - -diff --git a/sysdeps/aarch64/fpu/asinh_advsimd.c b/sysdeps/aarch64/fpu/asinh_advsimd.c -index 6207e7da95..2739f98b39 100644 ---- a/sysdeps/aarch64/fpu/asinh_advsimd.c -+++ b/sysdeps/aarch64/fpu/asinh_advsimd.c -@@ -20,41 +20,71 @@ - #include "v_math.h" - #include "poly_advsimd_f64.h" - --#define A(i) v_f64 (__v_log_data.poly[i]) --#define N (1 << V_LOG_TABLE_BITS) --#define IndexMask (N - 1) -- - const static struct data - { -- float64x2_t poly[18]; -- uint64x2_t off, huge_bound, abs_mask; -- float64x2_t ln2, tiny_bound; -+ uint64x2_t huge_bound, abs_mask, off, mask; -+#if WANT_SIMD_EXCEPT -+ float64x2_t tiny_bound; -+#endif -+ float64x2_t lc0, lc2; -+ double lc1, lc3, ln2, lc4; -+ -+ float64x2_t c0, c2, c4, c6, c8, c10, c12, c14, c16, c17; -+ double c1, c3, c5, c7, c9, c11, c13, c15; -+ - } data = { -- .off = V2 (0x3fe6900900000000), -- .ln2 = V2 (0x1.62e42fefa39efp-1), -- .huge_bound = V2 (0x5fe0000000000000), -+ -+#if WANT_SIMD_EXCEPT - .tiny_bound = V2 (0x1p-26), -- .abs_mask = V2 (0x7fffffffffffffff), -+#endif - /* Even terms of polynomial s.t. asinh(x) is approximated by - asinh(x) ~= x + x^3 * (C0 + C1 * x + C2 * x^2 + C3 * x^3 + ...). - Generated using Remez, f = (asinh(sqrt(x)) - sqrt(x))/x^(3/2). */ -- .poly = { V2 (-0x1.55555555554a7p-3), V2 (0x1.3333333326c7p-4), -- V2 (-0x1.6db6db68332e6p-5), V2 (0x1.f1c71b26fb40dp-6), -- V2 (-0x1.6e8b8b654a621p-6), V2 (0x1.1c4daa9e67871p-6), -- V2 (-0x1.c9871d10885afp-7), V2 (0x1.7a16e8d9d2ecfp-7), -- V2 (-0x1.3ddca533e9f54p-7), V2 (0x1.0becef748dafcp-7), -- V2 (-0x1.b90c7099dd397p-8), V2 (0x1.541f2bb1ffe51p-8), -- V2 (-0x1.d217026a669ecp-9), V2 (0x1.0b5c7977aaf7p-9), -- V2 (-0x1.e0f37daef9127p-11), V2 (0x1.388b5fe542a6p-12), -- V2 (-0x1.021a48685e287p-14), V2 (0x1.93d4ba83d34dap-18) }, -+ -+ .c0 = V2 (-0x1.55555555554a7p-3), -+ .c1 = 0x1.3333333326c7p-4, -+ .c2 = V2 (-0x1.6db6db68332e6p-5), -+ .c3 = 0x1.f1c71b26fb40dp-6, -+ .c4 = V2 (-0x1.6e8b8b654a621p-6), -+ .c5 = 0x1.1c4daa9e67871p-6, -+ .c6 = V2 (-0x1.c9871d10885afp-7), -+ .c7 = 0x1.7a16e8d9d2ecfp-7, -+ .c8 = V2 (-0x1.3ddca533e9f54p-7), -+ .c9 = 0x1.0becef748dafcp-7, -+ .c10 = V2 (-0x1.b90c7099dd397p-8), -+ .c11 = 0x1.541f2bb1ffe51p-8, -+ .c12 = V2 (-0x1.d217026a669ecp-9), -+ .c13 = 0x1.0b5c7977aaf7p-9, -+ .c14 = V2 (-0x1.e0f37daef9127p-11), -+ .c15 = 0x1.388b5fe542a6p-12, -+ .c16 = V2 (-0x1.021a48685e287p-14), -+ .c17 = V2 (0x1.93d4ba83d34dap-18), -+ -+ .lc0 = V2 (-0x1.ffffffffffff7p-2), -+ .lc1 = 0x1.55555555170d4p-2, -+ .lc2 = V2 (-0x1.0000000399c27p-2), -+ .lc3 = 0x1.999b2e90e94cap-3, -+ .lc4 = -0x1.554e550bd501ep-3, -+ .ln2 = 0x1.62e42fefa39efp-1, -+ -+ .off = V2 (0x3fe6900900000000), -+ .huge_bound = V2 (0x5fe0000000000000), -+ .abs_mask = V2 (0x7fffffffffffffff), -+ .mask = V2 (0xfffULL << 52), - }; - - static float64x2_t NOINLINE VPCS_ATTR --special_case (float64x2_t x, float64x2_t y, uint64x2_t special) -+special_case (float64x2_t x, float64x2_t y, uint64x2_t abs_mask, -+ uint64x2_t special) - { -+ /* Copy sign. */ -+ y = vbslq_f64 (abs_mask, y, x); - return v_call_f64 (asinh, x, y, special); - } - -+#define N (1 << V_LOG_TABLE_BITS) -+#define IndexMask (N - 1) -+ - struct entry - { - float64x2_t invc; -@@ -76,27 +106,34 @@ lookup (uint64x2_t i) - } - - static inline float64x2_t --log_inline (float64x2_t x, const struct data *d) -+log_inline (float64x2_t xm, const struct data *d) - { -- /* Double-precision vector log, copied from ordinary vector log with some -- cosmetic modification and special-cases removed. */ -- uint64x2_t ix = vreinterpretq_u64_f64 (x); -- uint64x2_t tmp = vsubq_u64 (ix, d->off); -- int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (tmp), 52); -- uint64x2_t iz -- = vsubq_u64 (ix, vandq_u64 (tmp, vdupq_n_u64 (0xfffULL << 52))); -+ -+ uint64x2_t u = vreinterpretq_u64_f64 (xm); -+ uint64x2_t u_off = vsubq_u64 (u, d->off); -+ -+ int64x2_t k = vshrq_n_s64 (vreinterpretq_s64_u64 (u_off), 52); -+ uint64x2_t iz = vsubq_u64 (u, vandq_u64 (u_off, d->mask)); - float64x2_t z = vreinterpretq_f64_u64 (iz); -- struct entry e = lookup (tmp); -+ -+ struct entry e = lookup (u_off); -+ -+ /* log(x) = log1p(z/c-1) + log(c) + k*Ln2. */ - float64x2_t r = vfmaq_f64 (v_f64 (-1.0), z, e.invc); - float64x2_t kd = vcvtq_f64_s64 (k); -- float64x2_t hi = vfmaq_f64 (vaddq_f64 (e.logc, r), kd, d->ln2); -+ -+ /* hi = r + log(c) + k*Ln2. */ -+ float64x2_t ln2_and_lc4 = vld1q_f64 (&d->ln2); -+ float64x2_t hi = vfmaq_laneq_f64 (vaddq_f64 (e.logc, r), kd, ln2_and_lc4, 0); -+ -+ /* y = r2*(A0 + r*A1 + r2*(A2 + r*A3 + r2*A4)) + hi. */ -+ float64x2_t odd_coeffs = vld1q_f64 (&d->lc1); - float64x2_t r2 = vmulq_f64 (r, r); -- float64x2_t y = vfmaq_f64 (A (2), A (3), r); -- float64x2_t p = vfmaq_f64 (A (0), A (1), r); -- y = vfmaq_f64 (y, A (4), r2); -- y = vfmaq_f64 (p, y, r2); -- y = vfmaq_f64 (hi, y, r2); -- return y; -+ float64x2_t y = vfmaq_laneq_f64 (d->lc2, r, odd_coeffs, 1); -+ float64x2_t p = vfmaq_laneq_f64 (d->lc0, r, odd_coeffs, 0); -+ y = vfmaq_laneq_f64 (y, r2, ln2_and_lc4, 1); -+ y = vfmaq_f64 (p, r2, y); -+ return vfmaq_f64 (hi, y, r2); - } - - /* Double-precision implementation of vector asinh(x). -@@ -106,23 +143,24 @@ log_inline (float64x2_t x, const struct data *d) - asinh(x) = sign(x) * log(|x| + sqrt(x^2 + 1) if |x| >= 1 - = sign(x) * (|x| + |x|^3 * P(x^2)) otherwise - where log(x) is an optimized log approximation, and P(x) is a polynomial -- shared with the scalar routine. The greatest observed error 3.29 ULP, in -+ shared with the scalar routine. The greatest observed error 2.79 ULP, in - |x| >= 1: -- __v_asinh(0x1.2cd9d717e2c9bp+0) got 0x1.ffffcfd0e234fp-1 -- want 0x1.ffffcfd0e2352p-1. */ -+ _ZGVnN2v_asinh(0x1.2cd9d73ea76a6p+0) got 0x1.ffffd003219dap-1 -+ want 0x1.ffffd003219ddp-1. */ - VPCS_ATTR float64x2_t V_NAME_D1 (asinh) (float64x2_t x) - { - const struct data *d = ptr_barrier (&data); -- - float64x2_t ax = vabsq_f64 (x); -- uint64x2_t iax = vreinterpretq_u64_f64 (ax); - - uint64x2_t gt1 = vcgeq_f64 (ax, v_f64 (1)); -- uint64x2_t special = vcgeq_u64 (iax, d->huge_bound); - - #if WANT_SIMD_EXCEPT -+ uint64x2_t iax = vreinterpretq_u64_f64 (ax); -+ uint64x2_t special = vcgeq_u64 (iax, (d->huge_bound)); - uint64x2_t tiny = vcltq_f64 (ax, d->tiny_bound); - special = vorrq_u64 (special, tiny); -+#else -+ uint64x2_t special = vcgeq_f64 (ax, vreinterpretq_f64_u64 (d->huge_bound)); - #endif - - /* Option 1: |x| >= 1. -@@ -147,19 +185,45 @@ VPCS_ATTR float64x2_t V_NAME_D1 (asinh) (float64x2_t x) - overflow, and tiny lanes, which will underflow, by setting them to 0. They - will be fixed later, either by selecting x or falling back to the scalar - special-case. The largest observed error in this region is 1.47 ULPs: -- __v_asinh(0x1.fdfcd00cc1e6ap-1) got 0x1.c1d6bf874019bp-1 -- want 0x1.c1d6bf874019cp-1. */ -+ _ZGVnN2v_asinh(0x1.fdfcd00cc1e6ap-1) got 0x1.c1d6bf874019bp-1 -+ want 0x1.c1d6bf874019cp-1. */ - float64x2_t option_2 = v_f64 (0); -+ - if (__glibc_likely (v_any_u64 (vceqzq_u64 (gt1)))) - { -+ - #if WANT_SIMD_EXCEPT - ax = v_zerofy_f64 (ax, vorrq_u64 (tiny, gt1)); - #endif -- float64x2_t x2 = vmulq_f64 (ax, ax), x3 = vmulq_f64 (ax, x2), -- z2 = vmulq_f64 (x2, x2), z4 = vmulq_f64 (z2, z2), -- z8 = vmulq_f64 (z4, z4), z16 = vmulq_f64 (z8, z8); -- float64x2_t p = v_estrin_17_f64 (x2, z2, z4, z8, z16, d->poly); -- option_2 = vfmaq_f64 (ax, p, x3); -+ float64x2_t x2 = vmulq_f64 (ax, ax), z2 = vmulq_f64 (x2, x2); -+ /* Order-17 Pairwise Horner scheme. */ -+ float64x2_t c13 = vld1q_f64 (&d->c1); -+ float64x2_t c57 = vld1q_f64 (&d->c5); -+ float64x2_t c911 = vld1q_f64 (&d->c9); -+ float64x2_t c1315 = vld1q_f64 (&d->c13); -+ -+ float64x2_t p01 = vfmaq_laneq_f64 (d->c0, x2, c13, 0); -+ float64x2_t p23 = vfmaq_laneq_f64 (d->c2, x2, c13, 1); -+ float64x2_t p45 = vfmaq_laneq_f64 (d->c4, x2, c57, 0); -+ float64x2_t p67 = vfmaq_laneq_f64 (d->c6, x2, c57, 1); -+ float64x2_t p89 = vfmaq_laneq_f64 (d->c8, x2, c911, 0); -+ float64x2_t p1011 = vfmaq_laneq_f64 (d->c10, x2, c911, 1); -+ float64x2_t p1213 = vfmaq_laneq_f64 (d->c12, x2, c1315, 0); -+ float64x2_t p1415 = vfmaq_laneq_f64 (d->c14, x2, c1315, 1); -+ float64x2_t p1617 = vfmaq_f64 (d->c16, x2, d->c17); -+ -+ float64x2_t p = vfmaq_f64 (p1415, z2, p1617); -+ p = vfmaq_f64 (p1213, z2, p); -+ p = vfmaq_f64 (p1011, z2, p); -+ p = vfmaq_f64 (p89, z2, p); -+ -+ p = vfmaq_f64 (p67, z2, p); -+ p = vfmaq_f64 (p45, z2, p); -+ -+ p = vfmaq_f64 (p23, z2, p); -+ -+ p = vfmaq_f64 (p01, z2, p); -+ option_2 = vfmaq_f64 (ax, p, vmulq_f64 (ax, x2)); - #if WANT_SIMD_EXCEPT - option_2 = vbslq_f64 (tiny, x, option_2); - #endif -@@ -167,10 +231,10 @@ VPCS_ATTR float64x2_t V_NAME_D1 (asinh) (float64x2_t x) - - /* Choose the right option for each lane. */ - float64x2_t y = vbslq_f64 (gt1, option_1, option_2); -- /* Copy sign. */ -- y = vbslq_f64 (d->abs_mask, y, x); -- - if (__glibc_unlikely (v_any_u64 (special))) -- return special_case (x, y, special); -- return y; -+ { -+ return special_case (x, y, d->abs_mask, special); -+ } -+ /* Copy sign. */ -+ return vbslq_f64 (d->abs_mask, y, x); - } - -commit 5f45c0f91eae99b7d49f5c63b900441eb3491213 -Author: Luna Lamb -Date: Fri Jan 3 19:02:52 2025 +0000 - - AArch64: Improve codegen in SVE tans - - Improves memory access. - Tan: MOVPRFX 7 -> 2, LD1RD 12 -> 5, move MOV away from return. - Tanf: MOV 2 -> 1, MOVPRFX 6 -> 3, LD1RW 5 -> 4, move mov away from return. - - (cherry picked from commit aa6609feb20ebf8653db639dabe2a6afc77b02cc) - -diff --git a/sysdeps/aarch64/fpu/tan_sve.c b/sysdeps/aarch64/fpu/tan_sve.c -index b2e4447316..a7318fd417 100644 ---- a/sysdeps/aarch64/fpu/tan_sve.c -+++ b/sysdeps/aarch64/fpu/tan_sve.c -@@ -22,24 +22,38 @@ - - static const struct data - { -- double poly[9]; -- double half_pi_hi, half_pi_lo, inv_half_pi, range_val, shift; -+ double c2, c4, c6, c8; -+ double poly_1357[4]; -+ double c0, inv_half_pi; -+ double half_pi_hi, half_pi_lo, range_val; - } data = { - /* Polynomial generated with FPMinimax. */ -- .poly = { 0x1.5555555555556p-2, 0x1.1111111110a63p-3, 0x1.ba1ba1bb46414p-5, -- 0x1.664f47e5b5445p-6, 0x1.226e5e5ecdfa3p-7, 0x1.d6c7ddbf87047p-9, -- 0x1.7ea75d05b583ep-10, 0x1.289f22964a03cp-11, -- 0x1.4e4fd14147622p-12, }, -+ .c2 = 0x1.ba1ba1bb46414p-5, -+ .c4 = 0x1.226e5e5ecdfa3p-7, -+ .c6 = 0x1.7ea75d05b583ep-10, -+ .c8 = 0x1.4e4fd14147622p-12, -+ .poly_1357 = { 0x1.1111111110a63p-3, 0x1.664f47e5b5445p-6, -+ 0x1.d6c7ddbf87047p-9, 0x1.289f22964a03cp-11 }, -+ .c0 = 0x1.5555555555556p-2, -+ .inv_half_pi = 0x1.45f306dc9c883p-1, - .half_pi_hi = 0x1.921fb54442d18p0, - .half_pi_lo = 0x1.1a62633145c07p-54, -- .inv_half_pi = 0x1.45f306dc9c883p-1, - .range_val = 0x1p23, -- .shift = 0x1.8p52, - }; - - static svfloat64_t NOINLINE --special_case (svfloat64_t x, svfloat64_t y, svbool_t special) -+special_case (svfloat64_t x, svfloat64_t p, svfloat64_t q, svbool_t pg, -+ svbool_t special) - { -+ svbool_t use_recip = svcmpeq ( -+ pg, svand_x (pg, svreinterpret_u64 (svcvt_s64_x (pg, q)), 1), 0); -+ -+ svfloat64_t n = svmad_x (pg, p, p, -1); -+ svfloat64_t d = svmul_x (svptrue_b64 (), p, 2); -+ svfloat64_t swap = n; -+ n = svneg_m (n, use_recip, d); -+ d = svsel (use_recip, swap, d); -+ svfloat64_t y = svdiv_x (svnot_z (pg, special), n, d); - return sv_call_f64 (tan, x, y, special); - } - -@@ -50,15 +64,10 @@ special_case (svfloat64_t x, svfloat64_t y, svbool_t special) - svfloat64_t SV_NAME_D1 (tan) (svfloat64_t x, svbool_t pg) - { - const struct data *dat = ptr_barrier (&data); -- -- /* Invert condition to catch NaNs and Infs as well as large values. */ -- svbool_t special = svnot_z (pg, svaclt (pg, x, dat->range_val)); -- -+ svfloat64_t half_pi_c0 = svld1rq (svptrue_b64 (), &dat->c0); - /* q = nearest integer to 2 * x / pi. */ -- svfloat64_t shift = sv_f64 (dat->shift); -- svfloat64_t q = svmla_x (pg, shift, x, dat->inv_half_pi); -- q = svsub_x (pg, q, shift); -- svint64_t qi = svcvt_s64_x (pg, q); -+ svfloat64_t q = svmul_lane (x, half_pi_c0, 1); -+ q = svrinta_x (pg, q); - - /* Use q to reduce x to r in [-pi/4, pi/4], by: - r = x - q * pi/2, in extended precision. */ -@@ -68,7 +77,7 @@ svfloat64_t SV_NAME_D1 (tan) (svfloat64_t x, svbool_t pg) - r = svmls_lane (r, q, half_pi, 1); - /* Further reduce r to [-pi/8, pi/8], to be reconstructed using double angle - formula. */ -- r = svmul_x (pg, r, 0.5); -+ r = svmul_x (svptrue_b64 (), r, 0.5); - - /* Approximate tan(r) using order 8 polynomial. - tan(x) is odd, so polynomial has the form: -@@ -76,29 +85,51 @@ svfloat64_t SV_NAME_D1 (tan) (svfloat64_t x, svbool_t pg) - Hence we first approximate P(r) = C1 + C2 * r^2 + C3 * r^4 + ... - Then compute the approximation by: - tan(r) ~= r + r^3 * (C0 + r^2 * P(r)). */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t r4 = svmul_x (pg, r2, r2); -- svfloat64_t r8 = svmul_x (pg, r4, r4); -+ -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t r4 = svmul_x (svptrue_b64 (), r2, r2); -+ svfloat64_t r8 = svmul_x (svptrue_b64 (), r4, r4); - /* Use offset version coeff array by 1 to evaluate from C1 onwards. */ -- svfloat64_t p = sv_estrin_7_f64_x (pg, r2, r4, r8, dat->poly + 1); -- p = svmad_x (pg, p, r2, dat->poly[0]); -- p = svmla_x (pg, r, r2, svmul_x (pg, p, r)); -+ svfloat64_t C_24 = svld1rq (svptrue_b64 (), &dat->c2); -+ svfloat64_t C_68 = svld1rq (svptrue_b64 (), &dat->c6); -+ -+ /* Use offset version coeff array by 1 to evaluate from C1 onwards. */ -+ svfloat64_t p01 = svmla_lane (sv_f64 (dat->poly_1357[0]), r2, C_24, 0); -+ svfloat64_t p23 = svmla_lane_f64 (sv_f64 (dat->poly_1357[1]), r2, C_24, 1); -+ svfloat64_t p03 = svmla_x (pg, p01, p23, r4); -+ -+ svfloat64_t p45 = svmla_lane (sv_f64 (dat->poly_1357[2]), r2, C_68, 0); -+ svfloat64_t p67 = svmla_lane (sv_f64 (dat->poly_1357[3]), r2, C_68, 1); -+ svfloat64_t p47 = svmla_x (pg, p45, p67, r4); -+ -+ svfloat64_t p = svmla_x (pg, p03, p47, r8); -+ -+ svfloat64_t z = svmul_x (svptrue_b64 (), p, r); -+ z = svmul_x (svptrue_b64 (), r2, z); -+ z = svmla_lane (z, r, half_pi_c0, 0); -+ p = svmla_x (pg, r, r2, z); - - /* Recombination uses double-angle formula: - tan(2x) = 2 * tan(x) / (1 - (tan(x))^2) - and reciprocity around pi/2: - tan(x) = 1 / (tan(pi/2 - x)) - to assemble result using change-of-sign and conditional selection of -- numerator/denominator dependent on odd/even-ness of q (hence quadrant). */ -- svbool_t use_recip -- = svcmpeq (pg, svand_x (pg, svreinterpret_u64 (qi), 1), 0); -+ numerator/denominator dependent on odd/even-ness of q (quadrant). */ -+ -+ /* Invert condition to catch NaNs and Infs as well as large values. */ -+ svbool_t special = svnot_z (pg, svaclt (pg, x, dat->range_val)); -+ -+ if (__glibc_unlikely (svptest_any (pg, special))) -+ { -+ return special_case (x, p, q, pg, special); -+ } -+ svbool_t use_recip = svcmpeq ( -+ pg, svand_x (pg, svreinterpret_u64 (svcvt_s64_x (pg, q)), 1), 0); - - svfloat64_t n = svmad_x (pg, p, p, -1); -- svfloat64_t d = svmul_x (pg, p, 2); -+ svfloat64_t d = svmul_x (svptrue_b64 (), p, 2); - svfloat64_t swap = n; - n = svneg_m (n, use_recip, d); - d = svsel (use_recip, swap, d); -- if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svdiv_x (svnot_z (pg, special), n, d), special); - return svdiv_x (pg, n, d); - } -diff --git a/sysdeps/aarch64/fpu/tanf_sve.c b/sysdeps/aarch64/fpu/tanf_sve.c -index f342583241..e850fb4882 100644 ---- a/sysdeps/aarch64/fpu/tanf_sve.c -+++ b/sysdeps/aarch64/fpu/tanf_sve.c -@@ -60,21 +60,16 @@ svfloat32_t SV_NAME_F1 (tan) (svfloat32_t x, const svbool_t pg) - { - const struct data *d = ptr_barrier (&data); - -- /* Determine whether input is too large to perform fast regression. */ -- svbool_t cmp = svacge (pg, x, d->range_val); -- - svfloat32_t odd_coeffs = svld1rq (svptrue_b32 (), &d->c1); - svfloat32_t pi_vals = svld1rq (svptrue_b32 (), &d->pio2_1); - - /* n = rint(x/(pi/2)). */ -- svfloat32_t q = svmla_lane (sv_f32 (d->shift), x, pi_vals, 3); -- svfloat32_t n = svsub_x (pg, q, d->shift); -+ svfloat32_t n = svrintn_x (pg, svmul_lane (x, pi_vals, 3)); - /* n is already a signed integer, simply convert it. */ - svint32_t in = svcvt_s32_x (pg, n); - /* Determine if x lives in an interval, where |tan(x)| grows to infinity. */ - svint32_t alt = svand_x (pg, in, 1); - svbool_t pred_alt = svcmpne (pg, alt, 0); -- - /* r = x - n * (pi/2) (range reduction into 0 .. pi/4). */ - svfloat32_t r; - r = svmls_lane (x, n, pi_vals, 0); -@@ -93,7 +88,7 @@ svfloat32_t SV_NAME_F1 (tan) (svfloat32_t x, const svbool_t pg) - - /* Evaluate polynomial approximation of tangent on [-pi/4, pi/4], - using Estrin on z^2. */ -- svfloat32_t z2 = svmul_x (pg, z, z); -+ svfloat32_t z2 = svmul_x (svptrue_b32 (), r, r); - svfloat32_t p01 = svmla_lane (sv_f32 (d->c0), z2, odd_coeffs, 0); - svfloat32_t p23 = svmla_lane (sv_f32 (d->c2), z2, odd_coeffs, 1); - svfloat32_t p45 = svmla_lane (sv_f32 (d->c4), z2, odd_coeffs, 2); -@@ -106,13 +101,14 @@ svfloat32_t SV_NAME_F1 (tan) (svfloat32_t x, const svbool_t pg) - - svfloat32_t y = svmla_x (pg, z, p, svmul_x (pg, z, z2)); - -- /* Transform result back, if necessary. */ -- svfloat32_t inv_y = svdivr_x (pg, y, 1.0f); -- - /* No need to pass pg to specialcase here since cmp is a strict subset, - guaranteed by the cmpge above. */ -+ -+ /* Determine whether input is too large to perform fast regression. */ -+ svbool_t cmp = svacge (pg, x, d->range_val); - if (__glibc_unlikely (svptest_any (pg, cmp))) -- return special_case (x, svsel (pred_alt, inv_y, y), cmp); -+ return special_case (x, svdivr_x (pg, y, 1.0f), cmp); - -+ svfloat32_t inv_y = svdivr_x (pg, y, 1.0f); - return svsel (pred_alt, inv_y, y); - } - -commit ab5ba6c188159bb5e12be95cd90458924c2fe592 -Author: Yat Long Poon -Date: Fri Jan 3 19:07:30 2025 +0000 - - AArch64: Improve codegen for SVE logs - - Reduce memory access by using lanewise MLA and moving constants to struct - and reduce number of MOVPRFXs. - Update maximum ULP error for double log_sve from 1 to 2. - Speedup on Neoverse V1 for log (3%), log2 (5%), and log10 (4%). - - (cherry picked from commit 32d193a372feb28f9da247bb7283d404b84429c6) - -diff --git a/sysdeps/aarch64/fpu/log10_sve.c b/sysdeps/aarch64/fpu/log10_sve.c -index ab7362128d..f1cad2759a 100644 ---- a/sysdeps/aarch64/fpu/log10_sve.c -+++ b/sysdeps/aarch64/fpu/log10_sve.c -@@ -23,28 +23,49 @@ - #define Min 0x0010000000000000 - #define Max 0x7ff0000000000000 - #define Thres 0x7fe0000000000000 /* Max - Min. */ --#define Off 0x3fe6900900000000 - #define N (1 << V_LOG10_TABLE_BITS) - -+static const struct data -+{ -+ double c0, c2; -+ double c1, c3; -+ double invln10, log10_2; -+ double c4; -+ uint64_t off; -+} data = { -+ .c0 = -0x1.bcb7b1526e506p-3, -+ .c1 = 0x1.287a7636be1d1p-3, -+ .c2 = -0x1.bcb7b158af938p-4, -+ .c3 = 0x1.63c78734e6d07p-4, -+ .c4 = -0x1.287461742fee4p-4, -+ .invln10 = 0x1.bcb7b1526e50ep-2, -+ .log10_2 = 0x1.34413509f79ffp-2, -+ .off = 0x3fe6900900000000, -+}; -+ - static svfloat64_t NOINLINE --special_case (svfloat64_t x, svfloat64_t y, svbool_t special) -+special_case (svfloat64_t hi, svuint64_t tmp, svfloat64_t y, svfloat64_t r2, -+ svbool_t special, const struct data *d) - { -- return sv_call_f64 (log10, x, y, special); -+ svfloat64_t x = svreinterpret_f64 (svadd_x (svptrue_b64 (), tmp, d->off)); -+ return sv_call_f64 (log10, x, svmla_x (svptrue_b64 (), hi, r2, y), special); - } - --/* SVE log10 algorithm. -+/* Double-precision SVE log10 routine. - Maximum measured error is 2.46 ulps. - SV_NAME_D1 (log10)(0x1.131956cd4b627p+0) got 0x1.fffbdf6eaa669p-6 - want 0x1.fffbdf6eaa667p-6. */ - svfloat64_t SV_NAME_D1 (log10) (svfloat64_t x, const svbool_t pg) - { -+ const struct data *d = ptr_barrier (&data); -+ - svuint64_t ix = svreinterpret_u64 (x); - svbool_t special = svcmpge (pg, svsub_x (pg, ix, Min), Thres); - - /* x = 2^k z; where z is in range [Off,2*Off) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- svuint64_t tmp = svsub_x (pg, ix, Off); -+ svuint64_t tmp = svsub_x (pg, ix, d->off); - svuint64_t i = svlsr_x (pg, tmp, 51 - V_LOG10_TABLE_BITS); - i = svand_x (pg, i, (N - 1) << 1); - svfloat64_t k = svcvt_f64_x (pg, svasr_x (pg, svreinterpret_s64 (tmp), 52)); -@@ -62,15 +83,19 @@ svfloat64_t SV_NAME_D1 (log10) (svfloat64_t x, const svbool_t pg) - svfloat64_t r = svmad_x (pg, invc, z, -1.0); - - /* hi = log(c) + k*log(2). */ -- svfloat64_t w = svmla_x (pg, logc, r, __v_log10_data.invln10); -- svfloat64_t hi = svmla_x (pg, w, k, __v_log10_data.log10_2); -+ svfloat64_t invln10_log10_2 = svld1rq_f64 (svptrue_b64 (), &d->invln10); -+ svfloat64_t w = svmla_lane_f64 (logc, r, invln10_log10_2, 0); -+ svfloat64_t hi = svmla_lane_f64 (w, k, invln10_log10_2, 1); - - /* y = r2*(A0 + r*A1 + r2*(A2 + r*A3 + r2*A4)) + hi. */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t y = sv_pw_horner_4_f64_x (pg, r, r2, __v_log10_data.poly); -+ svfloat64_t odd_coeffs = svld1rq_f64 (svptrue_b64 (), &d->c1); -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t y = svmla_lane_f64 (sv_f64 (d->c2), r, odd_coeffs, 1); -+ svfloat64_t p = svmla_lane_f64 (sv_f64 (d->c0), r, odd_coeffs, 0); -+ y = svmla_x (pg, y, r2, d->c4); -+ y = svmla_x (pg, p, r2, y); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmla_x (svnot_z (pg, special), hi, r2, y), -- special); -+ return special_case (hi, tmp, y, r2, special, d); - return svmla_x (pg, hi, r2, y); - } -diff --git a/sysdeps/aarch64/fpu/log2_sve.c b/sysdeps/aarch64/fpu/log2_sve.c -index 743fa2a913..908e638246 100644 ---- a/sysdeps/aarch64/fpu/log2_sve.c -+++ b/sysdeps/aarch64/fpu/log2_sve.c -@@ -21,15 +21,32 @@ - #include "poly_sve_f64.h" - - #define N (1 << V_LOG2_TABLE_BITS) --#define Off 0x3fe6900900000000 - #define Max (0x7ff0000000000000) - #define Min (0x0010000000000000) - #define Thresh (0x7fe0000000000000) /* Max - Min. */ - -+static const struct data -+{ -+ double c0, c2; -+ double c1, c3; -+ double invln2, c4; -+ uint64_t off; -+} data = { -+ .c0 = -0x1.71547652b83p-1, -+ .c1 = 0x1.ec709dc340953p-2, -+ .c2 = -0x1.71547651c8f35p-2, -+ .c3 = 0x1.2777ebe12dda5p-2, -+ .c4 = -0x1.ec738d616fe26p-3, -+ .invln2 = 0x1.71547652b82fep0, -+ .off = 0x3fe6900900000000, -+}; -+ - static svfloat64_t NOINLINE --special_case (svfloat64_t x, svfloat64_t y, svbool_t cmp) -+special_case (svfloat64_t w, svuint64_t tmp, svfloat64_t y, svfloat64_t r2, -+ svbool_t special, const struct data *d) - { -- return sv_call_f64 (log2, x, y, cmp); -+ svfloat64_t x = svreinterpret_f64 (svadd_x (svptrue_b64 (), tmp, d->off)); -+ return sv_call_f64 (log2, x, svmla_x (svptrue_b64 (), w, r2, y), special); - } - - /* Double-precision SVE log2 routine. -@@ -40,13 +57,15 @@ special_case (svfloat64_t x, svfloat64_t y, svbool_t cmp) - want 0x1.fffb34198d9ddp-5. */ - svfloat64_t SV_NAME_D1 (log2) (svfloat64_t x, const svbool_t pg) - { -+ const struct data *d = ptr_barrier (&data); -+ - svuint64_t ix = svreinterpret_u64 (x); - svbool_t special = svcmpge (pg, svsub_x (pg, ix, Min), Thresh); - - /* x = 2^k z; where z is in range [Off,2*Off) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- svuint64_t tmp = svsub_x (pg, ix, Off); -+ svuint64_t tmp = svsub_x (pg, ix, d->off); - svuint64_t i = svlsr_x (pg, tmp, 51 - V_LOG2_TABLE_BITS); - i = svand_x (pg, i, (N - 1) << 1); - svfloat64_t k = svcvt_f64_x (pg, svasr_x (pg, svreinterpret_s64 (tmp), 52)); -@@ -59,15 +78,19 @@ svfloat64_t SV_NAME_D1 (log2) (svfloat64_t x, const svbool_t pg) - - /* log2(x) = log1p(z/c-1)/log(2) + log2(c) + k. */ - -+ svfloat64_t invln2_and_c4 = svld1rq_f64 (svptrue_b64 (), &d->invln2); - svfloat64_t r = svmad_x (pg, invc, z, -1.0); -- svfloat64_t w = svmla_x (pg, log2c, r, __v_log2_data.invln2); -- -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t y = sv_pw_horner_4_f64_x (pg, r, r2, __v_log2_data.poly); -+ svfloat64_t w = svmla_lane_f64 (log2c, r, invln2_and_c4, 0); - w = svadd_x (pg, k, w); - -+ svfloat64_t odd_coeffs = svld1rq_f64 (svptrue_b64 (), &d->c1); -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t y = svmla_lane_f64 (sv_f64 (d->c2), r, odd_coeffs, 1); -+ svfloat64_t p = svmla_lane_f64 (sv_f64 (d->c0), r, odd_coeffs, 0); -+ y = svmla_lane_f64 (y, r2, invln2_and_c4, 1); -+ y = svmla_x (pg, p, r2, y); -+ - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmla_x (svnot_z (pg, special), w, r2, y), -- special); -+ return special_case (w, tmp, y, r2, special, d); - return svmla_x (pg, w, r2, y); - } -diff --git a/sysdeps/aarch64/fpu/log_sve.c b/sysdeps/aarch64/fpu/log_sve.c -index 9b689f2ec7..044223400b 100644 ---- a/sysdeps/aarch64/fpu/log_sve.c -+++ b/sysdeps/aarch64/fpu/log_sve.c -@@ -19,39 +19,54 @@ - - #include "sv_math.h" - --#define P(i) sv_f64 (__v_log_data.poly[i]) - #define N (1 << V_LOG_TABLE_BITS) --#define Off (0x3fe6900900000000) --#define MaxTop (0x7ff) --#define MinTop (0x001) --#define ThreshTop (0x7fe) /* MaxTop - MinTop. */ -+#define Max (0x7ff0000000000000) -+#define Min (0x0010000000000000) -+#define Thresh (0x7fe0000000000000) /* Max - Min. */ -+ -+static const struct data -+{ -+ double c0, c2; -+ double c1, c3; -+ double ln2, c4; -+ uint64_t off; -+} data = { -+ .c0 = -0x1.ffffffffffff7p-2, -+ .c1 = 0x1.55555555170d4p-2, -+ .c2 = -0x1.0000000399c27p-2, -+ .c3 = 0x1.999b2e90e94cap-3, -+ .c4 = -0x1.554e550bd501ep-3, -+ .ln2 = 0x1.62e42fefa39efp-1, -+ .off = 0x3fe6900900000000, -+}; - - static svfloat64_t NOINLINE --special_case (svfloat64_t x, svfloat64_t y, svbool_t cmp) -+special_case (svfloat64_t hi, svuint64_t tmp, svfloat64_t y, svfloat64_t r2, -+ svbool_t special, const struct data *d) - { -- return sv_call_f64 (log, x, y, cmp); -+ svfloat64_t x = svreinterpret_f64 (svadd_x (svptrue_b64 (), tmp, d->off)); -+ return sv_call_f64 (log, x, svmla_x (svptrue_b64 (), hi, r2, y), special); - } - --/* SVE port of AdvSIMD log algorithm. -- Maximum measured error is 2.17 ulp: -- SV_NAME_D1 (log)(0x1.a6129884398a3p+0) got 0x1.ffffff1cca043p-2 -- want 0x1.ffffff1cca045p-2. */ -+/* Double-precision SVE log routine. -+ Maximum measured error is 2.64 ulp: -+ SV_NAME_D1 (log)(0x1.95e54bc91a5e2p+184) got 0x1.fffffffe88cacp+6 -+ want 0x1.fffffffe88cafp+6. */ - svfloat64_t SV_NAME_D1 (log) (svfloat64_t x, const svbool_t pg) - { -+ const struct data *d = ptr_barrier (&data); -+ - svuint64_t ix = svreinterpret_u64 (x); -- svuint64_t top = svlsr_x (pg, ix, 52); -- svbool_t cmp = svcmpge (pg, svsub_x (pg, top, MinTop), sv_u64 (ThreshTop)); -+ svbool_t special = svcmpge (pg, svsub_x (pg, ix, Min), Thresh); - - /* x = 2^k z; where z is in range [Off,2*Off) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- svuint64_t tmp = svsub_x (pg, ix, Off); -+ svuint64_t tmp = svsub_x (pg, ix, d->off); - /* Calculate table index = (tmp >> (52 - V_LOG_TABLE_BITS)) % N. - The actual value of i is double this due to table layout. */ - svuint64_t i - = svand_x (pg, svlsr_x (pg, tmp, (51 - V_LOG_TABLE_BITS)), (N - 1) << 1); -- svint64_t k -- = svasr_x (pg, svreinterpret_s64 (tmp), 52); /* Arithmetic shift. */ - svuint64_t iz = svsub_x (pg, ix, svand_x (pg, tmp, 0xfffULL << 52)); - svfloat64_t z = svreinterpret_f64 (iz); - /* Lookup in 2 global lists (length N). */ -@@ -59,18 +74,22 @@ svfloat64_t SV_NAME_D1 (log) (svfloat64_t x, const svbool_t pg) - svfloat64_t logc = svld1_gather_index (pg, &__v_log_data.table[0].logc, i); - - /* log(x) = log1p(z/c-1) + log(c) + k*Ln2. */ -- svfloat64_t r = svmad_x (pg, invc, z, -1); -- svfloat64_t kd = svcvt_f64_x (pg, k); -+ svfloat64_t kd = svcvt_f64_x (pg, svasr_x (pg, svreinterpret_s64 (tmp), 52)); - /* hi = r + log(c) + k*Ln2. */ -- svfloat64_t hi = svmla_x (pg, svadd_x (pg, logc, r), kd, __v_log_data.ln2); -+ svfloat64_t ln2_and_c4 = svld1rq_f64 (svptrue_b64 (), &d->ln2); -+ svfloat64_t r = svmad_x (pg, invc, z, -1); -+ svfloat64_t hi = svmla_lane_f64 (logc, kd, ln2_and_c4, 0); -+ hi = svadd_x (pg, r, hi); -+ - /* y = r2*(A0 + r*A1 + r2*(A2 + r*A3 + r2*A4)) + hi. */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t y = svmla_x (pg, P (2), r, P (3)); -- svfloat64_t p = svmla_x (pg, P (0), r, P (1)); -- y = svmla_x (pg, y, r2, P (4)); -+ svfloat64_t odd_coeffs = svld1rq_f64 (svptrue_b64 (), &d->c1); -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t y = svmla_lane_f64 (sv_f64 (d->c2), r, odd_coeffs, 1); -+ svfloat64_t p = svmla_lane_f64 (sv_f64 (d->c0), r, odd_coeffs, 0); -+ y = svmla_lane_f64 (y, r2, ln2_and_c4, 1); - y = svmla_x (pg, p, r2, y); - -- if (__glibc_unlikely (svptest_any (pg, cmp))) -- return special_case (x, svmla_x (svnot_z (pg, cmp), hi, r2, y), cmp); -+ if (__glibc_unlikely (svptest_any (pg, special))) -+ return special_case (hi, tmp, y, r2, special, d); - return svmla_x (pg, hi, r2, y); - } -diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps -index 6c96304611..b76c38dac2 100644 ---- a/sysdeps/aarch64/libm-test-ulps -+++ b/sysdeps/aarch64/libm-test-ulps -@@ -1460,7 +1460,7 @@ float: 2 - ldouble: 1 - - Function: "log_sve": --double: 1 -+double: 2 - float: 3 - - Function: "log_towardzero": - -commit aa7c61ea15e27ae14717e065a5d4c50baa472851 -Author: Yat Long Poon -Date: Fri Jan 3 19:09:05 2025 +0000 - - AArch64: Improve codegen for SVE log1pf users - - Reduce memory access by using lanewise MLA and reduce number of MOVPRFXs. - Move log1pf implementation to inline helper function. - Speedup on Neoverse V1 for log1pf (10%), acoshf (-1%), atanhf (2%), asinhf (2%). - - (cherry picked from commit 91c1fadba338752bf514cd4cca057b27b1b10eed) - -diff --git a/sysdeps/aarch64/fpu/acoshf_sve.c b/sysdeps/aarch64/fpu/acoshf_sve.c -index 2110894e62..491365e24d 100644 ---- a/sysdeps/aarch64/fpu/acoshf_sve.c -+++ b/sysdeps/aarch64/fpu/acoshf_sve.c -@@ -17,23 +17,26 @@ - License along with the GNU C Library; if not, see - . */ - -+#include "sv_math.h" -+#include "sv_log1pf_inline.h" -+ - #define One 0x3f800000 - #define Thres 0x20000000 /* asuint(0x1p64) - One. */ - --#include "sv_log1pf_inline.h" -- - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svfloat32_t xm1, svfloat32_t tmp, svbool_t special) - { -+ svfloat32_t x = svadd_x (svptrue_b32 (), xm1, 1.0f); -+ svfloat32_t y = sv_log1pf_inline (tmp, svptrue_b32 ()); - return sv_call_f32 (acoshf, x, y, special); - } - - /* Single-precision SVE acosh(x) routine. Implements the same algorithm as - vector acoshf and log1p. - -- Maximum error is 2.78 ULPs: -- SV_NAME_F1 (acosh) (0x1.01e996p+0) got 0x1.f45b42p-4 -- want 0x1.f45b3cp-4. */ -+ Maximum error is 2.47 ULPs: -+ SV_NAME_F1 (acosh) (0x1.01ca76p+0) got 0x1.e435a6p-4 -+ want 0x1.e435a2p-4. */ - svfloat32_t SV_NAME_F1 (acosh) (svfloat32_t x, const svbool_t pg) - { - svuint32_t ix = svreinterpret_u32 (x); -@@ -41,9 +44,9 @@ svfloat32_t SV_NAME_F1 (acosh) (svfloat32_t x, const svbool_t pg) - - svfloat32_t xm1 = svsub_x (pg, x, 1.0f); - svfloat32_t u = svmul_x (pg, xm1, svadd_x (pg, x, 1.0f)); -- svfloat32_t y = sv_log1pf_inline (svadd_x (pg, xm1, svsqrt_x (pg, u)), pg); -+ svfloat32_t tmp = svadd_x (pg, xm1, svsqrt_x (pg, u)); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, y, special); -- return y; -+ return special_case (xm1, tmp, special); -+ return sv_log1pf_inline (tmp, pg); - } -diff --git a/sysdeps/aarch64/fpu/asinhf_sve.c b/sysdeps/aarch64/fpu/asinhf_sve.c -index d85c3a685c..b7f253bf32 100644 ---- a/sysdeps/aarch64/fpu/asinhf_sve.c -+++ b/sysdeps/aarch64/fpu/asinhf_sve.c -@@ -20,20 +20,23 @@ - #include "sv_math.h" - #include "sv_log1pf_inline.h" - --#define BigBound (0x5f800000) /* asuint(0x1p64). */ -+#define BigBound 0x5f800000 /* asuint(0x1p64). */ - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svuint32_t iax, svuint32_t sign, svfloat32_t y, svbool_t special) - { -+ svfloat32_t x = svreinterpret_f32 (sveor_x (svptrue_b32 (), iax, sign)); -+ y = svreinterpret_f32 ( -+ svorr_x (svptrue_b32 (), sign, svreinterpret_u32 (y))); - return sv_call_f32 (asinhf, x, y, special); - } - - /* Single-precision SVE asinh(x) routine. Implements the same algorithm as - vector asinhf and log1p. - -- Maximum error is 2.48 ULPs: -- SV_NAME_F1 (asinh) (0x1.008864p-3) got 0x1.ffbbbcp-4 -- want 0x1.ffbbb8p-4. */ -+ Maximum error is 1.92 ULPs: -+ SV_NAME_F1 (asinh) (-0x1.0922ecp-1) got -0x1.fd0bccp-2 -+ want -0x1.fd0bc8p-2. */ - svfloat32_t SV_NAME_F1 (asinh) (svfloat32_t x, const svbool_t pg) - { - svfloat32_t ax = svabs_x (pg, x); -@@ -49,8 +52,6 @@ svfloat32_t SV_NAME_F1 (asinh) (svfloat32_t x, const svbool_t pg) - = sv_log1pf_inline (svadd_x (pg, ax, svdiv_x (pg, ax2, d)), pg); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case ( -- x, svreinterpret_f32 (svorr_x (pg, sign, svreinterpret_u32 (y))), -- special); -+ return special_case (iax, sign, y, special); - return svreinterpret_f32 (svorr_x (pg, sign, svreinterpret_u32 (y))); - } -diff --git a/sysdeps/aarch64/fpu/atanhf_sve.c b/sysdeps/aarch64/fpu/atanhf_sve.c -index dae83041ef..2d3005bbc8 100644 ---- a/sysdeps/aarch64/fpu/atanhf_sve.c -+++ b/sysdeps/aarch64/fpu/atanhf_sve.c -@@ -17,21 +17,25 @@ - License along with the GNU C Library; if not, see - . */ - -+#include "sv_math.h" - #include "sv_log1pf_inline.h" - - #define One (0x3f800000) - #define Half (0x3f000000) - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svuint32_t iax, svuint32_t sign, svfloat32_t halfsign, -+ svfloat32_t y, svbool_t special) - { -+ svfloat32_t x = svreinterpret_f32 (sveor_x (svptrue_b32 (), iax, sign)); -+ y = svmul_x (svptrue_b32 (), halfsign, y); - return sv_call_f32 (atanhf, x, y, special); - } - - /* Approximation for vector single-precision atanh(x) using modified log1p. -- The maximum error is 2.28 ULP: -- _ZGVsMxv_atanhf(0x1.ff1194p-5) got 0x1.ffbbbcp-5 -- want 0x1.ffbbb6p-5. */ -+ The maximum error is 1.99 ULP: -+ _ZGVsMxv_atanhf(0x1.f1583p-5) got 0x1.f1f4fap-5 -+ want 0x1.f1f4f6p-5. */ - svfloat32_t SV_NAME_F1 (atanh) (svfloat32_t x, const svbool_t pg) - { - svfloat32_t ax = svabs_x (pg, x); -@@ -48,7 +52,7 @@ svfloat32_t SV_NAME_F1 (atanh) (svfloat32_t x, const svbool_t pg) - y = sv_log1pf_inline (y, pg); - - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svmul_x (pg, halfsign, y), special); -+ return special_case (iax, sign, halfsign, y, special); - - return svmul_x (pg, halfsign, y); - } -diff --git a/sysdeps/aarch64/fpu/log1pf_sve.c b/sysdeps/aarch64/fpu/log1pf_sve.c -index 5256d5e94c..18a185c838 100644 ---- a/sysdeps/aarch64/fpu/log1pf_sve.c -+++ b/sysdeps/aarch64/fpu/log1pf_sve.c -@@ -18,30 +18,13 @@ - . */ - - #include "sv_math.h" --#include "poly_sve_f32.h" -- --static const struct data --{ -- float poly[8]; -- float ln2, exp_bias; -- uint32_t four, three_quarters; --} data = {.poly = {/* Do not store first term of polynomial, which is -0.5, as -- this can be fmov-ed directly instead of including it in -- the main load-and-mla polynomial schedule. */ -- 0x1.5555aap-2f, -0x1.000038p-2f, 0x1.99675cp-3f, -- -0x1.54ef78p-3f, 0x1.28a1f4p-3f, -0x1.0da91p-3f, -- 0x1.abcb6p-4f, -0x1.6f0d5ep-5f}, -- .ln2 = 0x1.62e43p-1f, -- .exp_bias = 0x1p-23f, -- .four = 0x40800000, -- .three_quarters = 0x3f400000}; -- --#define SignExponentMask 0xff800000 -+#include "sv_log1pf_inline.h" - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svfloat32_t x, svbool_t special) - { -- return sv_call_f32 (log1pf, x, y, special); -+ return sv_call_f32 (log1pf, x, sv_log1pf_inline (x, svptrue_b32 ()), -+ special); - } - - /* Vector log1pf approximation using polynomial on reduced interval. Worst-case -@@ -50,53 +33,14 @@ special_case (svfloat32_t x, svfloat32_t y, svbool_t special) - want 0x1.9f323ep-2. */ - svfloat32_t SV_NAME_F1 (log1p) (svfloat32_t x, svbool_t pg) - { -- const struct data *d = ptr_barrier (&data); - /* x < -1, Inf/Nan. */ - svbool_t special = svcmpeq (pg, svreinterpret_u32 (x), 0x7f800000); - special = svorn_z (pg, special, svcmpge (pg, x, -1)); - -- /* With x + 1 = t * 2^k (where t = m + 1 and k is chosen such that m -- is in [-0.25, 0.5]): -- log1p(x) = log(t) + log(2^k) = log1p(m) + k*log(2). -- -- We approximate log1p(m) with a polynomial, then scale by -- k*log(2). Instead of doing this directly, we use an intermediate -- scale factor s = 4*k*log(2) to ensure the scale is representable -- as a normalised fp32 number. */ -- svfloat32_t m = svadd_x (pg, x, 1); -- -- /* Choose k to scale x to the range [-1/4, 1/2]. */ -- svint32_t k -- = svand_x (pg, svsub_x (pg, svreinterpret_s32 (m), d->three_quarters), -- sv_s32 (SignExponentMask)); -- -- /* Scale x by exponent manipulation. */ -- svfloat32_t m_scale = svreinterpret_f32 ( -- svsub_x (pg, svreinterpret_u32 (x), svreinterpret_u32 (k))); -- -- /* Scale up to ensure that the scale factor is representable as normalised -- fp32 number, and scale m down accordingly. */ -- svfloat32_t s = svreinterpret_f32 (svsubr_x (pg, k, d->four)); -- m_scale = svadd_x (pg, m_scale, svmla_x (pg, sv_f32 (-1), s, 0.25)); -- -- /* Evaluate polynomial on reduced interval. */ -- svfloat32_t ms2 = svmul_x (pg, m_scale, m_scale), -- ms4 = svmul_x (pg, ms2, ms2); -- svfloat32_t p = sv_estrin_7_f32_x (pg, m_scale, ms2, ms4, d->poly); -- p = svmad_x (pg, m_scale, p, -0.5); -- p = svmla_x (pg, m_scale, m_scale, svmul_x (pg, m_scale, p)); -- -- /* The scale factor to be applied back at the end - by multiplying float(k) -- by 2^-23 we get the unbiased exponent of k. */ -- svfloat32_t scale_back = svmul_x (pg, svcvt_f32_x (pg, k), d->exp_bias); -- -- /* Apply the scaling back. */ -- svfloat32_t y = svmla_x (pg, p, scale_back, d->ln2); -- - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, y, special); -+ return special_case (x, special); - -- return y; -+ return sv_log1pf_inline (x, pg); - } - - strong_alias (SV_NAME_F1 (log1p), SV_NAME_F1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/sv_log1pf_inline.h b/sysdeps/aarch64/fpu/sv_log1pf_inline.h -index b94b2da055..850297d615 100644 ---- a/sysdeps/aarch64/fpu/sv_log1pf_inline.h -+++ b/sysdeps/aarch64/fpu/sv_log1pf_inline.h -@@ -22,55 +22,76 @@ - - #include "sv_math.h" - #include "vecmath_config.h" --#include "poly_sve_f32.h" -+ -+#define SignExponentMask 0xff800000 - - static const struct sv_log1pf_data - { -- float32_t poly[9]; -- float32_t ln2; -- float32_t scale_back; -+ float c0, c2, c4, c6; -+ float c1, c3, c5, c7; -+ float ln2, exp_bias, quarter; -+ uint32_t four, three_quarters; - } sv_log1pf_data = { -- /* Polynomial generated using FPMinimax in [-0.25, 0.5]. */ -- .poly = { -0x1p-1f, 0x1.5555aap-2f, -0x1.000038p-2f, 0x1.99675cp-3f, -- -0x1.54ef78p-3f, 0x1.28a1f4p-3f, -0x1.0da91p-3f, 0x1.abcb6p-4f, -- -0x1.6f0d5ep-5f }, -- .scale_back = 0x1.0p-23f, -- .ln2 = 0x1.62e43p-1f, -+ /* Do not store first term of polynomial, which is -0.5, as -+ this can be fmov-ed directly instead of including it in -+ the main load-and-mla polynomial schedule. */ -+ .c0 = 0x1.5555aap-2f, .c1 = -0x1.000038p-2f, .c2 = 0x1.99675cp-3f, -+ .c3 = -0x1.54ef78p-3f, .c4 = 0x1.28a1f4p-3f, .c5 = -0x1.0da91p-3f, -+ .c6 = 0x1.abcb6p-4f, .c7 = -0x1.6f0d5ep-5f, .ln2 = 0x1.62e43p-1f, -+ .exp_bias = 0x1p-23f, .quarter = 0x1p-2f, .four = 0x40800000, -+ .three_quarters = 0x3f400000, - }; - --static inline svfloat32_t --eval_poly (svfloat32_t m, const float32_t *c, svbool_t pg) --{ -- svfloat32_t p_12 = svmla_x (pg, sv_f32 (c[0]), m, sv_f32 (c[1])); -- svfloat32_t m2 = svmul_x (pg, m, m); -- svfloat32_t q = svmla_x (pg, m, m2, p_12); -- svfloat32_t p = sv_pw_horner_6_f32_x (pg, m, m2, c + 2); -- p = svmul_x (pg, m2, p); -- -- return svmla_x (pg, q, m2, p); --} -- - static inline svfloat32_t - sv_log1pf_inline (svfloat32_t x, svbool_t pg) - { - const struct sv_log1pf_data *d = ptr_barrier (&sv_log1pf_data); - -- svfloat32_t m = svadd_x (pg, x, 1.0f); -- -- svint32_t ks = svsub_x (pg, svreinterpret_s32 (m), -- svreinterpret_s32 (svdup_f32 (0.75f))); -- ks = svand_x (pg, ks, 0xff800000); -- svuint32_t k = svreinterpret_u32 (ks); -- svfloat32_t s = svreinterpret_f32 ( -- svsub_x (pg, svreinterpret_u32 (svdup_f32 (4.0f)), k)); -- -- svfloat32_t m_scale -- = svreinterpret_f32 (svsub_x (pg, svreinterpret_u32 (x), k)); -- m_scale -- = svadd_x (pg, m_scale, svmla_x (pg, sv_f32 (-1.0f), sv_f32 (0.25f), s)); -- svfloat32_t p = eval_poly (m_scale, d->poly, pg); -- svfloat32_t scale_back = svmul_x (pg, svcvt_f32_x (pg, k), d->scale_back); -- return svmla_x (pg, p, scale_back, d->ln2); -+ /* With x + 1 = t * 2^k (where t = m + 1 and k is chosen such that m -+ is in [-0.25, 0.5]): -+ log1p(x) = log(t) + log(2^k) = log1p(m) + k*log(2). -+ -+ We approximate log1p(m) with a polynomial, then scale by -+ k*log(2). Instead of doing this directly, we use an intermediate -+ scale factor s = 4*k*log(2) to ensure the scale is representable -+ as a normalised fp32 number. */ -+ svfloat32_t m = svadd_x (pg, x, 1); -+ -+ /* Choose k to scale x to the range [-1/4, 1/2]. */ -+ svint32_t k -+ = svand_x (pg, svsub_x (pg, svreinterpret_s32 (m), d->three_quarters), -+ sv_s32 (SignExponentMask)); -+ -+ /* Scale x by exponent manipulation. */ -+ svfloat32_t m_scale = svreinterpret_f32 ( -+ svsub_x (pg, svreinterpret_u32 (x), svreinterpret_u32 (k))); -+ -+ /* Scale up to ensure that the scale factor is representable as normalised -+ fp32 number, and scale m down accordingly. */ -+ svfloat32_t s = svreinterpret_f32 (svsubr_x (pg, k, d->four)); -+ svfloat32_t fconst = svld1rq_f32 (svptrue_b32 (), &d->ln2); -+ m_scale = svadd_x (pg, m_scale, svmla_lane_f32 (sv_f32 (-1), s, fconst, 2)); -+ -+ /* Evaluate polynomial on reduced interval. */ -+ svfloat32_t ms2 = svmul_x (svptrue_b32 (), m_scale, m_scale); -+ -+ svfloat32_t c1357 = svld1rq_f32 (svptrue_b32 (), &d->c1); -+ svfloat32_t p01 = svmla_lane_f32 (sv_f32 (d->c0), m_scale, c1357, 0); -+ svfloat32_t p23 = svmla_lane_f32 (sv_f32 (d->c2), m_scale, c1357, 1); -+ svfloat32_t p45 = svmla_lane_f32 (sv_f32 (d->c4), m_scale, c1357, 2); -+ svfloat32_t p67 = svmla_lane_f32 (sv_f32 (d->c6), m_scale, c1357, 3); -+ -+ svfloat32_t p = svmla_x (pg, p45, p67, ms2); -+ p = svmla_x (pg, p23, p, ms2); -+ p = svmla_x (pg, p01, p, ms2); -+ -+ p = svmad_x (pg, m_scale, p, -0.5); -+ p = svmla_x (pg, m_scale, m_scale, svmul_x (pg, m_scale, p)); -+ -+ /* The scale factor to be applied back at the end - by multiplying float(k) -+ by 2^-23 we get the unbiased exponent of k. */ -+ svfloat32_t scale_back = svmul_lane_f32 (svcvt_f32_x (pg, k), fconst, 1); -+ return svmla_lane_f32 (p, scale_back, fconst, 0); - } - - #endif - -commit d983f14c304df2d880c7b01e904e4a889064b9b3 -Author: Luna Lamb -Date: Fri Jan 3 20:15:17 2025 +0000 - - AArch64: Improve codegen in SVE expm1f and users - - Use unpredicated muls, use absolute compare and improve memory access. - Expm1f, sinhf and tanhf show 7%, 5% and 1% improvement in throughput - microbenchmark on Neoverse V1. - - (cherry picked from commit f86b4cf87581cf1e45702b07880679ffa0b1f47a) - -diff --git a/sysdeps/aarch64/fpu/expm1f_sve.c b/sysdeps/aarch64/fpu/expm1f_sve.c -index 7c852125cd..05a66400d4 100644 ---- a/sysdeps/aarch64/fpu/expm1f_sve.c -+++ b/sysdeps/aarch64/fpu/expm1f_sve.c -@@ -18,7 +18,6 @@ - . */ - - #include "sv_math.h" --#include "poly_sve_f32.h" - - /* Largest value of x for which expm1(x) should round to -1. */ - #define SpecialBound 0x1.5ebc4p+6f -@@ -28,20 +27,17 @@ static const struct data - /* These 4 are grouped together so they can be loaded as one quadword, then - used with _lane forms of svmla/svmls. */ - float c2, c4, ln2_hi, ln2_lo; -- float c0, c1, c3, inv_ln2, special_bound, shift; -+ float c0, inv_ln2, c1, c3, special_bound; - } data = { - /* Generated using fpminimax. */ - .c0 = 0x1.fffffep-2, .c1 = 0x1.5554aep-3, - .c2 = 0x1.555736p-5, .c3 = 0x1.12287cp-7, -- .c4 = 0x1.6b55a2p-10, -+ .c4 = 0x1.6b55a2p-10, .inv_ln2 = 0x1.715476p+0f, -+ .special_bound = SpecialBound, .ln2_lo = 0x1.7f7d1cp-20f, -+ .ln2_hi = 0x1.62e4p-1f, - -- .special_bound = SpecialBound, .shift = 0x1.8p23f, -- .inv_ln2 = 0x1.715476p+0f, .ln2_hi = 0x1.62e4p-1f, -- .ln2_lo = 0x1.7f7d1cp-20f, - }; - --#define C(i) sv_f32 (d->c##i) -- - static svfloat32_t NOINLINE - special_case (svfloat32_t x, svbool_t pg) - { -@@ -71,9 +67,8 @@ svfloat32_t SV_NAME_F1 (expm1) (svfloat32_t x, svbool_t pg) - and f = x - i * ln2, then f is in [-ln2/2, ln2/2]. - exp(x) - 1 = 2^i * (expm1(f) + 1) - 1 - where 2^i is exact because i is an integer. */ -- svfloat32_t j = svmla_x (pg, sv_f32 (d->shift), x, d->inv_ln2); -- j = svsub_x (pg, j, d->shift); -- svint32_t i = svcvt_s32_x (pg, j); -+ svfloat32_t j = svmul_x (svptrue_b32 (), x, d->inv_ln2); -+ j = svrinta_x (pg, j); - - svfloat32_t f = svmls_lane (x, j, lane_constants, 2); - f = svmls_lane (f, j, lane_constants, 3); -@@ -83,17 +78,17 @@ svfloat32_t SV_NAME_F1 (expm1) (svfloat32_t x, svbool_t pg) - x + ax^2 + bx^3 + cx^4 .... - So we calculate the polynomial P(f) = a + bf + cf^2 + ... - and assemble the approximation expm1(f) ~= f + f^2 * P(f). */ -- svfloat32_t p12 = svmla_lane (C (1), f, lane_constants, 0); -- svfloat32_t p34 = svmla_lane (C (3), f, lane_constants, 1); -- svfloat32_t f2 = svmul_x (pg, f, f); -+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), f, lane_constants, 0); -+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), f, lane_constants, 1); -+ svfloat32_t f2 = svmul_x (svptrue_b32 (), f, f); - svfloat32_t p = svmla_x (pg, p12, f2, p34); -- p = svmla_x (pg, C (0), f, p); -+ -+ p = svmla_x (pg, sv_f32 (d->c0), f, p); - p = svmla_x (pg, f, f2, p); - - /* Assemble the result. - expm1(x) ~= 2^i * (p + 1) - 1 - Let t = 2^i. */ -- svfloat32_t t = svreinterpret_f32 ( -- svadd_x (pg, svreinterpret_u32 (svlsl_x (pg, i, 23)), 0x3f800000)); -- return svmla_x (pg, svsub_x (pg, t, 1), p, t); -+ svfloat32_t t = svscale_x (pg, sv_f32 (1.0f), svcvt_s32_x (pg, j)); -+ return svmla_x (pg, svsub_x (pg, t, 1.0f), p, t); - } -diff --git a/sysdeps/aarch64/fpu/sinhf_sve.c b/sysdeps/aarch64/fpu/sinhf_sve.c -index 6c204b57a2..50dd386774 100644 ---- a/sysdeps/aarch64/fpu/sinhf_sve.c -+++ b/sysdeps/aarch64/fpu/sinhf_sve.c -@@ -63,5 +63,5 @@ svfloat32_t SV_NAME_F1 (sinh) (svfloat32_t x, const svbool_t pg) - if (__glibc_unlikely (svptest_any (pg, special))) - return special_case (x, svmul_x (pg, t, halfsign), special); - -- return svmul_x (pg, t, halfsign); -+ return svmul_x (svptrue_b32 (), t, halfsign); - } -diff --git a/sysdeps/aarch64/fpu/sv_expm1f_inline.h b/sysdeps/aarch64/fpu/sv_expm1f_inline.h -index 5b72451222..e46ddda543 100644 ---- a/sysdeps/aarch64/fpu/sv_expm1f_inline.h -+++ b/sysdeps/aarch64/fpu/sv_expm1f_inline.h -@@ -27,21 +27,18 @@ struct sv_expm1f_data - /* These 4 are grouped together so they can be loaded as one quadword, then - used with _lane forms of svmla/svmls. */ - float32_t c2, c4, ln2_hi, ln2_lo; -- float32_t c0, c1, c3, inv_ln2, shift; -+ float c0, inv_ln2, c1, c3, special_bound; - }; - - /* Coefficients generated using fpminimax. */ - #define SV_EXPM1F_DATA \ - { \ -- .c0 = 0x1.fffffep-2, .c1 = 0x1.5554aep-3, .c2 = 0x1.555736p-5, \ -- .c3 = 0x1.12287cp-7, .c4 = 0x1.6b55a2p-10, \ -+ .c0 = 0x1.fffffep-2, .c1 = 0x1.5554aep-3, .inv_ln2 = 0x1.715476p+0f, \ -+ .c2 = 0x1.555736p-5, .c3 = 0x1.12287cp-7, \ - \ -- .shift = 0x1.8p23f, .inv_ln2 = 0x1.715476p+0f, .ln2_hi = 0x1.62e4p-1f, \ -- .ln2_lo = 0x1.7f7d1cp-20f, \ -+ .c4 = 0x1.6b55a2p-10, .ln2_lo = 0x1.7f7d1cp-20f, .ln2_hi = 0x1.62e4p-1f, \ - } - --#define C(i) sv_f32 (d->c##i) -- - static inline svfloat32_t - expm1f_inline (svfloat32_t x, svbool_t pg, const struct sv_expm1f_data *d) - { -@@ -55,9 +52,8 @@ expm1f_inline (svfloat32_t x, svbool_t pg, const struct sv_expm1f_data *d) - and f = x - i * ln2, then f is in [-ln2/2, ln2/2]. - exp(x) - 1 = 2^i * (expm1(f) + 1) - 1 - where 2^i is exact because i is an integer. */ -- svfloat32_t j = svmla_x (pg, sv_f32 (d->shift), x, d->inv_ln2); -- j = svsub_x (pg, j, d->shift); -- svint32_t i = svcvt_s32_x (pg, j); -+ svfloat32_t j = svmul_x (svptrue_b32 (), x, d->inv_ln2); -+ j = svrinta_x (pg, j); - - svfloat32_t f = svmls_lane (x, j, lane_constants, 2); - f = svmls_lane (f, j, lane_constants, 3); -@@ -67,18 +63,18 @@ expm1f_inline (svfloat32_t x, svbool_t pg, const struct sv_expm1f_data *d) - x + ax^2 + bx^3 + cx^4 .... - So we calculate the polynomial P(f) = a + bf + cf^2 + ... - and assemble the approximation expm1(f) ~= f + f^2 * P(f). */ -- svfloat32_t p12 = svmla_lane (C (1), f, lane_constants, 0); -- svfloat32_t p34 = svmla_lane (C (3), f, lane_constants, 1); -- svfloat32_t f2 = svmul_x (pg, f, f); -+ svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), f, lane_constants, 0); -+ svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), f, lane_constants, 1); -+ svfloat32_t f2 = svmul_x (svptrue_b32 (), f, f); - svfloat32_t p = svmla_x (pg, p12, f2, p34); -- p = svmla_x (pg, C (0), f, p); -+ p = svmla_x (pg, sv_f32 (d->c0), f, p); - p = svmla_x (pg, f, f2, p); - - /* Assemble the result. - expm1(x) ~= 2^i * (p + 1) - 1 - Let t = 2^i. */ -- svfloat32_t t = svscale_x (pg, sv_f32 (1), i); -- return svmla_x (pg, svsub_x (pg, t, 1), p, t); -+ svfloat32_t t = svscale_x (pg, sv_f32 (1.0f), svcvt_s32_x (pg, j)); -+ return svmla_x (pg, svsub_x (pg, t, 1.0f), p, t); - } - - #endif -diff --git a/sysdeps/aarch64/fpu/tanhf_sve.c b/sysdeps/aarch64/fpu/tanhf_sve.c -index 0b94523cf5..80dd679346 100644 ---- a/sysdeps/aarch64/fpu/tanhf_sve.c -+++ b/sysdeps/aarch64/fpu/tanhf_sve.c -@@ -19,20 +19,27 @@ - - #include "sv_expm1f_inline.h" - -+/* Largest value of x for which tanhf(x) rounds to 1 (or -1 for negative). */ -+#define BoringBound 0x1.205966p+3f -+ - static const struct data - { - struct sv_expm1f_data expm1f_consts; -- uint32_t boring_bound, onef; -+ uint32_t onef, special_bound; -+ float boring_bound; - } data = { - .expm1f_consts = SV_EXPM1F_DATA, -- /* 0x1.205966p+3, above which tanhf rounds to 1 (or -1 for negative). */ -- .boring_bound = 0x41102cb3, - .onef = 0x3f800000, -+ .special_bound = 0x7f800000, -+ .boring_bound = BoringBound, - }; - - static svfloat32_t NOINLINE --special_case (svfloat32_t x, svfloat32_t y, svbool_t special) -+special_case (svfloat32_t x, svbool_t pg, svbool_t is_boring, -+ svfloat32_t boring, svfloat32_t q, svbool_t special) - { -+ svfloat32_t y -+ = svsel_f32 (is_boring, boring, svdiv_x (pg, q, svadd_x (pg, q, 2.0))); - return sv_call_f32 (tanhf, x, y, special); - } - -@@ -47,15 +54,16 @@ svfloat32_t SV_NAME_F1 (tanh) (svfloat32_t x, const svbool_t pg) - svfloat32_t ax = svabs_x (pg, x); - svuint32_t iax = svreinterpret_u32 (ax); - svuint32_t sign = sveor_x (pg, svreinterpret_u32 (x), iax); -- svbool_t is_boring = svcmpgt (pg, iax, d->boring_bound); - svfloat32_t boring = svreinterpret_f32 (svorr_x (pg, sign, d->onef)); -- -- svbool_t special = svcmpgt (pg, iax, 0x7f800000); -+ svbool_t special = svcmpgt (pg, iax, d->special_bound); -+ svbool_t is_boring = svacgt (pg, x, d->boring_bound); - - /* tanh(x) = (e^2x - 1) / (e^2x + 1). */ -- svfloat32_t q = expm1f_inline (svmul_x (pg, x, 2.0), pg, &d->expm1f_consts); -- svfloat32_t y = svdiv_x (pg, q, svadd_x (pg, q, 2.0)); -+ svfloat32_t q = expm1f_inline (svmul_x (svptrue_b32 (), x, 2.0), pg, -+ &d->expm1f_consts); -+ - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svsel_f32 (is_boring, boring, y), special); -+ return special_case (x, pg, is_boring, boring, q, special); -+ svfloat32_t y = svdiv_x (pg, q, svadd_x (pg, q, 2.0)); - return svsel_f32 (is_boring, boring, y); - } - -commit 0ff6a9ff79bca9384ce4ba20e8942d39cc377a14 -Author: Luna Lamb -Date: Thu Feb 13 17:52:09 2025 +0000 - - Aarch64: Improve codegen in SVE asinh - - Use unpredicated muls, use lanewise mla's and improve memory access. - 1% regression in throughput microbenchmark on Neoverse V1. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 8f0e7fe61e0a2ad5ed777933703ce09053810ec4) - -diff --git a/sysdeps/aarch64/fpu/asinh_sve.c b/sysdeps/aarch64/fpu/asinh_sve.c -index 28dc5c4587..fe8715e06c 100644 ---- a/sysdeps/aarch64/fpu/asinh_sve.c -+++ b/sysdeps/aarch64/fpu/asinh_sve.c -@@ -18,36 +18,49 @@ - . */ - - #include "sv_math.h" --#include "poly_sve_f64.h" - - #define SignMask (0x8000000000000000) - #define One (0x3ff0000000000000) - #define Thres (0x5fe0000000000000) /* asuint64 (0x1p511). */ -+#define IndexMask (((1 << V_LOG_TABLE_BITS) - 1) << 1) - - static const struct data - { -- double poly[18]; -- double ln2, p3, p1, p4, p0, p2; -- uint64_t n; -- uint64_t off; -+ double even_coeffs[9]; -+ double ln2, p3, p1, p4, p0, p2, c1, c3, c5, c7, c9, c11, c13, c15, c17; -+ uint64_t off, mask; - - } data = { -- /* Polynomial generated using Remez on [2^-26, 1]. */ -- .poly -- = { -0x1.55555555554a7p-3, 0x1.3333333326c7p-4, -0x1.6db6db68332e6p-5, -- 0x1.f1c71b26fb40dp-6, -0x1.6e8b8b654a621p-6, 0x1.1c4daa9e67871p-6, -- -0x1.c9871d10885afp-7, 0x1.7a16e8d9d2ecfp-7, -0x1.3ddca533e9f54p-7, -- 0x1.0becef748dafcp-7, -0x1.b90c7099dd397p-8, 0x1.541f2bb1ffe51p-8, -- -0x1.d217026a669ecp-9, 0x1.0b5c7977aaf7p-9, -0x1.e0f37daef9127p-11, -- 0x1.388b5fe542a6p-12, -0x1.021a48685e287p-14, 0x1.93d4ba83d34dap-18 }, -+ /* Polynomial generated using Remez on [2^-26, 1]. */ -+ .even_coeffs ={ -+ -0x1.55555555554a7p-3, -+ -0x1.6db6db68332e6p-5, -+ -0x1.6e8b8b654a621p-6, -+ -0x1.c9871d10885afp-7, -+ -0x1.3ddca533e9f54p-7, -+ -0x1.b90c7099dd397p-8, -+ -0x1.d217026a669ecp-9, -+ -0x1.e0f37daef9127p-11, -+ -0x1.021a48685e287p-14, }, -+ -+ .c1 = 0x1.3333333326c7p-4, -+ .c3 = 0x1.f1c71b26fb40dp-6, -+ .c5 = 0x1.1c4daa9e67871p-6, -+ .c7 = 0x1.7a16e8d9d2ecfp-7, -+ .c9 = 0x1.0becef748dafcp-7, -+ .c11 = 0x1.541f2bb1ffe51p-8, -+ .c13 = 0x1.0b5c7977aaf7p-9, -+ .c15 = 0x1.388b5fe542a6p-12, -+ .c17 = 0x1.93d4ba83d34dap-18, -+ - .ln2 = 0x1.62e42fefa39efp-1, - .p0 = -0x1.ffffffffffff7p-2, - .p1 = 0x1.55555555170d4p-2, - .p2 = -0x1.0000000399c27p-2, - .p3 = 0x1.999b2e90e94cap-3, - .p4 = -0x1.554e550bd501ep-3, -- .n = 1 << V_LOG_TABLE_BITS, -- .off = 0x3fe6900900000000 -+ .off = 0x3fe6900900000000, -+ .mask = 0xfffULL << 52, - }; - - static svfloat64_t NOINLINE -@@ -64,11 +77,10 @@ __sv_log_inline (svfloat64_t x, const struct data *d, const svbool_t pg) - of the algorithm used. */ - - svuint64_t ix = svreinterpret_u64 (x); -- svuint64_t tmp = svsub_x (pg, ix, d->off); -- svuint64_t i = svand_x (pg, svlsr_x (pg, tmp, (51 - V_LOG_TABLE_BITS)), -- (d->n - 1) << 1); -- svint64_t k = svasr_x (pg, svreinterpret_s64 (tmp), 52); -- svuint64_t iz = svsub_x (pg, ix, svand_x (pg, tmp, 0xfffULL << 52)); -+ svuint64_t i_off = svsub_x (pg, ix, d->off); -+ svuint64_t i -+ = svand_x (pg, svlsr_x (pg, i_off, (51 - V_LOG_TABLE_BITS)), IndexMask); -+ svuint64_t iz = svsub_x (pg, ix, svand_x (pg, i_off, d->mask)); - svfloat64_t z = svreinterpret_f64 (iz); - - svfloat64_t invc = svld1_gather_index (pg, &__v_log_data.table[0].invc, i); -@@ -78,14 +90,14 @@ __sv_log_inline (svfloat64_t x, const struct data *d, const svbool_t pg) - svfloat64_t p1_p4 = svld1rq (svptrue_b64 (), &d->p1); - - svfloat64_t r = svmla_x (pg, sv_f64 (-1.0), invc, z); -- svfloat64_t kd = svcvt_f64_x (pg, k); -+ svfloat64_t kd -+ = svcvt_f64_x (pg, svasr_x (pg, svreinterpret_s64 (i_off), 52)); - - svfloat64_t hi = svmla_lane (svadd_x (pg, logc, r), kd, ln2_p3, 0); -- svfloat64_t r2 = svmul_x (pg, r, r); -- -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); - svfloat64_t y = svmla_lane (sv_f64 (d->p2), r, ln2_p3, 1); -- - svfloat64_t p = svmla_lane (sv_f64 (d->p0), r, p1_p4, 0); -+ - y = svmla_lane (y, r2, p1_p4, 1); - y = svmla_x (pg, p, r2, y); - y = svmla_x (pg, hi, r2, y); -@@ -111,7 +123,6 @@ svfloat64_t SV_NAME_D1 (asinh) (svfloat64_t x, const svbool_t pg) - svuint64_t iax = svbic_x (pg, ix, SignMask); - svuint64_t sign = svand_x (pg, ix, SignMask); - svfloat64_t ax = svreinterpret_f64 (iax); -- - svbool_t ge1 = svcmpge (pg, iax, One); - svbool_t special = svcmpge (pg, iax, Thres); - -@@ -120,7 +131,7 @@ svfloat64_t SV_NAME_D1 (asinh) (svfloat64_t x, const svbool_t pg) - svfloat64_t option_1 = sv_f64 (0); - if (__glibc_likely (svptest_any (pg, ge1))) - { -- svfloat64_t x2 = svmul_x (pg, ax, ax); -+ svfloat64_t x2 = svmul_x (svptrue_b64 (), ax, ax); - option_1 = __sv_log_inline ( - svadd_x (pg, ax, svsqrt_x (pg, svadd_x (pg, x2, 1))), d, pg); - } -@@ -130,21 +141,53 @@ svfloat64_t SV_NAME_D1 (asinh) (svfloat64_t x, const svbool_t pg) - The largest observed error in this region is 1.51 ULPs: - _ZGVsMxv_asinh(0x1.fe12bf8c616a2p-1) got 0x1.c1e649ee2681bp-1 - want 0x1.c1e649ee2681dp-1. */ -+ - svfloat64_t option_2 = sv_f64 (0); - if (__glibc_likely (svptest_any (pg, svnot_z (pg, ge1)))) - { -- svfloat64_t x2 = svmul_x (pg, ax, ax); -- svfloat64_t x4 = svmul_x (pg, x2, x2); -- svfloat64_t p = sv_pw_horner_17_f64_x (pg, x2, x4, d->poly); -- option_2 = svmla_x (pg, ax, p, svmul_x (pg, x2, ax)); -+ svfloat64_t x2 = svmul_x (svptrue_b64 (), ax, ax); -+ svfloat64_t x4 = svmul_x (svptrue_b64 (), x2, x2); -+ /* Order-17 Pairwise Horner scheme. */ -+ svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1); -+ svfloat64_t c57 = svld1rq (svptrue_b64 (), &d->c5); -+ svfloat64_t c911 = svld1rq (svptrue_b64 (), &d->c9); -+ svfloat64_t c1315 = svld1rq (svptrue_b64 (), &d->c13); -+ -+ svfloat64_t p01 = svmla_lane (sv_f64 (d->even_coeffs[0]), x2, c13, 0); -+ svfloat64_t p23 = svmla_lane (sv_f64 (d->even_coeffs[1]), x2, c13, 1); -+ svfloat64_t p45 = svmla_lane (sv_f64 (d->even_coeffs[2]), x2, c57, 0); -+ svfloat64_t p67 = svmla_lane (sv_f64 (d->even_coeffs[3]), x2, c57, 1); -+ svfloat64_t p89 = svmla_lane (sv_f64 (d->even_coeffs[4]), x2, c911, 0); -+ svfloat64_t p1011 = svmla_lane (sv_f64 (d->even_coeffs[5]), x2, c911, 1); -+ svfloat64_t p1213 -+ = svmla_lane (sv_f64 (d->even_coeffs[6]), x2, c1315, 0); -+ svfloat64_t p1415 -+ = svmla_lane (sv_f64 (d->even_coeffs[7]), x2, c1315, 1); -+ svfloat64_t p1617 = svmla_x (pg, sv_f64 (d->even_coeffs[8]), x2, d->c17); -+ -+ svfloat64_t p = svmla_x (pg, p1415, x4, p1617); -+ p = svmla_x (pg, p1213, x4, p); -+ p = svmla_x (pg, p1011, x4, p); -+ p = svmla_x (pg, p89, x4, p); -+ -+ p = svmla_x (pg, p67, x4, p); -+ p = svmla_x (pg, p45, x4, p); -+ -+ p = svmla_x (pg, p23, x4, p); -+ -+ p = svmla_x (pg, p01, x4, p); -+ -+ option_2 = svmla_x (pg, ax, p, svmul_x (svptrue_b64 (), x2, ax)); - } - -- /* Choose the right option for each lane. */ -- svfloat64_t y = svsel (ge1, option_1, option_2); -- - if (__glibc_unlikely (svptest_any (pg, special))) - return special_case ( -- x, svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (y), sign)), -+ x, -+ svreinterpret_f64 (sveor_x ( -+ pg, svreinterpret_u64 (svsel (ge1, option_1, option_2)), sign)), - special); -+ -+ /* Choose the right option for each lane. */ -+ svfloat64_t y = svsel (ge1, option_1, option_2); - return svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (y), sign)); - } - -commit 4b0bb84eb7e52a135c873fd9d0fc6c30599aedf4 -Author: Luna Lamb -Date: Thu Feb 13 17:54:46 2025 +0000 - - Aarch64: Improve codegen in SVE exp and users, and update expf_inline - - Use unpredicted muls, and improve memory access. - 7%, 3% and 1% improvement in throughput microbenchmark on Neoverse V1, - for exp, exp2 and cosh respectively. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit c0ff447edf19bd4630fe79adf5e8b896405b059f) - -diff --git a/sysdeps/aarch64/fpu/cosh_sve.c b/sysdeps/aarch64/fpu/cosh_sve.c -index 919f34604a..e375dd8a34 100644 ---- a/sysdeps/aarch64/fpu/cosh_sve.c -+++ b/sysdeps/aarch64/fpu/cosh_sve.c -@@ -23,7 +23,7 @@ static const struct data - { - float64_t poly[3]; - float64_t inv_ln2, ln2_hi, ln2_lo, shift, thres; -- uint64_t index_mask, special_bound; -+ uint64_t special_bound; - } data = { - .poly = { 0x1.fffffffffffd4p-2, 0x1.5555571d6b68cp-3, - 0x1.5555576a59599p-5, }, -@@ -35,14 +35,16 @@ static const struct data - .shift = 0x1.8p+52, - .thres = 704.0, - -- .index_mask = 0xff, - /* 0x1.6p9, above which exp overflows. */ - .special_bound = 0x4086000000000000, - }; - - static svfloat64_t NOINLINE --special_case (svfloat64_t x, svfloat64_t y, svbool_t special) -+special_case (svfloat64_t x, svbool_t pg, svfloat64_t t, svbool_t special) - { -+ svfloat64_t half_t = svmul_x (svptrue_b64 (), t, 0.5); -+ svfloat64_t half_over_t = svdivr_x (pg, t, 0.5); -+ svfloat64_t y = svadd_x (pg, half_t, half_over_t); - return sv_call_f64 (cosh, x, y, special); - } - -@@ -60,12 +62,12 @@ exp_inline (svfloat64_t x, const svbool_t pg, const struct data *d) - - svuint64_t u = svreinterpret_u64 (z); - svuint64_t e = svlsl_x (pg, u, 52 - V_EXP_TAIL_TABLE_BITS); -- svuint64_t i = svand_x (pg, u, d->index_mask); -+ svuint64_t i = svand_x (svptrue_b64 (), u, 0xff); - - svfloat64_t y = svmla_x (pg, sv_f64 (d->poly[1]), r, d->poly[2]); - y = svmla_x (pg, sv_f64 (d->poly[0]), r, y); - y = svmla_x (pg, sv_f64 (1.0), r, y); -- y = svmul_x (pg, r, y); -+ y = svmul_x (svptrue_b64 (), r, y); - - /* s = 2^(n/N). */ - u = svld1_gather_index (pg, __v_exp_tail_data, i); -@@ -94,12 +96,12 @@ svfloat64_t SV_NAME_D1 (cosh) (svfloat64_t x, const svbool_t pg) - /* Up to the point that exp overflows, we can use it to calculate cosh by - exp(|x|) / 2 + 1 / (2 * exp(|x|)). */ - svfloat64_t t = exp_inline (ax, pg, d); -- svfloat64_t half_t = svmul_x (pg, t, 0.5); -- svfloat64_t half_over_t = svdivr_x (pg, t, 0.5); - - /* Fall back to scalar for any special cases. */ - if (__glibc_unlikely (svptest_any (pg, special))) -- return special_case (x, svadd_x (pg, half_t, half_over_t), special); -+ return special_case (x, pg, t, special); - -+ svfloat64_t half_t = svmul_x (svptrue_b64 (), t, 0.5); -+ svfloat64_t half_over_t = svdivr_x (pg, t, 0.5); - return svadd_x (pg, half_t, half_over_t); - } -diff --git a/sysdeps/aarch64/fpu/exp10_sve.c b/sysdeps/aarch64/fpu/exp10_sve.c -index ddf64708cb..bfd3fb9e19 100644 ---- a/sysdeps/aarch64/fpu/exp10_sve.c -+++ b/sysdeps/aarch64/fpu/exp10_sve.c -@@ -18,21 +18,23 @@ - . */ - - #include "sv_math.h" --#include "poly_sve_f64.h" - - #define SpecialBound 307.0 /* floor (log10 (2^1023)). */ - - static const struct data - { -- double poly[5]; -+ double c1, c3, c2, c4, c0; - double shift, log10_2, log2_10_hi, log2_10_lo, scale_thres, special_bound; - } data = { - /* Coefficients generated using Remez algorithm. - rel error: 0x1.9fcb9b3p-60 - abs error: 0x1.a20d9598p-60 in [ -log10(2)/128, log10(2)/128 ] - max ulp err 0.52 +0.5. */ -- .poly = { 0x1.26bb1bbb55516p1, 0x1.53524c73cd32ap1, 0x1.0470591daeafbp1, -- 0x1.2bd77b1361ef6p0, 0x1.142b5d54e9621p-1 }, -+ .c0 = 0x1.26bb1bbb55516p1, -+ .c1 = 0x1.53524c73cd32ap1, -+ .c2 = 0x1.0470591daeafbp1, -+ .c3 = 0x1.2bd77b1361ef6p0, -+ .c4 = 0x1.142b5d54e9621p-1, - /* 1.5*2^46+1023. This value is further explained below. */ - .shift = 0x1.800000000ffc0p+46, - .log10_2 = 0x1.a934f0979a371p1, /* 1/log2(10). */ -@@ -70,9 +72,9 @@ special_case (svbool_t pg, svfloat64_t s, svfloat64_t y, svfloat64_t n, - /* |n| > 1280 => 2^(n) overflows. */ - svbool_t p_cmp = svacgt (pg, n, d->scale_thres); - -- svfloat64_t r1 = svmul_x (pg, s1, s1); -+ svfloat64_t r1 = svmul_x (svptrue_b64 (), s1, s1); - svfloat64_t r2 = svmla_x (pg, s2, s2, y); -- svfloat64_t r0 = svmul_x (pg, r2, s1); -+ svfloat64_t r0 = svmul_x (svptrue_b64 (), r2, s1); - - return svsel (p_cmp, r1, r0); - } -@@ -103,11 +105,14 @@ svfloat64_t SV_NAME_D1 (exp10) (svfloat64_t x, svbool_t pg) - comes at significant performance cost. */ - svuint64_t u = svreinterpret_u64 (z); - svfloat64_t scale = svexpa (u); -- -+ svfloat64_t c24 = svld1rq (svptrue_b64 (), &d->c2); - /* Approximate exp10(r) using polynomial. */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t y = svmla_x (pg, svmul_x (pg, r, d->poly[0]), r2, -- sv_pairwise_poly_3_f64_x (pg, r, r2, d->poly + 1)); -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t p12 = svmla_lane (sv_f64 (d->c1), r, c24, 0); -+ svfloat64_t p34 = svmla_lane (sv_f64 (d->c3), r, c24, 1); -+ svfloat64_t p14 = svmla_x (pg, p12, p34, r2); -+ -+ svfloat64_t y = svmla_x (pg, svmul_x (svptrue_b64 (), r, d->c0), r2, p14); - - /* Assemble result as exp10(x) = 2^n * exp10(r). If |x| > SpecialBound - multiplication may overflow, so use special case routine. */ -diff --git a/sysdeps/aarch64/fpu/exp2_sve.c b/sysdeps/aarch64/fpu/exp2_sve.c -index 22848ebfa5..5dfb77cdbc 100644 ---- a/sysdeps/aarch64/fpu/exp2_sve.c -+++ b/sysdeps/aarch64/fpu/exp2_sve.c -@@ -18,7 +18,6 @@ - . */ - - #include "sv_math.h" --#include "poly_sve_f64.h" - - #define N (1 << V_EXP_TABLE_BITS) - -@@ -27,15 +26,15 @@ - - static const struct data - { -- double poly[4]; -+ double c0, c2; -+ double c1, c3; - double shift, big_bound, uoflow_bound; - } data = { - /* Coefficients are computed using Remez algorithm with - minimisation of the absolute error. */ -- .poly = { 0x1.62e42fefa3686p-1, 0x1.ebfbdff82c241p-3, 0x1.c6b09b16de99ap-5, -- 0x1.3b2abf5571ad8p-7 }, -- .shift = 0x1.8p52 / N, -- .uoflow_bound = UOFlowBound, -+ .c0 = 0x1.62e42fefa3686p-1, .c1 = 0x1.ebfbdff82c241p-3, -+ .c2 = 0x1.c6b09b16de99ap-5, .c3 = 0x1.3b2abf5571ad8p-7, -+ .shift = 0x1.8p52 / N, .uoflow_bound = UOFlowBound, - .big_bound = BigBound, - }; - -@@ -67,9 +66,9 @@ special_case (svbool_t pg, svfloat64_t s, svfloat64_t y, svfloat64_t n, - /* |n| > 1280 => 2^(n) overflows. */ - svbool_t p_cmp = svacgt (pg, n, d->uoflow_bound); - -- svfloat64_t r1 = svmul_x (pg, s1, s1); -+ svfloat64_t r1 = svmul_x (svptrue_b64 (), s1, s1); - svfloat64_t r2 = svmla_x (pg, s2, s2, y); -- svfloat64_t r0 = svmul_x (pg, r2, s1); -+ svfloat64_t r0 = svmul_x (svptrue_b64 (), r2, s1); - - return svsel (p_cmp, r1, r0); - } -@@ -99,11 +98,14 @@ svfloat64_t SV_NAME_D1 (exp2) (svfloat64_t x, svbool_t pg) - svuint64_t top = svlsl_x (pg, ki, 52 - V_EXP_TABLE_BITS); - svfloat64_t scale = svreinterpret_f64 (svadd_x (pg, sbits, top)); - -+ svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1); - /* Approximate exp2(r) using polynomial. */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t p = sv_pairwise_poly_3_f64_x (pg, r, r2, d->poly); -- svfloat64_t y = svmul_x (pg, r, p); -- -+ /* y = exp2(r) - 1 ~= C0 r + C1 r^2 + C2 r^3 + C3 r^4. */ -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), r, c13, 0); -+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), r, c13, 1); -+ svfloat64_t p = svmla_x (pg, p01, p23, r2); -+ svfloat64_t y = svmul_x (svptrue_b64 (), r, p); - /* Assemble exp2(x) = exp2(r) * scale. */ - if (__glibc_unlikely (svptest_any (pg, special))) - return special_case (pg, scale, y, kd, d); -diff --git a/sysdeps/aarch64/fpu/exp_sve.c b/sysdeps/aarch64/fpu/exp_sve.c -index aabaaa1d61..b2421d493f 100644 ---- a/sysdeps/aarch64/fpu/exp_sve.c -+++ b/sysdeps/aarch64/fpu/exp_sve.c -@@ -21,12 +21,15 @@ - - static const struct data - { -- double poly[4]; -+ double c0, c2; -+ double c1, c3; - double ln2_hi, ln2_lo, inv_ln2, shift, thres; -+ - } data = { -- .poly = { /* ulp error: 0.53. */ -- 0x1.fffffffffdbcdp-2, 0x1.555555555444cp-3, 0x1.555573c6a9f7dp-5, -- 0x1.1111266d28935p-7 }, -+ .c0 = 0x1.fffffffffdbcdp-2, -+ .c1 = 0x1.555555555444cp-3, -+ .c2 = 0x1.555573c6a9f7dp-5, -+ .c3 = 0x1.1111266d28935p-7, - .ln2_hi = 0x1.62e42fefa3800p-1, - .ln2_lo = 0x1.ef35793c76730p-45, - /* 1/ln2. */ -@@ -36,7 +39,6 @@ static const struct data - .thres = 704.0, - }; - --#define C(i) sv_f64 (d->poly[i]) - #define SpecialOffset 0x6000000000000000 /* 0x1p513. */ - /* SpecialBias1 + SpecialBias1 = asuint(1.0). */ - #define SpecialBias1 0x7000000000000000 /* 0x1p769. */ -@@ -56,20 +58,20 @@ special_case (svbool_t pg, svfloat64_t s, svfloat64_t y, svfloat64_t n) - svuint64_t b - = svdup_u64_z (p_sign, SpecialOffset); /* Inactive lanes set to 0. */ - -- /* Set s1 to generate overflow depending on sign of exponent n. */ -- svfloat64_t s1 = svreinterpret_f64 ( -- svsubr_x (pg, b, SpecialBias1)); /* 0x70...0 - b. */ -- /* Offset s to avoid overflow in final result if n is below threshold. */ -+ /* Set s1 to generate overflow depending on sign of exponent n, -+ ie. s1 = 0x70...0 - b. */ -+ svfloat64_t s1 = svreinterpret_f64 (svsubr_x (pg, b, SpecialBias1)); -+ /* Offset s to avoid overflow in final result if n is below threshold. -+ ie. s2 = as_u64 (s) - 0x3010...0 + b. */ - svfloat64_t s2 = svreinterpret_f64 ( -- svadd_x (pg, svsub_x (pg, svreinterpret_u64 (s), SpecialBias2), -- b)); /* as_u64 (s) - 0x3010...0 + b. */ -+ svadd_x (pg, svsub_x (pg, svreinterpret_u64 (s), SpecialBias2), b)); - - /* |n| > 1280 => 2^(n) overflows. */ - svbool_t p_cmp = svacgt (pg, n, 1280.0); - -- svfloat64_t r1 = svmul_x (pg, s1, s1); -+ svfloat64_t r1 = svmul_x (svptrue_b64 (), s1, s1); - svfloat64_t r2 = svmla_x (pg, s2, s2, y); -- svfloat64_t r0 = svmul_x (pg, r2, s1); -+ svfloat64_t r0 = svmul_x (svptrue_b64 (), r2, s1); - - return svsel (p_cmp, r1, r0); - } -@@ -103,16 +105,16 @@ svfloat64_t SV_NAME_D1 (exp) (svfloat64_t x, const svbool_t pg) - svfloat64_t z = svmla_x (pg, sv_f64 (d->shift), x, d->inv_ln2); - svuint64_t u = svreinterpret_u64 (z); - svfloat64_t n = svsub_x (pg, z, d->shift); -- -+ svfloat64_t c13 = svld1rq (svptrue_b64 (), &d->c1); - /* r = x - n * ln2, r is in [-ln2/(2N), ln2/(2N)]. */ - svfloat64_t ln2 = svld1rq (svptrue_b64 (), &d->ln2_hi); - svfloat64_t r = svmls_lane (x, n, ln2, 0); - r = svmls_lane (r, n, ln2, 1); - - /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4 + C3 r^5. */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t p01 = svmla_x (pg, C (0), C (1), r); -- svfloat64_t p23 = svmla_x (pg, C (2), C (3), r); -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), r, c13, 0); -+ svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), r, c13, 1); - svfloat64_t p04 = svmla_x (pg, p01, p23, r2); - svfloat64_t y = svmla_x (pg, r, p04, r2); - -diff --git a/sysdeps/aarch64/fpu/sv_expf_inline.h b/sysdeps/aarch64/fpu/sv_expf_inline.h -index 6166df6553..75781fb4dd 100644 ---- a/sysdeps/aarch64/fpu/sv_expf_inline.h -+++ b/sysdeps/aarch64/fpu/sv_expf_inline.h -@@ -61,7 +61,7 @@ expf_inline (svfloat32_t x, const svbool_t pg, const struct sv_expf_data *d) - /* scale = 2^(n/N). */ - svfloat32_t scale = svexpa (svreinterpret_u32 (z)); - -- /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4 + C3 r^5 + C4 r^6. */ -+ /* poly(r) = exp(r) - 1 ~= C0 r + C1 r^2 + C2 r^3 + C3 r^4 + C4 r^5. */ - svfloat32_t p12 = svmla_lane (sv_f32 (d->c1), r, lane_consts, 2); - svfloat32_t p34 = svmla_lane (sv_f32 (d->c3), r, lane_consts, 3); - svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); -@@ -71,5 +71,4 @@ expf_inline (svfloat32_t x, const svbool_t pg, const struct sv_expf_data *d) - - return svmla_x (pg, scale, scale, poly); - } -- - #endif - -commit 194185c28954dfa11a6ded8b32f34fee680d3218 -Author: Yat Long Poon -Date: Thu Feb 13 18:00:50 2025 +0000 - - AArch64: Improve codegen for SVE erfcf - - Reduce number of MOV/MOVPRFXs and use unpredicated FMUL. - Replace MUL with LSL. Speedup on Neoverse V1: 6%. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit f5ff34cb3c75ec1061c75bb9188b3c1176426947) - -diff --git a/sysdeps/aarch64/fpu/erfcf_sve.c b/sysdeps/aarch64/fpu/erfcf_sve.c -index ecacb933ac..e4869263e3 100644 ---- a/sysdeps/aarch64/fpu/erfcf_sve.c -+++ b/sysdeps/aarch64/fpu/erfcf_sve.c -@@ -76,7 +76,7 @@ svfloat32_t SV_NAME_F1 (erfc) (svfloat32_t x, const svbool_t pg) - svuint32_t i = svqadd (svreinterpret_u32 (z), dat->off_idx); - - /* Lookup erfc(r) and 2/sqrt(pi)*exp(-r^2) in tables. */ -- i = svmul_x (pg, i, 2); -+ i = svlsl_x (svptrue_b32 (), i, 1); - const float32_t *p = &__v_erfcf_data.tab[0].erfc - 2 * dat->off_arr; - svfloat32_t erfcr = svld1_gather_index (pg, p, i); - svfloat32_t scale = svld1_gather_index (pg, p + 1, i); -@@ -84,15 +84,15 @@ svfloat32_t SV_NAME_F1 (erfc) (svfloat32_t x, const svbool_t pg) - /* erfc(x) ~ erfc(r) - scale * d * poly(r, d). */ - svfloat32_t r = svsub_x (pg, z, shift); - svfloat32_t d = svsub_x (pg, a, r); -- svfloat32_t d2 = svmul_x (pg, d, d); -- svfloat32_t r2 = svmul_x (pg, r, r); -+ svfloat32_t d2 = svmul_x (svptrue_b32 (), d, d); -+ svfloat32_t r2 = svmul_x (svptrue_b32 (), r, r); - - svfloat32_t coeffs = svld1rq (svptrue_b32 (), &dat->third); -- svfloat32_t third = svdup_lane (coeffs, 0); - - svfloat32_t p1 = r; -- svfloat32_t p2 = svmls_lane (third, r2, coeffs, 1); -- svfloat32_t p3 = svmul_x (pg, r, svmla_lane (sv_f32 (-0.5), r2, coeffs, 0)); -+ svfloat32_t p2 = svmls_lane (sv_f32 (dat->third), r2, coeffs, 1); -+ svfloat32_t p3 -+ = svmul_x (svptrue_b32 (), r, svmla_lane (sv_f32 (-0.5), r2, coeffs, 0)); - svfloat32_t p4 = svmla_lane (sv_f32 (dat->two_over_five), r2, coeffs, 2); - p4 = svmls_x (pg, sv_f32 (dat->tenth), r2, p4); - - -commit 7dc549c5a4af3c32689147550144397116404d22 -Author: Yat Long Poon -Date: Thu Feb 13 18:02:01 2025 +0000 - - AArch64: Improve codegen for SVE pow - - Move constants to struct. Improve memory access with indexed/unpredicated - instructions. Eliminate register spills. Speedup on Neoverse V1: 24%. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 0b195651db3ae793187c7dd6d78b5a7a8da9d5e6) - -diff --git a/sysdeps/aarch64/fpu/pow_sve.c b/sysdeps/aarch64/fpu/pow_sve.c -index 4c0bf8956c..4242d22a49 100644 ---- a/sysdeps/aarch64/fpu/pow_sve.c -+++ b/sysdeps/aarch64/fpu/pow_sve.c -@@ -44,19 +44,18 @@ - - /* Data is defined in v_pow_log_data.c. */ - #define N_LOG (1 << V_POW_LOG_TABLE_BITS) --#define A __v_pow_log_data.poly - #define Off 0x3fe6955500000000 - - /* Data is defined in v_pow_exp_data.c. */ - #define N_EXP (1 << V_POW_EXP_TABLE_BITS) - #define SignBias (0x800 << V_POW_EXP_TABLE_BITS) --#define C __v_pow_exp_data.poly - #define SmallExp 0x3c9 /* top12(0x1p-54). */ - #define BigExp 0x408 /* top12(512.). */ - #define ThresExp 0x03f /* BigExp - SmallExp. */ - #define HugeExp 0x409 /* top12(1024.). */ - - /* Constants associated with pow. */ -+#define SmallBoundX 0x1p-126 - #define SmallPowX 0x001 /* top12(0x1p-126). */ - #define BigPowX 0x7ff /* top12(INFINITY). */ - #define ThresPowX 0x7fe /* BigPowX - SmallPowX. */ -@@ -64,6 +63,31 @@ - #define BigPowY 0x43e /* top12(0x1.749p62). */ - #define ThresPowY 0x080 /* BigPowY - SmallPowY. */ - -+static const struct data -+{ -+ double log_c0, log_c2, log_c4, log_c6, ln2_hi, ln2_lo; -+ double log_c1, log_c3, log_c5, off; -+ double n_over_ln2, exp_c2, ln2_over_n_hi, ln2_over_n_lo; -+ double exp_c0, exp_c1; -+} data = { -+ .log_c0 = -0x1p-1, -+ .log_c1 = -0x1.555555555556p-1, -+ .log_c2 = 0x1.0000000000006p-1, -+ .log_c3 = 0x1.999999959554ep-1, -+ .log_c4 = -0x1.555555529a47ap-1, -+ .log_c5 = -0x1.2495b9b4845e9p0, -+ .log_c6 = 0x1.0002b8b263fc3p0, -+ .off = Off, -+ .exp_c0 = 0x1.fffffffffffd4p-2, -+ .exp_c1 = 0x1.5555571d6ef9p-3, -+ .exp_c2 = 0x1.5555576a5adcep-5, -+ .ln2_hi = 0x1.62e42fefa3800p-1, -+ .ln2_lo = 0x1.ef35793c76730p-45, -+ .n_over_ln2 = 0x1.71547652b82fep0 * N_EXP, -+ .ln2_over_n_hi = 0x1.62e42fefc0000p-9, -+ .ln2_over_n_lo = -0x1.c610ca86c3899p-45, -+}; -+ - /* Check if x is an integer. */ - static inline svbool_t - sv_isint (svbool_t pg, svfloat64_t x) -@@ -82,7 +106,7 @@ sv_isnotint (svbool_t pg, svfloat64_t x) - static inline svbool_t - sv_isodd (svbool_t pg, svfloat64_t x) - { -- svfloat64_t y = svmul_x (pg, x, 0.5); -+ svfloat64_t y = svmul_x (svptrue_b64 (), x, 0.5); - return sv_isnotint (pg, y); - } - -@@ -121,7 +145,7 @@ zeroinfnan (uint64_t i) - static inline svbool_t - sv_zeroinfnan (svbool_t pg, svuint64_t i) - { -- return svcmpge (pg, svsub_x (pg, svmul_x (pg, i, 2), 1), -+ return svcmpge (pg, svsub_x (pg, svadd_x (pg, i, i), 1), - 2 * asuint64 (INFINITY) - 1); - } - -@@ -174,16 +198,17 @@ sv_call_specialcase (svfloat64_t x1, svuint64_t u1, svuint64_t u2, - additional 15 bits precision. IX is the bit representation of x, but - normalized in the subnormal range using the sign bit for the exponent. */ - static inline svfloat64_t --sv_log_inline (svbool_t pg, svuint64_t ix, svfloat64_t *tail) -+sv_log_inline (svbool_t pg, svuint64_t ix, svfloat64_t *tail, -+ const struct data *d) - { - /* x = 2^k z; where z is in range [Off,2*Off) and exact. - The range is split into N subintervals. - The ith subinterval contains z and c is near its center. */ -- svuint64_t tmp = svsub_x (pg, ix, Off); -+ svuint64_t tmp = svsub_x (pg, ix, d->off); - svuint64_t i = svand_x (pg, svlsr_x (pg, tmp, 52 - V_POW_LOG_TABLE_BITS), - sv_u64 (N_LOG - 1)); - svint64_t k = svasr_x (pg, svreinterpret_s64 (tmp), 52); -- svuint64_t iz = svsub_x (pg, ix, svand_x (pg, tmp, sv_u64 (0xfffULL << 52))); -+ svuint64_t iz = svsub_x (pg, ix, svlsl_x (pg, svreinterpret_u64 (k), 52)); - svfloat64_t z = svreinterpret_f64 (iz); - svfloat64_t kd = svcvt_f64_x (pg, k); - -@@ -199,40 +224,85 @@ sv_log_inline (svbool_t pg, svuint64_t ix, svfloat64_t *tail) - |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. */ - svfloat64_t r = svmad_x (pg, z, invc, -1.0); - /* k*Ln2 + log(c) + r. */ -- svfloat64_t t1 = svmla_x (pg, logc, kd, __v_pow_log_data.ln2_hi); -+ -+ svfloat64_t ln2_hilo = svld1rq_f64 (svptrue_b64 (), &d->ln2_hi); -+ svfloat64_t t1 = svmla_lane_f64 (logc, kd, ln2_hilo, 0); - svfloat64_t t2 = svadd_x (pg, t1, r); -- svfloat64_t lo1 = svmla_x (pg, logctail, kd, __v_pow_log_data.ln2_lo); -+ svfloat64_t lo1 = svmla_lane_f64 (logctail, kd, ln2_hilo, 1); - svfloat64_t lo2 = svadd_x (pg, svsub_x (pg, t1, t2), r); - - /* Evaluation is optimized assuming superscalar pipelined execution. */ -- svfloat64_t ar = svmul_x (pg, r, -0.5); /* A[0] = -0.5. */ -- svfloat64_t ar2 = svmul_x (pg, r, ar); -- svfloat64_t ar3 = svmul_x (pg, r, ar2); -+ -+ svfloat64_t log_c02 = svld1rq_f64 (svptrue_b64 (), &d->log_c0); -+ svfloat64_t ar = svmul_lane_f64 (r, log_c02, 0); -+ svfloat64_t ar2 = svmul_x (svptrue_b64 (), r, ar); -+ svfloat64_t ar3 = svmul_x (svptrue_b64 (), r, ar2); - /* k*Ln2 + log(c) + r + A[0]*r*r. */ - svfloat64_t hi = svadd_x (pg, t2, ar2); -- svfloat64_t lo3 = svmla_x (pg, svneg_x (pg, ar2), ar, r); -+ svfloat64_t lo3 = svmls_x (pg, ar2, ar, r); - svfloat64_t lo4 = svadd_x (pg, svsub_x (pg, t2, hi), ar2); - /* p = log1p(r) - r - A[0]*r*r. */ - /* p = (ar3 * (A[1] + r * A[2] + ar2 * (A[3] + r * A[4] + ar2 * (A[5] + r * - A[6])))). */ -- svfloat64_t a56 = svmla_x (pg, sv_f64 (A[5]), r, A[6]); -- svfloat64_t a34 = svmla_x (pg, sv_f64 (A[3]), r, A[4]); -- svfloat64_t a12 = svmla_x (pg, sv_f64 (A[1]), r, A[2]); -+ -+ svfloat64_t log_c46 = svld1rq_f64 (svptrue_b64 (), &d->log_c4); -+ svfloat64_t a56 = svmla_lane_f64 (sv_f64 (d->log_c5), r, log_c46, 1); -+ svfloat64_t a34 = svmla_lane_f64 (sv_f64 (d->log_c3), r, log_c46, 0); -+ svfloat64_t a12 = svmla_lane_f64 (sv_f64 (d->log_c1), r, log_c02, 1); - svfloat64_t p = svmla_x (pg, a34, ar2, a56); - p = svmla_x (pg, a12, ar2, p); -- p = svmul_x (pg, ar3, p); -+ p = svmul_x (svptrue_b64 (), ar3, p); - svfloat64_t lo = svadd_x ( -- pg, svadd_x (pg, svadd_x (pg, svadd_x (pg, lo1, lo2), lo3), lo4), p); -+ pg, svadd_x (pg, svsub_x (pg, svadd_x (pg, lo1, lo2), lo3), lo4), p); - svfloat64_t y = svadd_x (pg, hi, lo); - *tail = svadd_x (pg, svsub_x (pg, hi, y), lo); - return y; - } - -+static inline svfloat64_t -+sv_exp_core (svbool_t pg, svfloat64_t x, svfloat64_t xtail, -+ svuint64_t sign_bias, svfloat64_t *tmp, svuint64_t *sbits, -+ svuint64_t *ki, const struct data *d) -+{ -+ /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ -+ /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ -+ svfloat64_t n_over_ln2_and_c2 = svld1rq_f64 (svptrue_b64 (), &d->n_over_ln2); -+ svfloat64_t z = svmul_lane_f64 (x, n_over_ln2_and_c2, 0); -+ /* z - kd is in [-1, 1] in non-nearest rounding modes. */ -+ svfloat64_t kd = svrinta_x (pg, z); -+ *ki = svreinterpret_u64 (svcvt_s64_x (pg, kd)); -+ -+ svfloat64_t ln2_over_n_hilo -+ = svld1rq_f64 (svptrue_b64 (), &d->ln2_over_n_hi); -+ svfloat64_t r = x; -+ r = svmls_lane_f64 (r, kd, ln2_over_n_hilo, 0); -+ r = svmls_lane_f64 (r, kd, ln2_over_n_hilo, 1); -+ /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ -+ r = svadd_x (pg, r, xtail); -+ /* 2^(k/N) ~= scale. */ -+ svuint64_t idx = svand_x (pg, *ki, N_EXP - 1); -+ svuint64_t top -+ = svlsl_x (pg, svadd_x (pg, *ki, sign_bias), 52 - V_POW_EXP_TABLE_BITS); -+ /* This is only a valid scale when -1023*N < k < 1024*N. */ -+ *sbits = svld1_gather_index (pg, __v_pow_exp_data.sbits, idx); -+ *sbits = svadd_x (pg, *sbits, top); -+ /* exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (exp(r) - 1). */ -+ svfloat64_t r2 = svmul_x (svptrue_b64 (), r, r); -+ *tmp = svmla_lane_f64 (sv_f64 (d->exp_c1), r, n_over_ln2_and_c2, 1); -+ *tmp = svmla_x (pg, sv_f64 (d->exp_c0), r, *tmp); -+ *tmp = svmla_x (pg, r, r2, *tmp); -+ svfloat64_t scale = svreinterpret_f64 (*sbits); -+ /* Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there -+ is no spurious underflow here even without fma. */ -+ z = svmla_x (pg, scale, scale, *tmp); -+ return z; -+} -+ - /* Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. - The sign_bias argument is SignBias or 0 and sets the sign to -1 or 1. */ - static inline svfloat64_t - sv_exp_inline (svbool_t pg, svfloat64_t x, svfloat64_t xtail, -- svuint64_t sign_bias) -+ svuint64_t sign_bias, const struct data *d) - { - /* 3 types of special cases: tiny (uflow and spurious uflow), huge (oflow) - and other cases of large values of x (scale * (1 + TMP) oflow). */ -@@ -240,73 +310,46 @@ sv_exp_inline (svbool_t pg, svfloat64_t x, svfloat64_t xtail, - /* |x| is large (|x| >= 512) or tiny (|x| <= 0x1p-54). */ - svbool_t uoflow = svcmpge (pg, svsub_x (pg, abstop, SmallExp), ThresExp); - -- /* Conditions special, uflow and oflow are all expressed as uoflow && -- something, hence do not bother computing anything if no lane in uoflow is -- true. */ -- svbool_t special = svpfalse_b (); -- svbool_t uflow = svpfalse_b (); -- svbool_t oflow = svpfalse_b (); -+ svfloat64_t tmp; -+ svuint64_t sbits, ki; - if (__glibc_unlikely (svptest_any (pg, uoflow))) - { -+ svfloat64_t z -+ = sv_exp_core (pg, x, xtail, sign_bias, &tmp, &sbits, &ki, d); -+ - /* |x| is tiny (|x| <= 0x1p-54). */ -- uflow = svcmpge (pg, svsub_x (pg, abstop, SmallExp), 0x80000000); -+ svbool_t uflow -+ = svcmpge (pg, svsub_x (pg, abstop, SmallExp), 0x80000000); - uflow = svand_z (pg, uoflow, uflow); - /* |x| is huge (|x| >= 1024). */ -- oflow = svcmpge (pg, abstop, HugeExp); -+ svbool_t oflow = svcmpge (pg, abstop, HugeExp); - oflow = svand_z (pg, uoflow, svbic_z (pg, oflow, uflow)); -+ - /* For large |x| values (512 < |x| < 1024) scale * (1 + TMP) can overflow -- or underflow. */ -- special = svbic_z (pg, uoflow, svorr_z (pg, uflow, oflow)); -+ or underflow. */ -+ svbool_t special = svbic_z (pg, uoflow, svorr_z (pg, uflow, oflow)); -+ -+ /* Update result with special and large cases. */ -+ z = sv_call_specialcase (tmp, sbits, ki, z, special); -+ -+ /* Handle underflow and overflow. */ -+ svbool_t x_is_neg = svcmplt (pg, x, 0); -+ svuint64_t sign_mask -+ = svlsl_x (pg, sign_bias, 52 - V_POW_EXP_TABLE_BITS); -+ svfloat64_t res_uoflow -+ = svsel (x_is_neg, sv_f64 (0.0), sv_f64 (INFINITY)); -+ res_uoflow = svreinterpret_f64 ( -+ svorr_x (pg, svreinterpret_u64 (res_uoflow), sign_mask)); -+ /* Avoid spurious underflow for tiny x. */ -+ svfloat64_t res_spurious_uflow -+ = svreinterpret_f64 (svorr_x (pg, sign_mask, 0x3ff0000000000000)); -+ -+ z = svsel (oflow, res_uoflow, z); -+ z = svsel (uflow, res_spurious_uflow, z); -+ return z; - } - -- /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ -- /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ -- svfloat64_t z = svmul_x (pg, x, __v_pow_exp_data.n_over_ln2); -- /* z - kd is in [-1, 1] in non-nearest rounding modes. */ -- svfloat64_t shift = sv_f64 (__v_pow_exp_data.shift); -- svfloat64_t kd = svadd_x (pg, z, shift); -- svuint64_t ki = svreinterpret_u64 (kd); -- kd = svsub_x (pg, kd, shift); -- svfloat64_t r = x; -- r = svmls_x (pg, r, kd, __v_pow_exp_data.ln2_over_n_hi); -- r = svmls_x (pg, r, kd, __v_pow_exp_data.ln2_over_n_lo); -- /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ -- r = svadd_x (pg, r, xtail); -- /* 2^(k/N) ~= scale. */ -- svuint64_t idx = svand_x (pg, ki, N_EXP - 1); -- svuint64_t top -- = svlsl_x (pg, svadd_x (pg, ki, sign_bias), 52 - V_POW_EXP_TABLE_BITS); -- /* This is only a valid scale when -1023*N < k < 1024*N. */ -- svuint64_t sbits = svld1_gather_index (pg, __v_pow_exp_data.sbits, idx); -- sbits = svadd_x (pg, sbits, top); -- /* exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (exp(r) - 1). */ -- svfloat64_t r2 = svmul_x (pg, r, r); -- svfloat64_t tmp = svmla_x (pg, sv_f64 (C[1]), r, C[2]); -- tmp = svmla_x (pg, sv_f64 (C[0]), r, tmp); -- tmp = svmla_x (pg, r, r2, tmp); -- svfloat64_t scale = svreinterpret_f64 (sbits); -- /* Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there -- is no spurious underflow here even without fma. */ -- z = svmla_x (pg, scale, scale, tmp); -- -- /* Update result with special and large cases. */ -- if (__glibc_unlikely (svptest_any (pg, special))) -- z = sv_call_specialcase (tmp, sbits, ki, z, special); -- -- /* Handle underflow and overflow. */ -- svuint64_t sign_bit = svlsr_x (pg, svreinterpret_u64 (x), 63); -- svbool_t x_is_neg = svcmpne (pg, sign_bit, 0); -- svuint64_t sign_mask = svlsl_x (pg, sign_bias, 52 - V_POW_EXP_TABLE_BITS); -- svfloat64_t res_uoflow = svsel (x_is_neg, sv_f64 (0.0), sv_f64 (INFINITY)); -- res_uoflow = svreinterpret_f64 ( -- svorr_x (pg, svreinterpret_u64 (res_uoflow), sign_mask)); -- z = svsel (oflow, res_uoflow, z); -- /* Avoid spurious underflow for tiny x. */ -- svfloat64_t res_spurious_uflow -- = svreinterpret_f64 (svorr_x (pg, sign_mask, 0x3ff0000000000000)); -- z = svsel (uflow, res_spurious_uflow, z); -- -- return z; -+ return sv_exp_core (pg, x, xtail, sign_bias, &tmp, &sbits, &ki, d); - } - - static inline double -@@ -341,47 +384,39 @@ pow_sc (double x, double y) - - svfloat64_t SV_NAME_D2 (pow) (svfloat64_t x, svfloat64_t y, const svbool_t pg) - { -+ const struct data *d = ptr_barrier (&data); -+ - /* This preamble handles special case conditions used in the final scalar - fallbacks. It also updates ix and sign_bias, that are used in the core - computation too, i.e., exp( y * log (x) ). */ - svuint64_t vix0 = svreinterpret_u64 (x); - svuint64_t viy0 = svreinterpret_u64 (y); -- svuint64_t vtopx0 = svlsr_x (svptrue_b64 (), vix0, 52); - - /* Negative x cases. */ -- svuint64_t sign_bit = svlsr_m (pg, vix0, 63); -- svbool_t xisneg = svcmpeq (pg, sign_bit, 1); -+ svbool_t xisneg = svcmplt (pg, x, 0); - - /* Set sign_bias and ix depending on sign of x and nature of y. */ -- svbool_t yisnotint_xisneg = svpfalse_b (); -+ svbool_t yint_or_xpos = pg; - svuint64_t sign_bias = sv_u64 (0); - svuint64_t vix = vix0; -- svuint64_t vtopx1 = vtopx0; - if (__glibc_unlikely (svptest_any (pg, xisneg))) - { - /* Determine nature of y. */ -- yisnotint_xisneg = sv_isnotint (xisneg, y); -- svbool_t yisint_xisneg = sv_isint (xisneg, y); -+ yint_or_xpos = sv_isint (xisneg, y); - svbool_t yisodd_xisneg = sv_isodd (xisneg, y); - /* ix set to abs(ix) if y is integer. */ -- vix = svand_m (yisint_xisneg, vix0, 0x7fffffffffffffff); -- vtopx1 = svand_m (yisint_xisneg, vtopx0, 0x7ff); -+ vix = svand_m (yint_or_xpos, vix0, 0x7fffffffffffffff); - /* Set to SignBias if x is negative and y is odd. */ - sign_bias = svsel (yisodd_xisneg, sv_u64 (SignBias), sv_u64 (0)); - } - -- /* Special cases of x or y: zero, inf and nan. */ -- svbool_t xspecial = sv_zeroinfnan (pg, vix0); -- svbool_t yspecial = sv_zeroinfnan (pg, viy0); -- svbool_t special = svorr_z (pg, xspecial, yspecial); -- - /* Small cases of x: |x| < 0x1p-126. */ -- svuint64_t vabstopx0 = svand_x (pg, vtopx0, 0x7ff); -- svbool_t xsmall = svcmplt (pg, vabstopx0, SmallPowX); -- if (__glibc_unlikely (svptest_any (pg, xsmall))) -+ svbool_t xsmall = svaclt (yint_or_xpos, x, SmallBoundX); -+ if (__glibc_unlikely (svptest_any (yint_or_xpos, xsmall))) - { - /* Normalize subnormal x so exponent becomes negative. */ -- svbool_t topx_is_null = svcmpeq (xsmall, vtopx1, 0); -+ svuint64_t vtopx = svlsr_x (svptrue_b64 (), vix, 52); -+ svbool_t topx_is_null = svcmpeq (xsmall, vtopx, 0); - - svuint64_t vix_norm = svreinterpret_u64 (svmul_m (xsmall, x, 0x1p52)); - vix_norm = svand_m (xsmall, vix_norm, 0x7fffffffffffffff); -@@ -391,20 +426,24 @@ svfloat64_t SV_NAME_D2 (pow) (svfloat64_t x, svfloat64_t y, const svbool_t pg) - - /* y_hi = log(ix, &y_lo). */ - svfloat64_t vlo; -- svfloat64_t vhi = sv_log_inline (pg, vix, &vlo); -+ svfloat64_t vhi = sv_log_inline (yint_or_xpos, vix, &vlo, d); - - /* z = exp(y_hi, y_lo, sign_bias). */ -- svfloat64_t vehi = svmul_x (pg, y, vhi); -- svfloat64_t velo = svmul_x (pg, y, vlo); -- svfloat64_t vemi = svmls_x (pg, vehi, y, vhi); -- velo = svsub_x (pg, velo, vemi); -- svfloat64_t vz = sv_exp_inline (pg, vehi, velo, sign_bias); -+ svfloat64_t vehi = svmul_x (svptrue_b64 (), y, vhi); -+ svfloat64_t vemi = svmls_x (yint_or_xpos, vehi, y, vhi); -+ svfloat64_t velo = svnmls_x (yint_or_xpos, vemi, y, vlo); -+ svfloat64_t vz = sv_exp_inline (yint_or_xpos, vehi, velo, sign_bias, d); - - /* Cases of finite y and finite negative x. */ -- vz = svsel (yisnotint_xisneg, sv_f64 (__builtin_nan ("")), vz); -+ vz = svsel (yint_or_xpos, vz, sv_f64 (__builtin_nan (""))); -+ -+ /* Special cases of x or y: zero, inf and nan. */ -+ svbool_t xspecial = sv_zeroinfnan (svptrue_b64 (), vix0); -+ svbool_t yspecial = sv_zeroinfnan (svptrue_b64 (), viy0); -+ svbool_t special = svorr_z (svptrue_b64 (), xspecial, yspecial); - - /* Cases of zero/inf/nan x or y. */ -- if (__glibc_unlikely (svptest_any (pg, special))) -+ if (__glibc_unlikely (svptest_any (svptrue_b64 (), special))) - vz = sv_call2_f64 (pow_sc, x, y, vz, special); - - return vz; - -commit 06fd8ad78f35a6cc65dc7c6c08ce55faf6ad079d -Author: Yat Long Poon -Date: Thu Feb 13 18:03:04 2025 +0000 - - AArch64: Improve codegen for SVE powf - - Improve memory access with indexed/unpredicated instructions. - Eliminate register spills. Speedup on Neoverse V1: 3%. - - Reviewed-by: Wilco Dijkstra - (cherry picked from commit 95e807209b680257a9afe81a507754f1565dbb4d) - -diff --git a/sysdeps/aarch64/fpu/powf_sve.c b/sysdeps/aarch64/fpu/powf_sve.c -index 4f6a142325..08d7019a18 100644 ---- a/sysdeps/aarch64/fpu/powf_sve.c -+++ b/sysdeps/aarch64/fpu/powf_sve.c -@@ -26,7 +26,6 @@ - #define Tlogc __v_powf_data.logc - #define Texp __v_powf_data.scale - #define SignBias (1 << (V_POWF_EXP2_TABLE_BITS + 11)) --#define Shift 0x1.8p52 - #define Norm 0x1p23f /* 0x4b000000. */ - - /* Overall ULP error bound for pow is 2.6 ulp -@@ -36,7 +35,7 @@ static const struct data - double log_poly[4]; - double exp_poly[3]; - float uflow_bound, oflow_bound, small_bound; -- uint32_t sign_bias, sign_mask, subnormal_bias, off; -+ uint32_t sign_bias, subnormal_bias, off; - } data = { - /* rel err: 1.5 * 2^-30. Each coefficients is multiplied the value of - V_POWF_EXP2_N. */ -@@ -53,7 +52,6 @@ static const struct data - .small_bound = 0x1p-126f, - .off = 0x3f35d000, - .sign_bias = SignBias, -- .sign_mask = 0x80000000, - .subnormal_bias = 0x0b800000, /* 23 << 23. */ - }; - -@@ -86,7 +84,7 @@ svisodd (svbool_t pg, svfloat32_t x) - static inline svbool_t - sv_zeroinfnan (svbool_t pg, svuint32_t i) - { -- return svcmpge (pg, svsub_x (pg, svmul_x (pg, i, 2u), 1), -+ return svcmpge (pg, svsub_x (pg, svadd_x (pg, i, i), 1), - 2u * 0x7f800000 - 1); - } - -@@ -150,9 +148,14 @@ powf_specialcase (float x, float y, float z) - } - - /* Scalar fallback for special case routines with custom signature. */ --static inline svfloat32_t --sv_call_powf_sc (svfloat32_t x1, svfloat32_t x2, svfloat32_t y, svbool_t cmp) -+static svfloat32_t NOINLINE -+sv_call_powf_sc (svfloat32_t x1, svfloat32_t x2, svfloat32_t y) - { -+ /* Special cases of x or y: zero, inf and nan. */ -+ svbool_t xspecial = sv_zeroinfnan (svptrue_b32 (), svreinterpret_u32 (x1)); -+ svbool_t yspecial = sv_zeroinfnan (svptrue_b32 (), svreinterpret_u32 (x2)); -+ svbool_t cmp = svorr_z (svptrue_b32 (), xspecial, yspecial); -+ - svbool_t p = svpfirst (cmp, svpfalse ()); - while (svptest_any (cmp, p)) - { -@@ -182,30 +185,30 @@ sv_powf_core_ext (const svbool_t pg, svuint64_t i, svfloat64_t z, svint64_t k, - - /* Polynomial to approximate log1p(r)/ln2. */ - svfloat64_t logx = A (0); -- logx = svmla_x (pg, A (1), r, logx); -- logx = svmla_x (pg, A (2), r, logx); -- logx = svmla_x (pg, A (3), r, logx); -- logx = svmla_x (pg, y0, r, logx); -+ logx = svmad_x (pg, r, logx, A (1)); -+ logx = svmad_x (pg, r, logx, A (2)); -+ logx = svmad_x (pg, r, logx, A (3)); -+ logx = svmad_x (pg, r, logx, y0); - *pylogx = svmul_x (pg, y, logx); - - /* z - kd is in [-1, 1] in non-nearest rounding modes. */ -- svfloat64_t kd = svadd_x (pg, *pylogx, Shift); -- svuint64_t ki = svreinterpret_u64 (kd); -- kd = svsub_x (pg, kd, Shift); -+ svfloat64_t kd = svrinta_x (svptrue_b64 (), *pylogx); -+ svuint64_t ki = svreinterpret_u64 (svcvt_s64_x (svptrue_b64 (), kd)); - - r = svsub_x (pg, *pylogx, kd); - - /* exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1). */ -- svuint64_t t -- = svld1_gather_index (pg, Texp, svand_x (pg, ki, V_POWF_EXP2_N - 1)); -- svuint64_t ski = svadd_x (pg, ki, sign_bias); -- t = svadd_x (pg, t, svlsl_x (pg, ski, 52 - V_POWF_EXP2_TABLE_BITS)); -+ svuint64_t t = svld1_gather_index ( -+ svptrue_b64 (), Texp, svand_x (svptrue_b64 (), ki, V_POWF_EXP2_N - 1)); -+ svuint64_t ski = svadd_x (svptrue_b64 (), ki, sign_bias); -+ t = svadd_x (svptrue_b64 (), t, -+ svlsl_x (svptrue_b64 (), ski, 52 - V_POWF_EXP2_TABLE_BITS)); - svfloat64_t s = svreinterpret_f64 (t); - - svfloat64_t p = C (0); - p = svmla_x (pg, C (1), p, r); - p = svmla_x (pg, C (2), p, r); -- p = svmla_x (pg, s, p, svmul_x (pg, s, r)); -+ p = svmla_x (pg, s, p, svmul_x (svptrue_b64 (), s, r)); - - return p; - } -@@ -219,19 +222,16 @@ sv_powf_core (const svbool_t pg, svuint32_t i, svuint32_t iz, svint32_t k, - { - const svbool_t ptrue = svptrue_b64 (); - -- /* Unpack and promote input vectors (pg, y, z, i, k and sign_bias) into two in -- order to perform core computation in double precision. */ -+ /* Unpack and promote input vectors (pg, y, z, i, k and sign_bias) into two -+ * in order to perform core computation in double precision. */ - const svbool_t pg_lo = svunpklo (pg); - const svbool_t pg_hi = svunpkhi (pg); -- svfloat64_t y_lo = svcvt_f64_x ( -- ptrue, svreinterpret_f32 (svunpklo (svreinterpret_u32 (y)))); -- svfloat64_t y_hi = svcvt_f64_x ( -- ptrue, svreinterpret_f32 (svunpkhi (svreinterpret_u32 (y)))); -- svfloat32_t z = svreinterpret_f32 (iz); -- svfloat64_t z_lo = svcvt_f64_x ( -- ptrue, svreinterpret_f32 (svunpklo (svreinterpret_u32 (z)))); -- svfloat64_t z_hi = svcvt_f64_x ( -- ptrue, svreinterpret_f32 (svunpkhi (svreinterpret_u32 (z)))); -+ svfloat64_t y_lo -+ = svcvt_f64_x (pg, svreinterpret_f32 (svunpklo (svreinterpret_u32 (y)))); -+ svfloat64_t y_hi -+ = svcvt_f64_x (pg, svreinterpret_f32 (svunpkhi (svreinterpret_u32 (y)))); -+ svfloat64_t z_lo = svcvt_f64_x (pg, svreinterpret_f32 (svunpklo (iz))); -+ svfloat64_t z_hi = svcvt_f64_x (pg, svreinterpret_f32 (svunpkhi (iz))); - svuint64_t i_lo = svunpklo (i); - svuint64_t i_hi = svunpkhi (i); - svint64_t k_lo = svunpklo (k); -@@ -258,9 +258,9 @@ sv_powf_core (const svbool_t pg, svuint32_t i, svuint32_t iz, svint32_t k, - /* Implementation of SVE powf. - Provides the same accuracy as AdvSIMD powf, since it relies on the same - algorithm. The theoretical maximum error is under 2.60 ULPs. -- Maximum measured error is 2.56 ULPs: -- SV_NAME_F2 (pow) (0x1.004118p+0, 0x1.5d14a4p+16) got 0x1.fd4bp+127 -- want 0x1.fd4b06p+127. */ -+ Maximum measured error is 2.57 ULPs: -+ SV_NAME_F2 (pow) (0x1.031706p+0, 0x1.ce2ec2p+12) got 0x1.fff868p+127 -+ want 0x1.fff862p+127. */ - svfloat32_t SV_NAME_F2 (pow) (svfloat32_t x, svfloat32_t y, const svbool_t pg) - { - const struct data *d = ptr_barrier (&data); -@@ -269,21 +269,19 @@ svfloat32_t SV_NAME_F2 (pow) (svfloat32_t x, svfloat32_t y, const svbool_t pg) - svuint32_t viy0 = svreinterpret_u32 (y); - - /* Negative x cases. */ -- svuint32_t sign_bit = svand_m (pg, vix0, d->sign_mask); -- svbool_t xisneg = svcmpeq (pg, sign_bit, d->sign_mask); -+ svbool_t xisneg = svcmplt (pg, x, sv_f32 (0)); - - /* Set sign_bias and ix depending on sign of x and nature of y. */ -- svbool_t yisnotint_xisneg = svpfalse_b (); -+ svbool_t yint_or_xpos = pg; - svuint32_t sign_bias = sv_u32 (0); - svuint32_t vix = vix0; - if (__glibc_unlikely (svptest_any (pg, xisneg))) - { - /* Determine nature of y. */ -- yisnotint_xisneg = svisnotint (xisneg, y); -- svbool_t yisint_xisneg = svisint (xisneg, y); -+ yint_or_xpos = svisint (xisneg, y); - svbool_t yisodd_xisneg = svisodd (xisneg, y); - /* ix set to abs(ix) if y is integer. */ -- vix = svand_m (yisint_xisneg, vix0, 0x7fffffff); -+ vix = svand_m (yint_or_xpos, vix0, 0x7fffffff); - /* Set to SignBias if x is negative and y is odd. */ - sign_bias = svsel (yisodd_xisneg, sv_u32 (d->sign_bias), sv_u32 (0)); - } -@@ -294,8 +292,8 @@ svfloat32_t SV_NAME_F2 (pow) (svfloat32_t x, svfloat32_t y, const svbool_t pg) - svbool_t cmp = svorr_z (pg, xspecial, yspecial); - - /* Small cases of x: |x| < 0x1p-126. */ -- svbool_t xsmall = svaclt (pg, x, d->small_bound); -- if (__glibc_unlikely (svptest_any (pg, xsmall))) -+ svbool_t xsmall = svaclt (yint_or_xpos, x, d->small_bound); -+ if (__glibc_unlikely (svptest_any (yint_or_xpos, xsmall))) - { - /* Normalize subnormal x so exponent becomes negative. */ - svuint32_t vix_norm = svreinterpret_u32 (svmul_x (xsmall, x, Norm)); -@@ -304,32 +302,35 @@ svfloat32_t SV_NAME_F2 (pow) (svfloat32_t x, svfloat32_t y, const svbool_t pg) - vix = svsel (xsmall, vix_norm, vix); - } - /* Part of core computation carried in working precision. */ -- svuint32_t tmp = svsub_x (pg, vix, d->off); -- svuint32_t i = svand_x (pg, svlsr_x (pg, tmp, (23 - V_POWF_LOG2_TABLE_BITS)), -- V_POWF_LOG2_N - 1); -- svuint32_t top = svand_x (pg, tmp, 0xff800000); -- svuint32_t iz = svsub_x (pg, vix, top); -- svint32_t k -- = svasr_x (pg, svreinterpret_s32 (top), (23 - V_POWF_EXP2_TABLE_BITS)); -- -- /* Compute core in extended precision and return intermediate ylogx results to -- handle cases of underflow and underflow in exp. */ -+ svuint32_t tmp = svsub_x (yint_or_xpos, vix, d->off); -+ svuint32_t i = svand_x ( -+ yint_or_xpos, svlsr_x (yint_or_xpos, tmp, (23 - V_POWF_LOG2_TABLE_BITS)), -+ V_POWF_LOG2_N - 1); -+ svuint32_t top = svand_x (yint_or_xpos, tmp, 0xff800000); -+ svuint32_t iz = svsub_x (yint_or_xpos, vix, top); -+ svint32_t k = svasr_x (yint_or_xpos, svreinterpret_s32 (top), -+ (23 - V_POWF_EXP2_TABLE_BITS)); -+ -+ /* Compute core in extended precision and return intermediate ylogx results -+ * to handle cases of underflow and underflow in exp. */ - svfloat32_t ylogx; -- svfloat32_t ret = sv_powf_core (pg, i, iz, k, y, sign_bias, &ylogx, d); -+ svfloat32_t ret -+ = sv_powf_core (yint_or_xpos, i, iz, k, y, sign_bias, &ylogx, d); - - /* Handle exp special cases of underflow and overflow. */ -- svuint32_t sign = svlsl_x (pg, sign_bias, 20 - V_POWF_EXP2_TABLE_BITS); -+ svuint32_t sign -+ = svlsl_x (yint_or_xpos, sign_bias, 20 - V_POWF_EXP2_TABLE_BITS); - svfloat32_t ret_oflow -- = svreinterpret_f32 (svorr_x (pg, sign, asuint (INFINITY))); -+ = svreinterpret_f32 (svorr_x (yint_or_xpos, sign, asuint (INFINITY))); - svfloat32_t ret_uflow = svreinterpret_f32 (sign); -- ret = svsel (svcmple (pg, ylogx, d->uflow_bound), ret_uflow, ret); -- ret = svsel (svcmpgt (pg, ylogx, d->oflow_bound), ret_oflow, ret); -+ ret = svsel (svcmple (yint_or_xpos, ylogx, d->uflow_bound), ret_uflow, ret); -+ ret = svsel (svcmpgt (yint_or_xpos, ylogx, d->oflow_bound), ret_oflow, ret); - - /* Cases of finite y and finite negative x. */ -- ret = svsel (yisnotint_xisneg, sv_f32 (__builtin_nanf ("")), ret); -+ ret = svsel (yint_or_xpos, ret, sv_f32 (__builtin_nanf (""))); - -- if (__glibc_unlikely (svptest_any (pg, cmp))) -- return sv_call_powf_sc (x, y, ret, cmp); -+ if (__glibc_unlikely (svptest_any (cmp, cmp))) -+ return sv_call_powf_sc (x, y, ret); - - return ret; - } - -commit fd9a3a36fdcf14d1678c469e8b9033a46aa6c6fb -Author: Wilco Dijkstra -Date: Thu Feb 27 20:34:34 2025 +0000 - - Revert "AArch64: Add vector logp1 alias for log1p" - - This reverts commit a991a0fc7c051d7ef2ea7778e0a699f22d4e53d7. - -diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h -index 5019e8e25c..08a41c46ad 100644 ---- a/bits/libm-simd-decl-stubs.h -+++ b/bits/libm-simd-decl-stubs.h -@@ -253,17 +253,6 @@ - #define __DECL_SIMD_log1pf64x - #define __DECL_SIMD_log1pf128x - --#define __DECL_SIMD_logp1 --#define __DECL_SIMD_logp1f --#define __DECL_SIMD_logp1l --#define __DECL_SIMD_logp1f16 --#define __DECL_SIMD_logp1f32 --#define __DECL_SIMD_logp1f64 --#define __DECL_SIMD_logp1f128 --#define __DECL_SIMD_logp1f32x --#define __DECL_SIMD_logp1f64x --#define __DECL_SIMD_logp1f128x -- - #define __DECL_SIMD_atanh - #define __DECL_SIMD_atanhf - #define __DECL_SIMD_atanhl -diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h -index 92856becc4..6cb594b6ff 100644 ---- a/math/bits/mathcalls.h -+++ b/math/bits/mathcalls.h -@@ -126,7 +126,7 @@ __MATHCALL (log2p1,, (_Mdouble_ __x)); - __MATHCALL (log10p1,, (_Mdouble_ __x)); - - /* Return log(1 + X). */ --__MATHCALL_VEC (logp1,, (_Mdouble_ __x)); -+__MATHCALL (logp1,, (_Mdouble_ __x)); - #endif - - #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 -diff --git a/sysdeps/aarch64/fpu/Versions b/sysdeps/aarch64/fpu/Versions -index 015211f5f4..cc15ce2d1e 100644 ---- a/sysdeps/aarch64/fpu/Versions -+++ b/sysdeps/aarch64/fpu/Versions -@@ -135,11 +135,4 @@ libmvec { - _ZGVsMxv_tanh; - _ZGVsMxv_tanhf; - } -- GLIBC_2.41 { -- _ZGVnN2v_logp1; -- _ZGVnN2v_logp1f; -- _ZGVnN4v_logp1f; -- _ZGVsMxv_logp1; -- _ZGVsMxv_logp1f; -- } - } -diff --git a/sysdeps/aarch64/fpu/advsimd_f32_protos.h b/sysdeps/aarch64/fpu/advsimd_f32_protos.h -index 5909bb4ce9..097d403ffe 100644 ---- a/sysdeps/aarch64/fpu/advsimd_f32_protos.h -+++ b/sysdeps/aarch64/fpu/advsimd_f32_protos.h -@@ -36,7 +36,6 @@ libmvec_hidden_proto (V_NAME_F2(hypot)); - libmvec_hidden_proto (V_NAME_F1(log10)); - libmvec_hidden_proto (V_NAME_F1(log1p)); - libmvec_hidden_proto (V_NAME_F1(log2)); --libmvec_hidden_proto (V_NAME_F1(logp1)); - libmvec_hidden_proto (V_NAME_F1(log)); - libmvec_hidden_proto (V_NAME_F2(pow)); - libmvec_hidden_proto (V_NAME_F1(sin)); -diff --git a/sysdeps/aarch64/fpu/bits/math-vector.h b/sysdeps/aarch64/fpu/bits/math-vector.h -index f295fe185d..7484150131 100644 ---- a/sysdeps/aarch64/fpu/bits/math-vector.h -+++ b/sysdeps/aarch64/fpu/bits/math-vector.h -@@ -113,10 +113,6 @@ - # define __DECL_SIMD_log2 __DECL_SIMD_aarch64 - # undef __DECL_SIMD_log2f - # define __DECL_SIMD_log2f __DECL_SIMD_aarch64 --# undef __DECL_SIMD_logp1 --# define __DECL_SIMD_logp1 __DECL_SIMD_aarch64 --# undef __DECL_SIMD_logp1f --# define __DECL_SIMD_logp1f __DECL_SIMD_aarch64 - # undef __DECL_SIMD_pow - # define __DECL_SIMD_pow __DECL_SIMD_aarch64 - # undef __DECL_SIMD_powf -@@ -184,7 +180,6 @@ __vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_log10f (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_log1pf (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_log2f (__f32x4_t); --__vpcs __f32x4_t _ZGVnN4v_logp1f (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4vv_powf (__f32x4_t, __f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); - __vpcs __f32x4_t _ZGVnN4v_sinhf (__f32x4_t); -@@ -212,7 +207,6 @@ __vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_log10 (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_log1p (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_log2 (__f64x2_t); --__vpcs __f64x2_t _ZGVnN2v_logp1 (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2vv_pow (__f64x2_t, __f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); - __vpcs __f64x2_t _ZGVnN2v_sinh (__f64x2_t); -@@ -245,7 +239,6 @@ __sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_log10f (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_log1pf (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_log2f (__sv_f32_t, __sv_bool_t); --__sv_f32_t _ZGVsMxv_logp1f (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxvv_powf (__sv_f32_t, __sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); - __sv_f32_t _ZGVsMxv_sinhf (__sv_f32_t, __sv_bool_t); -@@ -273,7 +266,6 @@ __sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_log10 (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_log1p (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_log2 (__sv_f64_t, __sv_bool_t); --__sv_f64_t _ZGVsMxv_logp1 (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxvv_pow (__sv_f64_t, __sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); - __sv_f64_t _ZGVsMxv_sinh (__sv_f64_t, __sv_bool_t); -diff --git a/sysdeps/aarch64/fpu/log1p_advsimd.c b/sysdeps/aarch64/fpu/log1p_advsimd.c -index 1263587201..9d18578ce6 100644 ---- a/sysdeps/aarch64/fpu/log1p_advsimd.c -+++ b/sysdeps/aarch64/fpu/log1p_advsimd.c -@@ -58,5 +58,3 @@ VPCS_ATTR float64x2_t V_NAME_D1 (log1p) (float64x2_t x) - - return log1p_inline (x, &d->d); - } -- --strong_alias (V_NAME_D1 (log1p), V_NAME_D1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/log1p_sve.c b/sysdeps/aarch64/fpu/log1p_sve.c -index b21cfb2c90..04f7e5720e 100644 ---- a/sysdeps/aarch64/fpu/log1p_sve.c -+++ b/sysdeps/aarch64/fpu/log1p_sve.c -@@ -116,5 +116,3 @@ svfloat64_t SV_NAME_D1 (log1p) (svfloat64_t x, svbool_t pg) - - return y; - } -- --strong_alias (SV_NAME_D1 (log1p), SV_NAME_D1 (logp1)) -diff --git a/sysdeps/aarch64/fpu/log1pf_advsimd.c b/sysdeps/aarch64/fpu/log1pf_advsimd.c -index 00006fc703..f2d47962fe 100644 ---- a/sysdeps/aarch64/fpu/log1pf_advsimd.c -+++ b/sysdeps/aarch64/fpu/log1pf_advsimd.c -@@ -93,6 +93,3 @@ VPCS_ATTR float32x4_t V_NAME_F1 (log1p) (float32x4_t x) - - libmvec_hidden_def (V_NAME_F1 (log1p)) - HALF_WIDTH_ALIAS_F1 (log1p) --strong_alias (V_NAME_F1 (log1p), V_NAME_F1 (logp1)) --libmvec_hidden_def (V_NAME_F1 (logp1)) --HALF_WIDTH_ALIAS_F1 (logp1) -diff --git a/sysdeps/aarch64/fpu/log1pf_sve.c b/sysdeps/aarch64/fpu/log1pf_sve.c -index 18a185c838..4f17c44e2d 100644 ---- a/sysdeps/aarch64/fpu/log1pf_sve.c -+++ b/sysdeps/aarch64/fpu/log1pf_sve.c -@@ -42,5 +42,3 @@ svfloat32_t SV_NAME_F1 (log1p) (svfloat32_t x, svbool_t pg) - - return sv_log1pf_inline (x, pg); - } -- --strong_alias (SV_NAME_F1 (log1p), SV_NAME_F1 (logp1)) -diff --git a/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist b/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist -index 98687cae0d..b685106954 100644 ---- a/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist -+++ b/sysdeps/unix/sysv/linux/aarch64/libmvec.abilist -@@ -128,8 +128,3 @@ GLIBC_2.40 _ZGVsMxvv_hypot F - GLIBC_2.40 _ZGVsMxvv_hypotf F - GLIBC_2.40 _ZGVsMxvv_pow F - GLIBC_2.40 _ZGVsMxvv_powf F --GLIBC_2.41 _ZGVnN2v_logp1 F --GLIBC_2.41 _ZGVnN2v_logp1f F --GLIBC_2.41 _ZGVnN4v_logp1f F --GLIBC_2.41 _ZGVsMxv_logp1 F --GLIBC_2.41 _ZGVsMxv_logp1f F - -commit 64896b7d329809127035fde42768a6f7eeffed75 -Author: Wilco Dijkstra -Date: Wed Aug 7 14:43:47 2024 +0100 - - AArch64: Improve generic strlen - - Improve performance by handling another 16 bytes before entering the loop. - Use ADDHN in the loop to avoid SHRN+FMOV when it terminates. Change final - size computation to avoid increasing latency. On Neoverse V1 performance - of the random strlen benchmark improves by 4.6%. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 3dc426b642dcafdbc11a99f2767e081d086f5fc7) - -diff --git a/sysdeps/aarch64/strlen.S b/sysdeps/aarch64/strlen.S -index ab2a576cdb..352fb40d3a 100644 ---- a/sysdeps/aarch64/strlen.S -+++ b/sysdeps/aarch64/strlen.S -@@ -1,4 +1,5 @@ --/* Copyright (C) 2012-2024 Free Software Foundation, Inc. -+/* Generic optimized strlen using SIMD. -+ Copyright (C) 2012-2024 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - -@@ -56,36 +57,50 @@ ENTRY (STRLEN) - shrn vend.8b, vhas_nul.8h, 4 /* 128->64 */ - fmov synd, dend - lsr synd, synd, shift -- cbz synd, L(loop) -+ cbz synd, L(next16) - - rbit synd, synd - clz result, synd - lsr result, result, 2 - ret - -+L(next16): -+ ldr data, [src, 16] -+ cmeq vhas_nul.16b, vdata.16b, 0 -+ shrn vend.8b, vhas_nul.8h, 4 /* 128->64 */ -+ fmov synd, dend -+ cbz synd, L(loop) -+ add src, src, 16 -+#ifndef __AARCH64EB__ -+ rbit synd, synd -+#endif -+ sub result, src, srcin -+ clz tmp, synd -+ add result, result, tmp, lsr 2 -+ ret -+ - .p2align 5 - L(loop): -- ldr data, [src, 16] -+ ldr data, [src, 32]! - cmeq vhas_nul.16b, vdata.16b, 0 -- umaxp vend.16b, vhas_nul.16b, vhas_nul.16b -+ addhn vend.8b, vhas_nul.8h, vhas_nul.8h - fmov synd, dend - cbnz synd, L(loop_end) -- ldr data, [src, 32]! -+ ldr data, [src, 16] - cmeq vhas_nul.16b, vdata.16b, 0 -- umaxp vend.16b, vhas_nul.16b, vhas_nul.16b -+ addhn vend.8b, vhas_nul.8h, vhas_nul.8h - fmov synd, dend - cbz synd, L(loop) -- sub src, src, 16 -+ add src, src, 16 - L(loop_end): -- shrn vend.8b, vhas_nul.8h, 4 /* 128->64 */ -- sub result, src, srcin -- fmov synd, dend -+ sub result, shift, src, lsl 2 /* (srcin - src) << 2. */ - #ifndef __AARCH64EB__ - rbit synd, synd -+ sub result, result, 3 - #endif -- add result, result, 16 - clz tmp, synd -- add result, result, tmp, lsr 2 -+ sub result, tmp, result -+ lsr result, result, 2 - ret - - END (STRLEN) - -commit 544fb349d35efd5f86ed7e482759ff21496a32fd -Author: Wilco Dijkstra -Date: Mon Sep 9 15:26:47 2024 +0100 - - AArch64: Optimize memset - - Improve small memsets by avoiding branches and use overlapping stores. - Use DC ZVA for copies over 128 bytes. Remove unnecessary code for ZVA sizes - other than 64 and 128. Performance of random memset benchmark improves by 24% - on Neoverse N1. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit cec3aef32412779e207f825db0d057ebb4628ae8) - -diff --git a/sysdeps/aarch64/memset.S b/sysdeps/aarch64/memset.S -index 7ef77ee8c9..caafb019e2 100644 ---- a/sysdeps/aarch64/memset.S -+++ b/sysdeps/aarch64/memset.S -@@ -1,4 +1,5 @@ --/* Copyright (C) 2012-2024 Free Software Foundation, Inc. -+/* Generic optimized memset using SIMD. -+ Copyright (C) 2012-2024 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - -@@ -17,7 +18,6 @@ - . */ - - #include --#include "memset-reg.h" - - #ifndef MEMSET - # define MEMSET memset -@@ -25,130 +25,132 @@ - - /* Assumptions: - * -- * ARMv8-a, AArch64, unaligned accesses -+ * ARMv8-a, AArch64, Advanced SIMD, unaligned accesses. - * - */ - --ENTRY (MEMSET) -+#define dstin x0 -+#define val x1 -+#define valw w1 -+#define count x2 -+#define dst x3 -+#define dstend x4 -+#define zva_val x5 -+#define off x3 -+#define dstend2 x5 - -+ENTRY (MEMSET) - PTR_ARG (0) - SIZE_ARG (2) - - dup v0.16B, valw -+ cmp count, 16 -+ b.lo L(set_small) -+ - add dstend, dstin, count -+ cmp count, 64 -+ b.hs L(set_128) - -- cmp count, 96 -- b.hi L(set_long) -- cmp count, 16 -- b.hs L(set_medium) -- mov val, v0.D[0] -+ /* Set 16..63 bytes. */ -+ mov off, 16 -+ and off, off, count, lsr 1 -+ sub dstend2, dstend, off -+ str q0, [dstin] -+ str q0, [dstin, off] -+ str q0, [dstend2, -16] -+ str q0, [dstend, -16] -+ ret - -+ .p2align 4 - /* Set 0..15 bytes. */ -- tbz count, 3, 1f -- str val, [dstin] -- str val, [dstend, -8] -- ret -- nop --1: tbz count, 2, 2f -- str valw, [dstin] -- str valw, [dstend, -4] -+L(set_small): -+ add dstend, dstin, count -+ cmp count, 4 -+ b.lo 2f -+ lsr off, count, 3 -+ sub dstend2, dstend, off, lsl 2 -+ str s0, [dstin] -+ str s0, [dstin, off, lsl 2] -+ str s0, [dstend2, -4] -+ str s0, [dstend, -4] - ret -+ -+ /* Set 0..3 bytes. */ - 2: cbz count, 3f -+ lsr off, count, 1 - strb valw, [dstin] -- tbz count, 1, 3f -- strh valw, [dstend, -2] -+ strb valw, [dstin, off] -+ strb valw, [dstend, -1] - 3: ret - -- /* Set 17..96 bytes. */ --L(set_medium): -- str q0, [dstin] -- tbnz count, 6, L(set96) -- str q0, [dstend, -16] -- tbz count, 5, 1f -- str q0, [dstin, 16] -- str q0, [dstend, -32] --1: ret -- - .p2align 4 -- /* Set 64..96 bytes. Write 64 bytes from the start and -- 32 bytes from the end. */ --L(set96): -- str q0, [dstin, 16] -+L(set_128): -+ bic dst, dstin, 15 -+ cmp count, 128 -+ b.hi L(set_long) -+ stp q0, q0, [dstin] - stp q0, q0, [dstin, 32] -+ stp q0, q0, [dstend, -64] - stp q0, q0, [dstend, -32] - ret - -- .p2align 3 -- nop -+ .p2align 4 - L(set_long): -- and valw, valw, 255 -- bic dst, dstin, 15 - str q0, [dstin] -- cmp count, 256 -- ccmp valw, 0, 0, cs -- b.eq L(try_zva) --L(no_zva): -- sub count, dstend, dst /* Count is 16 too large. */ -- sub dst, dst, 16 /* Dst is biased by -32. */ -- sub count, count, 64 + 16 /* Adjust count and bias for loop. */ --1: stp q0, q0, [dst, 32] -- stp q0, q0, [dst, 64]! --L(tail64): -- subs count, count, 64 -- b.hi 1b --2: stp q0, q0, [dstend, -64] -+ str q0, [dst, 16] -+ tst valw, 255 -+ b.ne L(no_zva) -+#ifndef ZVA64_ONLY -+ mrs zva_val, dczid_el0 -+ and zva_val, zva_val, 31 -+ cmp zva_val, 4 /* ZVA size is 64 bytes. */ -+ b.ne L(zva_128) -+#endif -+ stp q0, q0, [dst, 32] -+ bic dst, dstin, 63 -+ sub count, dstend, dst /* Count is now 64 too large. */ -+ sub count, count, 64 + 64 /* Adjust count and bias for loop. */ -+ -+ /* Write last bytes before ZVA loop. */ -+ stp q0, q0, [dstend, -64] - stp q0, q0, [dstend, -32] -+ -+ .p2align 4 -+L(zva64_loop): -+ add dst, dst, 64 -+ dc zva, dst -+ subs count, count, 64 -+ b.hi L(zva64_loop) - ret - --L(try_zva): --#ifndef ZVA64_ONLY - .p2align 3 -- mrs tmp1, dczid_el0 -- tbnz tmp1w, 4, L(no_zva) -- and tmp1w, tmp1w, 15 -- cmp tmp1w, 4 /* ZVA size is 64 bytes. */ -- b.ne L(zva_128) -- nop --#endif -- /* Write the first and last 64 byte aligned block using stp rather -- than using DC ZVA. This is faster on some cores. -- */ -- .p2align 4 --L(zva_64): -- str q0, [dst, 16] -+L(no_zva): -+ sub count, dstend, dst /* Count is 32 too large. */ -+ sub count, count, 64 + 32 /* Adjust count and bias for loop. */ -+L(no_zva_loop): - stp q0, q0, [dst, 32] -- bic dst, dst, 63 - stp q0, q0, [dst, 64] -- stp q0, q0, [dst, 96] -- sub count, dstend, dst /* Count is now 128 too large. */ -- sub count, count, 128+64+64 /* Adjust count and bias for loop. */ -- add dst, dst, 128 --1: dc zva, dst - add dst, dst, 64 - subs count, count, 64 -- b.hi 1b -- stp q0, q0, [dst, 0] -- stp q0, q0, [dst, 32] -+ b.hi L(no_zva_loop) - stp q0, q0, [dstend, -64] - stp q0, q0, [dstend, -32] - ret - - #ifndef ZVA64_ONLY -- .p2align 3 -+ .p2align 4 - L(zva_128): -- cmp tmp1w, 5 /* ZVA size is 128 bytes. */ -- b.ne L(zva_other) -+ cmp zva_val, 5 /* ZVA size is 128 bytes. */ -+ b.ne L(no_zva) - -- str q0, [dst, 16] - stp q0, q0, [dst, 32] - stp q0, q0, [dst, 64] - stp q0, q0, [dst, 96] - bic dst, dst, 127 - sub count, dstend, dst /* Count is now 128 too large. */ -- sub count, count, 128+128 /* Adjust count and bias for loop. */ -- add dst, dst, 128 --1: dc zva, dst -- add dst, dst, 128 -+ sub count, count, 128 + 128 /* Adjust count and bias for loop. */ -+1: add dst, dst, 128 -+ dc zva, dst - subs count, count, 128 - b.hi 1b - stp q0, q0, [dstend, -128] -@@ -156,35 +158,6 @@ L(zva_128): - stp q0, q0, [dstend, -64] - stp q0, q0, [dstend, -32] - ret -- --L(zva_other): -- mov tmp2w, 4 -- lsl zva_lenw, tmp2w, tmp1w -- add tmp1, zva_len, 64 /* Max alignment bytes written. */ -- cmp count, tmp1 -- blo L(no_zva) -- -- sub tmp2, zva_len, 1 -- add tmp1, dst, zva_len -- add dst, dst, 16 -- subs count, tmp1, dst /* Actual alignment bytes to write. */ -- bic tmp1, tmp1, tmp2 /* Aligned dc zva start address. */ -- beq 2f --1: stp q0, q0, [dst], 64 -- stp q0, q0, [dst, -32] -- subs count, count, 64 -- b.hi 1b --2: mov dst, tmp1 -- sub count, dstend, tmp1 /* Remaining bytes to write. */ -- subs count, count, zva_len -- b.lo 4f --3: dc zva, dst -- add dst, dst, zva_len -- subs count, count, zva_len -- b.hs 3b --4: add count, count, zva_len -- sub dst, dst, 32 /* Bias dst for tail loop. */ -- b L(tail64) - #endif - - END (MEMSET) - -commit 41eb2f8b5847079caca90a74659456adbb80ec29 -Author: Wilco Dijkstra -Date: Mon Nov 25 18:43:08 2024 +0000 - - AArch64: Remove zva_128 from memset - - Remove ZVA 128 support from memset - the new memset no longer - guarantees count >= 256, which can result in underflow and a - crash if ZVA size is 128 ([1]). Since only one CPU uses a ZVA - size of 128 and its memcpy implementation was removed in commit - e162ab2bf1b82c40f29e1925986582fa07568ce8, remove this special - case too. - - [1] https://sourceware.org/pipermail/libc-alpha/2024-November/161626.html - - Reviewed-by: Andrew Pinski - (cherry picked from commit a08d9a52f967531a77e1824c23b5368c6434a72d) - -diff --git a/sysdeps/aarch64/memset.S b/sysdeps/aarch64/memset.S -index caafb019e2..71814d0b2f 100644 ---- a/sysdeps/aarch64/memset.S -+++ b/sysdeps/aarch64/memset.S -@@ -104,7 +104,7 @@ L(set_long): - mrs zva_val, dczid_el0 - and zva_val, zva_val, 31 - cmp zva_val, 4 /* ZVA size is 64 bytes. */ -- b.ne L(zva_128) -+ b.ne L(no_zva) - #endif - stp q0, q0, [dst, 32] - bic dst, dstin, 63 -@@ -137,28 +137,5 @@ L(no_zva_loop): - stp q0, q0, [dstend, -32] - ret - --#ifndef ZVA64_ONLY -- .p2align 4 --L(zva_128): -- cmp zva_val, 5 /* ZVA size is 128 bytes. */ -- b.ne L(no_zva) -- -- stp q0, q0, [dst, 32] -- stp q0, q0, [dst, 64] -- stp q0, q0, [dst, 96] -- bic dst, dst, 127 -- sub count, dstend, dst /* Count is now 128 too large. */ -- sub count, count, 128 + 128 /* Adjust count and bias for loop. */ --1: add dst, dst, 128 -- dc zva, dst -- subs count, count, 128 -- b.hi 1b -- stp q0, q0, [dstend, -128] -- stp q0, q0, [dstend, -96] -- stp q0, q0, [dstend, -64] -- stp q0, q0, [dstend, -32] -- ret --#endif -- - END (MEMSET) - libc_hidden_builtin_def (MEMSET) - -commit 27fa0268ead054810a5e2669d0b5bb88ceb05b05 -Author: Wilco Dijkstra -Date: Wed Jul 24 15:17:47 2024 +0100 - - math: Improve layout of expf data - - GCC aligns global data to 16 bytes if their size is >= 16 bytes. This patch - changes the exp2f_data struct slightly so that the fields are better aligned. - As a result on targets that support them, load-pair instructions accessing - poly_scaled and invln2_scaled are now 16-byte aligned. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 44fa9c1080fe6a9539f0d2345b9d2ae37b8ee57a) - -diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h -index 729f22cd4f..dc07ebd459 100644 ---- a/sysdeps/ieee754/flt-32/math_config.h -+++ b/sysdeps/ieee754/flt-32/math_config.h -@@ -166,9 +166,9 @@ extern const struct exp2f_data - uint64_t tab[1 << EXP2F_TABLE_BITS]; - double shift_scaled; - double poly[EXP2F_POLY_ORDER]; -- double shift; - double invln2_scaled; - double poly_scaled[EXP2F_POLY_ORDER]; -+ double shift; - } __exp2f_data attribute_hidden; - - #define LOGF_TABLE_BITS 4 - -commit 7038970f1f485fb660606f0c596f432fdef250f6 -Author: Wilco Dijkstra -Date: Tue Dec 24 18:01:59 2024 +0000 - - AArch64: Add SVE memset - - Add SVE memset based on the generic memset with predicated load for sizes < 16. - Unaligned memsets of 128-1024 are improved by ~20% on average by using aligned - stores for the last 64 bytes. Performance of random memset benchmark improves - by ~2% on Neoverse V1. - - Reviewed-by: Yury Khrustalev - (cherry picked from commit 163b1bbb76caba4d9673c07940c5930a1afa7548) - -diff --git a/sysdeps/aarch64/multiarch/Makefile b/sysdeps/aarch64/multiarch/Makefile -index 3e251cc234..6880ebc035 100644 ---- a/sysdeps/aarch64/multiarch/Makefile -+++ b/sysdeps/aarch64/multiarch/Makefile -@@ -16,6 +16,7 @@ sysdep_routines += \ - memset_kunpeng \ - memset_mops \ - memset_oryon1 \ -+ memset_sve_zva64 \ - memset_zva64 \ - strlen_asimd \ - strlen_generic \ -diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c -index b2fda541f9..1f101a719b 100644 ---- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c -+++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c -@@ -61,6 +61,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, - IFUNC_IMPL_ADD (array, i, memset, 1, __memset_kunpeng) - #if HAVE_AARCH64_SVE_ASM - IFUNC_IMPL_ADD (array, i, memset, sve && !bti && zva_size == 256, __memset_a64fx) -+ IFUNC_IMPL_ADD (array, i, memset, sve && zva_size == 64, __memset_sve_zva64) - #endif - IFUNC_IMPL_ADD (array, i, memset, mops, __memset_mops) - IFUNC_IMPL_ADD (array, i, memset, 1, __memset_generic)) -diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c -index bd063c16c9..4f65295e77 100644 ---- a/sysdeps/aarch64/multiarch/memset.c -+++ b/sysdeps/aarch64/multiarch/memset.c -@@ -36,6 +36,7 @@ extern __typeof (__redirect_memset) __memset_a64fx attribute_hidden; - extern __typeof (__redirect_memset) __memset_generic attribute_hidden; - extern __typeof (__redirect_memset) __memset_mops attribute_hidden; - extern __typeof (__redirect_memset) __memset_oryon1 attribute_hidden; -+extern __typeof (__redirect_memset) __memset_sve_zva64 attribute_hidden; - - static inline __typeof (__redirect_memset) * - select_memset_ifunc (void) -@@ -49,6 +50,9 @@ select_memset_ifunc (void) - { - if (IS_A64FX (midr) && zva_size == 256) - return __memset_a64fx; -+ -+ if (zva_size == 64) -+ return __memset_sve_zva64; - } - - if (IS_ORYON1 (midr) && zva_size == 64) -diff --git a/sysdeps/aarch64/multiarch/memset_sve_zva64.S b/sysdeps/aarch64/multiarch/memset_sve_zva64.S -new file mode 100644 -index 0000000000..7fb40fdd9e ---- /dev/null -+++ b/sysdeps/aarch64/multiarch/memset_sve_zva64.S -@@ -0,0 +1,123 @@ -+/* Optimized memset for SVE. -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library. If not, see -+ . */ -+ -+#include -+ -+/* Assumptions: -+ * -+ * ARMv8-a, AArch64, Advanced SIMD, SVE, unaligned accesses. -+ * ZVA size is 64. -+ */ -+ -+#if HAVE_AARCH64_SVE_ASM -+ -+.arch armv8.2-a+sve -+ -+#define dstin x0 -+#define val x1 -+#define valw w1 -+#define count x2 -+#define dst x3 -+#define dstend x4 -+#define zva_val x5 -+#define vlen x5 -+#define off x3 -+#define dstend2 x5 -+ -+ENTRY (__memset_sve_zva64) -+ dup v0.16B, valw -+ cmp count, 16 -+ b.lo L(set_16) -+ -+ add dstend, dstin, count -+ cmp count, 64 -+ b.hs L(set_128) -+ -+ /* Set 16..63 bytes. */ -+ mov off, 16 -+ and off, off, count, lsr 1 -+ sub dstend2, dstend, off -+ str q0, [dstin] -+ str q0, [dstin, off] -+ str q0, [dstend2, -16] -+ str q0, [dstend, -16] -+ ret -+ -+ .p2align 4 -+L(set_16): -+ whilelo p0.b, xzr, count -+ st1b z0.b, p0, [dstin] -+ ret -+ -+ .p2align 4 -+L(set_128): -+ bic dst, dstin, 15 -+ cmp count, 128 -+ b.hi L(set_long) -+ stp q0, q0, [dstin] -+ stp q0, q0, [dstin, 32] -+ stp q0, q0, [dstend, -64] -+ stp q0, q0, [dstend, -32] -+ ret -+ -+ .p2align 4 -+L(set_long): -+ cmp count, 256 -+ b.lo L(no_zva) -+ tst valw, 255 -+ b.ne L(no_zva) -+ -+ str q0, [dstin] -+ str q0, [dst, 16] -+ bic dst, dstin, 31 -+ stp q0, q0, [dst, 32] -+ bic dst, dstin, 63 -+ sub count, dstend, dst /* Count is now 64 too large. */ -+ sub count, count, 128 /* Adjust count and bias for loop. */ -+ -+ sub x8, dstend, 1 /* Write last bytes before ZVA loop. */ -+ bic x8, x8, 15 -+ stp q0, q0, [x8, -48] -+ str q0, [x8, -16] -+ str q0, [dstend, -16] -+ -+ .p2align 4 -+L(zva64_loop): -+ add dst, dst, 64 -+ dc zva, dst -+ subs count, count, 64 -+ b.hi L(zva64_loop) -+ ret -+ -+L(no_zva): -+ str q0, [dstin] -+ sub count, dstend, dst /* Count is 16 too large. */ -+ sub count, count, 64 + 16 /* Adjust count and bias for loop. */ -+L(no_zva_loop): -+ stp q0, q0, [dst, 16] -+ stp q0, q0, [dst, 48] -+ add dst, dst, 64 -+ subs count, count, 64 -+ b.hi L(no_zva_loop) -+ stp q0, q0, [dstend, -64] -+ stp q0, q0, [dstend, -32] -+ ret -+ -+END (__memset_sve_zva64) -+#endif - -commit d6175a44e95fe443d0fbfed37a9ff7424f1e2661 -Author: Wilco Dijkstra -Date: Thu Feb 27 16:28:52 2025 +0000 - - AArch64: Use prefer_sve_ifuncs for SVE memset - - Use prefer_sve_ifuncs for SVE memset just like memcpy. - - Reviewed-by: Yury Khrustalev - (cherry picked from commit 0f044be1dae5169d0e57f8d487b427863aeadab4) - -diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c -index 4f65295e77..bb1e865c97 100644 ---- a/sysdeps/aarch64/multiarch/memset.c -+++ b/sysdeps/aarch64/multiarch/memset.c -@@ -51,7 +51,7 @@ select_memset_ifunc (void) - if (IS_A64FX (midr) && zva_size == 256) - return __memset_a64fx; - -- if (zva_size == 64) -+ if (prefer_sve_ifuncs && zva_size == 64) - return __memset_sve_zva64; - } - - -commit d8e8342369831808b00324790c8809ba33408ee7 -Author: Wilco Dijkstra -Date: Fri Dec 13 15:43:07 2024 +0000 - - math: Improve layout of exp/exp10 data - - GCC aligns global data to 16 bytes if their size is >= 16 bytes. This patch - changes the exp_data struct slightly so that the fields are better aligned - and without gaps. As a result on targets that support them, more load-pair - instructions are used in exp. Exp10 is improved by moving invlog10_2N later - so that neglog10_2hiN and neglog10_2loN can be loaded using load-pair. - - The exp benchmark improves 2.5%, "144bits" by 7.2%, "768bits" by 12.7% on - Neoverse V2. Exp10 improves by 1.5%. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 5afaf99edb326fd9f36eb306a828d129a3a1d7f7) - -diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h -index ef87cfa6be..05515fd95a 100644 ---- a/sysdeps/ieee754/dbl-64/math_config.h -+++ b/sysdeps/ieee754/dbl-64/math_config.h -@@ -195,16 +195,18 @@ check_uflow (double x) - extern const struct exp_data - { - double invln2N; -- double shift; - double negln2hiN; - double negln2loN; - double poly[4]; /* Last four coefficients. */ -+ double shift; -+ - double exp2_shift; - double exp2_poly[EXP2_POLY_ORDER]; -- double invlog10_2N; -+ - double neglog10_2hiN; - double neglog10_2loN; - double exp10_poly[5]; -+ double invlog10_2N; - uint64_t tab[2*(1 << EXP_TABLE_BITS)]; - } __exp_data attribute_hidden; - - -commit 3e820e17a8cef84645d83b67abcbc3f88c7fd268 -Author: Michael Jeanson -Date: Fri Feb 14 13:54:22 2025 -0500 - - nptl: clear the whole rseq area before registration - - Due to the extensible nature of the rseq area we can't explictly - initialize fields that are not part of the ABI yet. It was agreed with - upstream that all new fields will be documented as zero initialized by - userspace. Future kernels configured with CONFIG_DEBUG_RSEQ will - validate the content of all fields during registration. - - Replace the explicit field initialization with a memset of the whole - rseq area which will cover fields as they are added to future kernels. - - Signed-off-by: Michael Jeanson - Reviewed-by: Florian Weimer - (cherry picked from commit 689a62a4217fae78b9ce0db781dc2a421f2b1ab4) - -diff --git a/sysdeps/nptl/dl-tls_init_tp.c b/sysdeps/nptl/dl-tls_init_tp.c -index 7803e19fd1..ed10185e37 100644 ---- a/sysdeps/nptl/dl-tls_init_tp.c -+++ b/sysdeps/nptl/dl-tls_init_tp.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #define TUNABLE_NAMESPACE pthread - #include -diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h -index ef3eab1fef..76de2b7ff0 100644 ---- a/sysdeps/unix/sysv/linux/rseq-internal.h -+++ b/sysdeps/unix/sysv/linux/rseq-internal.h -@@ -52,13 +52,12 @@ rseq_register_current_thread (struct pthread *self, bool do_rseq) - but still expected size 32. */ - size = RSEQ_AREA_SIZE_INITIAL; - -- /* Initialize the rseq fields that are read by the kernel on -- registration, there is no guarantee that struct pthread is -- cleared on all architectures. */ -+ /* Initialize the whole rseq area to zero prior to registration. */ -+ memset (&self->rseq_area, 0, size); -+ -+ /* Set the cpu_id field to RSEQ_CPU_ID_UNINITIALIZED, this is checked by -+ the kernel at registration when CONFIG_DEBUG_RSEQ is enabled. */ - THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_UNINITIALIZED); -- THREAD_SETMEM (self, rseq_area.cpu_id_start, 0); -- THREAD_SETMEM (self, rseq_area.rseq_cs, 0); -- THREAD_SETMEM (self, rseq_area.flags, 0); - - int ret = INTERNAL_SYSCALL_CALL (rseq, &self->rseq_area, - size, 0, RSEQ_SIG); - -commit ee1ab9302363066b49cf8862b96664ed35eda81c -Author: Sunil K Pandey -Date: Mon Mar 10 10:24:07 2025 -0700 - - x86_64: Add tanh with FMA - - On Skylake, it improves tanh bench performance by: - - Before After Improvement - max 110.89 95.826 14% - min 20.966 20.157 4% - mean 30.9601 29.8431 4% - - Reviewed-by: H.J. Lu - (cherry picked from commit c6352111c72a20b3588ae304dd99b63e25dd6d85) - -diff --git a/sysdeps/ieee754/dbl-64/s_tanh.c b/sysdeps/ieee754/dbl-64/s_tanh.c -index 673a97102d..13063db04e 100644 ---- a/sysdeps/ieee754/dbl-64/s_tanh.c -+++ b/sysdeps/ieee754/dbl-64/s_tanh.c -@@ -46,6 +46,11 @@ static char rcsid[] = "$NetBSD: s_tanh.c,v 1.7 1995/05/10 20:48:22 jtc Exp $"; - - static const double one = 1.0, two = 2.0, tiny = 1.0e-300; - -+#ifndef SECTION -+# define SECTION -+#endif -+ -+SECTION - double - __tanh (double x) - { -diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile -index cbe09d49f4..0f69f7089c 100644 ---- a/sysdeps/x86_64/fpu/multiarch/Makefile -+++ b/sysdeps/x86_64/fpu/multiarch/Makefile -@@ -10,6 +10,7 @@ CFLAGS-s_expm1-fma.c = -mfma -mavx2 - CFLAGS-s_log1p-fma.c = -mfma -mavx2 - CFLAGS-s_sin-fma.c = -mfma -mavx2 - CFLAGS-s_tan-fma.c = -mfma -mavx2 -+CFLAGS-s_tanh-fma.c = -mfma -mavx2 - CFLAGS-s_sincos-fma.c = -mfma -mavx2 - - CFLAGS-e_exp2f-fma.c = -mfma -mavx2 -@@ -92,6 +93,7 @@ libm-sysdep_routines += \ - s_sinf-sse2 \ - s_tan-avx \ - s_tan-fma \ -+ s_tanh-fma \ - s_trunc-sse4_1 \ - s_truncf-sse4_1 \ - # libm-sysdep_routines -diff --git a/sysdeps/x86_64/fpu/multiarch/s_tanh-fma.c b/sysdeps/x86_64/fpu/multiarch/s_tanh-fma.c -new file mode 100644 -index 0000000000..1b808b1227 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_tanh-fma.c -@@ -0,0 +1,11 @@ -+#define __tanh __tanh_fma -+#define __expm1 __expm1_fma -+ -+/* NB: __expm1 may be expanded to __expm1_fma in the following -+ prototypes. */ -+extern long double __expm1l (long double); -+extern long double __expm1f128 (long double); -+ -+#define SECTION __attribute__ ((section (".text.fma"))) -+ -+#include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_tanh.c b/sysdeps/x86_64/fpu/multiarch/s_tanh.c -new file mode 100644 -index 0000000000..5539b6c61c ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_tanh.c -@@ -0,0 +1,31 @@ -+/* Multiple versions of tanh. -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+ -+extern double __redirect_tanh (double); -+ -+# define SYMBOL_NAME tanh -+# include "ifunc-fma.h" -+ -+libc_ifunc_redirected (__redirect_tanh, __tanh, IFUNC_SELECTOR ()); -+ -+# define __tanh __tanh_sse2 -+#endif -+#include - -commit e854f6d37cbeabb9130fed74b587befad8b4ba08 -Author: Sunil K Pandey -Date: Sat Mar 8 08:51:10 2025 -0800 - - x86_64: Add sinh with FMA - - On SPR, it improves sinh bench performance by: - - Before After Improvement - reciprocal-throughput 14.2017 11.815 17% - latency 36.4917 35.2114 4% - - Reviewed-by: H.J. Lu - (cherry picked from commit dded0d20f67ba1925ccbcb9cf28f0c75febe0dbe) - -diff --git a/benchtests/sinh-inputs b/benchtests/sinh-inputs -index 7b1ac46a39..2fcb2fabf8 100644 ---- a/benchtests/sinh-inputs -+++ b/benchtests/sinh-inputs -@@ -1,6 +1,7 @@ - ## args: double - ## ret: double - ## includes: math.h -+## name: workload-random - 0x1.bcb6129b5ff2bp8 - -0x1.63057386325ebp9 - 0x1.62f1d7dc4e8bfp9 -diff --git a/sysdeps/ieee754/dbl-64/e_sinh.c b/sysdeps/ieee754/dbl-64/e_sinh.c -index b4b5857ddd..3f787967f9 100644 ---- a/sysdeps/ieee754/dbl-64/e_sinh.c -+++ b/sysdeps/ieee754/dbl-64/e_sinh.c -@@ -41,6 +41,11 @@ static char rcsid[] = "$NetBSD: e_sinh.c,v 1.7 1995/05/10 20:46:13 jtc Exp $"; - - static const double one = 1.0, shuge = 1.0e307; - -+#ifndef SECTION -+# define SECTION -+#endif -+ -+SECTION - double - __ieee754_sinh (double x) - { -@@ -90,4 +95,7 @@ __ieee754_sinh (double x) - /* |x| > overflowthresold, sinh(x) overflow */ - return math_narrow_eval (x * shuge); - } -+ -+#ifndef __ieee754_sinh - libm_alias_finite (__ieee754_sinh, __sinh) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile -index 0f69f7089c..b527cab8d1 100644 ---- a/sysdeps/x86_64/fpu/multiarch/Makefile -+++ b/sysdeps/x86_64/fpu/multiarch/Makefile -@@ -5,6 +5,7 @@ CFLAGS-e_exp-fma.c = -mfma -mavx2 - CFLAGS-e_log-fma.c = -mfma -mavx2 - CFLAGS-e_log2-fma.c = -mfma -mavx2 - CFLAGS-e_pow-fma.c = -mfma -mavx2 -+CFLAGS-e_sinh-fma.c = -mfma -mavx2 - CFLAGS-s_atan-fma.c = -mfma -mavx2 - CFLAGS-s_expm1-fma.c = -mfma -mavx2 - CFLAGS-s_log1p-fma.c = -mfma -mavx2 -@@ -67,6 +68,7 @@ libm-sysdep_routines += \ - e_logf-fma \ - e_pow-fma \ - e_powf-fma \ -+ e_sinh-fma \ - s_atan-avx \ - s_atan-fma \ - s_ceil-sse4_1 \ -diff --git a/sysdeps/x86_64/fpu/multiarch/e_sinh-fma.c b/sysdeps/x86_64/fpu/multiarch/e_sinh-fma.c -new file mode 100644 -index 0000000000..e0e1e39a7a ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/e_sinh-fma.c -@@ -0,0 +1,12 @@ -+#define __ieee754_sinh __ieee754_sinh_fma -+#define __ieee754_exp __ieee754_exp_fma -+#define __expm1 __expm1_fma -+ -+/* NB: __expm1 may be expanded to __expm1_fma in the following -+ prototypes. */ -+extern long double __expm1l (long double); -+extern long double __expm1f128 (long double); -+ -+#define SECTION __attribute__ ((section (".text.fma"))) -+ -+#include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_sinh.c b/sysdeps/x86_64/fpu/multiarch/e_sinh.c -new file mode 100644 -index 0000000000..3d3c18ccdf ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/e_sinh.c -@@ -0,0 +1,35 @@ -+/* Multiple versions of sinh. -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+ -+extern double __redirect_ieee754_sinh (double); -+ -+# define SYMBOL_NAME ieee754_sinh -+# include "ifunc-fma.h" -+ -+libc_ifunc_redirected (__redirect_ieee754_sinh, __ieee754_sinh, -+ IFUNC_SELECTOR ()); -+ -+libm_alias_finite (__ieee754_sinh, __sinh) -+ -+# define __ieee754_sinh __ieee754_sinh_sse2 -+#endif -+#include - -commit e5f5dfdda28def8362896bdb1748bb27dfc8be73 -Author: Sunil K Pandey -Date: Wed Mar 5 16:13:38 2025 -0800 - - x86_64: Add atanh with FMA - - On SPR, it improves atanh bench performance by: - - Before After Improvement - reciprocal-throughput 15.1715 14.8628 2% - latency 57.1941 56.1883 2% - - Reviewed-by: H.J. Lu - (cherry picked from commit c7c4a5906f326f1290b1c2413a83c530564ec4b8) - -diff --git a/benchtests/atanh-inputs b/benchtests/atanh-inputs -index 455aa65b65..4985293254 100644 ---- a/benchtests/atanh-inputs -+++ b/benchtests/atanh-inputs -@@ -1,6 +1,7 @@ - ## args: double - ## ret: double - ## includes: math.h -+## name: workload-random - 0x1.5a2730bacd94ap-1 - -0x1.b57eb40fc048ep-21 - -0x1.c0b185fb450e2p-17 -diff --git a/sysdeps/ieee754/dbl-64/e_atanh.c b/sysdeps/ieee754/dbl-64/e_atanh.c -index 11a2a45799..05ac0a1b30 100644 ---- a/sysdeps/ieee754/dbl-64/e_atanh.c -+++ b/sysdeps/ieee754/dbl-64/e_atanh.c -@@ -44,6 +44,11 @@ - - static const double huge = 1e300; - -+#ifndef SECTION -+# define SECTION -+#endif -+ -+SECTION - double - __ieee754_atanh (double x) - { -@@ -73,4 +78,7 @@ __ieee754_atanh (double x) - - return copysign (t, x); - } -+ -+#ifndef __ieee754_atanh - libm_alias_finite (__ieee754_atanh, __atanh) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile -index b527cab8d1..bc479b42d2 100644 ---- a/sysdeps/x86_64/fpu/multiarch/Makefile -+++ b/sysdeps/x86_64/fpu/multiarch/Makefile -@@ -1,6 +1,7 @@ - ifeq ($(subdir),math) - CFLAGS-e_asin-fma.c = -mfma -mavx2 - CFLAGS-e_atan2-fma.c = -mfma -mavx2 -+CFLAGS-e_atanh-fma.c = -mfma -mavx2 - CFLAGS-e_exp-fma.c = -mfma -mavx2 - CFLAGS-e_log-fma.c = -mfma -mavx2 - CFLAGS-e_log2-fma.c = -mfma -mavx2 -@@ -57,6 +58,7 @@ libm-sysdep_routines += \ - e_asin-fma \ - e_atan2-avx \ - e_atan2-fma \ -+ e_atanh-fma \ - e_exp-avx \ - e_exp-fma \ - e_exp2f-fma \ -diff --git a/sysdeps/x86_64/fpu/multiarch/e_atanh-fma.c b/sysdeps/x86_64/fpu/multiarch/e_atanh-fma.c -new file mode 100644 -index 0000000000..c3f2f9e550 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/e_atanh-fma.c -@@ -0,0 +1,6 @@ -+#define __ieee754_atanh __ieee754_atanh_fma -+#define __log1p __log1p_fma -+ -+#define SECTION __attribute__ ((section (".text.fma"))) -+ -+#include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_atanh.c b/sysdeps/x86_64/fpu/multiarch/e_atanh.c -new file mode 100644 -index 0000000000..d2b785dfc0 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/e_atanh.c -@@ -0,0 +1,34 @@ -+/* Multiple versions of atanh. -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+ -+extern double __redirect_ieee754_atanh (double); -+ -+# define SYMBOL_NAME ieee754_atanh -+# include "ifunc-fma.h" -+ -+libc_ifunc_redirected (__redirect_ieee754_atanh, __ieee754_atanh, IFUNC_SELECTOR ()); -+ -+libm_alias_finite (__ieee754_atanh, __atanh) -+ -+# define __ieee754_atanh __ieee754_atanh_sse2 -+#endif -+#include - -commit 8fc492bb4234edc1a5e8c3b7f76ba345ea7109ec -Author: Florian Weimer -Date: Fri Mar 28 09:26:06 2025 +0100 - - x86: Skip XSAVE state size reset if ISA level requires XSAVE - - If we have to use XSAVE or XSAVEC trampolines, do not adjust the size - information they need. Technically, it is an operator error to try to - run with -XSAVE,-XSAVEC on such builds, but this change here disables - some unnecessary code with higher ISA levels and simplifies testing. - - Related to commit befe2d3c4dec8be2cdd01a47132e47bdb7020922 - ("x86-64: Don't use SSE resolvers for ISA level 3 or above"). - - Reviewed-by: H.J. Lu - (cherry picked from commit 59585ddaa2d44f22af04bb4b8bd4ad1e302c4c02) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index c096dd390a..b5b264db7f 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - extern void TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *) - attribute_hidden; -@@ -1119,6 +1120,9 @@ no_cpuid: - TUNABLE_CALLBACK (set_prefer_map_32bit_exec)); - #endif - -+ /* Do not add the logic to disable XSAVE/XSAVEC if this glibc build -+ requires AVX and therefore XSAVE or XSAVEC support. */ -+#ifndef GCCMACRO__AVX__ - bool disable_xsave_features = false; - - if (!CPU_FEATURE_USABLE_P (cpu_features, OSXSAVE)) -@@ -1172,6 +1176,7 @@ no_cpuid: - - CPU_FEATURE_UNSET (cpu_features, FMA4); - } -+#endif - - #ifdef __x86_64__ - GLRO(dl_hwcap) = HWCAP_X86_64; - -commit df22af58f66e6815c054b1c56249356c2994935a -Author: Florian Weimer -Date: Fri Mar 28 09:26:59 2025 +0100 - - x86: Use separate variable for TLSDESC XSAVE/XSAVEC state size (bug 32810) - - Previously, the initialization code reused the xsave_state_full_size - member of struct cpu_features for the TLSDESC state size. However, - the tunable processing code assumes that this member has the - original XSAVE (non-compact) state size, so that it can use its - value if XSAVEC is disabled via tunable. - - This change uses a separate variable and not a struct member because - the value is only needed in ld.so and the static libc, but not in - libc.so. As a result, struct cpu_features layout does not change, - helping a future backport of this change. - - Fixes commit 9b7091415af47082664717210ac49d51551456ab ("x86-64: - Update _dl_tlsdesc_dynamic to preserve AMX registers"). - - Reviewed-by: H.J. Lu - (cherry picked from commit 145097dff170507fe73190e8e41194f5b5f7e6bf) - -diff --git a/NEWS b/NEWS -index 57feba81cd..7a6985f5dd 100644 ---- a/NEWS -+++ b/NEWS -@@ -22,6 +22,7 @@ The following bugs are resolved with this release: - [32231] elf: Change ldconfig auxcache magic number - [32245] glibc -Wstringop-overflow= build failure on hppa - [32470] x86: Avoid integer truncation with large cache sizes -+ [32810] Crash on x86-64 if XSAVEC disable via tunable - - Version 2.40 - -diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile -index 5311b594af..8819fba1b7 100644 ---- a/sysdeps/x86/Makefile -+++ b/sysdeps/x86/Makefile -@@ -21,6 +21,9 @@ tests += \ - tst-cpu-features-supports-static \ - tst-get-cpu-features \ - tst-get-cpu-features-static \ -+ tst-gnu2-tls2-x86-noxsave \ -+ tst-gnu2-tls2-x86-noxsavec \ -+ tst-gnu2-tls2-x86-noxsavexsavec \ - tst-hwcap-tunables \ - # tests - tests-static += \ -@@ -91,6 +94,22 @@ CFLAGS-tst-gnu2-tls2.c += -msse - CFLAGS-tst-gnu2-tls2mod0.c += -msse2 -mtune=haswell - CFLAGS-tst-gnu2-tls2mod1.c += -msse2 -mtune=haswell - CFLAGS-tst-gnu2-tls2mod2.c += -msse2 -mtune=haswell -+ -+LDFLAGS-tst-gnu2-tls2-x86-noxsave += -Wl,-z,lazy -+LDFLAGS-tst-gnu2-tls2-x86-noxsavec += -Wl,-z,lazy -+LDFLAGS-tst-gnu2-tls2-x86-noxsavexsavec += -Wl,-z,lazy -+ -+# Test for bug 32810: incorrect XSAVE state size if XSAVEC is disabled -+# via tunable. -+tst-gnu2-tls2-x86-noxsave-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVE -+tst-gnu2-tls2-x86-noxsavec-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC -+tst-gnu2-tls2-x86-noxsavexsavec-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVE,-XSAVEC -+$(objpfx)tst-gnu2-tls2-x86-noxsave.out \ -+$(objpfx)tst-gnu2-tls2-x86-noxsavec.out \ -+$(objpfx)tst-gnu2-tls2-x86-noxsavexsavec.out: \ -+ $(objpfx)tst-gnu2-tls2mod0.so \ -+ $(objpfx)tst-gnu2-tls2mod1.so \ -+ $(objpfx)tst-gnu2-tls2mod2.so - endif - - ifeq ($(subdir),math) -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index b5b264db7f..ec27337337 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -84,6 +84,8 @@ extern void TUNABLE_CALLBACK (set_x86_shstk) (tunable_val_t *) - # include - #endif - -+unsigned long int _dl_x86_features_tlsdesc_state_size; -+ - static void - update_active (struct cpu_features *cpu_features) - { -@@ -318,6 +320,7 @@ update_active (struct cpu_features *cpu_features) - = xsave_state_full_size; - cpu_features->xsave_state_full_size - = xsave_state_full_size; -+ _dl_x86_features_tlsdesc_state_size = xsave_state_full_size; - - /* Check if XSAVEC is available. */ - if (CPU_FEATURES_CPU_P (cpu_features, XSAVEC)) -@@ -406,11 +409,9 @@ update_active (struct cpu_features *cpu_features) - = ALIGN_UP ((amx_size - + TLSDESC_CALL_REGISTER_SAVE_AREA), - 64); -- /* Set xsave_state_full_size to the compact AMX -- state size for XSAVEC. NB: xsave_state_full_size -- is only used in _dl_tlsdesc_dynamic_xsave and -- _dl_tlsdesc_dynamic_xsavec. */ -- cpu_features->xsave_state_full_size = amx_size; -+ /* Set TLSDESC state size to the compact AMX -+ state size for XSAVEC. */ -+ _dl_x86_features_tlsdesc_state_size = amx_size; - #endif - cpu_features->xsave_state_size - = ALIGN_UP (size + TLSDESC_CALL_REGISTER_SAVE_AREA, -diff --git a/sysdeps/x86/cpu-tunables.c b/sysdeps/x86/cpu-tunables.c -index ccc6b64dc2..a0b31d80f6 100644 ---- a/sysdeps/x86/cpu-tunables.c -+++ b/sysdeps/x86/cpu-tunables.c -@@ -164,6 +164,8 @@ TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *valp) - /* Update xsave_state_size to XSAVE state size. */ - cpu_features->xsave_state_size - = cpu_features->xsave_state_full_size; -+ _dl_x86_features_tlsdesc_state_size -+ = cpu_features->xsave_state_full_size; - CPU_FEATURE_UNSET (cpu_features, XSAVEC); - } - } -diff --git a/sysdeps/x86/dl-diagnostics-cpu.c b/sysdeps/x86/dl-diagnostics-cpu.c -index 49eeb5f70a..41100a908a 100644 ---- a/sysdeps/x86/dl-diagnostics-cpu.c -+++ b/sysdeps/x86/dl-diagnostics-cpu.c -@@ -89,6 +89,8 @@ _dl_diagnostics_cpu (void) - cpu_features->xsave_state_size); - print_cpu_features_value ("xsave_state_full_size", - cpu_features->xsave_state_full_size); -+ print_cpu_features_value ("tlsdesc_state_full_size", -+ _dl_x86_features_tlsdesc_state_size); - print_cpu_features_value ("data_cache_size", cpu_features->data_cache_size); - print_cpu_features_value ("shared_cache_size", - cpu_features->shared_cache_size); -diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h -index aaae44f0e1..03c71387dd 100644 ---- a/sysdeps/x86/include/cpu-features.h -+++ b/sysdeps/x86/include/cpu-features.h -@@ -934,8 +934,6 @@ struct cpu_features - /* The full state size for XSAVE when XSAVEC is disabled by - - GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC -- -- and the AMX state size when XSAVEC is available. - */ - unsigned int xsave_state_full_size; - /* Data cache size for use in memory and string routines, typically -@@ -989,6 +987,13 @@ extern const struct cpu_features *_dl_x86_get_cpu_features (void) - - #define __get_cpu_features() _dl_x86_get_cpu_features() - -+#if IS_IN (rtld) || IS_IN (libc) -+/* XSAVE/XSAVEC state size used by TLS descriptors. Compared to -+ xsave_state_size from struct cpu_features, this includes additional -+ registers. */ -+extern unsigned long int _dl_x86_features_tlsdesc_state_size attribute_hidden; -+#endif -+ - #if defined (_LIBC) && !IS_IN (nonlib) - /* Unused for x86. */ - # define INIT_ARCH() -diff --git a/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c b/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c -new file mode 100644 -index 0000000000..f0024c143d ---- /dev/null -+++ b/sysdeps/x86/tst-gnu2-tls2-x86-noxsave.c -@@ -0,0 +1 @@ -+#include -diff --git a/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c -new file mode 100644 -index 0000000000..f0024c143d ---- /dev/null -+++ b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavec.c -@@ -0,0 +1 @@ -+#include -diff --git a/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c -new file mode 100644 -index 0000000000..f0024c143d ---- /dev/null -+++ b/sysdeps/x86/tst-gnu2-tls2-x86-noxsavexsavec.c -@@ -0,0 +1 @@ -+#include -diff --git a/sysdeps/x86_64/dl-tlsdesc-dynamic.h b/sysdeps/x86_64/dl-tlsdesc-dynamic.h -index 9f02cfc3eb..44d948696f 100644 ---- a/sysdeps/x86_64/dl-tlsdesc-dynamic.h -+++ b/sysdeps/x86_64/dl-tlsdesc-dynamic.h -@@ -99,7 +99,7 @@ _dl_tlsdesc_dynamic: - # endif - #else - /* Allocate stack space of the required size to save the state. */ -- sub _rtld_local_ro+RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+XSAVE_STATE_FULL_SIZE_OFFSET(%rip), %RSP_LP -+ sub _dl_x86_features_tlsdesc_state_size(%rip), %RSP_LP - #endif - /* Besides rdi and rsi, saved above, save rcx, rdx, r8, r9, - r10 and r11. */ - -commit a87d9a2c2cc17a3b22fd3be8d106336f4dcf2042 -Author: Florian Weimer -Date: Mon Mar 31 21:33:18 2025 +0200 - - x86: Link tst-gnu2-tls2-x86-noxsave{,c,xsavec} with libpthread - - This fixes a test build failure on Hurd. - - Fixes commit 145097dff170507fe73190e8e41194f5b5f7e6bf ("x86: Use separate - variable for TLSDESC XSAVE/XSAVEC state size (bug 32810)"). - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit c6e2895695118ab59c7b17feb0fcb75a53e3478c) - -diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile -index 8819fba1b7..01b0192ddf 100644 ---- a/sysdeps/x86/Makefile -+++ b/sysdeps/x86/Makefile -@@ -104,6 +104,9 @@ LDFLAGS-tst-gnu2-tls2-x86-noxsavexsavec += -Wl,-z,lazy - tst-gnu2-tls2-x86-noxsave-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVE - tst-gnu2-tls2-x86-noxsavec-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC - tst-gnu2-tls2-x86-noxsavexsavec-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVE,-XSAVEC -+$(objpfx)tst-gnu2-tls2-x86-noxsave: $(shared-thread-library) -+$(objpfx)tst-gnu2-tls2-x86-noxsavec: $(shared-thread-library) -+$(objpfx)tst-gnu2-tls2-x86-noxsavexsavec: $(shared-thread-library) - $(objpfx)tst-gnu2-tls2-x86-noxsave.out \ - $(objpfx)tst-gnu2-tls2-x86-noxsavec.out \ - $(objpfx)tst-gnu2-tls2-x86-noxsavexsavec.out: \ - -commit 8fe27af20c8b25b84e12bcd52353862a95044aa2 -Author: Noah Goldstein -Date: Wed Aug 14 14:37:30 2024 +0800 - - x86: Use `Avoid_Non_Temporal_Memset` to control non-temporal path - - This is just a refactor and there should be no behavioral change from - this commit. - - The goal is to make `Avoid_Non_Temporal_Memset` a more universal knob - for controlling whether we use non-temporal memset rather than having - extra logic based on vendor. - Reviewed-by: H.J. Lu - - (cherry picked from commit b93dddfaf440aa12f45d7c356f6ffe9f27d35577) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index ec27337337..8841020b36 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -758,6 +758,12 @@ init_cpu_features (struct cpu_features *cpu_features) - unsigned int stepping = 0; - enum cpu_features_kind kind; - -+ /* Default is avoid non-temporal memset for non Intel/AMD hardware. This is, -+ as of writing this, we only have benchmarks indicatings it profitability -+ on Intel/AMD. */ -+ cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] -+ |= bit_arch_Avoid_Non_Temporal_Memset; -+ - cpu_features->cachesize_non_temporal_divisor = 4; - #if !HAS_CPUID - if (__get_cpuid_max (0, 0) == 0) -@@ -783,6 +789,11 @@ init_cpu_features (struct cpu_features *cpu_features) - - update_active (cpu_features); - -+ /* Benchmarks indicate non-temporal memset can be profitable on Intel -+ hardware. */ -+ cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] -+ &= ~bit_arch_Avoid_Non_Temporal_Memset; -+ - if (family == 0x06) - { - model += extended_model; -@@ -993,6 +1004,11 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht - - ecx = cpu_features->features[CPUID_INDEX_1].cpuid.ecx; - -+ /* Benchmarks indicate non-temporal memset can be profitable on AMD -+ hardware. */ -+ cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] -+ &= ~bit_arch_Avoid_Non_Temporal_Memset; -+ - if (CPU_FEATURE_USABLE_P (cpu_features, AVX)) - { - /* Since the FMA4 bit is in CPUID_INDEX_80000001 and -diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h -index ac97414b5b..7b1b61c096 100644 ---- a/sysdeps/x86/dl-cacheinfo.h -+++ b/sysdeps/x86/dl-cacheinfo.h -@@ -988,14 +988,6 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - if (CPU_FEATURE_USABLE_P (cpu_features, FSRM)) - rep_movsb_threshold = 2112; - -- /* Non-temporal stores are more performant on Intel and AMD hardware above -- non_temporal_threshold. Enable this for both Intel and AMD hardware. */ -- unsigned long int memset_non_temporal_threshold = SIZE_MAX; -- if (!CPU_FEATURES_ARCH_P (cpu_features, Avoid_Non_Temporal_Memset) -- && (cpu_features->basic.kind == arch_kind_intel -- || cpu_features->basic.kind == arch_kind_amd)) -- memset_non_temporal_threshold = non_temporal_threshold; -- - /* For AMD CPUs that support ERMS (Zen3+), REP MOVSB is in a lot of - cases slower than the vectorized path (and for some alignments, - it is really slow, check BZ #30994). */ -@@ -1017,6 +1009,13 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - if (tunable_size != 0) - shared = tunable_size; - -+ /* Non-temporal stores are more performant on some hardware above -+ non_temporal_threshold. Currently Prefer_Non_Temporal is set for for both -+ Intel and AMD hardware. */ -+ unsigned long int memset_non_temporal_threshold = SIZE_MAX; -+ if (!CPU_FEATURES_ARCH_P (cpu_features, Avoid_Non_Temporal_Memset)) -+ memset_non_temporal_threshold = non_temporal_threshold; -+ - tunable_size = TUNABLE_GET (x86_non_temporal_threshold, long int, NULL); - if (tunable_size > minimum_non_temporal_threshold - && tunable_size <= maximum_non_temporal_threshold) - -commit 7c6bd71b4dbdadab34e4fd21ec09b86b32daf443 -Author: Sunil K Pandey -Date: Thu Apr 3 13:00:45 2025 -0700 - - x86: Optimize xstate size calculation - - Scan xstate IDs up to the maximum supported xstate ID. Remove the - separate AMX xstate calculation. Instead, exclude the AMX space from - the start of TILECFG to the end of TILEDATA in xsave_state_size. - - Completed validation on SKL/SKX/SPR/SDE and compared xsave state size - with "ld.so --list-diagnostics" option, no regression. - - Co-Authored-By: H.J. Lu - Reviewed-by: Sunil K Pandey - (cherry picked from commit 70b648855185e967e54668b101d24704c3fb869d) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 8841020b36..1d5e2a0072 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -325,13 +325,8 @@ update_active (struct cpu_features *cpu_features) - /* Check if XSAVEC is available. */ - if (CPU_FEATURES_CPU_P (cpu_features, XSAVEC)) - { -- unsigned int xstate_comp_offsets[32]; -- unsigned int xstate_comp_sizes[32]; --#ifdef __x86_64__ -- unsigned int xstate_amx_comp_offsets[32]; -- unsigned int xstate_amx_comp_sizes[32]; -- unsigned int amx_ecx; --#endif -+ unsigned int xstate_comp_offsets[X86_XSTATE_MAX_ID + 1]; -+ unsigned int xstate_comp_sizes[X86_XSTATE_MAX_ID + 1]; - unsigned int i; - - xstate_comp_offsets[0] = 0; -@@ -339,39 +334,16 @@ update_active (struct cpu_features *cpu_features) - xstate_comp_offsets[2] = 576; - xstate_comp_sizes[0] = 160; - xstate_comp_sizes[1] = 256; --#ifdef __x86_64__ -- xstate_amx_comp_offsets[0] = 0; -- xstate_amx_comp_offsets[1] = 160; -- xstate_amx_comp_offsets[2] = 576; -- xstate_amx_comp_sizes[0] = 160; -- xstate_amx_comp_sizes[1] = 256; --#endif - -- for (i = 2; i < 32; i++) -+ for (i = 2; i <= X86_XSTATE_MAX_ID; i++) - { - if ((FULL_STATE_SAVE_MASK & (1 << i)) != 0) - { - __cpuid_count (0xd, i, eax, ebx, ecx, edx); --#ifdef __x86_64__ -- /* Include this in xsave_state_full_size. */ -- amx_ecx = ecx; -- xstate_amx_comp_sizes[i] = eax; -- if ((AMX_STATE_SAVE_MASK & (1 << i)) != 0) -- { -- /* Exclude this from xsave_state_size. */ -- ecx = 0; -- xstate_comp_sizes[i] = 0; -- } -- else --#endif -- xstate_comp_sizes[i] = eax; -+ xstate_comp_sizes[i] = eax; - } - else - { --#ifdef __x86_64__ -- amx_ecx = 0; -- xstate_amx_comp_sizes[i] = 0; --#endif - ecx = 0; - xstate_comp_sizes[i] = 0; - } -@@ -380,42 +352,32 @@ update_active (struct cpu_features *cpu_features) - { - xstate_comp_offsets[i] - = (xstate_comp_offsets[i - 1] -- + xstate_comp_sizes[i -1]); -+ + xstate_comp_sizes[i - 1]); - if ((ecx & (1 << 1)) != 0) - xstate_comp_offsets[i] - = ALIGN_UP (xstate_comp_offsets[i], 64); --#ifdef __x86_64__ -- xstate_amx_comp_offsets[i] -- = (xstate_amx_comp_offsets[i - 1] -- + xstate_amx_comp_sizes[i - 1]); -- if ((amx_ecx & (1 << 1)) != 0) -- xstate_amx_comp_offsets[i] -- = ALIGN_UP (xstate_amx_comp_offsets[i], -- 64); --#endif - } - } - - /* Use XSAVEC. */ - unsigned int size -- = xstate_comp_offsets[31] + xstate_comp_sizes[31]; -+ = (xstate_comp_offsets[X86_XSTATE_MAX_ID] -+ + xstate_comp_sizes[X86_XSTATE_MAX_ID]); - if (size) - { -+ size = ALIGN_UP (size + TLSDESC_CALL_REGISTER_SAVE_AREA, -+ 64); - #ifdef __x86_64__ -- unsigned int amx_size -- = (xstate_amx_comp_offsets[31] -- + xstate_amx_comp_sizes[31]); -- amx_size -- = ALIGN_UP ((amx_size -- + TLSDESC_CALL_REGISTER_SAVE_AREA), -- 64); -- /* Set TLSDESC state size to the compact AMX -- state size for XSAVEC. */ -- _dl_x86_features_tlsdesc_state_size = amx_size; -+ _dl_x86_features_tlsdesc_state_size = size; -+ /* Exclude the AMX space from the start of TILECFG -+ space to the end of TILEDATA space. If CPU -+ doesn't support AMX, TILECFG offset is the same -+ as TILEDATA + 1 offset. Otherwise, they are -+ multiples of 64. */ -+ size -= (xstate_comp_offsets[X86_XSTATE_TILEDATA_ID + 1] -+ - xstate_comp_offsets[X86_XSTATE_TILECFG_ID]); - #endif -- cpu_features->xsave_state_size -- = ALIGN_UP (size + TLSDESC_CALL_REGISTER_SAVE_AREA, -- 64); -+ cpu_features->xsave_state_size = size; - CPU_FEATURE_SET (cpu_features, XSAVEC); - } - } -diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h -index 7359149e17..1d6cabd816 100644 ---- a/sysdeps/x86/sysdep.h -+++ b/sysdeps/x86/sysdep.h -@@ -102,6 +102,9 @@ - | (1 << X86_XSTATE_ZMM_ID) \ - | (1 << X86_XSTATE_APX_F_ID)) - -+/* The maximum supported xstate ID. */ -+# define X86_XSTATE_MAX_ID X86_XSTATE_APX_F_ID -+ - /* AMX state mask. */ - # define AMX_STATE_SAVE_MASK \ - ((1 << X86_XSTATE_TILECFG_ID) | (1 << X86_XSTATE_TILEDATA_ID)) -@@ -123,6 +126,9 @@ - | (1 << X86_XSTATE_K_ID) \ - | (1 << X86_XSTATE_ZMM_H_ID)) - -+/* The maximum supported xstate ID. */ -+# define X86_XSTATE_MAX_ID X86_XSTATE_ZMM_H_ID -+ - /* States to be included in xsave_state_size. */ - # define FULL_STATE_SAVE_MASK STATE_SAVE_MASK - #endif - -commit 44f92df8007d57f82b1518e219a0dbb60389ef2c -Author: Sunil K Pandey -Date: Thu Apr 3 18:14:20 2025 -0700 - - x86: Add ARL/PTL/CWF model detection support - - - Add ARROWLAKE model detection. - - Add PANTHERLAKE model detection. - - Add CLEARWATERFOREST model detection. - - Intel® Architecture Instruction Set Extensions Programming Reference - https://cdrdv2.intel.com/v1/dl/getContent/671368 Section 1.2. - - No regression, validated model detection on SDE. - - Reviewed-by: H.J. Lu - (cherry picked from commit e53eb952b970ac94c97d74fb447418fb327ca096) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 1d5e2a0072..7f21a8227e 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -512,6 +512,7 @@ enum - INTEL_ATOM_GOLDMONT, - INTEL_ATOM_GOLDMONT_PLUS, - INTEL_ATOM_SIERRAFOREST, -+ INTEL_ATOM_CLEARWATERFOREST, - INTEL_ATOM_GRANDRIDGE, - INTEL_ATOM_TREMONT, - -@@ -539,6 +540,7 @@ enum - INTEL_BIGCORE_METEORLAKE, - INTEL_BIGCORE_LUNARLAKE, - INTEL_BIGCORE_ARROWLAKE, -+ INTEL_BIGCORE_PANTHERLAKE, - INTEL_BIGCORE_GRANITERAPIDS, - - /* Mixed (bigcore + atom SOC). */ -@@ -584,6 +586,8 @@ intel_get_fam6_microarch (unsigned int model, - return INTEL_ATOM_GOLDMONT_PLUS; - case 0xAF: - return INTEL_ATOM_SIERRAFOREST; -+ case 0xDD: -+ return INTEL_ATOM_CLEARWATERFOREST; - case 0xB6: - return INTEL_ATOM_GRANDRIDGE; - case 0x86: -@@ -691,8 +695,12 @@ intel_get_fam6_microarch (unsigned int model, - return INTEL_BIGCORE_METEORLAKE; - case 0xbd: - return INTEL_BIGCORE_LUNARLAKE; -+ case 0xb5: -+ case 0xc5: - case 0xc6: - return INTEL_BIGCORE_ARROWLAKE; -+ case 0xCC: -+ return INTEL_BIGCORE_PANTHERLAKE; - case 0xAD: - case 0xAE: - return INTEL_BIGCORE_GRANITERAPIDS; -@@ -808,6 +816,7 @@ init_cpu_features (struct cpu_features *cpu_features) - Default tuned atom microarch. - case INTEL_ATOM_SIERRAFOREST: - case INTEL_ATOM_GRANDRIDGE: -+ case INTEL_ATOM_CLEARWATERFOREST: - */ - - /* Bigcore/Default Tuning. */ -@@ -864,6 +873,7 @@ init_cpu_features (struct cpu_features *cpu_features) - case INTEL_BIGCORE_METEORLAKE: - case INTEL_BIGCORE_LUNARLAKE: - case INTEL_BIGCORE_ARROWLAKE: -+ case INTEL_BIGCORE_PANTHERLAKE: - case INTEL_BIGCORE_SAPPHIRERAPIDS: - case INTEL_BIGCORE_EMERALDRAPIDS: - case INTEL_BIGCORE_GRANITERAPIDS: - -commit 9ee8083c4edbe5e92af7aabb23261309f03ef05c -Author: Sunil K Pandey -Date: Fri Apr 11 08:52:52 2025 -0700 - - x86: Handle unknown Intel processor with default tuning - - Enable default tuning for unknown Intel processor. - - Tested on x86, no regression. - - Co-Authored-By: H.J. Lu - Reviewed-by: H.J. Lu - (cherry picked from commit 9f0deff558d1d6b08c425c157f50de85013ada9c) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 7f21a8227e..1a6e694abf 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -502,8 +502,8 @@ _Static_assert (((index_arch_Fast_Unaligned_Load - "Incorrect index_arch_Fast_Unaligned_Load"); - - --/* Intel Family-6 microarch list. */ --enum -+/* Intel microarch list. */ -+enum intel_microarch - { - /* Atom processors. */ - INTEL_ATOM_BONNELL, -@@ -555,7 +555,7 @@ enum - INTEL_UNKNOWN, - }; - --static unsigned int -+static enum intel_microarch - intel_get_fam6_microarch (unsigned int model, - __attribute__ ((unused)) unsigned int stepping) - { -@@ -764,134 +764,20 @@ init_cpu_features (struct cpu_features *cpu_features) - cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] - &= ~bit_arch_Avoid_Non_Temporal_Memset; - -+ enum intel_microarch microarch = INTEL_UNKNOWN; - if (family == 0x06) - { - model += extended_model; -- unsigned int microarch -- = intel_get_fam6_microarch (model, stepping); -+ microarch = intel_get_fam6_microarch (model, stepping); - -+ /* Disable TSX on some processors to avoid TSX on kernels that -+ weren't updated with the latest microcode package (which -+ disables broken feature by default). */ - switch (microarch) - { -- /* Atom / KNL tuning. */ -- case INTEL_ATOM_BONNELL: -- /* BSF is slow on Bonnell. */ -- cpu_features->preferred[index_arch_Slow_BSF] -- |= bit_arch_Slow_BSF; -- break; -- -- /* Unaligned load versions are faster than SSSE3 -- on Airmont, Silvermont, Goldmont, and Goldmont Plus. */ -- case INTEL_ATOM_AIRMONT: -- case INTEL_ATOM_SILVERMONT: -- case INTEL_ATOM_GOLDMONT: -- case INTEL_ATOM_GOLDMONT_PLUS: -- -- /* Knights Landing. Enable Silvermont optimizations. */ -- case INTEL_KNIGHTS_LANDING: -- -- cpu_features->preferred[index_arch_Fast_Unaligned_Load] -- |= (bit_arch_Fast_Unaligned_Load -- | bit_arch_Fast_Unaligned_Copy -- | bit_arch_Prefer_PMINUB_for_stringop -- | bit_arch_Slow_SSE4_2); -- break; -- -- case INTEL_ATOM_TREMONT: -- /* Enable rep string instructions, unaligned load, unaligned -- copy, pminub and avoid SSE 4.2 on Tremont. */ -- cpu_features->preferred[index_arch_Fast_Rep_String] -- |= (bit_arch_Fast_Rep_String -- | bit_arch_Fast_Unaligned_Load -- | bit_arch_Fast_Unaligned_Copy -- | bit_arch_Prefer_PMINUB_for_stringop -- | bit_arch_Slow_SSE4_2); -- break; -- -- /* -- Default tuned Knights microarch. -- case INTEL_KNIGHTS_MILL: -- */ -- -- /* -- Default tuned atom microarch. -- case INTEL_ATOM_SIERRAFOREST: -- case INTEL_ATOM_GRANDRIDGE: -- case INTEL_ATOM_CLEARWATERFOREST: -- */ -- -- /* Bigcore/Default Tuning. */ - default: -- default_tuning: -- /* Unknown family 0x06 processors. Assuming this is one -- of Core i3/i5/i7 processors if AVX is available. */ -- if (!CPU_FEATURES_CPU_P (cpu_features, AVX)) -- break; -- -- enable_modern_features: -- /* Rep string instructions, unaligned load, unaligned copy, -- and pminub are fast on Intel Core i3, i5 and i7. */ -- cpu_features->preferred[index_arch_Fast_Rep_String] -- |= (bit_arch_Fast_Rep_String -- | bit_arch_Fast_Unaligned_Load -- | bit_arch_Fast_Unaligned_Copy -- | bit_arch_Prefer_PMINUB_for_stringop); - break; - -- case INTEL_BIGCORE_NEHALEM: -- case INTEL_BIGCORE_WESTMERE: -- /* Older CPUs prefer non-temporal stores at lower threshold. */ -- cpu_features->cachesize_non_temporal_divisor = 8; -- goto enable_modern_features; -- -- /* Older Bigcore microarch (smaller non-temporal store -- threshold). */ -- case INTEL_BIGCORE_SANDYBRIDGE: -- case INTEL_BIGCORE_IVYBRIDGE: -- case INTEL_BIGCORE_HASWELL: -- case INTEL_BIGCORE_BROADWELL: -- cpu_features->cachesize_non_temporal_divisor = 8; -- goto default_tuning; -- -- /* Newer Bigcore microarch (larger non-temporal store -- threshold). */ -- case INTEL_BIGCORE_SKYLAKE_AVX512: -- case INTEL_BIGCORE_CANNONLAKE: -- /* Benchmarks indicate non-temporal memset is not -- necessarily profitable on SKX (and in some cases much -- worse). This is likely unique to SKX due its it unique -- mesh interconnect (not present on ICX or BWD). Disable -- non-temporal on all Skylake servers. */ -- cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] -- |= bit_arch_Avoid_Non_Temporal_Memset; -- case INTEL_BIGCORE_COMETLAKE: -- case INTEL_BIGCORE_SKYLAKE: -- case INTEL_BIGCORE_KABYLAKE: -- case INTEL_BIGCORE_ICELAKE: -- case INTEL_BIGCORE_TIGERLAKE: -- case INTEL_BIGCORE_ROCKETLAKE: -- case INTEL_BIGCORE_RAPTORLAKE: -- case INTEL_BIGCORE_METEORLAKE: -- case INTEL_BIGCORE_LUNARLAKE: -- case INTEL_BIGCORE_ARROWLAKE: -- case INTEL_BIGCORE_PANTHERLAKE: -- case INTEL_BIGCORE_SAPPHIRERAPIDS: -- case INTEL_BIGCORE_EMERALDRAPIDS: -- case INTEL_BIGCORE_GRANITERAPIDS: -- cpu_features->cachesize_non_temporal_divisor = 2; -- goto default_tuning; -- -- /* Default tuned Mixed (bigcore + atom SOC). */ -- case INTEL_MIXED_LAKEFIELD: -- case INTEL_MIXED_ALDERLAKE: -- cpu_features->cachesize_non_temporal_divisor = 2; -- goto default_tuning; -- } -- -- /* Disable TSX on some processors to avoid TSX on kernels that -- weren't updated with the latest microcode package (which -- disables broken feature by default). */ -- switch (microarch) -- { - case INTEL_BIGCORE_SKYLAKE_AVX512: - /* 0x55 (Skylake-avx512) && stepping <= 5 disable TSX. */ - if (stepping <= 5) -@@ -900,38 +786,152 @@ init_cpu_features (struct cpu_features *cpu_features) - - case INTEL_BIGCORE_KABYLAKE: - /* NB: Although the errata documents that for model == 0x8e -- (kabylake skylake client), only 0xb stepping or lower are -- impacted, the intention of the errata was to disable TSX on -- all client processors on all steppings. Include 0xc -- stepping which is an Intel Core i7-8665U, a client mobile -- processor. */ -+ (kabylake skylake client), only 0xb stepping or lower are -+ impacted, the intention of the errata was to disable TSX on -+ all client processors on all steppings. Include 0xc -+ stepping which is an Intel Core i7-8665U, a client mobile -+ processor. */ - if (stepping > 0xc) - break; - /* Fall through. */ - case INTEL_BIGCORE_SKYLAKE: -- /* Disable Intel TSX and enable RTM_ALWAYS_ABORT for -- processors listed in: -- --https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html -- */ -- disable_tsx: -- CPU_FEATURE_UNSET (cpu_features, HLE); -- CPU_FEATURE_UNSET (cpu_features, RTM); -- CPU_FEATURE_SET (cpu_features, RTM_ALWAYS_ABORT); -- break; -+ /* Disable Intel TSX and enable RTM_ALWAYS_ABORT for -+ processors listed in: -+ -+ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html -+ */ -+disable_tsx: -+ CPU_FEATURE_UNSET (cpu_features, HLE); -+ CPU_FEATURE_UNSET (cpu_features, RTM); -+ CPU_FEATURE_SET (cpu_features, RTM_ALWAYS_ABORT); -+ break; - - case INTEL_BIGCORE_HASWELL: -- /* Xeon E7 v3 (model == 0x3f) with stepping >= 4 has working -- TSX. Haswell also include other model numbers that have -- working TSX. */ -- if (model == 0x3f && stepping >= 4) -+ /* Xeon E7 v3 (model == 0x3f) with stepping >= 4 has working -+ TSX. Haswell also includes other model numbers that have -+ working TSX. */ -+ if (model == 0x3f && stepping >= 4) - break; - -- CPU_FEATURE_UNSET (cpu_features, RTM); -- break; -+ CPU_FEATURE_UNSET (cpu_features, RTM); -+ break; - } - } - -+ switch (microarch) -+ { -+ /* Atom / KNL tuning. */ -+ case INTEL_ATOM_BONNELL: -+ /* BSF is slow on Bonnell. */ -+ cpu_features->preferred[index_arch_Slow_BSF] -+ |= bit_arch_Slow_BSF; -+ break; -+ -+ /* Unaligned load versions are faster than SSSE3 -+ on Airmont, Silvermont, Goldmont, and Goldmont Plus. */ -+ case INTEL_ATOM_AIRMONT: -+ case INTEL_ATOM_SILVERMONT: -+ case INTEL_ATOM_GOLDMONT: -+ case INTEL_ATOM_GOLDMONT_PLUS: -+ -+ /* Knights Landing. Enable Silvermont optimizations. */ -+ case INTEL_KNIGHTS_LANDING: -+ -+ cpu_features->preferred[index_arch_Fast_Unaligned_Load] -+ |= (bit_arch_Fast_Unaligned_Load -+ | bit_arch_Fast_Unaligned_Copy -+ | bit_arch_Prefer_PMINUB_for_stringop -+ | bit_arch_Slow_SSE4_2); -+ break; -+ -+ case INTEL_ATOM_TREMONT: -+ /* Enable rep string instructions, unaligned load, unaligned -+ copy, pminub and avoid SSE 4.2 on Tremont. */ -+ cpu_features->preferred[index_arch_Fast_Rep_String] -+ |= (bit_arch_Fast_Rep_String -+ | bit_arch_Fast_Unaligned_Load -+ | bit_arch_Fast_Unaligned_Copy -+ | bit_arch_Prefer_PMINUB_for_stringop -+ | bit_arch_Slow_SSE4_2); -+ break; -+ -+ /* -+ Default tuned Knights microarch. -+ case INTEL_KNIGHTS_MILL: -+ */ -+ -+ /* -+ Default tuned atom microarch. -+ case INTEL_ATOM_SIERRAFOREST: -+ case INTEL_ATOM_GRANDRIDGE: -+ case INTEL_ATOM_CLEARWATERFOREST: -+ */ -+ -+ /* Bigcore/Default Tuning. */ -+ default: -+ default_tuning: -+ /* Unknown Intel processors. Assuming this is one of Core -+ i3/i5/i7 processors if AVX is available. */ -+ if (!CPU_FEATURES_CPU_P (cpu_features, AVX)) -+ break; -+ -+ enable_modern_features: -+ /* Rep string instructions, unaligned load, unaligned copy, -+ and pminub are fast on Intel Core i3, i5 and i7. */ -+ cpu_features->preferred[index_arch_Fast_Rep_String] -+ |= (bit_arch_Fast_Rep_String -+ | bit_arch_Fast_Unaligned_Load -+ | bit_arch_Fast_Unaligned_Copy -+ | bit_arch_Prefer_PMINUB_for_stringop); -+ break; -+ -+ case INTEL_BIGCORE_NEHALEM: -+ case INTEL_BIGCORE_WESTMERE: -+ /* Older CPUs prefer non-temporal stores at lower threshold. */ -+ cpu_features->cachesize_non_temporal_divisor = 8; -+ goto enable_modern_features; -+ -+ /* Older Bigcore microarch (smaller non-temporal store -+ threshold). */ -+ case INTEL_BIGCORE_SANDYBRIDGE: -+ case INTEL_BIGCORE_IVYBRIDGE: -+ case INTEL_BIGCORE_HASWELL: -+ case INTEL_BIGCORE_BROADWELL: -+ cpu_features->cachesize_non_temporal_divisor = 8; -+ goto default_tuning; -+ -+ /* Newer Bigcore microarch (larger non-temporal store -+ threshold). */ -+ case INTEL_BIGCORE_SKYLAKE_AVX512: -+ case INTEL_BIGCORE_CANNONLAKE: -+ /* Benchmarks indicate non-temporal memset is not -+ necessarily profitable on SKX (and in some cases much -+ worse). This is likely unique to SKX due to its unique -+ mesh interconnect (not present on ICX or BWD). Disable -+ non-temporal on all Skylake servers. */ -+ cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] -+ |= bit_arch_Avoid_Non_Temporal_Memset; -+ /* fallthrough */ -+ case INTEL_BIGCORE_COMETLAKE: -+ case INTEL_BIGCORE_SKYLAKE: -+ case INTEL_BIGCORE_KABYLAKE: -+ case INTEL_BIGCORE_ICELAKE: -+ case INTEL_BIGCORE_TIGERLAKE: -+ case INTEL_BIGCORE_ROCKETLAKE: -+ case INTEL_BIGCORE_RAPTORLAKE: -+ case INTEL_BIGCORE_METEORLAKE: -+ case INTEL_BIGCORE_LUNARLAKE: -+ case INTEL_BIGCORE_ARROWLAKE: -+ case INTEL_BIGCORE_PANTHERLAKE: -+ case INTEL_BIGCORE_SAPPHIRERAPIDS: -+ case INTEL_BIGCORE_EMERALDRAPIDS: -+ case INTEL_BIGCORE_GRANITERAPIDS: -+ /* Default tuned Mixed (bigcore + atom SOC). */ -+ case INTEL_MIXED_LAKEFIELD: -+ case INTEL_MIXED_ALDERLAKE: -+ cpu_features->cachesize_non_temporal_divisor = 2; -+ goto default_tuning; -+ } - - /* Since AVX512ER is unique to Xeon Phi, set Prefer_No_VZEROUPPER - if AVX512ER is available. Don't use AVX512 to avoid lower CPU - -commit d8a1a1aef7a58b991505b9a1349a40736dec3abf -Author: H.J. Lu -Date: Sat Apr 12 08:37:29 2025 -0700 - - x86: Detect Intel Diamond Rapids - - Detect Intel Diamond Rapids and tune it similar to Intel Granite Rapids. - - Signed-off-by: H.J. Lu - Reviewed-by: Sunil K Pandey - (cherry picked from commit de14f1959ee5f9b845a7cae43bee03068b8136f0) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 1a6e694abf..52a2f03bdd 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -542,6 +542,7 @@ enum intel_microarch - INTEL_BIGCORE_ARROWLAKE, - INTEL_BIGCORE_PANTHERLAKE, - INTEL_BIGCORE_GRANITERAPIDS, -+ INTEL_BIGCORE_DIAMONDRAPIDS, - - /* Mixed (bigcore + atom SOC). */ - INTEL_MIXED_LAKEFIELD, -@@ -817,6 +818,16 @@ disable_tsx: - break; - } - } -+ else if (family == 19) -+ switch (model) -+ { -+ case 0x01: -+ microarch = INTEL_BIGCORE_DIAMONDRAPIDS; -+ break; -+ -+ default: -+ break; -+ } - - switch (microarch) - { -@@ -926,6 +937,7 @@ disable_tsx: - case INTEL_BIGCORE_SAPPHIRERAPIDS: - case INTEL_BIGCORE_EMERALDRAPIDS: - case INTEL_BIGCORE_GRANITERAPIDS: -+ case INTEL_BIGCORE_DIAMONDRAPIDS: - /* Default tuned Mixed (bigcore + atom SOC). */ - case INTEL_MIXED_LAKEFIELD: - case INTEL_MIXED_ALDERLAKE: - -commit 736e6735053f12181d3d287898dd5fdb9e8baf59 -Author: Frank Barrus -Date: Wed Dec 4 07:55:02 2024 -0500 - - pthreads NPTL: lost wakeup fix 2 - - This fixes the lost wakeup (from a bug in signal stealing) with a change - in the usage of g_signals[] in the condition variable internal state. - It also completely eliminates the concept and handling of signal stealing, - as well as the need for signalers to block to wait for waiters to wake - up every time there is a G1/G2 switch. This greatly reduces the average - and maximum latency for pthread_cond_signal. - - The g_signals[] field now contains a signal count that is relative to - the current g1_start value. Since it is a 32-bit field, and the LSB is - still reserved (though not currently used anymore), it has a 31-bit value - that corresponds to the low 31 bits of the sequence number in g1_start. - (since g1_start also has an LSB flag, this means bits 31:1 in g_signals - correspond to bits 31:1 in g1_start, plus the current signal count) - - By making the signal count relative to g1_start, there is no longer - any ambiguity or A/B/A issue, and thus any checks before blocking, - including the futex call itself, are guaranteed not to block if the G1/G2 - switch occurs, even if the signal count remains the same. This allows - initially safely blocking in G2 until the switch to G1 occurs, and - then transitioning from G1 to a new G1 or G2, and always being able to - distinguish the state change. This removes the race condition and A/B/A - problems that otherwise ocurred if a late (pre-empted) waiter were to - resume just as the futex call attempted to block on g_signal since - otherwise there was no last opportunity to re-check things like whether - the current G1 group was already closed. - - By fixing these issues, the signal stealing code can be eliminated, - since there is no concept of signal stealing anymore. The code to block - for all waiters to exit g_refs can also be removed, since any waiters - that are still in the g_refs region can be guaranteed to safely wake - up and exit. If there are still any left at this time, they are all - sent one final futex wakeup to ensure that they are not blocked any - longer, but there is no need for the signaller to block and wait for - them to wake up and exit the g_refs region. - - The signal count is then effectively "zeroed" but since it is now - relative to g1_start, this is done by advancing it to a new value that - can be observed by any pending blocking waiters. Any late waiters can - always tell the difference, and can thus just cleanly exit if they are - in a stale G1 or G2. They can never steal a signal from the current - G1 if they are not in the current G1, since the signal value that has - to match in the cmpxchg has the low 31 bits of the g1_start value - contained in it, and that's first checked, and then it won't match if - there's a G1/G2 change. - - Note: the 31-bit sequence number used in g_signals is designed to - handle wrap-around when checking the signal count, but if the entire - 31-bit wraparound (2 billion signals) occurs while there is still a - late waiter that has not yet resumed, and it happens to then match - the current g1_start low bits, and the pre-emption occurs after the - normal "closed group" checks (which are 64-bit) but then hits the - futex syscall and signal consuming code, then an A/B/A issue could - still result and cause an incorrect assumption about whether it - should block. This particular scenario seems unlikely in practice. - Note that once awake from the futex, the waiter would notice the - closed group before consuming the signal (since that's still a 64-bit - check that would not be aliased in the wrap-around in g_signals), - so the biggest impact would be blocking on the futex until the next - full wakeup from a G1/G2 switch. - - Signed-off-by: Frank Barrus - Reviewed-by: Carlos O'Donell - (cherry picked from commit 1db84775f831a1494993ce9c118deaf9537cc50a) - -diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c -index 3487557bb8..4855b8899f 100644 ---- a/nptl/pthread_cond_common.c -+++ b/nptl/pthread_cond_common.c -@@ -201,7 +201,6 @@ static bool __attribute__ ((unused)) - __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - unsigned int *g1index, int private) - { -- const unsigned int maxspin = 0; - unsigned int g1 = *g1index; - - /* If there is no waiter in G2, we don't do anything. The expression may -@@ -222,84 +221,46 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - * New waiters arriving concurrently with the group switching will all go - into G2 until we atomically make the switch. Waiters existing in G2 - are not affected. -- * Waiters in G1 will be closed out immediately by setting a flag in -- __g_signals, which will prevent waiters from blocking using a futex on -- __g_signals and also notifies them that the group is closed. As a -- result, they will eventually remove their group reference, allowing us -- to close switch group roles. */ -- -- /* First, set the closed flag on __g_signals. This tells waiters that are -- about to wait that they shouldn't do that anymore. This basically -- serves as an advance notification of the upcoming change to __g1_start; -- waiters interpret it as if __g1_start was larger than their waiter -- sequence position. This allows us to change __g1_start after waiting -- for all existing waiters with group references to leave, which in turn -- makes recovery after stealing a signal simpler because it then can be -- skipped if __g1_start indicates that the group is closed (otherwise, -- we would have to recover always because waiters don't know how big their -- groups are). Relaxed MO is fine. */ -- atomic_fetch_or_relaxed (cond->__data.__g_signals + g1, 1); -- -- /* Wait until there are no group references anymore. The fetch-or operation -- injects us into the modification order of __g_refs; release MO ensures -- that waiters incrementing __g_refs after our fetch-or see the previous -- changes to __g_signals and to __g1_start that had to happen before we can -- switch this G1 and alias with an older group (we have two groups, so -- aliasing requires switching group roles twice). Note that nobody else -- can have set the wake-request flag, so we do not have to act upon it. -- -- Also note that it is harmless if older waiters or waiters from this G1 -- get a group reference after we have quiesced the group because it will -- remain closed for them either because of the closed flag in __g_signals -- or the later update to __g1_start. New waiters will never arrive here -- but instead continue to go into the still current G2. */ -- unsigned r = atomic_fetch_or_release (cond->__data.__g_refs + g1, 0); -- while ((r >> 1) > 0) -- { -- for (unsigned int spin = maxspin; ((r >> 1) > 0) && (spin > 0); spin--) -- { -- /* TODO Back off. */ -- r = atomic_load_relaxed (cond->__data.__g_refs + g1); -- } -- if ((r >> 1) > 0) -- { -- /* There is still a waiter after spinning. Set the wake-request -- flag and block. Relaxed MO is fine because this is just about -- this futex word. -- -- Update r to include the set wake-request flag so that the upcoming -- futex_wait only blocks if the flag is still set (otherwise, we'd -- violate the basic client-side futex protocol). */ -- r = atomic_fetch_or_relaxed (cond->__data.__g_refs + g1, 1) | 1; -- -- if ((r >> 1) > 0) -- futex_wait_simple (cond->__data.__g_refs + g1, r, private); -- /* Reload here so we eventually see the most recent value even if we -- do not spin. */ -- r = atomic_load_relaxed (cond->__data.__g_refs + g1); -- } -- } -- /* Acquire MO so that we synchronize with the release operation that waiters -- use to decrement __g_refs and thus happen after the waiters we waited -- for. */ -- atomic_thread_fence_acquire (); -+ * Waiters in G1 will be closed out immediately by the advancing of -+ __g_signals to the next "lowseq" (low 31 bits of the new g1_start), -+ which will prevent waiters from blocking using a futex on -+ __g_signals since it provides enough signals for all possible -+ remaining waiters. As a result, they can each consume a signal -+ and they will eventually remove their group reference. */ - - /* Update __g1_start, which finishes closing this group. The value we add - will never be negative because old_orig_size can only be zero when we - switch groups the first time after a condvar was initialized, in which -- case G1 will be at index 1 and we will add a value of 1. See above for -- why this takes place after waiting for quiescence of the group. -+ case G1 will be at index 1 and we will add a value of 1. - Relaxed MO is fine because the change comes with no additional - constraints that others would have to observe. */ - __condvar_add_g1_start_relaxed (cond, - (old_orig_size << 1) + (g1 == 1 ? 1 : - 1)); - -- /* Now reopen the group, thus enabling waiters to again block using the -- futex controlled by __g_signals. Release MO so that observers that see -- no signals (and thus can block) also see the write __g1_start and thus -- that this is now a new group (see __pthread_cond_wait_common for the -- matching acquire MO loads). */ -- atomic_store_release (cond->__data.__g_signals + g1, 0); -+ unsigned int lowseq = ((old_g1_start + old_orig_size) << 1) & ~1U; -+ -+ /* If any waiters still hold group references (and thus could be blocked), -+ then wake them all up now and prevent any running ones from blocking. -+ This is effectively a catch-all for any possible current or future -+ bugs that can allow the group size to reach 0 before all G1 waiters -+ have been awakened or at least given signals to consume, or any -+ other case that can leave blocked (or about to block) older waiters.. */ -+ if ((atomic_fetch_or_release (cond->__data.__g_refs + g1, 0) >> 1) > 0) -+ { -+ /* First advance signals to the end of the group (i.e. enough signals -+ for the entire G1 group) to ensure that waiters which have not -+ yet blocked in the futex will not block. -+ Note that in the vast majority of cases, this should never -+ actually be necessary, since __g_signals will have enough -+ signals for the remaining g_refs waiters. As an optimization, -+ we could check this first before proceeding, although that -+ could still leave the potential for futex lost wakeup bugs -+ if the signal count was non-zero but the futex wakeup -+ was somehow lost. */ -+ atomic_store_release (cond->__data.__g_signals + g1, lowseq); -+ -+ futex_wake (cond->__data.__g_signals + g1, INT_MAX, private); -+ } - - /* At this point, the old G1 is now a valid new G2 (but not in use yet). - No old waiter can neither grab a signal nor acquire a reference without -@@ -311,6 +272,10 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - g1 ^= 1; - *g1index ^= 1; - -+ /* Now advance the new G1 g_signals to the new lowseq, giving it -+ an effective signal count of 0 to start. */ -+ atomic_store_release (cond->__data.__g_signals + g1, lowseq); -+ - /* These values are just observed by signalers, and thus protected by the - lock. */ - unsigned int orig_size = wseq - (old_g1_start + old_orig_size); -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index 66786c7b90..3d290e39c8 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -238,9 +238,7 @@ __condvar_cleanup_waiting (void *arg) - signaled), and a reference count. - - The group reference count is used to maintain the number of waiters that -- are using the group's futex. Before a group can change its role, the -- reference count must show that no waiters are using the futex anymore; this -- prevents ABA issues on the futex word. -+ are using the group's futex. - - To represent which intervals in the waiter sequence the groups cover (and - thus also which group slot contains G1 or G2), we use a 64b counter to -@@ -300,11 +298,12 @@ __condvar_cleanup_waiting (void *arg) - last reference. - * Reference count used by waiters concurrently with signalers that have - acquired the condvar-internal lock. -- __g_signals: The number of signals that can still be consumed. -+ __g_signals: The number of signals that can still be consumed, relative to -+ the current g1_start. (i.e. bits 31 to 1 of __g_signals are bits -+ 31 to 1 of g1_start with the signal count added) - * Used as a futex word by waiters. Used concurrently by waiters and - signalers. -- * LSB is true iff this group has been completely signaled (i.e., it is -- closed). -+ * LSB is currently reserved and 0. - __g_size: Waiters remaining in this group (i.e., which have not been - signaled yet. - * Accessed by signalers and waiters that cancel waiting (both do so only -@@ -328,18 +327,6 @@ __condvar_cleanup_waiting (void *arg) - sufficient because if a waiter can see a sufficiently large value, it could - have also consume a signal in the waiters group. - -- Waiters try to grab a signal from __g_signals without holding a reference -- count, which can lead to stealing a signal from a more recent group after -- their own group was already closed. They cannot always detect whether they -- in fact did because they do not know when they stole, but they can -- conservatively add a signal back to the group they stole from; if they -- did so unnecessarily, all that happens is a spurious wake-up. To make this -- even less likely, __g1_start contains the index of the current g2 too, -- which allows waiters to check if there aliasing on the group slots; if -- there wasn't, they didn't steal from the current G1, which means that the -- G1 they stole from must have been already closed and they do not need to -- fix anything. -- - It is essential that the last field in pthread_cond_t is __g_signals[1]: - The previous condvar used a pointer-sized field in pthread_cond_t, so a - PTHREAD_COND_INITIALIZER from that condvar implementation might only -@@ -435,6 +422,9 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - { - while (1) - { -+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -+ unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -+ - /* Spin-wait first. - Note that spinning first without checking whether a timeout - passed might lead to what looks like a spurious wake-up even -@@ -446,35 +436,45 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - having to compare against the current time seems to be the right - choice from a performance perspective for most use cases. */ - unsigned int spin = maxspin; -- while (signals == 0 && spin > 0) -+ while (spin > 0 && ((int)(signals - lowseq) < 2)) - { - /* Check that we are not spinning on a group that's already - closed. */ -- if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1)) -- goto done; -+ if (seq < (g1_start >> 1)) -+ break; - - /* TODO Back off. */ - - /* Reload signals. See above for MO. */ - signals = atomic_load_acquire (cond->__data.__g_signals + g); -+ g1_start = __condvar_load_g1_start_relaxed (cond); -+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - spin--; - } - -- /* If our group will be closed as indicated by the flag on signals, -- don't bother grabbing a signal. */ -- if (signals & 1) -- goto done; -- -- /* If there is an available signal, don't block. */ -- if (signals != 0) -+ if (seq < (g1_start >> 1)) -+ { -+ /* If the group is closed already, -+ then this waiter originally had enough extra signals to -+ consume, up until the time its group was closed. */ -+ goto done; -+ } -+ -+ /* If there is an available signal, don't block. -+ If __g1_start has advanced at all, then we must be in G1 -+ by now, perhaps in the process of switching back to an older -+ G2, but in either case we're allowed to consume the available -+ signal and should not block anymore. */ -+ if ((int)(signals - lowseq) >= 2) - break; - - /* No signals available after spinning, so prepare to block. - We first acquire a group reference and use acquire MO for that so - that we synchronize with the dummy read-modify-write in - __condvar_quiesce_and_switch_g1 if we read from that. In turn, -- in this case this will make us see the closed flag on __g_signals -- that designates a concurrent attempt to reuse the group's slot. -+ in this case this will make us see the advancement of __g_signals -+ to the upcoming new g1_start that occurs with a concurrent -+ attempt to reuse the group's slot. - We use acquire MO for the __g_signals check to make the - __g1_start check work (see spinning above). - Note that the group reference acquisition will not mask the -@@ -482,15 +482,24 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - an atomic read-modify-write operation and thus extend the release - sequence. */ - atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2); -- if (((atomic_load_acquire (cond->__data.__g_signals + g) & 1) != 0) -- || (seq < (__condvar_load_g1_start_relaxed (cond) >> 1))) -+ signals = atomic_load_acquire (cond->__data.__g_signals + g); -+ g1_start = __condvar_load_g1_start_relaxed (cond); -+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -+ -+ if (seq < (g1_start >> 1)) - { -- /* Our group is closed. Wake up any signalers that might be -- waiting. */ -+ /* group is closed already, so don't block */ - __condvar_dec_grefs (cond, g, private); - goto done; - } - -+ if ((int)(signals - lowseq) >= 2) -+ { -+ /* a signal showed up or G1/G2 switched after we grabbed the refcount */ -+ __condvar_dec_grefs (cond, g, private); -+ break; -+ } -+ - // Now block. - struct _pthread_cleanup_buffer buffer; - struct _condvar_cleanup_buffer cbuffer; -@@ -501,7 +510,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - __pthread_cleanup_push (&buffer, __condvar_cleanup_waiting, &cbuffer); - - err = __futex_abstimed_wait_cancelable64 ( -- cond->__data.__g_signals + g, 0, clockid, abstime, private); -+ cond->__data.__g_signals + g, signals, clockid, abstime, private); - - __pthread_cleanup_pop (&buffer, 0); - -@@ -524,6 +533,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - signals = atomic_load_acquire (cond->__data.__g_signals + g); - } - -+ if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1)) -+ goto done; - } - /* Try to grab a signal. Use acquire MO so that we see an up-to-date value - of __g1_start below (see spinning above for a similar case). In -@@ -532,69 +543,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - while (!atomic_compare_exchange_weak_acquire (cond->__data.__g_signals + g, - &signals, signals - 2)); - -- /* We consumed a signal but we could have consumed from a more recent group -- that aliased with ours due to being in the same group slot. If this -- might be the case our group must be closed as visible through -- __g1_start. */ -- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -- if (seq < (g1_start >> 1)) -- { -- /* We potentially stole a signal from a more recent group but we do not -- know which group we really consumed from. -- We do not care about groups older than current G1 because they are -- closed; we could have stolen from these, but then we just add a -- spurious wake-up for the current groups. -- We will never steal a signal from current G2 that was really intended -- for G2 because G2 never receives signals (until it becomes G1). We -- could have stolen a signal from G2 that was conservatively added by a -- previous waiter that also thought it stole a signal -- but given that -- that signal was added unnecessarily, it's not a problem if we steal -- it. -- Thus, the remaining case is that we could have stolen from the current -- G1, where "current" means the __g1_start value we observed. However, -- if the current G1 does not have the same slot index as we do, we did -- not steal from it and do not need to undo that. This is the reason -- for putting a bit with G2's index into__g1_start as well. */ -- if (((g1_start & 1) ^ 1) == g) -- { -- /* We have to conservatively undo our potential mistake of stealing -- a signal. We can stop trying to do that when the current G1 -- changes because other spinning waiters will notice this too and -- __condvar_quiesce_and_switch_g1 has checked that there are no -- futex waiters anymore before switching G1. -- Relaxed MO is fine for the __g1_start load because we need to -- merely be able to observe this fact and not have to observe -- something else as well. -- ??? Would it help to spin for a little while to see whether the -- current G1 gets closed? This might be worthwhile if the group is -- small or close to being closed. */ -- unsigned int s = atomic_load_relaxed (cond->__data.__g_signals + g); -- while (__condvar_load_g1_start_relaxed (cond) == g1_start) -- { -- /* Try to add a signal. We don't need to acquire the lock -- because at worst we can cause a spurious wake-up. If the -- group is in the process of being closed (LSB is true), this -- has an effect similar to us adding a signal. */ -- if (((s & 1) != 0) -- || atomic_compare_exchange_weak_relaxed -- (cond->__data.__g_signals + g, &s, s + 2)) -- { -- /* If we added a signal, we also need to add a wake-up on -- the futex. We also need to do that if we skipped adding -- a signal because the group is being closed because -- while __condvar_quiesce_and_switch_g1 could have closed -- the group, it might still be waiting for futex waiters to -- leave (and one of those waiters might be the one we stole -- the signal from, which cause it to block using the -- futex). */ -- futex_wake (cond->__data.__g_signals + g, 1, private); -- break; -- } -- /* TODO Back off. */ -- } -- } -- } -- - done: - - /* Confirm that we have been woken. We do that before acquiring the mutex - -commit 88d999d840e77c9917f08870094a23ce42294848 -Author: Malte Skarupke -Date: Wed Dec 4 07:55:22 2024 -0500 - - nptl: Update comments and indentation for new condvar implementation - - Some comments were wrong after the most recent commit. This fixes that. - - Also fixing indentation where it was using spaces instead of tabs. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit 0cc973160c23bb67f895bc887dd6942d29f8fee3) - -diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c -index 4855b8899f..3475d15123 100644 ---- a/nptl/pthread_cond_common.c -+++ b/nptl/pthread_cond_common.c -@@ -221,8 +221,9 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - * New waiters arriving concurrently with the group switching will all go - into G2 until we atomically make the switch. Waiters existing in G2 - are not affected. -- * Waiters in G1 will be closed out immediately by the advancing of -- __g_signals to the next "lowseq" (low 31 bits of the new g1_start), -+ * Waiters in G1 have already received a signal and been woken. If they -+ haven't woken yet, they will be closed out immediately by the advancing -+ of __g_signals to the next "lowseq" (low 31 bits of the new g1_start), - which will prevent waiters from blocking using a futex on - __g_signals since it provides enough signals for all possible - remaining waiters. As a result, they can each consume a signal -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index 3d290e39c8..ad2cee7d59 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -249,7 +249,7 @@ __condvar_cleanup_waiting (void *arg) - figure out whether they are in a group that has already been completely - signaled (i.e., if the current G1 starts at a later position that the - waiter's position). Waiters cannot determine whether they are currently -- in G2 or G1 -- but they do not have too because all they are interested in -+ in G2 or G1 -- but they do not have to because all they are interested in - is whether there are available signals, and they always start in G2 (whose - group slot they know because of the bit in the waiter sequence. Signalers - will simply fill the right group until it is completely signaled and can -@@ -412,7 +412,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - } - - /* Now wait until a signal is available in our group or it is closed. -- Acquire MO so that if we observe a value of zero written after group -+ Acquire MO so that if we observe (signals == lowseq) after group - switching in __condvar_quiesce_and_switch_g1, we synchronize with that - store and will see the prior update of __g1_start done while switching - groups too. */ -@@ -422,8 +422,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - { - while (1) - { -- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -- unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -+ unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - - /* Spin-wait first. - Note that spinning first without checking whether a timeout -@@ -447,21 +447,21 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - - /* Reload signals. See above for MO. */ - signals = atomic_load_acquire (cond->__data.__g_signals + g); -- g1_start = __condvar_load_g1_start_relaxed (cond); -- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -+ g1_start = __condvar_load_g1_start_relaxed (cond); -+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - spin--; - } - -- if (seq < (g1_start >> 1)) -+ if (seq < (g1_start >> 1)) - { -- /* If the group is closed already, -+ /* If the group is closed already, - then this waiter originally had enough extra signals to - consume, up until the time its group was closed. */ - goto done; -- } -+ } - - /* If there is an available signal, don't block. -- If __g1_start has advanced at all, then we must be in G1 -+ If __g1_start has advanced at all, then we must be in G1 - by now, perhaps in the process of switching back to an older - G2, but in either case we're allowed to consume the available - signal and should not block anymore. */ -@@ -483,22 +483,23 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - sequence. */ - atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2); - signals = atomic_load_acquire (cond->__data.__g_signals + g); -- g1_start = __condvar_load_g1_start_relaxed (cond); -- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -+ g1_start = __condvar_load_g1_start_relaxed (cond); -+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - -- if (seq < (g1_start >> 1)) -+ if (seq < (g1_start >> 1)) - { -- /* group is closed already, so don't block */ -+ /* group is closed already, so don't block */ - __condvar_dec_grefs (cond, g, private); - goto done; - } - - if ((int)(signals - lowseq) >= 2) - { -- /* a signal showed up or G1/G2 switched after we grabbed the refcount */ -+ /* a signal showed up or G1/G2 switched after we grabbed the -+ refcount */ - __condvar_dec_grefs (cond, g, private); - break; -- } -+ } - - // Now block. - struct _pthread_cleanup_buffer buffer; -@@ -536,10 +537,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1)) - goto done; - } -- /* Try to grab a signal. Use acquire MO so that we see an up-to-date value -- of __g1_start below (see spinning above for a similar case). In -- particular, if we steal from a more recent group, we will also see a -- more recent __g1_start below. */ -+ /* Try to grab a signal. See above for MO. (if we do another loop -+ iteration we need to see the correct value of g1_start) */ - while (!atomic_compare_exchange_weak_acquire (cond->__data.__g_signals + g, - &signals, signals - 2)); - - -commit 136a29f9d0a3924828d5a16be82d054637517c95 -Author: Malte Skarupke -Date: Wed Dec 4 07:55:50 2024 -0500 - - nptl: Remove unnecessary catch-all-wake in condvar group switch - - This wake is unnecessary. We only switch groups after every sleeper in a group - has been woken. Sure, they may take a while to actually wake up and may still - hold a reference, but waking them a second time doesn't speed that up. Instead - this just makes the code more complicated and may hide problems. - - In particular this safety wake wouldn't even have helped with the bug that was - fixed by Barrus' patch: The bug there was that pthread_cond_signal would not - switch g1 when it should, so we wouldn't even have entered this code path. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit b42cc6af11062c260c7dfa91f1c89891366fed3e) - -diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c -index 3475d15123..30b8eee149 100644 ---- a/nptl/pthread_cond_common.c -+++ b/nptl/pthread_cond_common.c -@@ -221,13 +221,7 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - * New waiters arriving concurrently with the group switching will all go - into G2 until we atomically make the switch. Waiters existing in G2 - are not affected. -- * Waiters in G1 have already received a signal and been woken. If they -- haven't woken yet, they will be closed out immediately by the advancing -- of __g_signals to the next "lowseq" (low 31 bits of the new g1_start), -- which will prevent waiters from blocking using a futex on -- __g_signals since it provides enough signals for all possible -- remaining waiters. As a result, they can each consume a signal -- and they will eventually remove their group reference. */ -+ * Waiters in G1 have already received a signal and been woken. */ - - /* Update __g1_start, which finishes closing this group. The value we add - will never be negative because old_orig_size can only be zero when we -@@ -240,29 +234,6 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - - unsigned int lowseq = ((old_g1_start + old_orig_size) << 1) & ~1U; - -- /* If any waiters still hold group references (and thus could be blocked), -- then wake them all up now and prevent any running ones from blocking. -- This is effectively a catch-all for any possible current or future -- bugs that can allow the group size to reach 0 before all G1 waiters -- have been awakened or at least given signals to consume, or any -- other case that can leave blocked (or about to block) older waiters.. */ -- if ((atomic_fetch_or_release (cond->__data.__g_refs + g1, 0) >> 1) > 0) -- { -- /* First advance signals to the end of the group (i.e. enough signals -- for the entire G1 group) to ensure that waiters which have not -- yet blocked in the futex will not block. -- Note that in the vast majority of cases, this should never -- actually be necessary, since __g_signals will have enough -- signals for the remaining g_refs waiters. As an optimization, -- we could check this first before proceeding, although that -- could still leave the potential for futex lost wakeup bugs -- if the signal count was non-zero but the futex wakeup -- was somehow lost. */ -- atomic_store_release (cond->__data.__g_signals + g1, lowseq); -- -- futex_wake (cond->__data.__g_signals + g1, INT_MAX, private); -- } -- - /* At this point, the old G1 is now a valid new G2 (but not in use yet). - No old waiter can neither grab a signal nor acquire a reference without - noticing that __g1_start is larger. - -commit 2a259b6d77dc5bdab5c8f4ee0e69572d5699d4bf -Author: Malte Skarupke -Date: Wed Dec 4 07:56:13 2024 -0500 - - nptl: Remove unnecessary quadruple check in pthread_cond_wait - - pthread_cond_wait was checking whether it was in a closed group no less than - four times. Checking once is enough. Here are the four checks: - - 1. While spin-waiting. This was dead code: maxspin is set to 0 and has been - for years. - 2. Before deciding to go to sleep, and before incrementing grefs: I kept this - 3. After incrementing grefs. There is no reason to think that the group would - close while we do an atomic increment. Obviously it could close at any - point, but that doesn't mean we have to recheck after every step. This - check was equally good as check 2, except it has to do more work. - 4. When we find ourselves in a group that has a signal. We only get here after - we check that we're not in a closed group. There is no need to check again. - The check would only have helped in cases where the compare_exchange in the - next line would also have failed. Relying on the compare_exchange is fine. - - Removing the duplicate checks clarifies the code. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit 4f7b051f8ee3feff1b53b27a906f245afaa9cee1) - -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index ad2cee7d59..cfdd13bb87 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -366,7 +366,6 @@ static __always_inline int - __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - clockid_t clockid, const struct __timespec64 *abstime) - { -- const int maxspin = 0; - int err; - int result = 0; - -@@ -425,33 +424,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); - unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - -- /* Spin-wait first. -- Note that spinning first without checking whether a timeout -- passed might lead to what looks like a spurious wake-up even -- though we should return ETIMEDOUT (e.g., if the caller provides -- an absolute timeout that is clearly in the past). However, -- (1) spurious wake-ups are allowed, (2) it seems unlikely that a -- user will (ab)use pthread_cond_wait as a check for whether a -- point in time is in the past, and (3) spinning first without -- having to compare against the current time seems to be the right -- choice from a performance perspective for most use cases. */ -- unsigned int spin = maxspin; -- while (spin > 0 && ((int)(signals - lowseq) < 2)) -- { -- /* Check that we are not spinning on a group that's already -- closed. */ -- if (seq < (g1_start >> 1)) -- break; -- -- /* TODO Back off. */ -- -- /* Reload signals. See above for MO. */ -- signals = atomic_load_acquire (cond->__data.__g_signals + g); -- g1_start = __condvar_load_g1_start_relaxed (cond); -- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -- spin--; -- } -- - if (seq < (g1_start >> 1)) - { - /* If the group is closed already, -@@ -482,24 +454,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - an atomic read-modify-write operation and thus extend the release - sequence. */ - atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2); -- signals = atomic_load_acquire (cond->__data.__g_signals + g); -- g1_start = __condvar_load_g1_start_relaxed (cond); -- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -- -- if (seq < (g1_start >> 1)) -- { -- /* group is closed already, so don't block */ -- __condvar_dec_grefs (cond, g, private); -- goto done; -- } -- -- if ((int)(signals - lowseq) >= 2) -- { -- /* a signal showed up or G1/G2 switched after we grabbed the -- refcount */ -- __condvar_dec_grefs (cond, g, private); -- break; -- } - - // Now block. - struct _pthread_cleanup_buffer buffer; -@@ -533,9 +487,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - /* Reload signals. See above for MO. */ - signals = atomic_load_acquire (cond->__data.__g_signals + g); - } -- -- if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1)) -- goto done; - } - /* Try to grab a signal. See above for MO. (if we do another loop - iteration we need to see the correct value of g1_start) */ - -commit a2465f4293ecc37ac4650fbd02e517bc6fd801c6 -Author: Malte Skarupke -Date: Wed Dec 4 07:56:38 2024 -0500 - - nptl: Remove g_refs from condition variables - - This variable used to be needed to wait in group switching until all sleepers - have confirmed that they have woken. This is no longer needed. Nothing waits - on this variable so there is no need to track how many threads are currently - asleep in each group. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit c36fc50781995e6758cae2b6927839d0157f213c) - -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index cfdd13bb87..411fc0380b 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -143,23 +143,6 @@ __condvar_cancel_waiting (pthread_cond_t *cond, uint64_t seq, unsigned int g, - } - } - --/* Wake up any signalers that might be waiting. */ --static void --__condvar_dec_grefs (pthread_cond_t *cond, unsigned int g, int private) --{ -- /* Release MO to synchronize-with the acquire load in -- __condvar_quiesce_and_switch_g1. */ -- if (atomic_fetch_add_release (cond->__data.__g_refs + g, -2) == 3) -- { -- /* Clear the wake-up request flag before waking up. We do not need more -- than relaxed MO and it doesn't matter if we apply this for an aliased -- group because we wake all futex waiters right after clearing the -- flag. */ -- atomic_fetch_and_relaxed (cond->__data.__g_refs + g, ~(unsigned int) 1); -- futex_wake (cond->__data.__g_refs + g, INT_MAX, private); -- } --} -- - /* Clean-up for cancellation of waiters waiting for normal signals. We cancel - our registration as a waiter, confirm we have woken up, and re-acquire the - mutex. */ -@@ -171,8 +154,6 @@ __condvar_cleanup_waiting (void *arg) - pthread_cond_t *cond = cbuffer->cond; - unsigned g = cbuffer->wseq & 1; - -- __condvar_dec_grefs (cond, g, cbuffer->private); -- - __condvar_cancel_waiting (cond, cbuffer->wseq >> 1, g, cbuffer->private); - /* FIXME With the current cancellation implementation, it is possible that - a thread is cancelled after it has returned from a syscall. This could -@@ -327,15 +308,6 @@ __condvar_cleanup_waiting (void *arg) - sufficient because if a waiter can see a sufficiently large value, it could - have also consume a signal in the waiters group. - -- It is essential that the last field in pthread_cond_t is __g_signals[1]: -- The previous condvar used a pointer-sized field in pthread_cond_t, so a -- PTHREAD_COND_INITIALIZER from that condvar implementation might only -- initialize 4 bytes to zero instead of the 8 bytes we need (i.e., 44 bytes -- in total instead of the 48 we need). __g_signals[1] is not accessed before -- the first group switch (G2 starts at index 0), which will set its value to -- zero after a harmless fetch-or whose return value is ignored. This -- effectively completes initialization. -- - - Limitations: - * This condvar isn't designed to allow for more than -@@ -440,21 +412,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - if ((int)(signals - lowseq) >= 2) - break; - -- /* No signals available after spinning, so prepare to block. -- We first acquire a group reference and use acquire MO for that so -- that we synchronize with the dummy read-modify-write in -- __condvar_quiesce_and_switch_g1 if we read from that. In turn, -- in this case this will make us see the advancement of __g_signals -- to the upcoming new g1_start that occurs with a concurrent -- attempt to reuse the group's slot. -- We use acquire MO for the __g_signals check to make the -- __g1_start check work (see spinning above). -- Note that the group reference acquisition will not mask the -- release MO when decrementing the reference count because we use -- an atomic read-modify-write operation and thus extend the release -- sequence. */ -- atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2); -- - // Now block. - struct _pthread_cleanup_buffer buffer; - struct _condvar_cleanup_buffer cbuffer; -@@ -471,18 +428,11 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - - if (__glibc_unlikely (err == ETIMEDOUT || err == EOVERFLOW)) - { -- __condvar_dec_grefs (cond, g, private); -- /* If we timed out, we effectively cancel waiting. Note that -- we have decremented __g_refs before cancellation, so that a -- deadlock between waiting for quiescence of our group in -- __condvar_quiesce_and_switch_g1 and us trying to acquire -- the lock during cancellation is not possible. */ -+ /* If we timed out, we effectively cancel waiting. */ - __condvar_cancel_waiting (cond, seq, g, private); - result = err; - goto done; - } -- else -- __condvar_dec_grefs (cond, g, private); - - /* Reload signals. See above for MO. */ - signals = atomic_load_acquire (cond->__data.__g_signals + g); -diff --git a/nptl/tst-cond22.c b/nptl/tst-cond22.c -index 1336e9c79d..bdcb45c536 100644 ---- a/nptl/tst-cond22.c -+++ b/nptl/tst-cond22.c -@@ -106,13 +106,13 @@ do_test (void) - status = 1; - } - -- printf ("cond = { 0x%x:%x, 0x%x:%x, %u/%u/%u, %u/%u/%u, %u, %u }\n", -+ printf ("cond = { 0x%x:%x, 0x%x:%x, %u/%u, %u/%u, %u, %u }\n", - c.__data.__wseq.__value32.__high, - c.__data.__wseq.__value32.__low, - c.__data.__g1_start.__value32.__high, - c.__data.__g1_start.__value32.__low, -- c.__data.__g_signals[0], c.__data.__g_refs[0], c.__data.__g_size[0], -- c.__data.__g_signals[1], c.__data.__g_refs[1], c.__data.__g_size[1], -+ c.__data.__g_signals[0], c.__data.__g_size[0], -+ c.__data.__g_signals[1], c.__data.__g_size[1], - c.__data.__g1_orig_size, c.__data.__wrefs); - - if (pthread_create (&th, NULL, tf, (void *) 1l) != 0) -@@ -152,13 +152,13 @@ do_test (void) - status = 1; - } - -- printf ("cond = { 0x%x:%x, 0x%x:%x, %u/%u/%u, %u/%u/%u, %u, %u }\n", -+ printf ("cond = { 0x%x:%x, 0x%x:%x, %u/%u, %u/%u, %u, %u }\n", - c.__data.__wseq.__value32.__high, - c.__data.__wseq.__value32.__low, - c.__data.__g1_start.__value32.__high, - c.__data.__g1_start.__value32.__low, -- c.__data.__g_signals[0], c.__data.__g_refs[0], c.__data.__g_size[0], -- c.__data.__g_signals[1], c.__data.__g_refs[1], c.__data.__g_size[1], -+ c.__data.__g_signals[0], c.__data.__g_size[0], -+ c.__data.__g_signals[1], c.__data.__g_size[1], - c.__data.__g1_orig_size, c.__data.__wrefs); - - return status; -diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h -index df54eef6f7..a3d482f80f 100644 ---- a/sysdeps/nptl/bits/thread-shared-types.h -+++ b/sysdeps/nptl/bits/thread-shared-types.h -@@ -95,8 +95,7 @@ struct __pthread_cond_s - { - __atomic_wide_counter __wseq; - __atomic_wide_counter __g1_start; -- unsigned int __g_refs[2] __LOCK_ALIGNMENT; -- unsigned int __g_size[2]; -+ unsigned int __g_size[2] __LOCK_ALIGNMENT; - unsigned int __g1_orig_size; - unsigned int __wrefs; - unsigned int __g_signals[2]; -diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h -index 3d4f4a756c..9af75d6eae 100644 ---- a/sysdeps/nptl/pthread.h -+++ b/sysdeps/nptl/pthread.h -@@ -152,7 +152,7 @@ enum - - - /* Conditional variable handling. */ --#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } } -+#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0} } } - - - /* Cleanup buffers */ - -commit fa110993a6390ae5c97dff613ef02b59ec78c5da -Author: Malte Skarupke -Date: Wed Dec 4 08:03:44 2024 -0500 - - nptl: Use a single loop in pthread_cond_wait instaed of a nested loop - - The loop was a little more complicated than necessary. There was only one - break statement out of the inner loop, and the outer loop was nearly empty. - So just remove the outer loop, moving its code to the one break statement in - the inner loop. This allows us to replace all gotos with break statements. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit 929a4764ac90382616b6a21f099192b2475da674) - -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index 411fc0380b..683cb2b133 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -382,17 +382,15 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - return err; - } - -- /* Now wait until a signal is available in our group or it is closed. -- Acquire MO so that if we observe (signals == lowseq) after group -- switching in __condvar_quiesce_and_switch_g1, we synchronize with that -- store and will see the prior update of __g1_start done while switching -- groups too. */ -- unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g); -- -- do -- { -+ - while (1) - { -+ /* Now wait until a signal is available in our group or it is closed. -+ Acquire MO so that if we observe (signals == lowseq) after group -+ switching in __condvar_quiesce_and_switch_g1, we synchronize with that -+ store and will see the prior update of __g1_start done while switching -+ groups too. */ -+ unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g); - uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); - unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - -@@ -401,7 +399,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - /* If the group is closed already, - then this waiter originally had enough extra signals to - consume, up until the time its group was closed. */ -- goto done; -+ break; - } - - /* If there is an available signal, don't block. -@@ -410,7 +408,16 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - G2, but in either case we're allowed to consume the available - signal and should not block anymore. */ - if ((int)(signals - lowseq) >= 2) -- break; -+ { -+ /* Try to grab a signal. See above for MO. (if we do another loop -+ iteration we need to see the correct value of g1_start) */ -+ if (atomic_compare_exchange_weak_acquire ( -+ cond->__data.__g_signals + g, -+ &signals, signals - 2)) -+ break; -+ else -+ continue; -+ } - - // Now block. - struct _pthread_cleanup_buffer buffer; -@@ -431,19 +438,9 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - /* If we timed out, we effectively cancel waiting. */ - __condvar_cancel_waiting (cond, seq, g, private); - result = err; -- goto done; -+ break; - } -- -- /* Reload signals. See above for MO. */ -- signals = atomic_load_acquire (cond->__data.__g_signals + g); - } -- } -- /* Try to grab a signal. See above for MO. (if we do another loop -- iteration we need to see the correct value of g1_start) */ -- while (!atomic_compare_exchange_weak_acquire (cond->__data.__g_signals + g, -- &signals, signals - 2)); -- -- done: - - /* Confirm that we have been woken. We do that before acquiring the mutex - to allow for execution of pthread_cond_destroy while having acquired the - -commit afbf0d46850dcd1b626d892ad8fde2162067ddc7 -Author: Malte Skarupke -Date: Wed Dec 4 08:04:10 2024 -0500 - - nptl: Fix indentation - - In my previous change I turned a nested loop into a simple loop. I'm doing - the resulting indentation changes in a separate commit to make the diff on - the previous commit easier to review. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit ee6c14ed59d480720721aaacc5fb03213dc153da) - -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index 683cb2b133..7fc9dadf15 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -383,65 +383,65 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - } - - -- while (1) -- { -- /* Now wait until a signal is available in our group or it is closed. -- Acquire MO so that if we observe (signals == lowseq) after group -- switching in __condvar_quiesce_and_switch_g1, we synchronize with that -- store and will see the prior update of __g1_start done while switching -- groups too. */ -- unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g); -- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -- unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -- -- if (seq < (g1_start >> 1)) -- { -- /* If the group is closed already, -- then this waiter originally had enough extra signals to -- consume, up until the time its group was closed. */ -- break; -- } -- -- /* If there is an available signal, don't block. -- If __g1_start has advanced at all, then we must be in G1 -- by now, perhaps in the process of switching back to an older -- G2, but in either case we're allowed to consume the available -- signal and should not block anymore. */ -- if ((int)(signals - lowseq) >= 2) -- { -- /* Try to grab a signal. See above for MO. (if we do another loop -- iteration we need to see the correct value of g1_start) */ -- if (atomic_compare_exchange_weak_acquire ( -- cond->__data.__g_signals + g, -+ while (1) -+ { -+ /* Now wait until a signal is available in our group or it is closed. -+ Acquire MO so that if we observe (signals == lowseq) after group -+ switching in __condvar_quiesce_and_switch_g1, we synchronize with that -+ store and will see the prior update of __g1_start done while switching -+ groups too. */ -+ unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g); -+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -+ unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; -+ -+ if (seq < (g1_start >> 1)) -+ { -+ /* If the group is closed already, -+ then this waiter originally had enough extra signals to -+ consume, up until the time its group was closed. */ -+ break; -+ } -+ -+ /* If there is an available signal, don't block. -+ If __g1_start has advanced at all, then we must be in G1 -+ by now, perhaps in the process of switching back to an older -+ G2, but in either case we're allowed to consume the available -+ signal and should not block anymore. */ -+ if ((int)(signals - lowseq) >= 2) -+ { -+ /* Try to grab a signal. See above for MO. (if we do another loop -+ iteration we need to see the correct value of g1_start) */ -+ if (atomic_compare_exchange_weak_acquire ( -+ cond->__data.__g_signals + g, - &signals, signals - 2)) -- break; -- else -- continue; -- } -- -- // Now block. -- struct _pthread_cleanup_buffer buffer; -- struct _condvar_cleanup_buffer cbuffer; -- cbuffer.wseq = wseq; -- cbuffer.cond = cond; -- cbuffer.mutex = mutex; -- cbuffer.private = private; -- __pthread_cleanup_push (&buffer, __condvar_cleanup_waiting, &cbuffer); -- -- err = __futex_abstimed_wait_cancelable64 ( -- cond->__data.__g_signals + g, signals, clockid, abstime, private); -- -- __pthread_cleanup_pop (&buffer, 0); -- -- if (__glibc_unlikely (err == ETIMEDOUT || err == EOVERFLOW)) -- { -- /* If we timed out, we effectively cancel waiting. */ -- __condvar_cancel_waiting (cond, seq, g, private); -- result = err; - break; -- } -+ else -+ continue; - } - -+ // Now block. -+ struct _pthread_cleanup_buffer buffer; -+ struct _condvar_cleanup_buffer cbuffer; -+ cbuffer.wseq = wseq; -+ cbuffer.cond = cond; -+ cbuffer.mutex = mutex; -+ cbuffer.private = private; -+ __pthread_cleanup_push (&buffer, __condvar_cleanup_waiting, &cbuffer); -+ -+ err = __futex_abstimed_wait_cancelable64 ( -+ cond->__data.__g_signals + g, signals, clockid, abstime, private); -+ -+ __pthread_cleanup_pop (&buffer, 0); -+ -+ if (__glibc_unlikely (err == ETIMEDOUT || err == EOVERFLOW)) -+ { -+ /* If we timed out, we effectively cancel waiting. */ -+ __condvar_cancel_waiting (cond, seq, g, private); -+ result = err; -+ break; -+ } -+ } -+ - /* Confirm that we have been woken. We do that before acquiring the mutex - to allow for execution of pthread_cond_destroy while having acquired the - mutex. */ - -commit 2ad69497346cc20ef4d568108f1de49b2f451c55 -Author: Malte Skarupke -Date: Wed Dec 4 08:04:54 2024 -0500 - - nptl: rename __condvar_quiesce_and_switch_g1 - - This function no longer waits for threads to leave g1, so rename it to - __condvar_switch_g1 - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit 4b79e27a5073c02f6bff9aa8f4791230a0ab1867) - -diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c -index aada91639a..38bba17bfc 100644 ---- a/nptl/pthread_cond_broadcast.c -+++ b/nptl/pthread_cond_broadcast.c -@@ -60,7 +60,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond) - cond->__data.__g_size[g1] << 1); - cond->__data.__g_size[g1] = 0; - -- /* We need to wake G1 waiters before we quiesce G1 below. */ -+ /* We need to wake G1 waiters before we switch G1 below. */ - /* TODO Only set it if there are indeed futex waiters. We could - also try to move this out of the critical section in cases when - G2 is empty (and we don't need to quiesce). */ -@@ -69,7 +69,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond) - - /* G1 is complete. Step (2) is next unless there are no waiters in G2, in - which case we can stop. */ -- if (__condvar_quiesce_and_switch_g1 (cond, wseq, &g1, private)) -+ if (__condvar_switch_g1 (cond, wseq, &g1, private)) - { - /* Step (3): Send signals to all waiters in the old G2 / new G1. */ - atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, -diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c -index 30b8eee149..5044273cc2 100644 ---- a/nptl/pthread_cond_common.c -+++ b/nptl/pthread_cond_common.c -@@ -189,16 +189,15 @@ __condvar_get_private (int flags) - return FUTEX_SHARED; - } - --/* This closes G1 (whose index is in G1INDEX), waits for all futex waiters to -- leave G1, converts G1 into a fresh G2, and then switches group roles so that -- the former G2 becomes the new G1 ending at the current __wseq value when we -- eventually make the switch (WSEQ is just an observation of __wseq by the -- signaler). -+/* This closes G1 (whose index is in G1INDEX), converts G1 into a fresh G2, -+ and then switches group roles so that the former G2 becomes the new G1 -+ ending at the current __wseq value when we eventually make the switch -+ (WSEQ is just an observation of __wseq by the signaler). - If G2 is empty, it will not switch groups because then it would create an - empty G1 which would require switching groups again on the next signal. - Returns false iff groups were not switched because G2 was empty. */ - static bool __attribute__ ((unused)) --__condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, -+__condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - unsigned int *g1index, int private) - { - unsigned int g1 = *g1index; -@@ -214,8 +213,7 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - + cond->__data.__g_size[g1 ^ 1]) == 0) - return false; - -- /* Now try to close and quiesce G1. We have to consider the following kinds -- of waiters: -+ /* We have to consider the following kinds of waiters: - * Waiters from less recent groups than G1 are not affected because - nothing will change for them apart from __g1_start getting larger. - * New waiters arriving concurrently with the group switching will all go -@@ -223,12 +221,12 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - are not affected. - * Waiters in G1 have already received a signal and been woken. */ - -- /* Update __g1_start, which finishes closing this group. The value we add -- will never be negative because old_orig_size can only be zero when we -- switch groups the first time after a condvar was initialized, in which -- case G1 will be at index 1 and we will add a value of 1. -- Relaxed MO is fine because the change comes with no additional -- constraints that others would have to observe. */ -+ /* Update __g1_start, which closes this group. The value we add will never -+ be negative because old_orig_size can only be zero when we switch groups -+ the first time after a condvar was initialized, in which case G1 will be -+ at index 1 and we will add a value of 1. Relaxed MO is fine because the -+ change comes with no additional constraints that others would have to -+ observe. */ - __condvar_add_g1_start_relaxed (cond, - (old_orig_size << 1) + (g1 == 1 ? 1 : - 1)); - -diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c -index 43d6286ecd..f095497142 100644 ---- a/nptl/pthread_cond_signal.c -+++ b/nptl/pthread_cond_signal.c -@@ -69,18 +69,17 @@ ___pthread_cond_signal (pthread_cond_t *cond) - bool do_futex_wake = false; - - /* If G1 is still receiving signals, we put the signal there. If not, we -- check if G2 has waiters, and if so, quiesce and switch G1 to the former -- G2; if this results in a new G1 with waiters (G2 might have cancellations -- already, see __condvar_quiesce_and_switch_g1), we put the signal in the -- new G1. */ -+ check if G2 has waiters, and if so, switch G1 to the former G2; if this -+ results in a new G1 with waiters (G2 might have cancellations already, -+ see __condvar_switch_g1), we put the signal in the new G1. */ - if ((cond->__data.__g_size[g1] != 0) -- || __condvar_quiesce_and_switch_g1 (cond, wseq, &g1, private)) -+ || __condvar_switch_g1 (cond, wseq, &g1, private)) - { - /* Add a signal. Relaxed MO is fine because signaling does not need to -- establish a happens-before relation (see above). We do not mask the -- release-MO store when initializing a group in -- __condvar_quiesce_and_switch_g1 because we use an atomic -- read-modify-write and thus extend that store's release sequence. */ -+ establish a happens-before relation (see above). We do not mask the -+ release-MO store when initializing a group in __condvar_switch_g1 -+ because we use an atomic read-modify-write and thus extend that -+ store's release sequence. */ - atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, 2); - cond->__data.__g_size[g1]--; - /* TODO Only set it if there are indeed futex waiters. */ -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index 7fc9dadf15..80bb728211 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -354,8 +354,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - because we do not need to establish any happens-before relation with - signalers (see __pthread_cond_signal); modification order alone - establishes a total order of waiters/signals. We do need acquire MO -- to synchronize with group reinitialization in -- __condvar_quiesce_and_switch_g1. */ -+ to synchronize with group reinitialization in __condvar_switch_g1. */ - uint64_t wseq = __condvar_fetch_add_wseq_acquire (cond, 2); - /* Find our group's index. We always go into what was G2 when we acquired - our position. */ -@@ -387,9 +386,9 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - { - /* Now wait until a signal is available in our group or it is closed. - Acquire MO so that if we observe (signals == lowseq) after group -- switching in __condvar_quiesce_and_switch_g1, we synchronize with that -- store and will see the prior update of __g1_start done while switching -- groups too. */ -+ switching in __condvar_switch_g1, we synchronize with that store and -+ will see the prior update of __g1_start done while switching groups -+ too. */ - unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g); - uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); - unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - -commit 7f71824b8039b8afc150dd5c881b61faf10675ef -Author: Malte Skarupke -Date: Wed Dec 4 08:05:40 2024 -0500 - - nptl: Use all of g1_start and g_signals - - The LSB of g_signals was unused. The LSB of g1_start was used to indicate - which group is G2. This was used to always go to sleep in pthread_cond_wait - if a waiter is in G2. A comment earlier in the file says that this is not - correct to do: - - "Waiters cannot determine whether they are currently in G2 or G1 -- but they - do not have to because all they are interested in is whether there are - available signals" - - I either would have had to update the comment, or get rid of the check. I - chose to get rid of the check. In fact I don't quite know why it was there. - There will never be available signals for group G2, so we didn't need the - special case. Even if there were, this would just be a spurious wake. This - might have caught some cases where the count has wrapped around, but it - wouldn't reliably do that, (and even if it did, why would you want to force a - sleep in that case?) and we don't support that many concurrent waiters - anyway. Getting rid of it allows us to use one more bit, making us more - robust to wraparound. - - Signed-off-by: Malte Skarupke - Reviewed-by: Carlos O'Donell - (cherry picked from commit 91bb902f58264a2fd50fbce8f39a9a290dd23706) - -diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c -index 38bba17bfc..51afa62adf 100644 ---- a/nptl/pthread_cond_broadcast.c -+++ b/nptl/pthread_cond_broadcast.c -@@ -57,7 +57,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond) - { - /* Add as many signals as the remaining size of the group. */ - atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, -- cond->__data.__g_size[g1] << 1); -+ cond->__data.__g_size[g1]); - cond->__data.__g_size[g1] = 0; - - /* We need to wake G1 waiters before we switch G1 below. */ -@@ -73,7 +73,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond) - { - /* Step (3): Send signals to all waiters in the old G2 / new G1. */ - atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, -- cond->__data.__g_size[g1] << 1); -+ cond->__data.__g_size[g1]); - cond->__data.__g_size[g1] = 0; - /* TODO Only set it if there are indeed futex waiters. */ - do_futex_wake = true; -diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c -index 5044273cc2..389402913c 100644 ---- a/nptl/pthread_cond_common.c -+++ b/nptl/pthread_cond_common.c -@@ -208,9 +208,9 @@ __condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - behavior. - Note that this works correctly for a zero-initialized condvar too. */ - unsigned int old_orig_size = __condvar_get_orig_size (cond); -- uint64_t old_g1_start = __condvar_load_g1_start_relaxed (cond) >> 1; -- if (((unsigned) (wseq - old_g1_start - old_orig_size) -- + cond->__data.__g_size[g1 ^ 1]) == 0) -+ uint64_t old_g1_start = __condvar_load_g1_start_relaxed (cond); -+ uint64_t new_g1_start = old_g1_start + old_orig_size; -+ if (((unsigned) (wseq - new_g1_start) + cond->__data.__g_size[g1 ^ 1]) == 0) - return false; - - /* We have to consider the following kinds of waiters: -@@ -221,16 +221,10 @@ __condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - are not affected. - * Waiters in G1 have already received a signal and been woken. */ - -- /* Update __g1_start, which closes this group. The value we add will never -- be negative because old_orig_size can only be zero when we switch groups -- the first time after a condvar was initialized, in which case G1 will be -- at index 1 and we will add a value of 1. Relaxed MO is fine because the -- change comes with no additional constraints that others would have to -- observe. */ -- __condvar_add_g1_start_relaxed (cond, -- (old_orig_size << 1) + (g1 == 1 ? 1 : - 1)); -- -- unsigned int lowseq = ((old_g1_start + old_orig_size) << 1) & ~1U; -+ /* Update __g1_start, which closes this group. Relaxed MO is fine because -+ the change comes with no additional constraints that others would have -+ to observe. */ -+ __condvar_add_g1_start_relaxed (cond, old_orig_size); - - /* At this point, the old G1 is now a valid new G2 (but not in use yet). - No old waiter can neither grab a signal nor acquire a reference without -@@ -242,13 +236,13 @@ __condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq, - g1 ^= 1; - *g1index ^= 1; - -- /* Now advance the new G1 g_signals to the new lowseq, giving it -+ /* Now advance the new G1 g_signals to the new g1_start, giving it - an effective signal count of 0 to start. */ -- atomic_store_release (cond->__data.__g_signals + g1, lowseq); -+ atomic_store_release (cond->__data.__g_signals + g1, (unsigned)new_g1_start); - - /* These values are just observed by signalers, and thus protected by the - lock. */ -- unsigned int orig_size = wseq - (old_g1_start + old_orig_size); -+ unsigned int orig_size = wseq - new_g1_start; - __condvar_set_orig_size (cond, orig_size); - /* Use and addition to not loose track of cancellations in what was - previously G2. */ -diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c -index f095497142..fa3a5c3d8f 100644 ---- a/nptl/pthread_cond_signal.c -+++ b/nptl/pthread_cond_signal.c -@@ -80,7 +80,7 @@ ___pthread_cond_signal (pthread_cond_t *cond) - release-MO store when initializing a group in __condvar_switch_g1 - because we use an atomic read-modify-write and thus extend that - store's release sequence. */ -- atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, 2); -+ atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, 1); - cond->__data.__g_size[g1]--; - /* TODO Only set it if there are indeed futex waiters. */ - do_futex_wake = true; -diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c -index 80bb728211..0f1dfcb595 100644 ---- a/nptl/pthread_cond_wait.c -+++ b/nptl/pthread_cond_wait.c -@@ -84,7 +84,7 @@ __condvar_cancel_waiting (pthread_cond_t *cond, uint64_t seq, unsigned int g, - not hold a reference on the group. */ - __condvar_acquire_lock (cond, private); - -- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond) >> 1; -+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); - if (g1_start > seq) - { - /* Our group is closed, so someone provided enough signals for it. -@@ -259,7 +259,6 @@ __condvar_cleanup_waiting (void *arg) - * Waiters fetch-add while having acquire the mutex associated with the - condvar. Signalers load it and fetch-xor it concurrently. - __g1_start: Starting position of G1 (inclusive) -- * LSB is index of current G2. - * Modified by signalers while having acquired the condvar-internal lock - and observed concurrently by waiters. - __g1_orig_size: Initial size of G1 -@@ -280,11 +279,9 @@ __condvar_cleanup_waiting (void *arg) - * Reference count used by waiters concurrently with signalers that have - acquired the condvar-internal lock. - __g_signals: The number of signals that can still be consumed, relative to -- the current g1_start. (i.e. bits 31 to 1 of __g_signals are bits -- 31 to 1 of g1_start with the signal count added) -+ the current g1_start. (i.e. g1_start with the signal count added) - * Used as a futex word by waiters. Used concurrently by waiters and - signalers. -- * LSB is currently reserved and 0. - __g_size: Waiters remaining in this group (i.e., which have not been - signaled yet. - * Accessed by signalers and waiters that cancel waiting (both do so only -@@ -391,9 +388,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - too. */ - unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g); - uint64_t g1_start = __condvar_load_g1_start_relaxed (cond); -- unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U; - -- if (seq < (g1_start >> 1)) -+ if (seq < g1_start) - { - /* If the group is closed already, - then this waiter originally had enough extra signals to -@@ -406,13 +402,13 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, - by now, perhaps in the process of switching back to an older - G2, but in either case we're allowed to consume the available - signal and should not block anymore. */ -- if ((int)(signals - lowseq) >= 2) -+ if ((int)(signals - (unsigned int)g1_start) > 0) - { - /* Try to grab a signal. See above for MO. (if we do another loop - iteration we need to see the correct value of g1_start) */ - if (atomic_compare_exchange_weak_acquire ( - cond->__data.__g_signals + g, -- &signals, signals - 2)) -+ &signals, signals - 1)) - break; - else - continue; - -commit 8d3dd23e3de8b4c6e4b94f8bbfab971c3b8a55be -Author: Florian Weimer -Date: Thu Mar 13 06:07:07 2025 +0100 - - nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786) - - The new initializer and struct layout does not initialize the - __g_signals field in the old struct layout before the change in - commit c36fc50781995e6758cae2b6927839d0157f213c ("nptl: Remove - g_refs from condition variables"). Bring back fields at the end - of struct __pthread_cond_s, so that they are again zero-initialized. - - Reviewed-by: Sam James - -diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h -index a3d482f80f..bccc2003ec 100644 ---- a/sysdeps/nptl/bits/thread-shared-types.h -+++ b/sysdeps/nptl/bits/thread-shared-types.h -@@ -99,6 +99,8 @@ struct __pthread_cond_s - unsigned int __g1_orig_size; - unsigned int __wrefs; - unsigned int __g_signals[2]; -+ unsigned int __unused_initialized_1; -+ unsigned int __unused_initialized_2; - }; - - typedef unsigned int __tss_t; -diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h -index 9af75d6eae..e0f24418fe 100644 ---- a/sysdeps/nptl/pthread.h -+++ b/sysdeps/nptl/pthread.h -@@ -152,7 +152,7 @@ enum - - - /* Conditional variable handling. */ --#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0} } } -+#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } } - - - /* Cleanup buffers */ - -commit 33b33e9dd0ff26158b1b83cc4347a39c073e490e -Author: Arjun Shankar -Date: Fri Oct 18 16:03:25 2024 +0200 - - libio: Fix a deadlock after fork in popen - - popen modifies its file handler book-keeping under a lock that wasn't - being taken during fork. This meant that a concurrent popen and fork - could end up copying the lock in a "locked" state into the fork child, - where subsequently calling popen would lead to a deadlock due to the - already (spuriously) held lock. - - This commit fixes the deadlock by appropriately taking the lock before - fork, and releasing/resetting it in the parent/child after the fork. - - A new test for concurrent popen and fork is also added. It consistently - hangs (and therefore fails via timeout) without the fix applied. - Reviewed-by: Florian Weimer - - (cherry picked from commit 9f0d2c0ee6c728643fcf9a4879e9f20f5e45ce5f) - -diff --git a/libio/Makefile b/libio/Makefile -index 5292baa4e0..7faba230ac 100644 ---- a/libio/Makefile -+++ b/libio/Makefile -@@ -117,6 +117,7 @@ tests = \ - tst-mmap-offend \ - tst-mmap-setvbuf \ - tst-mmap2-eofsync \ -+ tst-popen-fork \ - tst-popen1 \ - tst-setvbuf1 \ - tst-sprintf-chk-ub \ -diff --git a/libio/iopopen.c b/libio/iopopen.c -index d01cb0648e..352513a291 100644 ---- a/libio/iopopen.c -+++ b/libio/iopopen.c -@@ -57,6 +57,26 @@ unlock (void *not_used) - } - #endif - -+/* These lock/unlock/resetlock functions are used during fork. */ -+ -+void -+_IO_proc_file_chain_lock (void) -+{ -+ _IO_lock_lock (proc_file_chain_lock); -+} -+ -+void -+_IO_proc_file_chain_unlock (void) -+{ -+ _IO_lock_unlock (proc_file_chain_lock); -+} -+ -+void -+_IO_proc_file_chain_resetlock (void) -+{ -+ _IO_lock_init (proc_file_chain_lock); -+} -+ - /* POSIX states popen shall ensure that any streams from previous popen() - calls that remain open in the parent process should be closed in the new - child process. -diff --git a/libio/libioP.h b/libio/libioP.h -index 616253fcd0..a83a411fdf 100644 ---- a/libio/libioP.h -+++ b/libio/libioP.h -@@ -429,6 +429,12 @@ libc_hidden_proto (_IO_list_resetlock) - extern void _IO_enable_locks (void) __THROW; - libc_hidden_proto (_IO_enable_locks) - -+/* Functions for operating popen's proc_file_chain_lock during fork. */ -+ -+extern void _IO_proc_file_chain_lock (void) __THROW attribute_hidden; -+extern void _IO_proc_file_chain_unlock (void) __THROW attribute_hidden; -+extern void _IO_proc_file_chain_resetlock (void) __THROW attribute_hidden; -+ - /* Default jumptable functions. */ - - extern int _IO_default_underflow (FILE *) __THROW; -diff --git a/libio/tst-popen-fork.c b/libio/tst-popen-fork.c -new file mode 100644 -index 0000000000..1df30fc6c0 ---- /dev/null -+++ b/libio/tst-popen-fork.c -@@ -0,0 +1,80 @@ -+/* Test concurrent popen and fork. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+static void -+popen_and_pclose (void) -+{ -+ FILE *f = popen ("true", "r"); -+ TEST_VERIFY_EXIT (f != NULL); -+ pclose (f); -+ return; -+} -+ -+static atomic_bool done = ATOMIC_VAR_INIT (0); -+ -+static void * -+popen_and_pclose_forever (__attribute__ ((unused)) -+ void *arg) -+{ -+ while (!atomic_load_explicit (&done, memory_order_acquire)) -+ popen_and_pclose (); -+ return NULL; -+} -+ -+static int -+do_test (void) -+{ -+ -+ /* Repeatedly call popen in a loop during the entire test. */ -+ pthread_t t = xpthread_create (NULL, popen_and_pclose_forever, NULL); -+ -+ /* Repeatedly fork off and reap child processes one-by-one. -+ Each child calls popen once, then exits, leading to the possibility -+ that a child forks *during* our own popen call, thus inheriting any -+ intermediate popen state, possibly including lock state(s). */ -+ for (int i = 0; i < 100; i++) -+ { -+ int cpid = xfork (); -+ -+ if (cpid == 0) -+ { -+ popen_and_pclose (); -+ _exit (0); -+ } -+ else -+ xwaitpid (cpid, NULL, 0); -+ } -+ -+ /* Stop calling popen. */ -+ atomic_store_explicit (&done, 1, memory_order_release); -+ xpthread_join (t); -+ -+ return 0; -+} -+ -+#include -diff --git a/posix/fork.c b/posix/fork.c -index 298765a1ff..cf9b80e7c0 100644 ---- a/posix/fork.c -+++ b/posix/fork.c -@@ -62,6 +62,7 @@ __libc_fork (void) - call_function_static_weak (__nss_database_fork_prepare_parent, - &nss_database_data); - -+ _IO_proc_file_chain_lock (); - _IO_list_lock (); - - /* Acquire malloc locks. This needs to come last because fork -@@ -92,6 +93,7 @@ __libc_fork (void) - - /* Reset locks in the I/O code. */ - _IO_list_resetlock (); -+ _IO_proc_file_chain_resetlock (); - - call_function_static_weak (__nss_database_fork_subprocess, - &nss_database_data); -@@ -121,6 +123,7 @@ __libc_fork (void) - - /* We execute this even if the 'fork' call failed. */ - _IO_list_unlock (); -+ _IO_proc_file_chain_unlock (); - } - - /* Run the handlers registered for the parent. */ - -commit 7c3c9ae28685a9142a8cfa3521bbca74c1007d0b -Author: Arjun Shankar -Date: Fri Oct 25 09:33:45 2024 +0200 - - libio: Correctly link tst-popen-fork against libpthread - - tst-popen-fork failed to build for Hurd due to not being linked with - libpthread. This commit fixes that. - - Tested with build-many-glibcs.py for i686-gnu. - - Reviewed-by: Florian Weimer - (cherry picked from commit 6a290b2895b77be839fcb7c44a6a9879560097ad) - -diff --git a/libio/Makefile b/libio/Makefile -index 7faba230ac..f2e98f96eb 100644 ---- a/libio/Makefile -+++ b/libio/Makefile -@@ -142,6 +142,8 @@ tests = \ - tst_wscanf \ - # tests - -+$(objpfx)tst-popen-fork: $(shared-thread-library) -+ - tests-internal = tst-vtables tst-vtables-interposed - - ifeq (yes,$(build-shared)) - -commit 8667345b83c8ca528a093d4db53f57a1bb1688e4 -Author: Florian Weimer -Date: Thu Feb 13 21:56:52 2025 +0100 - - elf: Keep using minimal malloc after early DTV resize (bug 32412) - - If an auditor loads many TLS-using modules during startup, it is - possible to trigger DTV resizing. Previously, the DTV was marked - as allocated by the main malloc afterwards, even if the minimal - malloc was still in use. With this change, _dl_resize_dtv marks - the resized DTV as allocated with the minimal malloc. - - The new test reuses TLS-using modules from other auditing tests. - - Reviewed-by: DJ Delorie - (cherry picked from commit aa3d7bd5299b33bffc118aa618b59bfa66059bcb) - -diff --git a/elf/Makefile b/elf/Makefile -index dc686c3bff..be64c59887 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -378,6 +378,7 @@ tests += \ - tst-align3 \ - tst-audit-tlsdesc \ - tst-audit-tlsdesc-dlopen \ -+ tst-audit-tlsdesc-dlopen2 \ - tst-audit1 \ - tst-audit2 \ - tst-audit8 \ -@@ -817,6 +818,7 @@ modules-names += \ - tst-auditmanymod8 \ - tst-auditmanymod9 \ - tst-auditmod-tlsdesc \ -+ tst-auditmod-tlsdesc2 \ - tst-auditmod1 \ - tst-auditmod11 \ - tst-auditmod12 \ -@@ -3040,6 +3042,9 @@ $(objpfx)tst-audit-tlsdesc.out: $(objpfx)tst-auditmod-tlsdesc.so - tst-audit-tlsdesc-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so - $(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-auditmod-tlsdesc.so - tst-audit-tlsdesc-dlopen-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so -+$(objpfx)tst-audit-tlsdesc-dlopen2.out: $(objpfx)tst-auditmod-tlsdesc2.so \ -+ $(patsubst %, $(objpfx)%.so, $(tlsmod17a-modules)) -+tst-audit-tlsdesc-dlopen2-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc2.so - - $(objpfx)tst-dlmopen-twice.out: \ - $(objpfx)tst-dlmopen-twice-mod1.so \ -diff --git a/elf/dl-tls.c b/elf/dl-tls.c -index 3d529b722c..b13e752358 100644 ---- a/elf/dl-tls.c -+++ b/elf/dl-tls.c -@@ -528,6 +528,13 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid) - if (newp == NULL) - oom (); - memcpy (newp, &dtv[-1], (2 + oldsize) * sizeof (dtv_t)); -+#ifdef SHARED -+ /* Auditors can trigger a DTV resize event while the full malloc -+ is not yet in use. Mark the new DTV allocation as the -+ initial allocation. */ -+ if (!__rtld_malloc_is_complete ()) -+ GL(dl_initial_dtv) = &newp[1]; -+#endif - } - else - { -diff --git a/elf/tst-audit-tlsdesc-dlopen2.c b/elf/tst-audit-tlsdesc-dlopen2.c -new file mode 100644 -index 0000000000..7ba2c4129a ---- /dev/null -+++ b/elf/tst-audit-tlsdesc-dlopen2.c -@@ -0,0 +1,46 @@ -+/* Loading TLS-using modules from auditors (bug 32412). Main program. -+ Copyright (C) 2021-2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ puts ("info: start of main program"); -+ -+ /* Load TLS-using modules, to trigger DTV resizing. The dynamic -+ linker will load them again (requiring their own TLS) because the -+ dlopen calls from the auditor were in the auditing namespace. */ -+ for (int i = 1; i <= 19; ++i) -+ { -+ char dso[30]; -+ snprintf (dso, sizeof (dso), "tst-tlsmod17a%d.so", i); -+ char sym[30]; -+ snprintf (sym, sizeof(sym), "tlsmod17a%d", i); -+ -+ void *handle = xdlopen (dso, RTLD_LAZY); -+ int (*func) (void) = xdlsym (handle, sym); -+ /* Trigger TLS allocation. */ -+ func (); -+ } -+ -+ return 0; -+} -+ -+#include -diff --git a/elf/tst-auditmod-tlsdesc2.c b/elf/tst-auditmod-tlsdesc2.c -new file mode 100644 -index 0000000000..50275cd34d ---- /dev/null -+++ b/elf/tst-auditmod-tlsdesc2.c -@@ -0,0 +1,59 @@ -+/* Loading TLS-using modules from auditors (bug 32412). Audit module. -+ Copyright (C) 2021-2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+unsigned int -+la_version (unsigned int version) -+{ -+ /* Open some modules, to trigger DTV resizing before the switch to -+ the main malloc. */ -+ for (int i = 1; i <= 19; ++i) -+ { -+ char dso[30]; -+ snprintf (dso, sizeof (dso), "tst-tlsmod17a%d.so", i); -+ char sym[30]; -+ snprintf (sym, sizeof(sym), "tlsmod17a%d", i); -+ -+ void *handle = dlopen (dso, RTLD_LAZY); -+ if (handle == NULL) -+ { -+ printf ("error: dlmopen from auditor: %s\n", dlerror ()); -+ fflush (stdout); -+ _exit (1); -+ } -+ int (*func) (void) = dlsym (handle, sym); -+ if (func == NULL) -+ { -+ printf ("error: dlsym from auditor: %s\n", dlerror ()); -+ fflush (stdout); -+ _exit (1); -+ } -+ /* Trigger TLS allocation. */ -+ func (); -+ } -+ -+ puts ("info: TLS-using modules loaded from auditor"); -+ fflush (stdout); -+ -+ return LAV_CURRENT; -+} - -commit b3002f303cedb8262cbc1ec22999ea36482efa0e -Author: Florian Weimer -Date: Tue May 20 19:36:02 2025 +0200 - - support: Use const char * argument in support_capture_subprogram_self_sgid - - The function does not modify the passed-in string, so make this clear - via the prototype. - - Reviewed-by: Carlos O'Donell - (cherry picked from commit f0c09fe61678df6f7f18fe1ebff074e62fa5ca7a) - -diff --git a/support/capture_subprocess.h b/support/capture_subprocess.h -index 93b7245d2a..5406d9f6c0 100644 ---- a/support/capture_subprocess.h -+++ b/support/capture_subprocess.h -@@ -45,8 +45,7 @@ struct support_capture_subprocess support_capture_subprogram - /* Copy the running program into a setgid binary and run it with CHILD_ID - argument. If execution is successful, return the exit status of the child - program, otherwise return a non-zero failure exit code. */ --int support_capture_subprogram_self_sgid -- (char *child_id); -+int support_capture_subprogram_self_sgid (const char *child_id); - - /* Deallocate the subprocess data captured by - support_capture_subprocess. */ -diff --git a/support/support_capture_subprocess.c b/support/support_capture_subprocess.c -index 53847194cb..2383481911 100644 ---- a/support/support_capture_subprocess.c -+++ b/support/support_capture_subprocess.c -@@ -110,7 +110,7 @@ support_capture_subprogram (const char *file, char *const argv[], - safely make it SGID with the TARGET group ID. Then runs the - executable. */ - static int --copy_and_spawn_sgid (char *child_id, gid_t gid) -+copy_and_spawn_sgid (const char *child_id, gid_t gid) - { - char *dirname = xasprintf ("%s/tst-tunables-setuid.%jd", - test_dir, (intmax_t) getpid ()); -@@ -182,7 +182,7 @@ copy_and_spawn_sgid (char *child_id, gid_t gid) - ret = 0; - infd = outfd = -1; - -- char * const args[] = {execname, child_id, NULL}; -+ char * const args[] = {execname, (char *) child_id, NULL}; - - status = support_subprogram_wait (args[0], args); - -@@ -211,7 +211,7 @@ err: - } - - int --support_capture_subprogram_self_sgid (char *child_id) -+support_capture_subprogram_self_sgid (const char *child_id) - { - gid_t target = 0; - const int count = 64; - -commit 61dcce21e06834f7248a8d516c9ec20788fc728c -Author: Florian Weimer -Date: Mon Dec 23 13:57:55 2024 +0100 - - support: Add support_record_failure_barrier - - This can be used to stop execution after a TEST_COMPARE_BLOB - failure, for example. - - (cherry picked from commit d0b8aa6de4529231fadfe604ac2c434e559c2d9e) - -diff --git a/support/check.h b/support/check.h -index 7ea22c7a2c..8f41e5b99f 100644 ---- a/support/check.h -+++ b/support/check.h -@@ -207,6 +207,9 @@ void support_record_failure_reset (void); - failures or not. */ - int support_record_failure_is_failed (void); - -+/* Terminate the process if any failures have been encountered so far. */ -+void support_record_failure_barrier (void); -+ - __END_DECLS - - #endif /* SUPPORT_CHECK_H */ -diff --git a/support/support_record_failure.c b/support/support_record_failure.c -index 978123701d..72ee2b232f 100644 ---- a/support/support_record_failure.c -+++ b/support/support_record_failure.c -@@ -112,3 +112,13 @@ support_record_failure_is_failed (void) - synchronization for reliable test error reporting anyway. */ - return __atomic_load_n (&state->failed, __ATOMIC_RELAXED); - } -+ -+void -+support_record_failure_barrier (void) -+{ -+ if (__atomic_load_n (&state->failed, __ATOMIC_RELAXED)) -+ { -+ puts ("error: exiting due to previous errors"); -+ exit (1); -+ } -+} - -commit 079ac4a172a8f6ba37acf1e80e57f5042d2c7561 -Author: Florian Weimer -Date: Tue May 20 19:45:06 2025 +0200 - - elf: Test case for bug 32976 (CVE-2025-4802) - - Check that LD_LIBRARY_PATH is ignored for AT_SECURE statically - linked binaries, using support_capture_subprogram_self_sgid. - - Reviewed-by: Carlos O'Donell - (cherry picked from commit d8f7a79335b0d861c12c42aec94c04cd5bb181e2) - -diff --git a/elf/Makefile b/elf/Makefile -index be64c59887..afd4eb6fdd 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -266,6 +266,7 @@ tests-static-normal := \ - tst-array1-static \ - tst-array5-static \ - tst-dl-iter-static \ -+ tst-dlopen-sgid \ - tst-dst-static \ - tst-env-setuid-static \ - tst-getauxval-static \ -@@ -859,6 +860,7 @@ modules-names += \ - tst-dlmopen-twice-mod1 \ - tst-dlmopen-twice-mod2 \ - tst-dlmopen1mod \ -+ tst-dlopen-sgid-mod \ - tst-dlopen-tlsreinitmod1 \ - tst-dlopen-tlsreinitmod2 \ - tst-dlopen-tlsreinitmod3 \ -@@ -3153,3 +3155,5 @@ $(objpfx)tst-dlopen-tlsreinit3.out: $(objpfx)tst-auditmod1.so - tst-dlopen-tlsreinit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so - $(objpfx)tst-dlopen-tlsreinit4.out: $(objpfx)tst-auditmod1.so - tst-dlopen-tlsreinit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -+ -+$(objpfx)tst-dlopen-sgid.out: $(objpfx)tst-dlopen-sgid-mod.so -diff --git a/elf/tst-dlopen-sgid-mod.c b/elf/tst-dlopen-sgid-mod.c -new file mode 100644 -index 0000000000..5eb79eef48 ---- /dev/null -+++ b/elf/tst-dlopen-sgid-mod.c -@@ -0,0 +1 @@ -+/* Opening this object should not succeed. */ -diff --git a/elf/tst-dlopen-sgid.c b/elf/tst-dlopen-sgid.c -new file mode 100644 -index 0000000000..47829a405e ---- /dev/null -+++ b/elf/tst-dlopen-sgid.c -@@ -0,0 +1,104 @@ -+/* Test case for ignored LD_LIBRARY_PATH in static startug (bug 32976). -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* This is the name of our test object. Use a custom module for -+ testing, so that this object does not get picked up from the system -+ path. */ -+static const char dso_name[] = "tst-dlopen-sgid-mod.so"; -+ -+/* Used to mark the recursive invocation. */ -+static const char magic_argument[] = "run-actual-test"; -+ -+static int -+do_test (void) -+{ -+/* Pathname of the directory that receives the shared objects this -+ test attempts to load. */ -+ char *libdir = support_create_temp_directory ("tst-dlopen-sgid-"); -+ -+ /* This is supposed to be ignored and stripped. */ -+ TEST_COMPARE (setenv ("LD_LIBRARY_PATH", libdir, 1), 0); -+ -+ /* Copy of libc.so.6. */ -+ { -+ char *from = xasprintf ("%s/%s", support_objdir_root, LIBC_SO); -+ char *to = xasprintf ("%s/%s", libdir, LIBC_SO); -+ add_temp_file (to); -+ support_copy_file (from, to); -+ free (to); -+ free (from); -+ } -+ -+ /* Copy of the test object. */ -+ { -+ char *from = xasprintf ("%s/elf/%s", support_objdir_root, dso_name); -+ char *to = xasprintf ("%s/%s", libdir, dso_name); -+ add_temp_file (to); -+ support_copy_file (from, to); -+ free (to); -+ free (from); -+ } -+ -+ TEST_COMPARE (support_capture_subprogram_self_sgid (magic_argument), 0); -+ -+ free (libdir); -+ -+ return 0; -+} -+ -+static void -+alternative_main (int argc, char **argv) -+{ -+ if (argc == 2 && strcmp (argv[1], magic_argument) == 0) -+ { -+ if (getgid () == getegid ()) -+ /* This can happen if the file system is mounted nosuid. */ -+ FAIL_UNSUPPORTED ("SGID failed: GID and EGID match (%jd)\n", -+ (intmax_t) getgid ()); -+ -+ /* Should be removed due to SGID. */ -+ TEST_COMPARE_STRING (getenv ("LD_LIBRARY_PATH"), NULL); -+ -+ TEST_VERIFY (dlopen (dso_name, RTLD_NOW) == NULL); -+ { -+ const char *message = dlerror (); -+ TEST_COMPARE_STRING (message, -+ "tst-dlopen-sgid-mod.so:" -+ " cannot open shared object file:" -+ " No such file or directory"); -+ } -+ -+ support_record_failure_barrier (); -+ exit (EXIT_SUCCESS); -+ } -+} -+ -+#define PREPARE alternative_main -+#include - -commit 56e75b810ac39b0e390be5b66397dca0cdfa4d80 -Author: Sunil K Pandey -Date: Tue May 20 10:07:27 2025 -0700 - - x86_64: Fix typo in ifunc-impl-list.c. - - Fix wcsncpy and wcpncpy typo in ifunc-impl-list.c. - - Reviewed-by: H.J. Lu - (cherry picked from commit f2aeb6ff941dccc4c777b5621e77addea6cc076c) - -diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c -index 0bbb71bbbf..3db45db39b 100644 ---- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c -+++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c -@@ -922,7 +922,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, - (CPU_FEATURE_USABLE (AVX2) - && CPU_FEATURE_USABLE (BMI2)), - __wcsncpy_avx2) -- X86_IFUNC_IMPL_ADD_V2 (array, i, wcpncpy, -+ X86_IFUNC_IMPL_ADD_V2 (array, i, wcsncpy, - 1, - __wcsncpy_generic)) - -@@ -952,7 +952,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, - (CPU_FEATURE_USABLE (AVX2) - && CPU_FEATURE_USABLE (BMI2)), - __wcpncpy_avx2) -- X86_IFUNC_IMPL_ADD_V2 (array, i, wcsncpy, -+ X86_IFUNC_IMPL_ADD_V2 (array, i, wcpncpy, - 1, - __wcpncpy_generic)) - - -commit c8e10f14328518954072df64aafd574e67cfdde5 -Author: Florian Weimer -Date: Wed May 21 08:43:32 2025 +0200 - - elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987) - - This should really move into support_capture_subprogram_self_sgid. - - Reviewed-by: Sam James - (cherry picked from commit 35fc356fa3b4f485bd3ba3114c9f774e5df7d3c2) - -diff --git a/NEWS b/NEWS -index 7a6985f5dd..4b290ad4bf 100644 ---- a/NEWS -+++ b/NEWS -@@ -23,6 +23,7 @@ The following bugs are resolved with this release: - [32245] glibc -Wstringop-overflow= build failure on hppa - [32470] x86: Avoid integer truncation with large cache sizes - [32810] Crash on x86-64 if XSAVEC disable via tunable -+ [32987] elf: Fix subprocess status handling for tst-dlopen-sgid - - Version 2.40 - -diff --git a/elf/tst-dlopen-sgid.c b/elf/tst-dlopen-sgid.c -index 47829a405e..5688b79f2e 100644 ---- a/elf/tst-dlopen-sgid.c -+++ b/elf/tst-dlopen-sgid.c -@@ -26,6 +26,8 @@ - #include - #include - #include -+#include -+#include - #include - - /* This is the name of our test object. Use a custom module for -@@ -66,10 +68,16 @@ do_test (void) - free (from); - } - -- TEST_COMPARE (support_capture_subprogram_self_sgid (magic_argument), 0); -- - free (libdir); - -+ int status = support_capture_subprogram_self_sgid (magic_argument); -+ -+ if (WEXITSTATUS (status) == EXIT_UNSUPPORTED) -+ return EXIT_UNSUPPORTED; -+ -+ if (!WIFEXITED (status)) -+ FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status); -+ - return 0; - } - - -commit 42a5a940c974d02540c8da26d6374c744d148cb9 -Author: Carlos O'Donell -Date: Wed Jun 11 09:19:17 2025 -0400 - - ppc64le: Revert "powerpc: Optimized strncmp for power10" (CVE-2025-5745) - - This reverts commit 23f0d81608d0ca6379894ef81670cf30af7fd081 - - Reason for revert: Power10 strncmp clobbers non-volatile vector - registers (Bug 33060) - - Tested on ppc64le with no regressions. - - (cherry picked from commit 63c60101ce7c5eac42be90f698ba02099b41b965) - -diff --git a/sysdeps/powerpc/powerpc64/le/power10/strncmp.S b/sysdeps/powerpc/powerpc64/le/power10/strncmp.S -deleted file mode 100644 -index d4ba76acae..0000000000 ---- a/sysdeps/powerpc/powerpc64/le/power10/strncmp.S -+++ /dev/null -@@ -1,271 +0,0 @@ --/* Optimized strncmp implementation for PowerPC64/POWER10. -- Copyright (C) 2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#include -- --/* Implements the function -- -- int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t [r5] n) -- -- The implementation uses unaligned doubleword access to avoid specialized -- code paths depending of data alignment for first 32 bytes and uses -- vectorised loops after that. */ -- --#ifndef STRNCMP --# define STRNCMP strncmp --#endif -- --/* TODO: Change this to actual instructions when minimum binutils is upgraded -- to 2.27. Macros are defined below for these newer instructions in order -- to maintain compatibility. */ -- --#define LXVP(xtp,dq,ra) \ -- .long(((6)<<(32-6)) \ -- | ((((xtp)-32)>>1)<<(32-10)) \ -- | ((1)<<(32-11)) \ -- | ((ra)<<(32-16)) \ -- | dq) -- --#define COMPARE_16(vreg1,vreg2,offset) \ -- lxv vreg1+32,offset(r3); \ -- lxv vreg2+32,offset(r4); \ -- vcmpnezb. v7,vreg1,vreg2; \ -- bne cr6,L(different); \ -- cmpldi cr7,r5,16; \ -- ble cr7,L(ret0); \ -- addi r5,r5,-16; -- --#define COMPARE_32(vreg1,vreg2,offset,label1,label2) \ -- LXVP(vreg1+32,offset,r3); \ -- LXVP(vreg2+32,offset,r4); \ -- vcmpnezb. v7,vreg1+1,vreg2+1; \ -- bne cr6,L(label1); \ -- vcmpnezb. v7,vreg1,vreg2; \ -- bne cr6,L(label2); \ -- cmpldi cr7,r5,32; \ -- ble cr7,L(ret0); \ -- addi r5,r5,-32; -- --#define TAIL_FIRST_16B(vreg1,vreg2) \ -- vctzlsbb r6,v7; \ -- cmpld cr7,r5,r6; \ -- ble cr7,L(ret0); \ -- vextubrx r5,r6,vreg1; \ -- vextubrx r4,r6,vreg2; \ -- subf r3,r4,r5; \ -- blr; -- --#define TAIL_SECOND_16B(vreg1,vreg2) \ -- vctzlsbb r6,v7; \ -- addi r0,r6,16; \ -- cmpld cr7,r5,r0; \ -- ble cr7,L(ret0); \ -- vextubrx r5,r6,vreg1; \ -- vextubrx r4,r6,vreg2; \ -- subf r3,r4,r5; \ -- blr; -- --#define CHECK_N_BYTES(reg1,reg2,len_reg) \ -- sldi r6,len_reg,56; \ -- lxvl 32+v4,reg1,r6; \ -- lxvl 32+v5,reg2,r6; \ -- add reg1,reg1,len_reg; \ -- add reg2,reg2,len_reg; \ -- vcmpnezb v7,v4,v5; \ -- vctzlsbb r6,v7; \ -- cmpld cr7,r6,len_reg; \ -- blt cr7,L(different); \ -- cmpld cr7,r5,len_reg; \ -- ble cr7,L(ret0); \ -- sub r5,r5,len_reg; \ -- -- /* TODO: change this to .machine power10 when the minimum required -- binutils allows it. */ -- .machine power9 --ENTRY_TOCLESS (STRNCMP, 4) -- /* Check if size is 0. */ -- cmpdi cr0,r5,0 -- beq cr0,L(ret0) -- andi. r7,r3,4095 -- andi. r8,r4,4095 -- cmpldi cr0,r7,4096-16 -- cmpldi cr1,r8,4096-16 -- bgt cr0,L(crosses) -- bgt cr1,L(crosses) -- COMPARE_16(v4,v5,0) -- addi r3,r3,16 -- addi r4,r4,16 -- --L(crosses): -- andi. r7,r3,15 -- subfic r7,r7,16 /* r7(nalign1) = 16 - (str1 & 15). */ -- andi. r9,r4,15 -- subfic r8,r9,16 /* r8(nalign2) = 16 - (str2 & 15). */ -- cmpld cr7,r7,r8 -- beq cr7,L(same_aligned) -- blt cr7,L(nalign1_min) -- -- /* nalign2 is minimum and s2 pointer is aligned. */ -- CHECK_N_BYTES(r3,r4,r8) -- /* Are we on the 64B hunk which crosses a page? */ -- andi. r10,r3,63 /* Determine offset into 64B hunk. */ -- andi. r8,r3,15 /* The offset into the 16B hunk. */ -- neg r7,r3 -- andi. r9,r7,15 /* Number of bytes after a 16B cross. */ -- rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */ -- beq L(compare_64_pagecross) -- mtctr r7 -- b L(compare_64B_unaligned) -- -- /* nalign1 is minimum and s1 pointer is aligned. */ --L(nalign1_min): -- CHECK_N_BYTES(r3,r4,r7) -- /* Are we on the 64B hunk which crosses a page? */ -- andi. r10,r4,63 /* Determine offset into 64B hunk. */ -- andi. r8,r4,15 /* The offset into the 16B hunk. */ -- neg r7,r4 -- andi. r9,r7,15 /* Number of bytes after a 16B cross. */ -- rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */ -- beq L(compare_64_pagecross) -- mtctr r7 -- -- .p2align 5 --L(compare_64B_unaligned): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- COMPARE_16(v4,v5,48) -- addi r3,r3,64 -- addi r4,r4,64 -- bdnz L(compare_64B_unaligned) -- -- /* Cross the page boundary of s2, carefully. Only for first -- iteration we have to get the count of 64B blocks to be checked. -- From second iteration and beyond, loop counter is always 63. */ --L(compare_64_pagecross): -- li r11, 63 -- mtctr r11 -- cmpldi r10,16 -- ble L(cross_4) -- cmpldi r10,32 -- ble L(cross_3) -- cmpldi r10,48 -- ble L(cross_2) --L(cross_1): -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- addi r3,r3,48 -- addi r4,r4,48 -- b L(compare_64B_unaligned) --L(cross_2): -- COMPARE_16(v4,v5,0) -- addi r3,r3,16 -- addi r4,r4,16 -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- addi r3,r3,32 -- addi r4,r4,32 -- b L(compare_64B_unaligned) --L(cross_3): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- addi r3,r3,32 -- addi r4,r4,32 -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- COMPARE_16(v4,v5,0) -- addi r3,r3,16 -- addi r4,r4,16 -- b L(compare_64B_unaligned) --L(cross_4): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- addi r3,r3,48 -- addi r4,r4,48 -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- b L(compare_64B_unaligned) -- --L(same_aligned): -- CHECK_N_BYTES(r3,r4,r7) -- /* Align s1 to 32B and adjust s2 address. -- Use lxvp only if both s1 and s2 are 32B aligned. */ -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- COMPARE_16(v4,v5,48) -- addi r3,r3,64 -- addi r4,r4,64 -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- addi r5,r5,32 -- -- clrldi r6,r3,59 -- subfic r7,r6,32 -- add r3,r3,r7 -- add r4,r4,r7 -- subf r5,r7,r5 -- andi. r7,r4,0x1F -- beq cr0,L(32B_aligned_loop) -- -- .p2align 5 --L(16B_aligned_loop): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- COMPARE_16(v4,v5,48) -- addi r3,r3,64 -- addi r4,r4,64 -- b L(16B_aligned_loop) -- -- /* Calculate and return the difference. */ --L(different): -- TAIL_FIRST_16B(v4,v5) -- -- .p2align 5 --L(32B_aligned_loop): -- COMPARE_32(v14,v16,0,tail1,tail2) -- COMPARE_32(v18,v20,32,tail3,tail4) -- COMPARE_32(v22,v24,64,tail5,tail6) -- COMPARE_32(v26,v28,96,tail7,tail8) -- addi r3,r3,128 -- addi r4,r4,128 -- b L(32B_aligned_loop) -- --L(tail1): TAIL_FIRST_16B(v15,v17) --L(tail2): TAIL_SECOND_16B(v14,v16) --L(tail3): TAIL_FIRST_16B(v19,v21) --L(tail4): TAIL_SECOND_16B(v18,v20) --L(tail5): TAIL_FIRST_16B(v23,v25) --L(tail6): TAIL_SECOND_16B(v22,v24) --L(tail7): TAIL_FIRST_16B(v27,v29) --L(tail8): TAIL_SECOND_16B(v26,v28) -- -- .p2align 5 --L(ret0): -- li r3,0 -- blr -- --END(STRNCMP) --libc_hidden_builtin_def(strncmp) -diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile -index b847c19049..a38ff46448 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/Makefile -+++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile -@@ -34,7 +34,7 @@ ifneq (,$(filter %le,$(config-machine))) - sysdep_routines += memchr-power10 memcmp-power10 memcpy-power10 \ - memmove-power10 memset-power10 rawmemchr-power9 \ - rawmemchr-power10 strcmp-power9 strcmp-power10 \ -- strncmp-power9 strncmp-power10 strcpy-power9 stpcpy-power9 \ -+ strncmp-power9 strcpy-power9 stpcpy-power9 \ - strlen-power9 strncpy-power9 stpncpy-power9 strlen-power10 - endif - CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops -diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -index 2bb47d3527..30fd89e109 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -+++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -@@ -164,9 +164,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, - /* Support sysdeps/powerpc/powerpc64/multiarch/strncmp.c. */ - IFUNC_IMPL (i, name, strncmp, - #ifdef __LITTLE_ENDIAN__ -- IFUNC_IMPL_ADD (array, i, strncmp, hwcap2 & PPC_FEATURE2_ARCH_3_1 -- && hwcap & PPC_FEATURE_HAS_VSX, -- __strncmp_power10) - IFUNC_IMPL_ADD (array, i, strncmp, hwcap2 & PPC_FEATURE2_ARCH_3_00 - && hwcap & PPC_FEATURE_HAS_ALTIVEC, - __strncmp_power9) -diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S -deleted file mode 100644 -index d7026c12e2..0000000000 ---- a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S -+++ /dev/null -@@ -1,25 +0,0 @@ --/* Copyright (C) 2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#if defined __LITTLE_ENDIAN__ && IS_IN (libc) --#define STRNCMP __strncmp_power10 -- --#undef libc_hidden_builtin_def --#define libc_hidden_builtin_def(name) -- --#include --#endif -diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c -index a5ed67f766..6178f4a432 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c -+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c -@@ -29,7 +29,6 @@ extern __typeof (strncmp) __strncmp_ppc attribute_hidden; - extern __typeof (strncmp) __strncmp_power8 attribute_hidden; - # ifdef __LITTLE_ENDIAN__ - extern __typeof (strncmp) __strncmp_power9 attribute_hidden; --extern __typeof (strncmp) __strncmp_power10 attribute_hidden; - # endif - # undef strncmp - -@@ -37,9 +36,6 @@ extern __typeof (strncmp) __strncmp_power10 attribute_hidden; - ifunc symbol properly. */ - libc_ifunc_redirected (__redirect_strncmp, strncmp, - # ifdef __LITTLE_ENDIAN__ -- (hwcap2 & PPC_FEATURE2_ARCH_3_1 -- && hwcap & PPC_FEATURE_HAS_VSX) -- ? __strncmp_power10 : - (hwcap2 & PPC_FEATURE2_ARCH_3_00 - && hwcap & PPC_FEATURE_HAS_ALTIVEC) - ? __strncmp_power9 : - -commit 2ad6e55ea5cb23af5af7af35d5f80cd93032f96a -Author: Carlos O'Donell -Date: Wed Jun 11 09:43:50 2025 -0400 - - ppc64le: Revert "powerpc: Fix performance issues of strcmp power10" (CVE-2025-5702) - - This reverts commit 90bcc8721ef82b7378d2b080141228660e862d56 - - This change is in the chain of the final revert that fixes the CVE - i.e. 3367d8e180848030d1646f088759f02b8dfe0d6f - - Reason for revert: Power10 strcmp clobbers non-volatile vector - registers (Bug 33056) - - Tested on ppc64le with no regressions. - - (cherry picked from commit c22de63588df7a8a0edceea9bb02534064c9d201) - -diff --git a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S b/sysdeps/powerpc/powerpc64/le/power10/strcmp.S -index f0d6732a25..00f1e9c170 100644 ---- a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S -+++ b/sysdeps/powerpc/powerpc64/le/power10/strcmp.S -@@ -62,7 +62,7 @@ - lxvl 32+v5,reg2,r0; \ - add reg1,reg1,len_reg; \ - add reg2,reg2,len_reg; \ -- vcmpnezb v7,v4,v5; \ -+ vcmpnezb. v7,v4,v5; \ - vctzlsbb r6,v7; \ - cmpld cr7,r6,len_reg; \ - blt cr7,L(different); \ -@@ -72,110 +72,70 @@ - - .machine power9 - ENTRY_TOCLESS (STRCMP, 4) -- andi. r7,r3,4095 -- andi. r8,r4,4095 -- cmpldi cr0,r7,4096-16 -- cmpldi cr1,r8,4096-16 -- bgt cr0,L(crosses) -- bgt cr1,L(crosses) -- COMPARE_16(v4,v5,0) -- --L(crosses): -- andi. r7,r3,15 -- subfic r7,r7,16 /* r7(nalign1) = 16 - (str1 & 15). */ -- andi. r9,r4,15 -- subfic r5,r9,16 /* r5(nalign2) = 16 - (str2 & 15). */ -- cmpld cr7,r7,r5 -- beq cr7,L(same_aligned) -- blt cr7,L(nalign1_min) -+ li r11,16 -+ /* eq bit of cr1 used as swap status flag to indicate if -+ source pointers were swapped. */ -+ crclr 4*cr1+eq -+ vspltisb v19,-1 -+ andi. r7,r3,15 -+ sub r7,r11,r7 /* r7(nalign1) = 16 - (str1 & 15). */ -+ andi. r9,r4,15 -+ sub r5,r11,r9 /* r5(nalign2) = 16 - (str2 & 15). */ -+ cmpld cr7,r7,r5 -+ beq cr7,L(same_aligned) -+ blt cr7,L(nalign1_min) -+ /* Swap r3 and r4, and r7 and r5 such that r3 and r7 hold the -+ pointer which is closer to the next 16B boundary so that only -+ one CHECK_N_BYTES is needed before entering the loop below. */ -+ mr r8,r4 -+ mr r4,r3 -+ mr r3,r8 -+ mr r12,r7 -+ mr r7,r5 -+ mr r5,r12 -+ crset 4*cr1+eq /* Set bit on swapping source pointers. */ - -- /* nalign2 is minimum and s2 pointer is aligned. */ -- CHECK_N_BYTES(r3,r4,r5) -- /* Are we on the 64B hunk which crosses a page? */ -- andi. r10,r3,63 /* Determine offset into 64B hunk. */ -- andi. r8,r3,15 /* The offset into the 16B hunk. */ -- neg r7,r3 -- andi. r9,r7,15 /* Number of bytes after a 16B cross. */ -- rlwinm. r7,r7,26,0x3F /* ((r3-4096))>>6&63. */ -- beq L(compare_64_pagecross) -- mtctr r7 -- b L(compare_64B_unaligned) -- -- /* nalign1 is minimum and s1 pointer is aligned. */ -+ .p2align 5 - L(nalign1_min): - CHECK_N_BYTES(r3,r4,r7) -- /* Are we on the 64B hunk which crosses a page? */ -- andi. r10,r4,63 /* Determine offset into 64B hunk. */ -- andi. r8,r4,15 /* The offset into the 16B hunk. */ -- neg r7,r4 -- andi. r9,r7,15 /* Number of bytes after a 16B cross. */ -- rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */ -- beq L(compare_64_pagecross) -- mtctr r7 - - .p2align 5 --L(compare_64B_unaligned): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- COMPARE_16(v4,v5,48) -- addi r3,r3,64 -- addi r4,r4,64 -- bdnz L(compare_64B_unaligned) -+L(s1_aligned): -+ /* r9 and r5 is number of bytes to be read after and before -+ page boundary correspondingly. */ -+ sub r5,r5,r7 -+ subfic r9,r5,16 -+ /* Now let r7 hold the count of quadwords which can be -+ checked without crossing a page boundary. quadword offset is -+ (str2>>4)&0xFF. */ -+ rlwinm r7,r4,28,0xFF -+ /* Below check is required only for first iteration. For second -+ iteration and beyond, the new loop counter is always 255. */ -+ cmpldi r7,255 -+ beq L(L3) -+ /* Get the initial loop count by 255-((str2>>4)&0xFF). */ -+ subfic r11,r7,255 - -- /* Cross the page boundary of s2, carefully. Only for first -- iteration we have to get the count of 64B blocks to be checked. -- From second iteration and beyond, loop counter is always 63. */ --L(compare_64_pagecross): -- li r11, 63 -+ .p2align 5 -+L(L1): - mtctr r11 -- cmpldi r10,16 -- ble L(cross_4) -- cmpldi r10,32 -- ble L(cross_3) -- cmpldi r10,48 -- ble L(cross_2) --L(cross_1): -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- addi r3,r3,48 -- addi r4,r4,48 -- b L(compare_64B_unaligned) --L(cross_2): -- COMPARE_16(v4,v5,0) -- addi r3,r3,16 -- addi r4,r4,16 -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- addi r3,r3,32 -- addi r4,r4,32 -- b L(compare_64B_unaligned) --L(cross_3): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- addi r3,r3,32 -- addi r4,r4,32 -- CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- COMPARE_16(v4,v5,0) -+ -+ .p2align 5 -+L(L2): -+ COMPARE_16(v4,v5,0) /* Load 16B blocks using lxv. */ - addi r3,r3,16 - addi r4,r4,16 -- b L(compare_64B_unaligned) --L(cross_4): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- addi r3,r3,48 -- addi r4,r4,48 -+ bdnz L(L2) -+ /* Cross the page boundary of s2, carefully. */ -+ -+ .p2align 5 -+L(L3): -+ CHECK_N_BYTES(r3,r4,r5) - CHECK_N_BYTES(r3,r4,r9) -- CHECK_N_BYTES(r3,r4,r8) -- b L(compare_64B_unaligned) -+ li r11,255 /* Load the new loop counter. */ -+ b L(L1) - -+ .p2align 5 - L(same_aligned): - CHECK_N_BYTES(r3,r4,r7) - /* Align s1 to 32B and adjust s2 address. -@@ -208,7 +168,18 @@ L(16B_aligned_loop): - - /* Calculate and return the difference. */ - L(different): -- TAIL(v4,v5) -+ vctzlsbb r6,v7 -+ vextubrx r5,r6,v4 -+ vextubrx r4,r6,v5 -+ bt 4*cr1+eq,L(swapped) -+ subf r3,r4,r5 -+ blr -+ -+ /* If src pointers were swapped, then swap the -+ indices and calculate the return value. */ -+L(swapped): -+ subf r3,r5,r4 -+ blr - - .p2align 5 - L(32B_aligned_loop): - -commit 672f31b90e501b4ba10ba12ab4c6051f77589912 -Author: Carlos O'Donell -Date: Wed Jun 11 09:33:45 2025 -0400 - - ppc64le: Revert "powerpc : Add optimized memchr for POWER10" (Bug 33059) - - This reverts commit b9182c793caa05df5d697427c0538936e6396d4b - - Reason for revert: Power10 memchr clobbers v20 vector register - (Bug 33059) - - This is not a security issue, unlike CVE-2025-5745 and - CVE-2025-5702. - - Tested on ppc64le without regression. - - (cherry picked from commit a7877bb6685300f159fa095c9f50b22b112cddb8) - -diff --git a/sysdeps/powerpc/powerpc64/le/power10/memchr.S b/sysdeps/powerpc/powerpc64/le/power10/memchr.S -deleted file mode 100644 -index 53e5716d72..0000000000 ---- a/sysdeps/powerpc/powerpc64/le/power10/memchr.S -+++ /dev/null -@@ -1,315 +0,0 @@ --/* Optimized memchr implementation for POWER10 LE. -- Copyright (C) 2021-2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#include -- --# ifndef MEMCHR --# define MEMCHR __memchr --# endif --# define M_VREG_ZERO v20 --# define M_OFF_START_LOOP 256 --# define MEMCHR_SUBTRACT_VECTORS \ -- vsububm v4,v4,v18; \ -- vsububm v5,v5,v18; \ -- vsububm v6,v6,v18; \ -- vsububm v7,v7,v18; --# define M_TAIL(vreg,increment) \ -- vctzlsbb r4,vreg; \ -- cmpld r5,r4; \ -- ble L(null); \ -- addi r4,r4,increment; \ -- add r3,r6,r4; \ -- blr -- --/* TODO: Replace macros by the actual instructions when minimum binutils becomes -- >= 2.35. This is used to keep compatibility with older versions. */ --#define M_VEXTRACTBM(rt,vrb) \ -- .long(((4)<<(32-6)) \ -- | ((rt)<<(32-11)) \ -- | ((8)<<(32-16)) \ -- | ((vrb)<<(32-21)) \ -- | 1602) -- --#define M_LXVP(xtp,dq,ra) \ -- .long(((6)<<(32-6)) \ -- | ((((xtp)-32)>>1)<<(32-10)) \ -- | ((1)<<(32-11)) \ -- | ((ra)<<(32-16)) \ -- | dq) -- --#define CHECK16B(vreg,offset,addr,label) \ -- lxv vreg+32,offset(addr); \ -- vcmpequb. vreg,vreg,v18; \ -- bne cr6,L(label); \ -- cmpldi r5,16; \ -- ble L(null); \ -- addi r5,r5,-16; -- --/* Load 4 quadwords, merge into one VR for speed and check for NULLs. r6 has # -- of bytes already checked. */ --#define CHECK64B(offset,addr,label) \ -- M_LXVP(v4+32,offset,addr); \ -- M_LXVP(v6+32,offset+32,addr); \ -- MEMCHR_SUBTRACT_VECTORS; \ -- vminub v14,v4,v5; \ -- vminub v15,v6,v7; \ -- vminub v16,v14,v15; \ -- vcmpequb. v0,v16,M_VREG_ZERO; \ -- beq cr6,$+12; \ -- li r7,offset; \ -- b L(label); \ -- cmpldi r5,64; \ -- ble L(null); \ -- addi r5,r5,-64 -- --/* Implements the function -- void *[r3] memchr (const void *s [r3], int c [r4], size_t n [r5]). */ -- -- .machine power9 -- --ENTRY_TOCLESS (MEMCHR) -- CALL_MCOUNT 3 -- -- cmpldi r5,0 -- beq L(null) -- mr r0,r5 -- xori r6,r4,0xff -- -- mtvsrd v18+32,r4 /* matching char in v18 */ -- mtvsrd v19+32,r6 /* non matching char in v19 */ -- -- vspltb v18,v18,7 /* replicate */ -- vspltb v19,v19,7 /* replicate */ -- vspltisb M_VREG_ZERO,0 -- -- /* Next 16B-aligned address. Prepare address for L(aligned). */ -- addi r6,r3,16 -- clrrdi r6,r6,4 -- -- /* Align data and fill bytes not loaded with non matching char. */ -- lvx v0,0,r3 -- lvsr v1,0,r3 -- vperm v0,v19,v0,v1 -- -- vcmpequb. v6,v0,v18 -- bne cr6,L(found) -- sub r4,r6,r3 -- cmpld r5,r4 -- ble L(null) -- sub r5,r5,r4 -- -- /* Test up to OFF_START_LOOP-16 bytes in 16B chunks. The main loop is -- optimized for longer strings, so checking the first bytes in 16B -- chunks benefits a lot small strings. */ -- .p2align 5 --L(aligned): -- cmpldi r5,0 -- beq L(null) -- -- CHECK16B(v0,0,r6,tail1) -- CHECK16B(v1,16,r6,tail2) -- CHECK16B(v2,32,r6,tail3) -- CHECK16B(v3,48,r6,tail4) -- CHECK16B(v4,64,r6,tail5) -- CHECK16B(v5,80,r6,tail6) -- CHECK16B(v6,96,r6,tail7) -- CHECK16B(v7,112,r6,tail8) -- CHECK16B(v8,128,r6,tail9) -- CHECK16B(v9,144,r6,tail10) -- CHECK16B(v10,160,r6,tail11) -- CHECK16B(v0,176,r6,tail12) -- CHECK16B(v1,192,r6,tail13) -- CHECK16B(v2,208,r6,tail14) -- CHECK16B(v3,224,r6,tail15) -- -- cmpdi cr5,r4,0 /* Check if c == 0. This will be useful to -- choose how we will perform the main loop. */ -- -- /* Prepare address for the loop. */ -- addi r4,r3,M_OFF_START_LOOP -- clrrdi r4,r4,6 -- sub r6,r4,r3 -- sub r5,r0,r6 -- addi r6,r4,128 -- -- /* If c == 0, use the loop without the vsububm. */ -- beq cr5,L(loop) -- -- /* This is very similar to the block after L(loop), the difference is -- that here MEMCHR_SUBTRACT_VECTORS is not empty, and we subtract -- each byte loaded by the char we are looking for, this way we can keep -- using vminub to merge the results and checking for nulls. */ -- .p2align 5 --L(memchr_loop): -- CHECK64B(0,r4,pre_tail_64b) -- CHECK64B(64,r4,pre_tail_64b) -- addi r4,r4,256 -- -- CHECK64B(0,r6,tail_64b) -- CHECK64B(64,r6,tail_64b) -- addi r6,r6,256 -- -- CHECK64B(0,r4,pre_tail_64b) -- CHECK64B(64,r4,pre_tail_64b) -- addi r4,r4,256 -- -- CHECK64B(0,r6,tail_64b) -- CHECK64B(64,r6,tail_64b) -- addi r6,r6,256 -- -- b L(memchr_loop) -- /* Switch to a more aggressive approach checking 64B each time. Use 2 -- pointers 128B apart and unroll the loop once to make the pointer -- updates and usages separated enough to avoid stalls waiting for -- address calculation. */ -- .p2align 5 --L(loop): --#undef MEMCHR_SUBTRACT_VECTORS --#define MEMCHR_SUBTRACT_VECTORS /* nothing */ -- CHECK64B(0,r4,pre_tail_64b) -- CHECK64B(64,r4,pre_tail_64b) -- addi r4,r4,256 -- -- CHECK64B(0,r6,tail_64b) -- CHECK64B(64,r6,tail_64b) -- addi r6,r6,256 -- -- CHECK64B(0,r4,pre_tail_64b) -- CHECK64B(64,r4,pre_tail_64b) -- addi r4,r4,256 -- -- CHECK64B(0,r6,tail_64b) -- CHECK64B(64,r6,tail_64b) -- addi r6,r6,256 -- -- b L(loop) -- -- .p2align 5 --L(pre_tail_64b): -- mr r6,r4 --L(tail_64b): -- /* OK, we found a null byte. Let's look for it in the current 64-byte -- block and mark it in its corresponding VR. lxvp vx,0(ry) puts the -- low 16B bytes into vx+1, and the high into vx, so the order here is -- v5, v4, v7, v6. */ -- vcmpequb v1,v5,M_VREG_ZERO -- vcmpequb v2,v4,M_VREG_ZERO -- vcmpequb v3,v7,M_VREG_ZERO -- vcmpequb v4,v6,M_VREG_ZERO -- -- /* Take into account the other 64B blocks we had already checked. */ -- add r6,r6,r7 -- /* Extract first bit of each byte. */ -- M_VEXTRACTBM(r8,v1) -- M_VEXTRACTBM(r9,v2) -- M_VEXTRACTBM(r10,v3) -- M_VEXTRACTBM(r11,v4) -- -- /* Shift each value into their corresponding position. */ -- sldi r9,r9,16 -- sldi r10,r10,32 -- sldi r11,r11,48 -- -- /* Merge the results. */ -- or r8,r8,r9 -- or r9,r10,r11 -- or r11,r9,r8 -- -- cnttzd r0,r11 /* Count trailing zeros before the match. */ -- cmpld r5,r0 -- ble L(null) -- add r3,r6,r0 /* Compute final address. */ -- blr -- -- .p2align 5 --L(tail1): -- M_TAIL(v0,0) -- -- .p2align 5 --L(tail2): -- M_TAIL(v1,16) -- -- .p2align 5 --L(tail3): -- M_TAIL(v2,32) -- -- .p2align 5 --L(tail4): -- M_TAIL(v3,48) -- -- .p2align 5 --L(tail5): -- M_TAIL(v4,64) -- -- .p2align 5 --L(tail6): -- M_TAIL(v5,80) -- -- .p2align 5 --L(tail7): -- M_TAIL(v6,96) -- -- .p2align 5 --L(tail8): -- M_TAIL(v7,112) -- -- .p2align 5 --L(tail9): -- M_TAIL(v8,128) -- -- .p2align 5 --L(tail10): -- M_TAIL(v9,144) -- -- .p2align 5 --L(tail11): -- M_TAIL(v10,160) -- -- .p2align 5 --L(tail12): -- M_TAIL(v0,176) -- -- .p2align 5 --L(tail13): -- M_TAIL(v1,192) -- -- .p2align 5 --L(tail14): -- M_TAIL(v2,208) -- -- .p2align 5 --L(tail15): -- M_TAIL(v3,224) -- -- .p2align 5 --L(found): -- vctzlsbb r7,v6 -- cmpld r5,r7 -- ble L(null) -- add r3,r3,r7 -- blr -- -- .p2align 5 --L(null): -- li r3,0 -- blr -- --END (MEMCHR) -- --weak_alias (__memchr, memchr) --libc_hidden_builtin_def (memchr) -diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile -index a38ff46448..fa1107dfd9 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/Makefile -+++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile -@@ -31,10 +31,10 @@ sysdep_routines += memcpy-power8-cached memcpy-power7 memcpy-a2 memcpy-power6 \ - strncase-power8 - - ifneq (,$(filter %le,$(config-machine))) --sysdep_routines += memchr-power10 memcmp-power10 memcpy-power10 \ -- memmove-power10 memset-power10 rawmemchr-power9 \ -- rawmemchr-power10 strcmp-power9 strcmp-power10 \ -- strncmp-power9 strcpy-power9 stpcpy-power9 \ -+sysdep_routines += memcmp-power10 memcpy-power10 memmove-power10 memset-power10 \ -+ rawmemchr-power9 rawmemchr-power10 \ -+ strcmp-power9 strcmp-power10 strncmp-power9 \ -+ strcpy-power9 stpcpy-power9 \ - strlen-power9 strncpy-power9 stpncpy-power9 strlen-power10 - endif - CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops -diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -index 30fd89e109..9b3e617306 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -+++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -@@ -226,12 +226,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, - - /* Support sysdeps/powerpc/powerpc64/multiarch/memchr.c. */ - IFUNC_IMPL (i, name, memchr, --#ifdef __LITTLE_ENDIAN__ -- IFUNC_IMPL_ADD (array, i, memchr, -- hwcap2 & PPC_FEATURE2_ARCH_3_1 -- && hwcap & PPC_FEATURE_HAS_VSX, -- __memchr_power10) --#endif - IFUNC_IMPL_ADD (array, i, memchr, - hwcap2 & PPC_FEATURE2_ARCH_2_07 - && hwcap & PPC_FEATURE_HAS_ALTIVEC, -diff --git a/sysdeps/powerpc/powerpc64/multiarch/memchr-power10.S b/sysdeps/powerpc/powerpc64/multiarch/memchr-power10.S -deleted file mode 100644 -index 7d35ef28a9..0000000000 ---- a/sysdeps/powerpc/powerpc64/multiarch/memchr-power10.S -+++ /dev/null -@@ -1,28 +0,0 @@ --/* Optimized memchr implementation for POWER10/PPC64. -- Copyright (C) 2016-2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#if defined __LITTLE_ENDIAN__ && IS_IN (libc) --#define MEMCHR __memchr_power10 -- --#undef libc_hidden_builtin_def --#define libc_hidden_builtin_def(name) --#undef weak_alias --#define weak_alias(name,alias) -- --#include --#endif -diff --git a/sysdeps/powerpc/powerpc64/multiarch/memchr.c b/sysdeps/powerpc/powerpc64/multiarch/memchr.c -index 57d23e7b18..b4655dfcaa 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/memchr.c -+++ b/sysdeps/powerpc/powerpc64/multiarch/memchr.c -@@ -25,23 +25,15 @@ extern __typeof (__memchr) __memchr_ppc attribute_hidden; - extern __typeof (__memchr) __memchr_power7 attribute_hidden; - extern __typeof (__memchr) __memchr_power8 attribute_hidden; - --# ifdef __LITTLE_ENDIAN__ --extern __typeof (__memchr) __memchr_power10 attribute_hidden; --# endif - /* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle - ifunc symbol properly. */ - libc_ifunc (__memchr, --# ifdef __LITTLE_ENDIAN__ -- (hwcap2 & PPC_FEATURE2_ARCH_3_1 -- && hwcap & PPC_FEATURE_HAS_VSX) -- ? __memchr_power10 : --# endif -- (hwcap2 & PPC_FEATURE2_ARCH_2_07 -- && hwcap & PPC_FEATURE_HAS_ALTIVEC) -- ? __memchr_power8 : -- (hwcap & PPC_FEATURE_ARCH_2_06) -- ? __memchr_power7 -- : __memchr_ppc); -+ (hwcap2 & PPC_FEATURE2_ARCH_2_07 -+ && hwcap & PPC_FEATURE_HAS_ALTIVEC) -+ ? __memchr_power8 : -+ (hwcap & PPC_FEATURE_ARCH_2_06) -+ ? __memchr_power7 -+ : __memchr_ppc); - - weak_alias (__memchr, memchr) - libc_hidden_builtin_def (memchr) - -commit 7e12550b8e3a11764a4a9090ce6bd3fc23fc8a8e -Author: Carlos O'Donell -Date: Mon Jun 16 13:09:57 2025 -0400 - - ppc64le: Revert "powerpc: Optimized strcmp for power10" (CVE-2025-5702) - - This reverts commit 3367d8e180848030d1646f088759f02b8dfe0d6f - - Reason for revert: Power10 strcmp clobbers non-volatile vector - registers (Bug 33056) - - Tested on ppc64le without regression. - - (cherry picked from commit 15808c77b35319e67ee0dc8f984a9a1a434701bc) - -diff --git a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S b/sysdeps/powerpc/powerpc64/le/power10/strcmp.S -deleted file mode 100644 -index 00f1e9c170..0000000000 ---- a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S -+++ /dev/null -@@ -1,204 +0,0 @@ --/* Optimized strcmp implementation for PowerPC64/POWER10. -- Copyright (C) 2021-2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ --#include -- --#ifndef STRCMP --# define STRCMP strcmp --#endif -- --/* Implements the function -- int [r3] strcmp (const char *s1 [r3], const char *s2 [r4]). */ -- --/* TODO: Change this to actual instructions when minimum binutils is upgraded -- to 2.27. Macros are defined below for these newer instructions in order -- to maintain compatibility. */ -- --#define LXVP(xtp,dq,ra) \ -- .long(((6)<<(32-6)) \ -- | ((((xtp)-32)>>1)<<(32-10)) \ -- | ((1)<<(32-11)) \ -- | ((ra)<<(32-16)) \ -- | dq) -- --#define COMPARE_16(vreg1,vreg2,offset) \ -- lxv vreg1+32,offset(r3); \ -- lxv vreg2+32,offset(r4); \ -- vcmpnezb. v7,vreg1,vreg2; \ -- bne cr6,L(different); \ -- --#define COMPARE_32(vreg1,vreg2,offset,label1,label2) \ -- LXVP(vreg1+32,offset,r3); \ -- LXVP(vreg2+32,offset,r4); \ -- vcmpnezb. v7,vreg1+1,vreg2+1; \ -- bne cr6,L(label1); \ -- vcmpnezb. v7,vreg1,vreg2; \ -- bne cr6,L(label2); \ -- --#define TAIL(vreg1,vreg2) \ -- vctzlsbb r6,v7; \ -- vextubrx r5,r6,vreg1; \ -- vextubrx r4,r6,vreg2; \ -- subf r3,r4,r5; \ -- blr; \ -- --#define CHECK_N_BYTES(reg1,reg2,len_reg) \ -- sldi r0,len_reg,56; \ -- lxvl 32+v4,reg1,r0; \ -- lxvl 32+v5,reg2,r0; \ -- add reg1,reg1,len_reg; \ -- add reg2,reg2,len_reg; \ -- vcmpnezb. v7,v4,v5; \ -- vctzlsbb r6,v7; \ -- cmpld cr7,r6,len_reg; \ -- blt cr7,L(different); \ -- -- /* TODO: change this to .machine power10 when the minimum required -- binutils allows it. */ -- -- .machine power9 --ENTRY_TOCLESS (STRCMP, 4) -- li r11,16 -- /* eq bit of cr1 used as swap status flag to indicate if -- source pointers were swapped. */ -- crclr 4*cr1+eq -- vspltisb v19,-1 -- andi. r7,r3,15 -- sub r7,r11,r7 /* r7(nalign1) = 16 - (str1 & 15). */ -- andi. r9,r4,15 -- sub r5,r11,r9 /* r5(nalign2) = 16 - (str2 & 15). */ -- cmpld cr7,r7,r5 -- beq cr7,L(same_aligned) -- blt cr7,L(nalign1_min) -- /* Swap r3 and r4, and r7 and r5 such that r3 and r7 hold the -- pointer which is closer to the next 16B boundary so that only -- one CHECK_N_BYTES is needed before entering the loop below. */ -- mr r8,r4 -- mr r4,r3 -- mr r3,r8 -- mr r12,r7 -- mr r7,r5 -- mr r5,r12 -- crset 4*cr1+eq /* Set bit on swapping source pointers. */ -- -- .p2align 5 --L(nalign1_min): -- CHECK_N_BYTES(r3,r4,r7) -- -- .p2align 5 --L(s1_aligned): -- /* r9 and r5 is number of bytes to be read after and before -- page boundary correspondingly. */ -- sub r5,r5,r7 -- subfic r9,r5,16 -- /* Now let r7 hold the count of quadwords which can be -- checked without crossing a page boundary. quadword offset is -- (str2>>4)&0xFF. */ -- rlwinm r7,r4,28,0xFF -- /* Below check is required only for first iteration. For second -- iteration and beyond, the new loop counter is always 255. */ -- cmpldi r7,255 -- beq L(L3) -- /* Get the initial loop count by 255-((str2>>4)&0xFF). */ -- subfic r11,r7,255 -- -- .p2align 5 --L(L1): -- mtctr r11 -- -- .p2align 5 --L(L2): -- COMPARE_16(v4,v5,0) /* Load 16B blocks using lxv. */ -- addi r3,r3,16 -- addi r4,r4,16 -- bdnz L(L2) -- /* Cross the page boundary of s2, carefully. */ -- -- .p2align 5 --L(L3): -- CHECK_N_BYTES(r3,r4,r5) -- CHECK_N_BYTES(r3,r4,r9) -- li r11,255 /* Load the new loop counter. */ -- b L(L1) -- -- .p2align 5 --L(same_aligned): -- CHECK_N_BYTES(r3,r4,r7) -- /* Align s1 to 32B and adjust s2 address. -- Use lxvp only if both s1 and s2 are 32B aligned. */ -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- COMPARE_16(v4,v5,48) -- addi r3,r3,64 -- addi r4,r4,64 -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- -- clrldi r6,r3,59 -- subfic r5,r6,32 -- add r3,r3,r5 -- add r4,r4,r5 -- andi. r5,r4,0x1F -- beq cr0,L(32B_aligned_loop) -- -- .p2align 5 --L(16B_aligned_loop): -- COMPARE_16(v4,v5,0) -- COMPARE_16(v4,v5,16) -- COMPARE_16(v4,v5,32) -- COMPARE_16(v4,v5,48) -- addi r3,r3,64 -- addi r4,r4,64 -- b L(16B_aligned_loop) -- -- /* Calculate and return the difference. */ --L(different): -- vctzlsbb r6,v7 -- vextubrx r5,r6,v4 -- vextubrx r4,r6,v5 -- bt 4*cr1+eq,L(swapped) -- subf r3,r4,r5 -- blr -- -- /* If src pointers were swapped, then swap the -- indices and calculate the return value. */ --L(swapped): -- subf r3,r5,r4 -- blr -- -- .p2align 5 --L(32B_aligned_loop): -- COMPARE_32(v14,v16,0,tail1,tail2) -- COMPARE_32(v18,v20,32,tail3,tail4) -- COMPARE_32(v22,v24,64,tail5,tail6) -- COMPARE_32(v26,v28,96,tail7,tail8) -- addi r3,r3,128 -- addi r4,r4,128 -- b L(32B_aligned_loop) -- --L(tail1): TAIL(v15,v17) --L(tail2): TAIL(v14,v16) --L(tail3): TAIL(v19,v21) --L(tail4): TAIL(v18,v20) --L(tail5): TAIL(v23,v25) --L(tail6): TAIL(v22,v24) --L(tail7): TAIL(v27,v29) --L(tail8): TAIL(v26,v28) -- --END (STRCMP) --libc_hidden_builtin_def (strcmp) -diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile -index fa1107dfd9..9f15f3207f 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/Makefile -+++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile -@@ -33,8 +33,7 @@ sysdep_routines += memcpy-power8-cached memcpy-power7 memcpy-a2 memcpy-power6 \ - ifneq (,$(filter %le,$(config-machine))) - sysdep_routines += memcmp-power10 memcpy-power10 memmove-power10 memset-power10 \ - rawmemchr-power9 rawmemchr-power10 \ -- strcmp-power9 strcmp-power10 strncmp-power9 \ -- strcpy-power9 stpcpy-power9 \ -+ strcmp-power9 strncmp-power9 strcpy-power9 stpcpy-power9 \ - strlen-power9 strncpy-power9 stpncpy-power9 strlen-power10 - endif - CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops -diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -index 9b3e617306..78443b7f34 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -+++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c -@@ -377,10 +377,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, - /* Support sysdeps/powerpc/powerpc64/multiarch/strcmp.c. */ - IFUNC_IMPL (i, name, strcmp, - #ifdef __LITTLE_ENDIAN__ -- IFUNC_IMPL_ADD (array, i, strcmp, -- (hwcap2 & PPC_FEATURE2_ARCH_3_1) -- && (hwcap & PPC_FEATURE_HAS_VSX), -- __strcmp_power10) - IFUNC_IMPL_ADD (array, i, strcmp, - hwcap2 & PPC_FEATURE2_ARCH_3_00 - && hwcap & PPC_FEATURE_HAS_ALTIVEC, -diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S -deleted file mode 100644 -index 1a9f6069f5..0000000000 ---- a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S -+++ /dev/null -@@ -1,26 +0,0 @@ --/* Optimized strcmp implementation for POWER10/PPC64. -- Copyright (C) 2021-2024 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#if defined __LITTLE_ENDIAN__ && IS_IN (libc) --#define STRCMP __strcmp_power10 -- --#undef libc_hidden_builtin_def --#define libc_hidden_builtin_def(name) -- --#include --#endif /* __LITTLE_ENDIAN__ && IS_IN (libc) */ -diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c -index ff32496fab..06b9b4090f 100644 ---- a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c -+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c -@@ -29,16 +29,12 @@ extern __typeof (strcmp) __strcmp_power7 attribute_hidden; - extern __typeof (strcmp) __strcmp_power8 attribute_hidden; - # ifdef __LITTLE_ENDIAN__ - extern __typeof (strcmp) __strcmp_power9 attribute_hidden; --extern __typeof (strcmp) __strcmp_power10 attribute_hidden; - # endif - - # undef strcmp - - libc_ifunc_redirected (__redirect_strcmp, strcmp, - # ifdef __LITTLE_ENDIAN__ -- (hwcap2 & PPC_FEATURE2_ARCH_3_1 -- && hwcap & PPC_FEATURE_HAS_VSX) -- ? __strcmp_power10 : - (hwcap2 & PPC_FEATURE2_ARCH_3_00 - && hwcap & PPC_FEATURE_HAS_ALTIVEC) - ? __strcmp_power9 : - -commit 23a02e382c8ffebfed00a082d8898f1aa468b5da -Author: Florian Weimer -Date: Wed May 21 16:47:34 2025 +0200 - - support: Pick group in support_capture_subprogram_self_sgid if UID == 0 - - When running as root, it is likely that we can run under any group. - Pick a harmless group from /etc/group in this case. - - Reviewed-by: Carlos O'Donell - (cherry picked from commit 2f769cec448d84a62b7dd0d4ff56978fe22c0cd6) - -diff --git a/support/support_capture_subprocess.c b/support/support_capture_subprocess.c -index 2383481911..1cb344eb04 100644 ---- a/support/support_capture_subprocess.c -+++ b/support/support_capture_subprocess.c -@@ -21,7 +21,11 @@ - - #include - #include -+#include -+#include -+#include - #include -+#include - #include - #include - #include -@@ -210,10 +214,48 @@ err: - return status; - } - -+/* Returns true if a group with NAME has been found, and writes its -+ GID to *TARGET. */ -+static bool -+find_sgid_group (gid_t *target, const char *name) -+{ -+ /* Do not use getgrname_r because it does not work in statically -+ linked binaries if the system libc is different. */ -+ FILE *fp = fopen ("/etc/group", "rce"); -+ if (fp == NULL) -+ return false; -+ __fsetlocking (fp, FSETLOCKING_BYCALLER); -+ -+ bool ok = false; -+ struct scratch_buffer buf; -+ scratch_buffer_init (&buf); -+ while (true) -+ { -+ struct group grp; -+ struct group *result = NULL; -+ int status = fgetgrent_r (fp, &grp, buf.data, buf.length, &result); -+ if (status == 0 && result != NULL) -+ { -+ if (strcmp (result->gr_name, name) == 0) -+ { -+ *target = result->gr_gid; -+ ok = true; -+ break; -+ } -+ } -+ else if (errno != ERANGE) -+ break; -+ else if (!scratch_buffer_grow (&buf)) -+ break; -+ } -+ scratch_buffer_free (&buf); -+ fclose (fp); -+ return ok; -+} -+ - int - support_capture_subprogram_self_sgid (const char *child_id) - { -- gid_t target = 0; - const int count = 64; - gid_t groups[count]; - -@@ -225,6 +267,7 @@ support_capture_subprogram_self_sgid (const char *child_id) - (intmax_t) getuid ()); - - gid_t current = getgid (); -+ gid_t target = current; - for (int i = 0; i < ret; ++i) - { - if (groups[i] != current) -@@ -234,9 +277,16 @@ support_capture_subprogram_self_sgid (const char *child_id) - } - } - -- if (target == 0) -- FAIL_UNSUPPORTED("Could not find a suitable GID for user %jd\n", -- (intmax_t) getuid ()); -+ if (target == current) -+ { -+ /* If running as root, try to find a harmless group for SGID. */ -+ if (getuid () != 0 -+ || (!find_sgid_group (&target, "nogroup") -+ && !find_sgid_group (&target, "bin") -+ && !find_sgid_group (&target, "daemon"))) -+ FAIL_UNSUPPORTED("Could not find a suitable GID for user %jd\n", -+ (intmax_t) getuid ()); -+ } - - return copy_and_spawn_sgid (child_id, target); - } - -commit dbc83657e290bdad3245259be80fb84cbe10304c -Author: Florian Weimer -Date: Thu May 22 14:36:37 2025 +0200 - - Fix error reporting (false negatives) in SGID tests - - And simplify the interface of support_capture_subprogram_self_sgid. - - Use the existing framework for temporary directories (now with - mode 0700) and directory/file deletion. Handle all execution - errors within support_capture_subprogram_self_sgid. In particular, - this includes test failures because the invoked program did not - exit with exit status zero. Existing tests that expect exit - status 42 are adjusted to use zero instead. - - In addition, fix callers not to call exit (0) with test failures - pending (which may mask them, especially when running with --direct). - - Fixes commit 35fc356fa3b4f485bd3ba3114c9f774e5df7d3c2 - ("elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)"). - - Reviewed-by: Carlos O'Donell - (cherry picked from commit 3a3fb2ed83f79100c116c824454095ecfb335ad7) - -diff --git a/elf/tst-dlopen-sgid.c b/elf/tst-dlopen-sgid.c -index 5688b79f2e..8aec52e19f 100644 ---- a/elf/tst-dlopen-sgid.c -+++ b/elf/tst-dlopen-sgid.c -@@ -70,13 +70,7 @@ do_test (void) - - free (libdir); - -- int status = support_capture_subprogram_self_sgid (magic_argument); -- -- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED) -- return EXIT_UNSUPPORTED; -- -- if (!WIFEXITED (status)) -- FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status); -+ support_capture_subprogram_self_sgid (magic_argument); - - return 0; - } -diff --git a/elf/tst-env-setuid-tunables.c b/elf/tst-env-setuid-tunables.c -index a47219047f..233eec7631 100644 ---- a/elf/tst-env-setuid-tunables.c -+++ b/elf/tst-env-setuid-tunables.c -@@ -105,10 +105,7 @@ do_test (int argc, char **argv) - - if (ret != 0) - exit (1); -- -- /* Special return code to make sure that the child executed all the way -- through. */ -- exit (42); -+ return 0; - } - else - { -@@ -127,18 +124,7 @@ do_test (int argc, char **argv) - continue; - } - -- int status = support_capture_subprogram_self_sgid (buf); -- -- /* Bail out early if unsupported. */ -- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED) -- return EXIT_UNSUPPORTED; -- -- if (WEXITSTATUS (status) != 42) -- { -- printf (" [%d] child failed with status %d\n", i, -- WEXITSTATUS (status)); -- support_record_failure (); -- } -+ support_capture_subprogram_self_sgid (buf); - } - return 0; - } -diff --git a/elf/tst-env-setuid.c b/elf/tst-env-setuid.c -index 59f2ffeb88..ee3f058468 100644 ---- a/elf/tst-env-setuid.c -+++ b/elf/tst-env-setuid.c -@@ -147,10 +147,7 @@ do_test (int argc, char **argv) - - if (ret != 0) - exit (1); -- -- /* Special return code to make sure that the child executed all the way -- through. */ -- exit (42); -+ return 0; - } - else - { -@@ -174,17 +171,7 @@ do_test (int argc, char **argv) - free (profilepath); - } - -- int status = support_capture_subprogram_self_sgid (SETGID_CHILD); -- -- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED) -- exit (EXIT_UNSUPPORTED); -- -- if (WEXITSTATUS (status) != 42) -- { -- printf (" child failed with status %d\n", -- WEXITSTATUS (status)); -- support_record_failure (); -- } -+ support_capture_subprogram_self_sgid (SETGID_CHILD); - - return 0; - } -diff --git a/stdlib/tst-secure-getenv.c b/stdlib/tst-secure-getenv.c -index cc26ed6d15..cefee58d46 100644 ---- a/stdlib/tst-secure-getenv.c -+++ b/stdlib/tst-secure-getenv.c -@@ -57,13 +57,7 @@ do_test (void) - exit (1); - } - -- int status = support_capture_subprogram_self_sgid (MAGIC_ARGUMENT); -- -- if (WEXITSTATUS (status) == EXIT_UNSUPPORTED) -- return EXIT_UNSUPPORTED; -- -- if (!WIFEXITED (status)) -- FAIL_EXIT1 ("Unexpected exit status %d from child process\n", status); -+ support_capture_subprogram_self_sgid (MAGIC_ARGUMENT); - - return 0; - } -@@ -82,6 +76,7 @@ alternative_main (int argc, char **argv) - if (secure_getenv ("PATH") != NULL) - FAIL_EXIT (4, "PATH variable not filtered out\n"); - -+ support_record_failure_barrier (); - exit (EXIT_SUCCESS); - } - } -diff --git a/support/capture_subprocess.h b/support/capture_subprocess.h -index 5406d9f6c0..57bb941e7d 100644 ---- a/support/capture_subprocess.h -+++ b/support/capture_subprocess.h -@@ -42,10 +42,12 @@ struct support_capture_subprocess support_capture_subprocess - struct support_capture_subprocess support_capture_subprogram - (const char *file, char *const argv[], char *const envp[]); - --/* Copy the running program into a setgid binary and run it with CHILD_ID -- argument. If execution is successful, return the exit status of the child -- program, otherwise return a non-zero failure exit code. */ --int support_capture_subprogram_self_sgid (const char *child_id); -+/* Copy the running program into a setgid binary and run it with -+ CHILD_ID argument. If the program exits with a non-zero status, -+ exit with that exit status (or status 1 if the program did not exit -+ normally). If the test cannot be performed, exit with -+ EXIT_UNSUPPORTED. */ -+void support_capture_subprogram_self_sgid (const char *child_id); - - /* Deallocate the subprocess data captured by - support_capture_subprocess. */ -diff --git a/support/support_capture_subprocess.c b/support/support_capture_subprocess.c -index 1cb344eb04..cbc6951064 100644 ---- a/support/support_capture_subprocess.c -+++ b/support/support_capture_subprocess.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - #include - - static void -@@ -113,105 +114,44 @@ support_capture_subprogram (const char *file, char *const argv[], - /* Copies the executable into a restricted directory, so that we can - safely make it SGID with the TARGET group ID. Then runs the - executable. */ --static int -+static void - copy_and_spawn_sgid (const char *child_id, gid_t gid) - { -- char *dirname = xasprintf ("%s/tst-tunables-setuid.%jd", -- test_dir, (intmax_t) getpid ()); -+ char *dirname = support_create_temp_directory ("tst-glibc-sgid-"); - char *execname = xasprintf ("%s/bin", dirname); -- int infd = -1; -- int outfd = -1; -- int ret = 1, status = 1; -- -- TEST_VERIFY (mkdir (dirname, 0700) == 0); -- if (support_record_failure_is_failed ()) -- goto err; -+ add_temp_file (execname); - -- infd = open ("/proc/self/exe", O_RDONLY); -- if (infd < 0) -+ if (access ("/proc/self/exe", R_OK) != 0) - FAIL_UNSUPPORTED ("unsupported: Cannot read binary from procfs\n"); - -- outfd = open (execname, O_WRONLY | O_CREAT | O_EXCL, 0700); -- TEST_VERIFY (outfd >= 0); -- if (support_record_failure_is_failed ()) -- goto err; -- -- char buf[4096]; -- for (;;) -- { -- ssize_t rdcount = read (infd, buf, sizeof (buf)); -- TEST_VERIFY (rdcount >= 0); -- if (support_record_failure_is_failed ()) -- goto err; -- if (rdcount == 0) -- break; -- char *p = buf; -- char *end = buf + rdcount; -- while (p != end) -- { -- ssize_t wrcount = write (outfd, buf, end - p); -- if (wrcount == 0) -- errno = ENOSPC; -- TEST_VERIFY (wrcount > 0); -- if (support_record_failure_is_failed ()) -- goto err; -- p += wrcount; -- } -- } -+ support_copy_file ("/proc/self/exe", execname); - -- bool chowned = false; -- TEST_VERIFY ((chowned = fchown (outfd, getuid (), gid) == 0) -- || errno == EPERM); -- if (support_record_failure_is_failed ()) -- goto err; -- else if (!chowned) -- { -- ret = 77; -- goto err; -- } -+ if (chown (execname, getuid (), gid) != 0) -+ FAIL_UNSUPPORTED ("cannot change group of \"%s\" to %jd: %m", -+ execname, (intmax_t) gid); - -- TEST_VERIFY (fchmod (outfd, 02750) == 0); -- if (support_record_failure_is_failed ()) -- goto err; -- TEST_VERIFY (close (outfd) == 0); -- if (support_record_failure_is_failed ()) -- goto err; -- TEST_VERIFY (close (infd) == 0); -- if (support_record_failure_is_failed ()) -- goto err; -+ if (chmod (execname, 02750) != 0) -+ FAIL_UNSUPPORTED ("cannot make \"%s\" SGID: %m ", execname); - - /* We have the binary, now spawn the subprocess. Avoid using - support_subprogram because we only want the program exit status, not the - contents. */ -- ret = 0; -- infd = outfd = -1; - - char * const args[] = {execname, (char *) child_id, NULL}; -+ int status = support_subprogram_wait (args[0], args); - -- status = support_subprogram_wait (args[0], args); -+ free (execname); -+ free (dirname); - --err: -- if (outfd >= 0) -- close (outfd); -- if (infd >= 0) -- close (infd); -- if (execname != NULL) -- { -- unlink (execname); -- free (execname); -- } -- if (dirname != NULL) -+ if (WIFEXITED (status)) - { -- rmdir (dirname); -- free (dirname); -+ if (WEXITSTATUS (status) == 0) -+ return; -+ else -+ exit (WEXITSTATUS (status)); - } -- -- if (ret == 77) -- FAIL_UNSUPPORTED ("Failed to make sgid executable for test\n"); -- if (ret != 0) -- FAIL_EXIT1 ("Failed to make sgid executable for test\n"); -- -- return status; -+ else -+ FAIL_EXIT1 ("subprogram failed with status %d", status); - } - - /* Returns true if a group with NAME has been found, and writes its -@@ -253,7 +193,7 @@ find_sgid_group (gid_t *target, const char *name) - return ok; - } - --int -+void - support_capture_subprogram_self_sgid (const char *child_id) - { - const int count = 64; -@@ -288,7 +228,7 @@ support_capture_subprogram_self_sgid (const char *child_id) - (intmax_t) getuid ()); - } - -- return copy_and_spawn_sgid (child_id, target); -+ copy_and_spawn_sgid (child_id, target); - } - - void - -commit 2eb180377b96771b8368b0915669c8c7b267e739 -Author: Florian Weimer -Date: Mon Jul 21 21:43:49 2025 +0200 - - posix: Fix double-free after allocation failure in regcomp (bug 33185) - - If a memory allocation failure occurs during bracket expression - parsing in regcomp, a double-free error may result. - - Reported-by: Anastasia Belova - Co-authored-by: Paul Eggert - Reviewed-by: Andreas K. Huettel - (cherry picked from commit 7ea06e994093fa0bcca0d0ee2c1db271d8d7885d) - -diff --git a/NEWS b/NEWS -index 4b290ad4bf..253b07ae99 100644 ---- a/NEWS -+++ b/NEWS -@@ -24,6 +24,7 @@ The following bugs are resolved with this release: - [32470] x86: Avoid integer truncation with large cache sizes - [32810] Crash on x86-64 if XSAVEC disable via tunable - [32987] elf: Fix subprocess status handling for tst-dlopen-sgid -+ [33185] Fix double-free after allocation failure in regcomp - - Version 2.40 - -diff --git a/posix/Makefile b/posix/Makefile -index 2c598cd20a..830278a423 100644 ---- a/posix/Makefile -+++ b/posix/Makefile -@@ -303,6 +303,7 @@ tests := \ - tst-posix_spawn-setsid \ - tst-preadwrite \ - tst-preadwrite64 \ -+ tst-regcomp-bracket-free \ - tst-regcomp-truncated \ - tst-regex \ - tst-regex2 \ -diff --git a/posix/regcomp.c b/posix/regcomp.c -index 5380d3c7b9..6595bb3c0d 100644 ---- a/posix/regcomp.c -+++ b/posix/regcomp.c -@@ -3384,6 +3384,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, - { - #ifdef RE_ENABLE_I18N - free_charset (mbcset); -+ mbcset = NULL; - #endif - /* Build a tree for simple bracket. */ - br_token.type = SIMPLE_BRACKET; -@@ -3399,7 +3400,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, - parse_bracket_exp_free_return: - re_free (sbcset); - #ifdef RE_ENABLE_I18N -- free_charset (mbcset); -+ if (__glibc_likely (mbcset != NULL)) -+ free_charset (mbcset); - #endif /* RE_ENABLE_I18N */ - return NULL; - } -diff --git a/posix/tst-regcomp-bracket-free.c b/posix/tst-regcomp-bracket-free.c -new file mode 100644 -index 0000000000..3c091d8c44 ---- /dev/null -+++ b/posix/tst-regcomp-bracket-free.c -@@ -0,0 +1,176 @@ -+/* Test regcomp bracket parsing with injected allocation failures (bug 33185). -+ Copyright (C) 2025 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* This test invokes regcomp multiple times, failing one memory -+ allocation in each call. The function call should fail with -+ REG_ESPACE (or succeed if it can recover from the allocation -+ failure). Previously, there was double-free bug. */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* Data structure allocated via MAP_SHARED, so that writes from the -+ subprocess are visible. */ -+struct shared_data -+{ -+ /* Number of tracked allocations performed so far. */ -+ volatile unsigned int allocation_count; -+ -+ /* If this number is reached, one allocation fails. */ -+ volatile unsigned int failing_allocation; -+ -+ /* The subprocess stores the expected name here. */ -+ char name[100]; -+}; -+ -+/* Allocation count in shared mapping. */ -+static struct shared_data *shared; -+ -+/* Returns true if a failure should be injected for this allocation. */ -+static bool -+fail_this_allocation (void) -+{ -+ if (shared != NULL) -+ { -+ unsigned int count = shared->allocation_count; -+ shared->allocation_count = count + 1; -+ return count == shared->failing_allocation; -+ } -+ else -+ return false; -+} -+ -+/* Failure-injecting wrappers for allocation functions used by glibc. */ -+ -+void * -+malloc (size_t size) -+{ -+ if (fail_this_allocation ()) -+ { -+ errno = ENOMEM; -+ return NULL; -+ } -+ extern __typeof (malloc) __libc_malloc; -+ return __libc_malloc (size); -+} -+ -+void * -+calloc (size_t a, size_t b) -+{ -+ if (fail_this_allocation ()) -+ { -+ errno = ENOMEM; -+ return NULL; -+ } -+ extern __typeof (calloc) __libc_calloc; -+ return __libc_calloc (a, b); -+} -+ -+void * -+realloc (void *ptr, size_t size) -+{ -+ if (fail_this_allocation ()) -+ { -+ errno = ENOMEM; -+ return NULL; -+ } -+ extern __typeof (realloc) __libc_realloc; -+ return __libc_realloc (ptr, size); -+} -+ -+/* No-op subprocess to verify that support_isolate_in_subprocess does -+ not perform any heap allocations. */ -+static void -+no_op (void *ignored) -+{ -+} -+ -+/* Perform a regcomp call in a subprocess. Used to count its -+ allocations. */ -+static void -+initialize (void *regexp1) -+{ -+ const char *regexp = regexp1; -+ -+ shared->allocation_count = 0; -+ -+ regex_t reg; -+ TEST_COMPARE (regcomp (®, regexp, 0), 0); -+} -+ -+/* Perform regcomp in a subprocess with fault injection. */ -+static void -+test_in_subprocess (void *regexp1) -+{ -+ const char *regexp = regexp1; -+ unsigned int inject_at = shared->failing_allocation; -+ -+ regex_t reg; -+ int ret = regcomp (®, regexp, 0); -+ -+ if (ret != 0) -+ { -+ TEST_COMPARE (ret, REG_ESPACE); -+ printf ("info: allocation %u failure results in return value %d," -+ " error %s (%d)\n", -+ inject_at, ret, strerrorname_np (errno), errno); -+ } -+} -+ -+static int -+do_test (void) -+{ -+ char regexp[] = "[:alpha:]"; -+ -+ shared = support_shared_allocate (sizeof (*shared)); -+ -+ /* Disable fault injection. */ -+ shared->failing_allocation = ~0U; -+ -+ support_isolate_in_subprocess (no_op, NULL); -+ TEST_COMPARE (shared->allocation_count, 0); -+ -+ support_isolate_in_subprocess (initialize, regexp); -+ -+ /* The number of allocations in the successful case, plus some -+ slack. Once the number of expected allocations is exceeded, -+ injecting further failures does not make a difference. */ -+ unsigned int maximum_allocation_count = shared->allocation_count; -+ printf ("info: successful call performs %u allocations\n", -+ maximum_allocation_count); -+ maximum_allocation_count += 10; -+ -+ for (unsigned int inject_at = 0; inject_at <= maximum_allocation_count; -+ ++inject_at) -+ { -+ shared->allocation_count = 0; -+ shared->failing_allocation = inject_at; -+ support_isolate_in_subprocess (test_in_subprocess, regexp); -+ } -+ -+ support_shared_free (shared); -+ -+ return 0; -+} -+ -+#include diff --git a/pkgs/development/libraries/glibc/2.42-master.patch b/pkgs/development/libraries/glibc/2.42-master.patch new file mode 100644 index 000000000000..efed2a43b7e2 --- /dev/null +++ b/pkgs/development/libraries/glibc/2.42-master.patch @@ -0,0 +1,5372 @@ +commit bdea6c37197a3c9bd976911cce5f580dea1c28dd +Author: Andreas K. Hüttel +Date: Mon Jul 28 20:35:38 2025 +0200 + + Replace advisories directory with pointer file + + Signed-off-by: Andreas K. Hüttel + +diff --git a/advisories/GLIBC-SA-2023-0001 b/advisories/GLIBC-SA-2023-0001 +deleted file mode 100644 +index 3d19c91b6a..0000000000 +--- a/advisories/GLIBC-SA-2023-0001 ++++ /dev/null +@@ -1,14 +0,0 @@ +-printf: incorrect output for integers with thousands separator and width field +- +-When the printf family of functions is called with a format specifier +-that uses an (enable grouping) and a minimum width +-specifier, the resulting output could be larger than reasonably expected +-by a caller that computed a tight bound on the buffer size. The +-resulting larger than expected output could result in a buffer overflow +-in the printf family of functions. +- +-CVE-Id: CVE-2023-25139 +-Public-Date: 2023-02-02 +-Vulnerable-Commit: e88b9f0e5cc50cab57a299dc7efe1a4eb385161d (2.37) +-Fix-Commit: c980549cc6a1c03c23cc2fe3e7b0fe626a0364b0 (2.38) +-Fix-Commit: 07b9521fc6369d000216b96562ff7c0ed32a16c4 (2.37-4) +diff --git a/advisories/GLIBC-SA-2023-0002 b/advisories/GLIBC-SA-2023-0002 +deleted file mode 100644 +index 5122669a64..0000000000 +--- a/advisories/GLIBC-SA-2023-0002 ++++ /dev/null +@@ -1,15 +0,0 @@ +-getaddrinfo: Stack read overflow in no-aaaa mode +- +-If the system is configured in no-aaaa mode via /etc/resolv.conf, +-getaddrinfo is called for the AF_UNSPEC address family, and a DNS +-response is received over TCP that is larger than 2048 bytes, +-getaddrinfo may potentially disclose stack contents via the returned +-address data, or crash. +- +-CVE-Id: CVE-2023-4527 +-Public-Date: 2023-09-12 +-Vulnerable-Commit: f282cdbe7f436c75864e5640a409a10485e9abb2 (2.36) +-Fix-Commit: bd77dd7e73e3530203be1c52c8a29d08270cb25d (2.39) +-Fix-Commit: 4ea972b7edd7e36610e8cde18bf7a8149d7bac4f (2.36-113) +-Fix-Commit: b7529346025a130fee483d42178b5c118da971bb (2.37-38) +-Fix-Commit: b25508dd774b617f99419bdc3cf2ace4560cd2d6 (2.38-19) +diff --git a/advisories/GLIBC-SA-2023-0003 b/advisories/GLIBC-SA-2023-0003 +deleted file mode 100644 +index d3aef80348..0000000000 +--- a/advisories/GLIBC-SA-2023-0003 ++++ /dev/null +@@ -1,15 +0,0 @@ +-getaddrinfo: Potential use-after-free +- +-When an NSS plugin only implements the _gethostbyname2_r and +-_getcanonname_r callbacks, getaddrinfo could use memory that was freed +-during buffer resizing, potentially causing a crash or read or write to +-arbitrary memory. +- +-CVE-Id: CVE-2023-4806 +-Public-Date: 2023-09-12 +-Fix-Commit: 973fe93a5675c42798b2161c6f29c01b0e243994 (2.39) +-Fix-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) +-Fix-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) +-Fix-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) +-Fix-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) +-Fix-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) +diff --git a/advisories/GLIBC-SA-2023-0004 b/advisories/GLIBC-SA-2023-0004 +deleted file mode 100644 +index 5286a7aa54..0000000000 +--- a/advisories/GLIBC-SA-2023-0004 ++++ /dev/null +@@ -1,16 +0,0 @@ +-tunables: local privilege escalation through buffer overflow +- +-If a tunable of the form NAME=NAME=VAL is passed in the environment of a +-setuid program and NAME is valid, it may result in a buffer overflow, +-which could be exploited to achieve escalated privileges. This flaw was +-introduced in glibc 2.34. +- +-CVE-Id: CVE-2023-4911 +-Public-Date: 2023-10-03 +-Vulnerable-Commit: 2ed18c5b534d9e92fc006202a5af0df6b72e7aca (2.34) +-Fix-Commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa (2.39) +-Fix-Commit: dcc367f148bc92e7f3778a125f7a416b093964d9 (2.34-423) +-Fix-Commit: c84018a05aec80f5ee6f682db0da1130b0196aef (2.35-274) +-Fix-Commit: 22955ad85186ee05834e47e665056148ca07699c (2.36-118) +-Fix-Commit: b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 (2.37-45) +-Fix-Commit: 750a45a783906a19591fb8ff6b7841470f1f5701 (2.38-27) +diff --git a/advisories/GLIBC-SA-2023-0005 b/advisories/GLIBC-SA-2023-0005 +deleted file mode 100644 +index cc4eb90b82..0000000000 +--- a/advisories/GLIBC-SA-2023-0005 ++++ /dev/null +@@ -1,18 +0,0 @@ +-getaddrinfo: DoS due to memory leak +- +-The fix for CVE-2023-4806 introduced a memory leak when an application +-calls getaddrinfo for AF_INET6 with AI_CANONNAME, AI_ALL and AI_V4MAPPED +-flags set. +- +-CVE-Id: CVE-2023-5156 +-Public-Date: 2023-09-25 +-Vulnerable-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) +-Vulnerable-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) +-Vulnerable-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) +-Vulnerable-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) +-Vulnerable-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) +-Fix-Commit: 8006457ab7e1cd556b919f477348a96fe88f2e49 (2.34-421) +-Fix-Commit: 17092c0311f954e6f3c010f73ce3a78c24ac279a (2.35-272) +-Fix-Commit: 856bac55f98dc840e7c27cfa82262b933385de90 (2.36-116) +-Fix-Commit: 4473d1b87d04b25cdd0e0354814eeaa421328268 (2.37-42) +-Fix-Commit: 5ee59ca371b99984232d7584fe2b1a758b4421d3 (2.38-24) +diff --git a/advisories/GLIBC-SA-2024-0001 b/advisories/GLIBC-SA-2024-0001 +deleted file mode 100644 +index 28931c75ae..0000000000 +--- a/advisories/GLIBC-SA-2024-0001 ++++ /dev/null +@@ -1,15 +0,0 @@ +-syslog: Heap buffer overflow in __vsyslog_internal +- +-__vsyslog_internal did not handle a case where printing a SYSLOG_HEADER +-containing a long program name failed to update the required buffer +-size, leading to the allocation and overflow of a too-small buffer on +-the heap. +- +-CVE-Id: CVE-2023-6246 +-Public-Date: 2024-01-30 +-Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) +-Fix-Commit: 6bd0e4efcc78f3c0115e5ea9739a1642807450da (2.39) +-Fix-Commit: 23514c72b780f3da097ecf33a793b7ba9c2070d2 (2.38-42) +-Fix-Commit: 97a4292aa4a2642e251472b878d0ec4c46a0e59a (2.37-57) +-Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) +-Fix-Commit: d1a83b6767f68b3cb5b4b4ea2617254acd040c82 (2.36-126) +diff --git a/advisories/GLIBC-SA-2024-0002 b/advisories/GLIBC-SA-2024-0002 +deleted file mode 100644 +index 940bfcf2fc..0000000000 +--- a/advisories/GLIBC-SA-2024-0002 ++++ /dev/null +@@ -1,15 +0,0 @@ +-syslog: Heap buffer overflow in __vsyslog_internal +- +-__vsyslog_internal used the return value of snprintf/vsnprintf to +-calculate buffer sizes for memory allocation. If these functions (for +-any reason) failed and returned -1, the resulting buffer would be too +-small to hold output. +- +-CVE-Id: CVE-2023-6779 +-Public-Date: 2024-01-30 +-Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) +-Fix-Commit: 7e5a0c286da33159d47d0122007aac016f3e02cd (2.39) +-Fix-Commit: d0338312aace5bbfef85e03055e1212dd0e49578 (2.38-43) +-Fix-Commit: 67062eccd9a65d7fda9976a56aeaaf6c25a80214 (2.37-58) +-Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) +-Fix-Commit: 2bc9d7c002bdac38b5c2a3f11b78e309d7765b83 (2.36-127) +diff --git a/advisories/GLIBC-SA-2024-0003 b/advisories/GLIBC-SA-2024-0003 +deleted file mode 100644 +index b43a5150ab..0000000000 +--- a/advisories/GLIBC-SA-2024-0003 ++++ /dev/null +@@ -1,13 +0,0 @@ +-syslog: Integer overflow in __vsyslog_internal +- +-__vsyslog_internal calculated a buffer size by adding two integers, but +-did not first check if the addition would overflow. +- +-CVE-Id: CVE-2023-6780 +-Public-Date: 2024-01-30 +-Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) +-Fix-Commit: ddf542da94caf97ff43cc2875c88749880b7259b (2.39) +-Fix-Commit: d37c2b20a4787463d192b32041c3406c2bd91de0 (2.38-44) +-Fix-Commit: 2b58cba076e912961ceaa5fa58588e4b10f791c0 (2.37-59) +-Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) +-Fix-Commit: b9b7d6a27aa0632f334352fa400771115b3c69b7 (2.36-128) +diff --git a/advisories/GLIBC-SA-2024-0004 b/advisories/GLIBC-SA-2024-0004 +deleted file mode 100644 +index 08df2b3118..0000000000 +--- a/advisories/GLIBC-SA-2024-0004 ++++ /dev/null +@@ -1,28 +0,0 @@ +-ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence +- +-The iconv() function in the GNU C Library versions 2.39 and older may +-overflow the output buffer passed to it by up to 4 bytes when converting +-strings to the ISO-2022-CN-EXT character set, which may be used to +-crash an application or overwrite a neighbouring variable. +- +-ISO-2022-CN-EXT uses escape sequences to indicate character set changes +-(as specified by RFC 1922). While the SOdesignation has the expected +-bounds checks, neither SS2designation nor SS3designation have its; +-allowing a write overflow of 1, 2, or 3 bytes with fixed values: +-'$+I', '$+J', '$+K', '$+L', '$+M', or '$*H'. +- +-CVE-Id: CVE-2024-2961 +-Public-Date: 2024-04-17 +-Vulnerable-Commit: 755104edc75c53f4a0e7440334e944ad3c6b32fc (2.1.93-169) +-Fix-Commit: f9dc609e06b1136bb0408be9605ce7973a767ada (2.40) +-Fix-Commit: 31da30f23cddd36db29d5b6a1c7619361b271fb4 (2.39-31) +-Fix-Commit: e1135387deded5d73924f6ca20c72a35dc8e1bda (2.38-66) +-Fix-Commit: 89ce64b269a897a7780e4c73a7412016381c6ecf (2.37-89) +-Fix-Commit: 4ed98540a7fd19f458287e783ae59c41e64df7b5 (2.36-164) +-Fix-Commit: 36280d1ce5e245aabefb877fe4d3c6cff95dabfa (2.35-315) +-Fix-Commit: a8b0561db4b9847ebfbfec20075697d5492a363c (2.34-459) +-Fix-Commit: ed4f16ff6bed3037266f1fa682ebd32a18fce29c (2.33-263) +-Fix-Commit: 682ad4c8623e611a971839990ceef00346289cc9 (2.32-140) +-Fix-Commit: 3703c32a8d304c1ee12126134ce69be965f38000 (2.31-154) +- +-Reported-By: Charles Fol +diff --git a/advisories/GLIBC-SA-2024-0005 b/advisories/GLIBC-SA-2024-0005 +deleted file mode 100644 +index a59596610a..0000000000 +--- a/advisories/GLIBC-SA-2024-0005 ++++ /dev/null +@@ -1,22 +0,0 @@ +-nscd: Stack-based buffer overflow in netgroup cache +- +-If the Name Service Cache Daemon's (nscd) fixed size cache is exhausted +-by client requests then a subsequent client request for netgroup data +-may result in a stack-based buffer overflow. This flaw was introduced +-in glibc 2.15 when the cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-CVE-Id: CVE-2024-33599 +-Public-Date: 2024-04-23 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: 69c58d5ef9f584ea198bd00f7964d364d0e6b921 (2.31-155) +-Fix-Commit: a77064893bfe8a701770e2f53a4d33805bc47a5a (2.32-141) +-Fix-Commit: 5c75001a96abcd50cbdb74df24c3f013188d076e (2.33-264) +-Fix-Commit: 52f73e5c4e29b14e79167272297977f360ae1e97 (2.34-460) +-Fix-Commit: 7a95873543ce225376faf13bb71c43dea6d24f86 (2.35-316) +-Fix-Commit: caa3151ca460bdd9330adeedd68c3112d97bffe4 (2.36-165) +-Fix-Commit: f75c298e747b2b8b41b1c2f551c011a52c41bfd1 (2.37-91) +-Fix-Commit: 5968aebb86164034b8f8421b4abab2f837a5bdaf (2.38-72) +-Fix-Commit: 1263d583d2e28afb8be53f8d6922f0842036f35d (2.39-35) +-Fix-Commit: 87801a8fd06db1d654eea3e4f7626ff476a9bdaa (2.40) +diff --git a/advisories/GLIBC-SA-2024-0006 b/advisories/GLIBC-SA-2024-0006 +deleted file mode 100644 +index d44148d3d9..0000000000 +--- a/advisories/GLIBC-SA-2024-0006 ++++ /dev/null +@@ -1,32 +0,0 @@ +-nscd: Null pointer crash after notfound response +- +-If the Name Service Cache Daemon's (nscd) cache fails to add a not-found +-netgroup response to the cache, the client request can result in a null +-pointer dereference. This flaw was introduced in glibc 2.15 when the +-cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-CVE-Id: CVE-2024-33600 +-Public-Date: 2024-04-24 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: b048a482f088e53144d26a61c390bed0210f49f2 (2.40) +-Fix-Commit: 7835b00dbce53c3c87bbbb1754a95fb5e58187aa (2.40) +-Fix-Commit: c99f886de54446cd4447db6b44be93dabbdc2f8b (2.39-37) +-Fix-Commit: 5a508e0b508c8ad53bd0d2fb48fd71b242626341 (2.39-36) +-Fix-Commit: 2ae9446c1b7a3064743b4a51c0bbae668ee43e4c (2.38-74) +-Fix-Commit: 541ea5172aa658c4bd5c6c6d6fd13903c3d5bb0a (2.38-73) +-Fix-Commit: a8070b31043c7585c36ba68a74298c4f7af075c3 (2.37-93) +-Fix-Commit: 5eea50c4402e39588de98aa1d4469a79774703d4 (2.37-92) +-Fix-Commit: f205b3af56740e3b014915b1bd3b162afe3407ef (2.36-167) +-Fix-Commit: c34f470a615b136170abd16142da5dd0c024f7d1 (2.36-166) +-Fix-Commit: bafadc589fbe21ae330e8c2af74db9da44a17660 (2.35-318) +-Fix-Commit: 4370bef52b0f3f3652c6aa13d7a9bb3ac079746d (2.35-317) +-Fix-Commit: 1f94122289a9bf7dba573f5d60327aaa2b85cf2e (2.34-462) +-Fix-Commit: 966d6ac9e40222b84bb21674cc4f83c8d72a5a26 (2.34-461) +-Fix-Commit: e3eef1b8fbdd3a7917af466ca9c4b7477251ca79 (2.33-266) +-Fix-Commit: f20a8d696b13c6261b52a6434899121f8b19d5a7 (2.33-265) +-Fix-Commit: be602180146de37582a3da3a0caa4b719645de9c (2.32-143) +-Fix-Commit: 394eae338199078b7961b051c191539870742d7b (2.32-142) +-Fix-Commit: 8d7949183760170c61e55def723c1d8050187874 (2.31-157) +-Fix-Commit: 304ce5fe466c4762b21b36c26926a4657b59b53e (2.31-156) +diff --git a/advisories/GLIBC-SA-2024-0007 b/advisories/GLIBC-SA-2024-0007 +deleted file mode 100644 +index b6928fa27a..0000000000 +--- a/advisories/GLIBC-SA-2024-0007 ++++ /dev/null +@@ -1,28 +0,0 @@ +-nscd: netgroup cache may terminate daemon on memory allocation failure +- +-The Name Service Cache Daemon's (nscd) netgroup cache uses xmalloc or +-xrealloc and these functions may terminate the process due to a memory +-allocation failure resulting in a denial of service to the clients. The +-flaw was introduced in glibc 2.15 when the cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-Subsequent refactoring of the netgroup cache only added more uses of +-xmalloc and xrealloc. Uses of xmalloc and xrealloc in other parts of +-nscd only occur during startup of the daemon and so are not affected by +-client requests that could trigger an out of memory followed by +-termination. +- +-CVE-Id: CVE-2024-33601 +-Public-Date: 2024-04-24 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40) +-Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38) +-Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75) +-Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94) +-Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168) +-Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319) +-Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463) +-Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267) +-Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144) +-Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158) +diff --git a/advisories/GLIBC-SA-2024-0008 b/advisories/GLIBC-SA-2024-0008 +deleted file mode 100644 +index d93e2a6f0b..0000000000 +--- a/advisories/GLIBC-SA-2024-0008 ++++ /dev/null +@@ -1,26 +0,0 @@ +-nscd: netgroup cache assumes NSS callback uses in-buffer strings +- +-The Name Service Cache Daemon's (nscd) netgroup cache can corrupt memory +-when the NSS callback does not store all strings in the provided buffer. +-The flaw was introduced in glibc 2.15 when the cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-There is no guarantee from the NSS callback API that the returned +-strings are all within the buffer. However, the netgroup cache code +-assumes that the NSS callback uses in-buffer strings and if it doesn't +-the buffer resizing logic could lead to potential memory corruption. +- +-CVE-Id: CVE-2024-33602 +-Public-Date: 2024-04-24 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40) +-Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38) +-Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75) +-Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94) +-Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168) +-Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319) +-Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463) +-Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267) +-Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144) +-Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158) +diff --git a/advisories/GLIBC-SA-2025-0001 b/advisories/GLIBC-SA-2025-0001 +deleted file mode 100644 +index b053d32e91..0000000000 +--- a/advisories/GLIBC-SA-2025-0001 ++++ /dev/null +@@ -1,40 +0,0 @@ +-assert: Buffer overflow when printing assertion failure message +- +-When the assert() function fails, it does not allocate enough space for the +-assertion failure message string and size information, which may lead to a +-buffer overflow if the message string size aligns to page size. +- +-This bug can be triggered when an assertion in a program fails. The assertion +-failure message is allocated to allow developers to see this failure in core +-dumps and it typically includes, in addition to the invariant assertion +-string and function name, the name of the program. If the name of the failing +-program is user controlled, for example on a local system, this could allow an +-attacker to control the assertion failure to trigger this buffer overflow. +- +-The only viable vector for exploitation of this bug is local, if a setuid +-program exists that has an existing bug that results in an assertion failure. +-No such program has been discovered at the time of publishing this advisory, +-but the presence of custom setuid programs, although strongly discouraged as a +-security practice, cannot be discounted. +- +-CVE-Id: CVE-2025-0395 +-Public-Date: 2025-01-22 +-Vulnerable-Commit: f8a3b5bf8fa1d0c43d2458e03cc109a04fdef194 (2.13-175) +-Fix-Commit: 68ee0f704cb81e9ad0a78c644a83e1e9cd2ee578 (2.41) +-Fix-Commit: cdb9ba84191ce72e86346fb8b1d906e7cd930ea2 (2.42) +-Fix-Commit: 69fda28279b497bd405fdd442a6d8e4d3d5f681b (2.41-7) +-Fix-Commit: 7d4b6bcae91f29d7b4daf15bab06b66cf1d2217c (2.40-66) +-Fix-Commit: d6c156c326999f144cb5b73d29982108d549ad8a (2.40-71) +-Fix-Commit: 808a84a8b81468b517a4d721fdc62069cb8c211f (2.39-146) +-Fix-Commit: f6d48470aef9264d2d56f4c4533eb76db7f9c2e4 (2.39-150) +-Fix-Commit: c32fd59314c343db88c3ea4a203870481d33c3d2 (2.38-122) +-Fix-Commit: f984e2d7e8299726891a1a497a3c36cd5542a0bf (2.38-124) +-Fix-Commit: a3d7865b098a3a67c44f7812208d9ce4718873ba (2.37-143) +-Fix-Commit: b989519fe1683c204ac24ec92830e3fe3bfaccad (2.37-146) +-Fix-Commit: 7971add7ee4171fdd8dfd17e7c04c4ed77a18845 (2.36-216) +-Fix-Commit: 0487893d5c5bc6710d83d7c3152d888a0339559e (2.36-219) +-Fix-Commit: 8b5d4be762419c4f6176261c6fea40ac559b88dc (2.35-370) +-Fix-Commit: 8b3d09dc0d350191985f9d291cc30ce96f034b49 (2.35-373) +-Fix-Commit: df4e1f4a5096b385c9bcc94424cf2eaa227b3761 (2.34-500) +-Fix-Commit: 31eb872cb21449832ab47ad5db83281d240e1d03 (2.34-503) +-Reported-By: Qualys Security Advisory +diff --git a/advisories/GLIBC-SA-2025-0002 b/advisories/GLIBC-SA-2025-0002 +deleted file mode 100644 +index 161da13dd4..0000000000 +--- a/advisories/GLIBC-SA-2025-0002 ++++ /dev/null +@@ -1,23 +0,0 @@ +-elf: static setuid binary dlopen may incorrectly search LD_LIBRARY_PATH +- +-A statically linked setuid binary that calls dlopen (including internal +-dlopen calls after setlocale or calls to NSS functions such as getaddrinfo) +-may incorrectly search LD_LIBRARY_PATH to determine which library to load, +-leading to the execution of library code that is attacker controlled. +- +-The only viable vector for exploitation of this bug is local, if a static +-setuid program exists, and that program calls dlopen, then it may search +-LD_LIBRARY_PATH to locate the SONAME to load. No such program has been +-discovered at the time of publishing this advisory, but the presence of +-custom setuid programs, although strongly discouraged as a security +-practice, cannot be discounted. +- +-CVE-Id: CVE-2025-4802 +-Public-Date: 2025-05-16 +-Vulnerable-Commit: 10e93d968716ab82931d593bada121c17c0a4b93 (2.27) +-Fix-Commit: 5451fa962cd0a90a0e2ec1d8910a559ace02bba0 (2.39) +-Fix-Commit: 3be3728df2f1912c80abd3288bc6e3a25ad679e4 (2.38-132) +-Fix-Commit: 7403ede2d7752e59e0c47d5d33d73c2bf850e7be (2.37-154) +-Fix-Commit: 2ef7850279b2931caf6d6d6743ebaa91839e1cf7 (2.36-227) +-Fix-Commit: 621c65ccf12ddd415ceeb2234423bd1acd0fabb3 (2.35-387) +-Fix-Commit: 35018c0fd20eac9ceaf60060fed2745b3177359d (2.34-517) +diff --git a/advisories/GLIBC-SA-2025-0003 b/advisories/GLIBC-SA-2025-0003 +deleted file mode 100644 +index 2adeb3ce00..0000000000 +--- a/advisories/GLIBC-SA-2025-0003 ++++ /dev/null +@@ -1,30 +0,0 @@ +-power10: strcmp fails to save and restore nonvolatile vector registers +- +-The Power 10 implementation of strcmp in +-sysdeps/powerpc/powerpc64/le/power10/strcmp.S failed to save/restore +-nonvolatile vector registers in the 32-byte aligned loop path. This +-results in callers reading content from those registers in a different +-context, potentially altering program logic. +- +-There could be a program context where a user controlled string could +-leak through strcmp into program code, thus altering its logic. There +-is also a potential for sensitive strings passed into strcmp leaking +-through the clobbered registers into parts of the calling program that +-should otherwise not have had access to those strings. +- +-The impact of this flaw is limited to applications running on Power 10 +-hardware that use the nonvolatile vector registers, i.e. v20 to v31 +-assuming that they have been treated in accordance with the OpenPower +-psABI. It is possible to work around the issue for those specific +-applications by setting the glibc.cpu.hwcaps tunable to "-arch_3_1" like +-so: +- +- export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1 +- +-CVE-Id: CVE-2025-5702 +-Public-Date: 2025-06-04 +-Vulnerable-Commit: 3367d8e180848030d1646f088759f02b8dfe0d6f (2.39) +-Fix-Commit: 15808c77b35319e67ee0dc8f984a9a1a434701bc (2.42) +-Fix-Commit: 0c76c951620f9e12df2a89b2c684878b55bb6795 (2.41-60) +-Fix-Commit: 7e12550b8e3a11764a4a9090ce6bd3fc23fc8a8e (2.40-139) +-Fix-Commit: 06a70769fd0b2e1f2a3085ad50ab620282bd77b3 (2.39-209) +diff --git a/advisories/GLIBC-SA-2025-0004 b/advisories/GLIBC-SA-2025-0004 +deleted file mode 100644 +index 9409ca27c4..0000000000 +--- a/advisories/GLIBC-SA-2025-0004 ++++ /dev/null +@@ -1,29 +0,0 @@ +-power10: strncmp fails to save and restore nonvolatile vector registers +- +-The Power 10 implementation of strncmp in +-sysdeps/powerpc/powerpc64/le/power10/strncmp.S failed to save/restore +-nonvolatile vector registers in the 32-byte aligned loop path. This +-results in callers reading content from those registers in a different +-context, potentially altering program logic. +- +-There could be a program context where a user controlled string could +-leak through strncmp into program code, thus altering its logic. There +-is also a potential for sensitive strings passed into strncmp leaking +-through the clobbered registers into parts of the calling program that +-should otherwise not have had access to those strings. +- +-The impact of this flaw is limited to applications running on Power 10 +-hardware that use the nonvolatile vector registers, i.e. v20 to v31 +-assuming that they have been treated in accordance with the OpenPower +-psABI. It is possible to work around the issue for those specific +-applications by setting the glibc.cpu.hwcaps tunable to "-arch_3_1" like +-so: +- +- export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1 +- +-CVE-Id: CVE-2025-5745 +-Public-Date: 2025-06-05 +-Vulnerable-Commit: 23f0d81608d0ca6379894ef81670cf30af7fd081 (2.40) +-Fix-Commit: 63c60101ce7c5eac42be90f698ba02099b41b965 (2.42) +-Fix-Commit: 84bdbf8a6f2fdafd3661489dbb7f79835a52da82 (2.41-57) +-Fix-Commit: 42a5a940c974d02540c8da26d6374c744d148cb9 (2.40-136) +diff --git a/advisories/GLIBC-SA-2025-0005 b/advisories/GLIBC-SA-2025-0005 +deleted file mode 100644 +index 8bcccc59a5..0000000000 +--- a/advisories/GLIBC-SA-2025-0005 ++++ /dev/null +@@ -1,14 +0,0 @@ +-posix: Fix double-free after allocation failure in regcomp +- +-The regcomp function in the GNU C library version from 2.4 to 2.41 is +-subject to a double free if some previous allocation fails. It can be +-accomplished either by a malloc failure or by using an interposed +-malloc that injects random malloc failures. The double free can allow +-buffer manipulation depending of how the regex is constructed. +-This issue affects all architectures and ABIs supported by the GNU C +-library. +- +-CVE-Id: CVE-2025-8058 +-Public-Date: 2025-07-22 +-Vulnerable-Commit: 963d8d782fc98fb6dc3a66f0068795f9920c269d (2.3.3-1596) +-Fix-Commit: 7ea06e994093fa0bcca0d0ee2c1db271d8d7885d (2.42) +diff --git a/advisories/README b/advisories/README +deleted file mode 100644 +index b8f8a829ca..0000000000 +--- a/advisories/README ++++ /dev/null +@@ -1,77 +0,0 @@ +-GNU C Library Security Advisory Format +-====================================== +- +-Security advisories in this directory follow a simple git commit log +-format, with a heading and free-format description augmented with tags +-to allow parsing key information. References to code changes are +-specific to the glibc repository and follow a specific format: +- +- Tag-name: (release-version) +- +-The indicates a specific commit in the repository. The +-release-version indicates the publicly consumable release in which this +-commit is known to exist. The release-version is derived from the +-git-describe format, (i.e. stripped out from glibc-2.34.NNN-gxxxx) and +-is of the form 2.34-NNN. If the -NNN suffix is absent, it means that +-the change is in that release tarball, otherwise the change is on the +-release/2.YY/master branch and not in any released tarball. +- +-The following tags are currently being used: +- +-CVE-Id: +-This is the CVE-Id assigned under the CVE Program +-(https://www.cve.org/). +- +-Public-Date: +-The date this issue became publicly known. +- +-Vulnerable-Commit: +-The commit that introduced this vulnerability. There could be multiple +-entries, one for each release branch in the glibc repository; the +-release-version portion of this tag should tell you which branch this is +-on. +- +-Fix-Commit: +-The commit that fixed this vulnerability. There could be multiple +-entries for each release branch in the glibc repository, indicating that +-all of those commits contributed to fixing that issue in each of those +-branches. +- +-Reported-By: +-The entity that reported this issue. There could be multiple entries, one for +-each reporter. +- +-Adding an Advisory +------------------- +- +-An advisory for a CVE needs to be added on the master branch in two steps: +- +-1. Add the text of the advisory without any Fix-Commit tags along with +- the fix for the CVE. Add the Vulnerable-Commit tag, if applicable. +- The advisories directory does not exist in release branches, so keep +- the advisory text commit distinct from the code changes, to ease +- backports. Ask for the GLIBC-SA advisory number from the security +- team. +- +-2. Finish all backports on release branches and then back on the msater +- branch, add all commit refs to the advisory using the Fix-Commit +- tags. Don't bother adding the release-version subscript since the +- next step will overwrite it. +- +-3. Run the process-advisories.sh script in the scripts directory on the +- advisory: +- +- scripts/process-advisories.sh update GLIBC-SA-YYYY-NNNN +- +- (replace YYYY-NNNN with the actual advisory number). +- +-4. Verify the updated advisory and push the result. +- +-Getting a NEWS snippet from advisories +--------------------------------------- +- +-Run: +- +- scripts/process-advisories.sh news +- +-and copy the content into the NEWS file. + +commit 3ec4dd77f648da031bba4d3fa14825e057b5a40d +Author: Andreas K. Hüttel +Date: Mon Jul 28 23:39:48 2025 +0200 + + NEWS: add new section + + Signed-off-by: Andreas K. Hüttel + +diff --git a/NEWS b/NEWS +index f0b0e924a4..9cb8de11f9 100644 +--- a/NEWS ++++ b/NEWS +@@ -5,6 +5,12 @@ See the end for copying conditions. + Please send GNU C library bug reports via + using `glibc' in the "product" field. + ++Version 2.42.1 ++ ++The following bugs were resolved with this release: ++ ++ [insert bugs here] ++ + Version 2.42 + + Major new features: + +commit bc13db73937730401d592b33092db6df806d193e +Author: Sam James +Date: Mon Jul 28 21:55:30 2025 +0100 + + inet-fortified: fix namespace violation (bug 33227) + + We need to use __sz, not sz, as we do elsewhere. + + Reviewed-by: Florian Weimer + (cherry picked from commit 87afbd7a1ad9c1dd116921817fa97198171045db) + +diff --git a/inet/bits/inet-fortified.h b/inet/bits/inet-fortified.h +index 6738221a54..cc476ebcfd 100644 +--- a/inet/bits/inet-fortified.h ++++ b/inet/bits/inet-fortified.h +@@ -45,15 +45,15 @@ __NTH (inet_pton (int __af, + __fortify_clang_warning_only_if_bos0_lt + (4, __dst, "inet_pton called with destination buffer size less than 4") + { +- size_t sz = 0; ++ size_t __sz = 0; + if (__af == AF_INET) +- sz = sizeof (struct in_addr); ++ __sz = sizeof (struct in_addr); + else if (__af == AF_INET6) +- sz = sizeof (struct in6_addr); ++ __sz = sizeof (struct in6_addr); + else + return __inet_pton_alias (__af, __src, __dst); + +- return __glibc_fortify (inet_pton, sz, sizeof (char), ++ return __glibc_fortify (inet_pton, __sz, sizeof (char), + __glibc_objsize (__dst), + __af, __src, __dst); + }; + +commit fd18059c0fcf5568db3688da47403b663cf91c5e +Author: Davide Cavalca +Date: Thu Jul 31 17:32:58 2025 +0200 + + stdlib: resolve a double lock init issue after fork [BZ #32994] + + The __abort_fork_reset_child (introduced in + d40ac01cbbc66e6d9dbd8e3485605c63b2178251) call resets the lock after the + fork. This causes a DRD regression in valgrind + (https://bugs.kde.org/show_bug.cgi?id=503668), as it's effectively a + double initialization, despite it being actually ok in this case. As + suggested in https://sourceware.org/bugzilla/show_bug.cgi?id=32994#c2 + we replace it here with a memcpy of another initialized lock instead, + which makes valgrind happy. + + Reviewed-by: Florian Weimer + (cherry picked from commit d9a348d0927c7a1aec5caf3df3fcd36956b3eb23) + +diff --git a/NEWS b/NEWS +index 9cb8de11f9..4610b8bbc6 100644 +--- a/NEWS ++++ b/NEWS +@@ -9,7 +9,7 @@ Version 2.42.1 + + The following bugs were resolved with this release: + +- [insert bugs here] ++ [32994] stdlib: resolve a double lock init issue after fork + + Version 2.42 + +diff --git a/stdlib/abort.c b/stdlib/abort.c +index caa9e6dc04..904244a2fb 100644 +--- a/stdlib/abort.c ++++ b/stdlib/abort.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + + /* Try to get a machine dependent instruction which will make the +@@ -42,7 +43,10 @@ __libc_rwlock_define_initialized (static, lock); + void + __abort_fork_reset_child (void) + { +- __libc_rwlock_init (lock); ++ /* Reinitialize lock without calling pthread_rwlock_init, to ++ avoid a valgrind DRD false positive. */ ++ __libc_rwlock_define_initialized (, reset_lock); ++ memcpy (&lock, &reset_lock, sizeof (lock)); + } + + void + +commit 2fadee530155bae6682ab2965d6ff3a2fc9eced6 +Author: Florian Weimer +Date: Fri Aug 1 19:27:04 2025 +0200 + + elf: Extract rtld_setup_phdr function from dl_main + + Remove historic binutils reference from comment and update + how this data is used by applications. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 2cac9559e06044ba520e785c151fbbd25011865f) + +diff --git a/elf/rtld.c b/elf/rtld.c +index 493f9696ea..6fb900fb31 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -1239,6 +1239,37 @@ rtld_setup_main_map (struct link_map *main_map) + return has_interp; + } + ++/* Set up the program header information for the dynamic linker ++ itself. It can be accessed via _r_debug and dl_iterate_phdr ++ callbacks. */ ++static void ++rtld_setup_phdr (void) ++{ ++ /* Starting from binutils-2.23, the linker will define the magic ++ symbol __ehdr_start to point to our own ELF header if it is ++ visible in a segment that also includes the phdrs. */ ++ ++ const ElfW(Ehdr) *rtld_ehdr = &__ehdr_start; ++ assert (rtld_ehdr->e_ehsize == sizeof *rtld_ehdr); ++ assert (rtld_ehdr->e_phentsize == sizeof (ElfW(Phdr))); ++ ++ const ElfW(Phdr) *rtld_phdr = (const void *) rtld_ehdr + rtld_ehdr->e_phoff; ++ ++ _dl_rtld_map.l_phdr = rtld_phdr; ++ _dl_rtld_map.l_phnum = rtld_ehdr->e_phnum; ++ ++ ++ /* PT_GNU_RELRO is usually the last phdr. */ ++ size_t cnt = rtld_ehdr->e_phnum; ++ while (cnt-- > 0) ++ if (rtld_phdr[cnt].p_type == PT_GNU_RELRO) ++ { ++ _dl_rtld_map.l_relro_addr = rtld_phdr[cnt].p_vaddr; ++ _dl_rtld_map.l_relro_size = rtld_phdr[cnt].p_memsz; ++ break; ++ } ++} ++ + /* Adjusts the contents of the stack and related globals for the user + entry point. The ld.so processed skip_args arguments and bumped + _dl_argv and _dl_argc accordingly. Those arguments are removed from +@@ -1705,33 +1736,7 @@ dl_main (const ElfW(Phdr) *phdr, + ++GL(dl_ns)[LM_ID_BASE]._ns_nloaded; + ++GL(dl_load_adds); + +- /* Starting from binutils-2.23, the linker will define the magic symbol +- __ehdr_start to point to our own ELF header if it is visible in a +- segment that also includes the phdrs. If that's not available, we use +- the old method that assumes the beginning of the file is part of the +- lowest-addressed PT_LOAD segment. */ +- +- /* Set up the program header information for the dynamic linker +- itself. It is needed in the dl_iterate_phdr callbacks. */ +- const ElfW(Ehdr) *rtld_ehdr = &__ehdr_start; +- assert (rtld_ehdr->e_ehsize == sizeof *rtld_ehdr); +- assert (rtld_ehdr->e_phentsize == sizeof (ElfW(Phdr))); +- +- const ElfW(Phdr) *rtld_phdr = (const void *) rtld_ehdr + rtld_ehdr->e_phoff; +- +- _dl_rtld_map.l_phdr = rtld_phdr; +- _dl_rtld_map.l_phnum = rtld_ehdr->e_phnum; +- +- +- /* PT_GNU_RELRO is usually the last phdr. */ +- size_t cnt = rtld_ehdr->e_phnum; +- while (cnt-- > 0) +- if (rtld_phdr[cnt].p_type == PT_GNU_RELRO) +- { +- _dl_rtld_map.l_relro_addr = rtld_phdr[cnt].p_vaddr; +- _dl_rtld_map.l_relro_size = rtld_phdr[cnt].p_memsz; +- break; +- } ++ rtld_setup_phdr (); + + /* Add the dynamic linker to the TLS list if it also uses TLS. */ + if (_dl_rtld_map.l_tls_blocksize != 0) + +commit 5e298d2d937b6da06500478be956abeb24357e05 +Author: Florian Weimer +Date: Fri Aug 1 19:27:35 2025 +0200 + + elf: Handle ld.so with LOAD segment gaps in _dl_find_object (bug 31943) + + Detect if ld.so not contiguous and handle that case in _dl_find_object. + Set l_find_object_processed even for initially loaded link maps, + otherwise dlopen of an initially loaded object adds it to + _dlfo_loaded_mappings (where maps are expected to be contiguous), + in addition to _dlfo_nodelete_mappings. + + Test elf/tst-link-map-contiguous-ldso iterates over the loader + image, reading every word to make sure memory is actually mapped. + It only does that if the l_contiguous flag is set for the link map. + Otherwise, it finds gaps with mmap and checks that _dl_find_object + does not return the ld.so mapping for them. + + The test elf/tst-link-map-contiguous-main does the same thing for + the libc.so shared object. This only works if the kernel loaded + the main program because the glibc dynamic loader may fill + the gaps with PROT_NONE mappings in some cases, making it contiguous, + but accesses to individual words may still fault. + + Test elf/tst-link-map-contiguous-libc is again slightly different + because the dynamic loader always fills the gaps with PROT_NONE + mappings, so a different form of probing has to be used. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 20681be149b9eb1b6c1f4246bf4bd801221c86cd) + +diff --git a/NEWS b/NEWS +index 4610b8bbc6..cbe11ac95b 100644 +--- a/NEWS ++++ b/NEWS +@@ -9,6 +9,7 @@ Version 2.42.1 + + The following bugs were resolved with this release: + ++ [31943] _dl_find_object can fail if ld.so contains gaps between load segments + [32994] stdlib: resolve a double lock init issue after fork + + Version 2.42 +diff --git a/elf/Makefile b/elf/Makefile +index 48aa0b57e5..3a5596e2bb 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -543,6 +543,8 @@ tests-internal += \ + tst-dl_find_object-threads \ + tst-dlmopen2 \ + tst-hash-collision3 \ ++ tst-link-map-contiguous-ldso \ ++ tst-link-map-contiguous-libc \ + tst-ptrguard1 \ + tst-stackguard1 \ + tst-tls-surplus \ +@@ -554,6 +556,10 @@ tests-internal += \ + unload2 \ + # tests-internal + ++ifeq ($(build-hardcoded-path-in-tests),yes) ++tests-internal += tst-link-map-contiguous-main ++endif ++ + tests-container += \ + tst-dlopen-self-container \ + tst-dlopen-tlsmodid-container \ +diff --git a/elf/dl-find_object.c b/elf/dl-find_object.c +index 1e76373292..c9f4c1c8d1 100644 +--- a/elf/dl-find_object.c ++++ b/elf/dl-find_object.c +@@ -465,6 +465,37 @@ _dl_find_object (void *pc1, struct dl_find_object *result) + } + rtld_hidden_def (_dl_find_object) + ++/* Subroutine of _dlfo_process_initial to split out noncontigous link ++ maps. NODELETE is the number of used _dlfo_nodelete_mappings ++ elements. It is incremented as needed, and the new NODELETE value ++ is returned. */ ++static size_t ++_dlfo_process_initial_noncontiguous_map (struct link_map *map, ++ size_t nodelete) ++{ ++ struct dl_find_object_internal dlfo; ++ _dl_find_object_from_map (map, &dlfo); ++ ++ /* PT_LOAD segments for a non-contiguous link map are added to the ++ non-closeable mappings. */ ++ const ElfW(Phdr) *ph = map->l_phdr; ++ const ElfW(Phdr) *ph_end = map->l_phdr + map->l_phnum; ++ for (; ph < ph_end; ++ph) ++ if (ph->p_type == PT_LOAD) ++ { ++ if (_dlfo_nodelete_mappings != NULL) ++ { ++ /* Second pass only. */ ++ _dlfo_nodelete_mappings[nodelete] = dlfo; ++ ElfW(Addr) start = ph->p_vaddr + map->l_addr; ++ _dlfo_nodelete_mappings[nodelete].map_start = start; ++ _dlfo_nodelete_mappings[nodelete].map_end = start + ph->p_memsz; ++ } ++ ++nodelete; ++ } ++ return nodelete; ++} ++ + /* _dlfo_process_initial is called twice. First to compute the array + sizes from the initial loaded mappings. Second to fill in the + bases and infos arrays with the (still unsorted) data. Returns the +@@ -476,29 +507,8 @@ _dlfo_process_initial (void) + + size_t nodelete = 0; + if (!main_map->l_contiguous) +- { +- struct dl_find_object_internal dlfo; +- _dl_find_object_from_map (main_map, &dlfo); +- +- /* PT_LOAD segments for a non-contiguous are added to the +- non-closeable mappings. */ +- for (const ElfW(Phdr) *ph = main_map->l_phdr, +- *ph_end = main_map->l_phdr + main_map->l_phnum; +- ph < ph_end; ++ph) +- if (ph->p_type == PT_LOAD) +- { +- if (_dlfo_nodelete_mappings != NULL) +- { +- /* Second pass only. */ +- _dlfo_nodelete_mappings[nodelete] = dlfo; +- _dlfo_nodelete_mappings[nodelete].map_start +- = ph->p_vaddr + main_map->l_addr; +- _dlfo_nodelete_mappings[nodelete].map_end +- = _dlfo_nodelete_mappings[nodelete].map_start + ph->p_memsz; +- } +- ++nodelete; +- } +- } ++ /* Contiguous case already handled in _dl_find_object_init. */ ++ nodelete = _dlfo_process_initial_noncontiguous_map (main_map, nodelete); + + size_t loaded = 0; + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) +@@ -510,11 +520,18 @@ _dlfo_process_initial (void) + /* lt_library link maps are implicitly NODELETE. */ + if (l->l_type == lt_library || l->l_nodelete_active) + { +- if (_dlfo_nodelete_mappings != NULL) +- /* Second pass only. */ +- _dl_find_object_from_map +- (l, _dlfo_nodelete_mappings + nodelete); +- ++nodelete; ++ /* The kernel may have loaded ld.so with gaps. */ ++ if (!l->l_contiguous && is_rtld_link_map (l)) ++ nodelete ++ = _dlfo_process_initial_noncontiguous_map (l, nodelete); ++ else ++ { ++ if (_dlfo_nodelete_mappings != NULL) ++ /* Second pass only. */ ++ _dl_find_object_from_map ++ (l, _dlfo_nodelete_mappings + nodelete); ++ ++nodelete; ++ } + } + else if (l->l_type == lt_loaded) + { +@@ -764,7 +781,6 @@ _dl_find_object_update_1 (struct link_map **loaded, size_t count) + /* Prefer newly loaded link map. */ + assert (loaded_index1 > 0); + _dl_find_object_from_map (loaded[loaded_index1 - 1], dlfo); +- loaded[loaded_index1 - 1]->l_find_object_processed = 1; + --loaded_index1; + } + +diff --git a/elf/dl-find_object.h b/elf/dl-find_object.h +index 9aa2439eaa..d9d75c4ad9 100644 +--- a/elf/dl-find_object.h ++++ b/elf/dl-find_object.h +@@ -94,7 +94,7 @@ _dl_find_object_to_external (struct dl_find_object_internal *internal, + } + + /* Extract the object location data from a link map and writes it to +- *RESULT using relaxed MO stores. */ ++ *RESULT using relaxed MO stores. Set L->l_find_object_processed. */ + static void __attribute__ ((unused)) + _dl_find_object_from_map (struct link_map *l, + struct dl_find_object_internal *result) +@@ -141,8 +141,11 @@ _dl_find_object_from_map (struct link_map *l, + break; + } + if (read_seg == 3) +- return; ++ goto done; + } ++ ++ done: ++ l->l_find_object_processed = 1; + } + + /* Called by the dynamic linker to set up the data structures for the +diff --git a/elf/rtld.c b/elf/rtld.c +index 6fb900fb31..ef4d96c053 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -1241,7 +1241,7 @@ rtld_setup_main_map (struct link_map *main_map) + + /* Set up the program header information for the dynamic linker + itself. It can be accessed via _r_debug and dl_iterate_phdr +- callbacks. */ ++ callbacks, and it is used by _dl_find_object. */ + static void + rtld_setup_phdr (void) + { +@@ -1259,6 +1259,29 @@ rtld_setup_phdr (void) + _dl_rtld_map.l_phnum = rtld_ehdr->e_phnum; + + ++ _dl_rtld_map.l_contiguous = 1; ++ /* The linker may not have produced a contiguous object. The kernel ++ will load the object with actual gaps (unlike the glibc loader ++ for shared objects, which always produces a contiguous mapping). ++ See similar logic in rtld_setup_main_map above. */ ++ { ++ ElfW(Addr) expected_load_address = 0; ++ for (const ElfW(Phdr) *ph = rtld_phdr; ph < &rtld_phdr[rtld_ehdr->e_phnum]; ++ ++ph) ++ if (ph->p_type == PT_LOAD) ++ { ++ ElfW(Addr) mapstart = ph->p_vaddr & ~(GLRO(dl_pagesize) - 1); ++ if (_dl_rtld_map.l_contiguous && expected_load_address != 0 ++ && expected_load_address != mapstart) ++ _dl_rtld_map.l_contiguous = 0; ++ ElfW(Addr) allocend = ph->p_vaddr + ph->p_memsz; ++ /* The next expected address is the page following this load ++ segment. */ ++ expected_load_address = ((allocend + GLRO(dl_pagesize) - 1) ++ & ~(GLRO(dl_pagesize) - 1)); ++ } ++ } ++ + /* PT_GNU_RELRO is usually the last phdr. */ + size_t cnt = rtld_ehdr->e_phnum; + while (cnt-- > 0) +diff --git a/elf/tst-link-map-contiguous-ldso.c b/elf/tst-link-map-contiguous-ldso.c +new file mode 100644 +index 0000000000..04de808bb2 +--- /dev/null ++++ b/elf/tst-link-map-contiguous-ldso.c +@@ -0,0 +1,98 @@ ++/* Check that _dl_find_object behavior matches up with gaps. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ struct link_map *l = xdlopen (LD_SO, RTLD_NOW); ++ if (!l->l_contiguous) ++ { ++ puts ("info: ld.so link map is not contiguous"); ++ ++ /* Try to find holes by probing with mmap. */ ++ int pagesize = getpagesize (); ++ bool gap_found = false; ++ ElfW(Addr) addr = l->l_map_start; ++ TEST_COMPARE (addr % pagesize, 0); ++ while (addr < l->l_map_end) ++ { ++ void *expected = (void *) addr; ++ void *ptr = xmmap (expected, 1, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ struct dl_find_object dlfo; ++ int dlfo_ret = _dl_find_object (expected, &dlfo); ++ if (ptr == expected) ++ { ++ if (dlfo_ret < 0) ++ { ++ TEST_COMPARE (dlfo_ret, -1); ++ printf ("info: hole without mapping data found at %p\n", ptr); ++ } ++ else ++ FAIL ("object \"%s\" found in gap at %p", ++ dlfo.dlfo_link_map->l_name, ptr); ++ gap_found = true; ++ } ++ else if (dlfo_ret == 0) ++ { ++ if ((void *) dlfo.dlfo_link_map != (void *) l) ++ { ++ printf ("info: object \"%s\" found at %p\n", ++ dlfo.dlfo_link_map->l_name, ptr); ++ gap_found = true; ++ } ++ } ++ else ++ TEST_COMPARE (dlfo_ret, -1); ++ xmunmap (ptr, 1); ++ addr += pagesize; ++ } ++ if (!gap_found) ++ FAIL ("no ld.so gap found"); ++ } ++ else ++ { ++ puts ("info: ld.so link map is contiguous"); ++ ++ /* Assert that ld.so is truly contiguous in memory. */ ++ volatile long int *p = (volatile long int *) l->l_map_start; ++ volatile long int *end = (volatile long int *) l->l_map_end; ++ while (p < end) ++ { ++ *p; ++ ++p; ++ } ++ } ++ ++ xdlclose (l); ++ ++ return 0; ++} ++ ++#include +diff --git a/elf/tst-link-map-contiguous-libc.c b/elf/tst-link-map-contiguous-libc.c +new file mode 100644 +index 0000000000..eb5728c765 +--- /dev/null ++++ b/elf/tst-link-map-contiguous-libc.c +@@ -0,0 +1,57 @@ ++/* Check that the entire libc.so program image is readable if contiguous. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ struct link_map *l = xdlopen (LIBC_SO, RTLD_NOW); ++ ++ /* The dynamic loader fills holes with PROT_NONE mappings. */ ++ if (!l->l_contiguous) ++ FAIL_EXIT1 ("libc.so link map is not contiguous"); ++ ++ /* Direct probing does not work because not everything is readable ++ due to PROT_NONE mappings. */ ++ int pagesize = getpagesize (); ++ ElfW(Addr) addr = l->l_map_start; ++ TEST_COMPARE (addr % pagesize, 0); ++ while (addr < l->l_map_end) ++ { ++ void *expected = (void *) addr; ++ void *ptr = xmmap (expected, 1, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ if (ptr == expected) ++ FAIL ("hole in libc.so memory image after %lu bytes", ++ (unsigned long int) (addr - l->l_map_start)); ++ xmunmap (ptr, 1); ++ addr += pagesize; ++ } ++ ++ xdlclose (l); ++ ++ return 0; ++} ++#include +diff --git a/elf/tst-link-map-contiguous-main.c b/elf/tst-link-map-contiguous-main.c +new file mode 100644 +index 0000000000..2d1a054f0f +--- /dev/null ++++ b/elf/tst-link-map-contiguous-main.c +@@ -0,0 +1,45 @@ ++/* Check that the entire main program image is readable if contiguous. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ struct link_map *l = xdlopen ("", RTLD_NOW); ++ if (!l->l_contiguous) ++ FAIL_UNSUPPORTED ("main link map is not contiguous"); ++ ++ /* This check only works if the kernel loaded the main program. The ++ dynamic loader replaces gaps with PROT_NONE mappings, resulting ++ in faults. */ ++ volatile long int *p = (volatile long int *) l->l_map_start; ++ volatile long int *end = (volatile long int *) l->l_map_end; ++ while (p < end) ++ { ++ *p; ++ ++p; ++ } ++ ++ xdlclose (l); ++ ++ return 0; ++} ++#include + +commit b38f3f60d5b157edcf4d8bd1fd3ed02d417889e0 +Author: Adhemerval Zanella +Date: Fri Aug 1 15:00:25 2025 -0300 + + nptl: Fix SYSCALL_CANCEL for return values larger than INT_MAX (BZ 33245) + + The SYSCALL_CANCEL calls __syscall_cancel, which in turn + calls __internal_syscall_cancel with an 'int' return instead of the + expected 'long int'. This causes issues with syscalls that return + values larger than INT_MAX, such as copy_file_range [1]. + + Checked on x86_64-linux-gnu. + + [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79139 + + Reviewed-by: Andreas K. Huettel + (cherry picked from commit 7107bebf19286f42dcb0a97581137a5893c16206) + +diff --git a/NEWS b/NEWS +index cbe11ac95b..1d04bdfef8 100644 +--- a/NEWS ++++ b/NEWS +@@ -11,6 +11,7 @@ The following bugs were resolved with this release: + + [31943] _dl_find_object can fail if ld.so contains gaps between load segments + [32994] stdlib: resolve a double lock init issue after fork ++ [33245] nptl: nptl: error in internal cancellation syscall handling + + Version 2.42 + +diff --git a/nptl/cancellation.c b/nptl/cancellation.c +index 156e63dcf0..bed0383a23 100644 +--- a/nptl/cancellation.c ++++ b/nptl/cancellation.c +@@ -72,8 +72,8 @@ __syscall_cancel (__syscall_arg_t a1, __syscall_arg_t a2, + __syscall_arg_t a5, __syscall_arg_t a6, + __SYSCALL_CANCEL7_ARG_DEF __syscall_arg_t nr) + { +- int r = __internal_syscall_cancel (a1, a2, a3, a4, a5, a6, +- __SYSCALL_CANCEL7_ARG nr); ++ long int r = __internal_syscall_cancel (a1, a2, a3, a4, a5, a6, ++ __SYSCALL_CANCEL7_ARG nr); + return __glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (r)) + ? SYSCALL_ERROR_LABEL (INTERNAL_SYSCALL_ERRNO (r)) + : r; + +commit 9d5bf9c17db0f35268cd798660c8bbeea1f4071d +Author: H.J. Lu +Date: Sat Jul 19 07:43:26 2025 -0700 + + Delete temporary files in support_subprocess + + Call support_delete_temp_files to delete temporary files before exit in + support_subprocess. + + This partially fixes BZ #33182. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit d27b1a71cd424710813bd3d81afb32a36470d643) + +diff --git a/support/support_subprocess.c b/support/support_subprocess.c +index be00dde3a7..8bf9a33ea2 100644 +--- a/support/support_subprocess.c ++++ b/support/support_subprocess.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + static struct support_subprocess + support_subprocess_init (void) +@@ -60,6 +61,8 @@ support_subprocess (void (*callback) (void *), void *closure) + xclose (result.stdout_pipe[1]); + xclose (result.stderr_pipe[1]); + callback (closure); ++ /* Make sure that temporary files are deleted. */ ++ support_delete_temp_files (); + _exit (0); + } + xclose (result.stdout_pipe[1]); + +commit 9ec7a532ffdb9a6e0a4b220d7a694d6120701035 +Author: H.J. Lu +Date: Sat Jul 19 07:43:27 2025 -0700 + + tst-fopen-threaded.c: Delete temporary file + + Update tst-fopen-threaded.c to call support_create_temp_directory to + create a temporary directory and open "file" in the temporary directory, + instead of using /tmp/openclosetest and leaving it behind. + + This partially fixes BZ #33182. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit e7db5150603bb2224a2bfd9628cae04ddcbe49e3) + +diff --git a/sysdeps/pthread/tst-fopen-threaded.c b/sysdeps/pthread/tst-fopen-threaded.c +index ade58ad19e..c17f1eaa13 100644 +--- a/sysdeps/pthread/tst-fopen-threaded.c ++++ b/sysdeps/pthread/tst-fopen-threaded.c +@@ -34,11 +34,13 @@ + #include + #include + #include ++#include + + #include + #include + #include + #include ++#include + + #define NUM_THREADS 100 + #define ITERS 10 +@@ -111,7 +113,8 @@ threadOpenCloseRoutine (void *argv) + /* Wait for all threads to be ready to call fopen and fclose. */ + xpthread_barrier_wait (&barrier); + +- FILE *fd = xfopen ("/tmp/openclosetest", "w+"); ++ char *file = (char *) argv; ++ FILE *fd = xfopen (file, "w+"); + xfclose (fd); + return NULL; + } +@@ -235,6 +238,10 @@ do_test (void) + xfclose (fd_file); + } + ++ char *tempdir = support_create_temp_directory ("openclosetest-"); ++ char *file = xasprintf ("%s/file", tempdir); ++ add_temp_file (file); ++ + /* Test 3: Concurrent open/close. */ + for (int reps = 1; reps <= ITERS; reps++) + { +@@ -243,7 +250,7 @@ do_test (void) + { + threads[i] = + xpthread_create (support_small_stack_thread_attribute (), +- threadOpenCloseRoutine, NULL); ++ threadOpenCloseRoutine, file); + } + for (int i = 0; i < NUM_THREADS; i++) + { +@@ -252,6 +259,9 @@ do_test (void) + xpthread_barrier_destroy (&barrier); + } + ++ free (file); ++ free (tempdir); ++ + return 0; + } + + +commit 41a77b78cff821007e3dd874619ebec7ce708c3d +Author: H.J. Lu +Date: Sat Jul 19 07:43:28 2025 -0700 + + tst-freopen4-main.c: Call support_capture_subprocess with chroot + + Update tst-freopen4-main.c to call support_capture_subprocess with chroot, + which makes temporary files inaccessible, so that temporary files can be + deleted. + + This partially fixes BZ #33182. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 6463d4a7b28e5ee3891c34a8a1f0a59c24dfa9de) + +diff --git a/stdio-common/tst-freopen4-main.c b/stdio-common/tst-freopen4-main.c +index 3336f5327d..436da4d203 100644 +--- a/stdio-common/tst-freopen4-main.c ++++ b/stdio-common/tst-freopen4-main.c +@@ -28,25 +28,15 @@ + #include + #include + #include ++#include + +-int +-do_test (void) ++static void ++do_test_chroot (void *data) + { +- mtrace (); +- char *temp_dir; ++ char *temp_dir = (char *) data; + FILE *fp; + int ret; + +- /* These chroot tests verify that either reopening a renamed or +- deleted file works even in the absence of /proc, or that it fails +- (without memory leaks); thus, for example, such reopening does +- not crash in the absence of /proc. */ +- +- support_become_root (); +- if (!support_can_chroot ()) +- return EXIT_UNSUPPORTED; +- +- temp_dir = support_create_temp_directory ("tst-freopen4"); + xchroot (temp_dir); + + /* Test freopen with NULL, renamed file. This verifies that +@@ -96,6 +86,32 @@ do_test (void) + puts ("freopen of deleted file failed (OK)"); + + free (temp_dir); ++} ++ ++int ++do_test (void) ++{ ++ mtrace (); ++ char *temp_dir; ++ ++ /* These chroot tests verify that either reopening a renamed or ++ deleted file works even in the absence of /proc, or that it fails ++ (without memory leaks); thus, for example, such reopening does ++ not crash in the absence of /proc. */ ++ ++ support_become_root (); ++ if (!support_can_chroot ()) ++ return EXIT_UNSUPPORTED; ++ ++ temp_dir = support_create_temp_directory ("tst-freopen4"); ++ ++ struct support_capture_subprocess result; ++ result = support_capture_subprocess (do_test_chroot, temp_dir); ++ support_capture_subprocess_check (&result, "freopen4", 0, ++ sc_allow_stdout); ++ fputs (result.out.buffer, stdout); ++ support_capture_subprocess_free (&result); ++ + return 0; + } + + +commit c090b0cb1cde74aaeec01663dd55d6681dc92075 +Author: H.J. Lu +Date: Sat Jul 19 07:43:29 2025 -0700 + + tst-env-setuid: Delete LD_DEBUG_OUTPUT output + + Update tst-env-setuid.c to delete LD_DEBUG_OUTPUT output, instead of + leaving it behind. + + This partially fixes BZ #33182. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 5d23dfb289174d73b8907b86d2bef7a3ca889840) + +diff --git a/elf/tst-env-setuid.c b/elf/tst-env-setuid.c +index 7209acd616..ff3eda7f91 100644 +--- a/elf/tst-env-setuid.c ++++ b/elf/tst-env-setuid.c +@@ -40,6 +40,8 @@ static char SETGID_CHILD[] = "setgid-child"; + # define PROFILE_LIB "tst-sonamemove-runmod2.so" + #endif + ++#define LD_DEBUG_OUTPUT "/tmp/some-file" ++ + struct envvar_t + { + const char *env; +@@ -61,7 +63,7 @@ static const struct envvar_t filtered_envvars[] = + { "MALLOC_TRIM_THRESHOLD_", FILTERED_VALUE }, + { "RES_OPTIONS", FILTERED_VALUE }, + { "LD_DEBUG", "all" }, +- { "LD_DEBUG_OUTPUT", "/tmp/some-file" }, ++ { "LD_DEBUG_OUTPUT", LD_DEBUG_OUTPUT }, + { "LD_WARN", FILTERED_VALUE }, + { "LD_VERBOSE", FILTERED_VALUE }, + { "LD_BIND_NOW", "0" }, +@@ -74,6 +76,14 @@ static const struct envvar_t unfiltered_envvars[] = + { "LD_ASSUME_KERNEL", UNFILTERED_VALUE }, + }; + ++static void ++unlink_ld_debug_output (pid_t pid) ++{ ++ char *output = xasprintf ("%s.%d", LD_DEBUG_OUTPUT, pid); ++ unlink (output); ++ free (output); ++} ++ + static int + test_child (void) + { +@@ -138,13 +148,21 @@ do_test (int argc, char **argv) + /* Setgid child process. */ + if (argc == 2 && strcmp (argv[1], SETGID_CHILD) == 0) + { ++ pid_t ppid = getppid (); ++ + if (getgid () == getegid ()) +- /* This can happen if the file system is mounted nosuid. */ +- FAIL_UNSUPPORTED ("SGID failed: GID and EGID match (%jd)\n", +- (intmax_t) getgid ()); ++ { ++ /* This can happen if the file system is mounted nosuid. */ ++ unlink_ld_debug_output (ppid); ++ ++ FAIL_UNSUPPORTED ("SGID failed: GID and EGID match (%jd)\n", ++ (intmax_t) getgid ()); ++ } + + int ret = test_child (); + ++ unlink_ld_debug_output (ppid); ++ + if (ret != 0) + exit (1); + return 0; + +commit e5754399b542640f3f69c5e2513c57a307656032 +Author: H.J. Lu +Date: Tue Aug 5 09:16:14 2025 -0700 + + Revert "tst-freopen4-main.c: Call support_capture_subprocess with chroot" + + Revert commit 6463d4a7b28e5ee3891c34a8a1f0a59c24dfa9de to fix + + FAIL: stdio-common/tst-freopen4-mem + FAIL: stdio-common/tst-freopen64-4-mem + + This fixes BZ #33254. + + Reviewed-by: Sam James + (cherry picked from commit adec0bf05bc23ec35573c7a5b96440089b69265e) + +diff --git a/stdio-common/tst-freopen4-main.c b/stdio-common/tst-freopen4-main.c +index 436da4d203..3336f5327d 100644 +--- a/stdio-common/tst-freopen4-main.c ++++ b/stdio-common/tst-freopen4-main.c +@@ -28,15 +28,25 @@ + #include + #include + #include +-#include + +-static void +-do_test_chroot (void *data) ++int ++do_test (void) + { +- char *temp_dir = (char *) data; ++ mtrace (); ++ char *temp_dir; + FILE *fp; + int ret; + ++ /* These chroot tests verify that either reopening a renamed or ++ deleted file works even in the absence of /proc, or that it fails ++ (without memory leaks); thus, for example, such reopening does ++ not crash in the absence of /proc. */ ++ ++ support_become_root (); ++ if (!support_can_chroot ()) ++ return EXIT_UNSUPPORTED; ++ ++ temp_dir = support_create_temp_directory ("tst-freopen4"); + xchroot (temp_dir); + + /* Test freopen with NULL, renamed file. This verifies that +@@ -86,32 +96,6 @@ do_test_chroot (void *data) + puts ("freopen of deleted file failed (OK)"); + + free (temp_dir); +-} +- +-int +-do_test (void) +-{ +- mtrace (); +- char *temp_dir; +- +- /* These chroot tests verify that either reopening a renamed or +- deleted file works even in the absence of /proc, or that it fails +- (without memory leaks); thus, for example, such reopening does +- not crash in the absence of /proc. */ +- +- support_become_root (); +- if (!support_can_chroot ()) +- return EXIT_UNSUPPORTED; +- +- temp_dir = support_create_temp_directory ("tst-freopen4"); +- +- struct support_capture_subprocess result; +- result = support_capture_subprocess (do_test_chroot, temp_dir); +- support_capture_subprocess_check (&result, "freopen4", 0, +- sc_allow_stdout); +- fputs (result.out.buffer, stdout); +- support_capture_subprocess_free (&result); +- + return 0; + } + + +commit c5476b7907d01207ede6bf57b26cef151b601f35 +Author: Samuel Thibault +Date: Fri Jul 18 23:14:40 2025 +0200 + + hurd: support: Fix running SGID tests + + Secure mode is enabled only if SGID actually provides a new privilege, + so we have to drop it before gaining it again. + + Fixes commit 3a3fb2ed83f79100c116c824454095ecfb335ad7 + ("Fix error reporting (false negatives) in SGID tests") + + (cherry picked from commit ad4589e2d834c80a042a8c354fb00cf33e06802c) + +diff --git a/support/support_capture_subprocess.c b/support/support_capture_subprocess.c +index b4e4bf9502..c89e65b534 100644 +--- a/support/support_capture_subprocess.c ++++ b/support/support_capture_subprocess.c +@@ -133,6 +133,27 @@ copy_and_spawn_sgid (const char *child_id, gid_t gid) + if (chmod (execname, 02750) != 0) + FAIL_UNSUPPORTED ("cannot make \"%s\" SGID: %m ", execname); + ++ /* Now we can drop the privilege of that group. */ ++ const int count = 64; ++ gid_t groups[count]; ++ int ngroups = getgroups(count, groups); ++ ++ if (ngroups < 0) ++ FAIL_UNSUPPORTED ("Could not get group list again for user %jd\n", ++ (intmax_t) getuid ()); ++ ++ int n = 0; ++ for (int i = 0; i < ngroups; i++) ++ { ++ if (groups[i] != gid) ++ { ++ if (n != i) ++ groups[n] = groups[i]; ++ n++; ++ } ++ } ++ setgroups (n, groups); ++ + /* We have the binary, now spawn the subprocess. Avoid using + support_subprogram because we only want the program exit status, not the + contents. */ + +commit 8a726b63047241c6dd4b55bf85eacd02244362a2 +Author: Wilco Dijkstra +Date: Thu Jul 10 15:49:14 2025 +0000 + + malloc: Remove redundant NULL check + + Remove a redundant NULL check from tcache_get_n. + + Reviewed-by: Cupertino Miranda + (cherry picked from commit 089b4fb90fac8ed53039bc4c465c4d333c6b4048) + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index 5ca390cc22..cf5c02ff64 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -3208,11 +3208,10 @@ tcache_get_n (size_t tc_idx, tcache_entry **ep, bool mangled) + if (__glibc_unlikely (misaligned_mem (e))) + malloc_printerr ("malloc(): unaligned tcache chunk detected"); + +- void *ne = e == NULL ? NULL : REVEAL_PTR (e->next); + if (!mangled) +- *ep = ne; ++ *ep = REVEAL_PTR (e->next); + else +- *ep = PROTECT_PTR (ep, ne); ++ *ep = PROTECT_PTR (ep, REVEAL_PTR (e->next)); + + ++(tcache->num_slots[tc_idx]); + e->key = 0; +@@ -3229,7 +3228,7 @@ tcache_put (mchunkptr chunk, size_t tc_idx) + static __always_inline void * + tcache_get (size_t tc_idx) + { +- return tcache_get_n (tc_idx, & tcache->entries[tc_idx], false); ++ return tcache_get_n (tc_idx, &tcache->entries[tc_idx], false); + } + + static __always_inline tcache_entry ** + +commit c491dabd8a3de090d1ccb4589421a44e79c5b185 +Author: Wilco Dijkstra +Date: Thu Jul 17 14:31:06 2025 +0000 + + malloc: Fix MAX_TCACHE_SMALL_SIZE + + MAX_TCACHE_SMALL_SIZE should use chunk size since it is used after + checked_request2size. Increase limit of tcache_max_bytes by 1 since all + comparisons use '<'. As a result, the last tcache entry is now used as + expected. + + Reviewed-by: DJ Delorie + (cherry picked from commit ad4caba4146583fc543cd434221dec7113c03e09) + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index cf5c02ff64..b89b654f17 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -294,9 +294,9 @@ + # define TCACHE_SMALL_BINS 64 + # define TCACHE_LARGE_BINS 12 /* Up to 4M chunks */ + # define TCACHE_MAX_BINS (TCACHE_SMALL_BINS + TCACHE_LARGE_BINS) +-# define MAX_TCACHE_SMALL_SIZE tidx2usize (TCACHE_SMALL_BINS-1) ++# define MAX_TCACHE_SMALL_SIZE tidx2csize (TCACHE_SMALL_BINS-1) + +-/* Only used to pre-fill the tunables. */ ++# define tidx2csize(idx) (((size_t) idx) * MALLOC_ALIGNMENT + MINSIZE) + # define tidx2usize(idx) (((size_t) idx) * MALLOC_ALIGNMENT + MINSIZE - SIZE_SZ) + + /* When "x" is from chunksize(). */ +@@ -1932,7 +1932,7 @@ static struct malloc_par mp_ = + , + .tcache_count = TCACHE_FILL_COUNT, + .tcache_small_bins = TCACHE_SMALL_BINS, +- .tcache_max_bytes = MAX_TCACHE_SMALL_SIZE, ++ .tcache_max_bytes = MAX_TCACHE_SMALL_SIZE + 1, + .tcache_unsorted_limit = 0 /* No limit. */ + #endif + }; +@@ -5586,15 +5586,13 @@ do_set_arena_max (size_t value) + static __always_inline int + do_set_tcache_max (size_t value) + { ++ if (value > PTRDIFF_MAX) ++ return 0; ++ + size_t nb = request2size (value); + size_t tc_idx = csize2tidx (nb); + +- /* To check that value is not too big and request2size does not return an +- overflown value. */ +- if (value > nb) +- return 0; +- +- if (nb > MAX_TCACHE_SMALL_SIZE) ++ if (tc_idx >= TCACHE_SMALL_BINS) + tc_idx = large_csize2tidx (nb); + + LIBC_PROBE (memory_tunable_tcache_max_bytes, 2, value, mp_.tcache_max_bytes); +@@ -5603,7 +5601,7 @@ do_set_tcache_max (size_t value) + { + if (tc_idx < TCACHE_SMALL_BINS) + mp_.tcache_small_bins = tc_idx + 1; +- mp_.tcache_max_bytes = nb; ++ mp_.tcache_max_bytes = nb + 1; + return 1; + } + + +commit a96a82c4a5efd3139e75cd11fd2a5554164dd5a0 +Author: Samuel Thibault +Date: Wed Jul 30 01:55:22 2025 +0200 + + malloc: Make sure tcache_key is odd enough + + We want tcache_key not to be a commonly-occurring value in memory, so ensure + a minimum amount of one and zero bits. + + And we need it non-zero, otherwise even if tcache_double_free_verify sets + e->key to 0 before calling __libc_free, it gets called again by __libc_free, + thus looping indefinitely. + + Fixes: c968fe50628db74b52124d863cd828225a1d305c ("malloc: Use tailcalls in __libc_free") + (cherry picked from commit 2536c4f8584082a1ac4c5e0a2a6222e290d43983) + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index b89b654f17..e4e2f03600 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -230,6 +230,9 @@ + /* For uintptr_t. */ + #include + ++/* For stdc_count_ones. */ ++#include ++ + /* For va_arg, va_start, va_end. */ + #include + +@@ -3152,6 +3155,19 @@ tcache_key_initialize (void) + if (__getrandom_nocancel_nostatus_direct (&tcache_key, sizeof(tcache_key), + GRND_NONBLOCK) + != sizeof (tcache_key)) ++ tcache_key = 0; ++ ++ /* We need tcache_key to be non-zero (otherwise tcache_double_free_verify's ++ clearing of e->key would go unnoticed and it would loop getting called ++ through __libc_free), and we want tcache_key not to be a ++ commonly-occurring value in memory, so ensure a minimum amount of one and ++ zero bits. */ ++ int minimum_bits = __WORDSIZE / 4; ++ int maximum_bits = __WORDSIZE - minimum_bits; ++ ++ while (labs (tcache_key) <= 0x1000000 ++ || stdc_count_ones (tcache_key) < minimum_bits ++ || stdc_count_ones (tcache_key) > maximum_bits) + { + tcache_key = random_bits (); + #if __WORDSIZE == 64 + +commit d7274d718e6f3655eabe311d4eb70fabb5ffa7ef +Author: Samuel Thibault +Date: Sun Aug 10 23:43:37 2025 +0200 + + malloc: Fix checking for small negative values of tcache_key + + tcache_key is unsigned so we should turn it explicitly to signed before + taking its absolute value. + + (cherry picked from commit 8543577b04ded6d979ffcc5a818930e4d74d0645) + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index e4e2f03600..5f3e701fd1 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -3165,7 +3165,7 @@ tcache_key_initialize (void) + int minimum_bits = __WORDSIZE / 4; + int maximum_bits = __WORDSIZE - minimum_bits; + +- while (labs (tcache_key) <= 0x1000000 ++ while (labs ((intptr_t) tcache_key) <= 0x1000000 + || stdc_count_ones (tcache_key) < minimum_bits + || stdc_count_ones (tcache_key) > maximum_bits) + { + +commit 8dbaecbe92ac7ab73b7d0aae84626af59131e41b +Author: Jens Remus +Date: Fri Jul 25 15:40:03 2025 +0200 + + Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables [BZ #33234] + + Commit 10a66a8e421b ("Remove ") removed the TLS initial-exec + (IE) model attribute from the __libc_tsd_CTYPE_* thread variable declarations + and definitions. Commit a894f04d8776 ("Optimize __libc_tsd_* thread + variable access") restored it on declarations. + + Restore the TLS initial-exec model attribute on __libc_tsd_CTYPE_* thread + variable definitions. + + This resolves test tst-locale1 failure on s390 32-bit, when using a + GNU linker without the fix from GNU binutils commit aefebe82dc89 + ("IBM zSystems: Fix offset relative to static TLS"). + + Reviewed-by: Florian Weimer + (cherry picked from commit e5363e6f460c2d58809bf10fc96d70fd1ef8b5b2) + +diff --git a/NEWS b/NEWS +index 1d04bdfef8..69aa600c6d 100644 +--- a/NEWS ++++ b/NEWS +@@ -11,6 +11,7 @@ The following bugs were resolved with this release: + + [31943] _dl_find_object can fail if ld.so contains gaps between load segments + [32994] stdlib: resolve a double lock init issue after fork ++ [33234] Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables + [33245] nptl: nptl: error in internal cancellation syscall handling + + Version 2.42 +diff --git a/ctype/ctype-info.c b/ctype/ctype-info.c +index b7d3422726..fb5acf9419 100644 +--- a/ctype/ctype-info.c ++++ b/ctype/ctype-info.c +@@ -24,11 +24,11 @@ + __ctype_init before user code runs, but this does not happen for + threads in secondary namespaces. With the initializers, secondary + namespaces at least get locale data from the C locale. */ +-__thread const uint16_t * __libc_tsd_CTYPE_B ++__thread const uint16_t * __libc_tsd_CTYPE_B attribute_tls_model_ie + = (const uint16_t *) _nl_C_LC_CTYPE_class + 128; +-__thread const int32_t * __libc_tsd_CTYPE_TOLOWER ++__thread const int32_t * __libc_tsd_CTYPE_TOLOWER attribute_tls_model_ie + = (const int32_t *) _nl_C_LC_CTYPE_tolower + 128; +-__thread const int32_t * __libc_tsd_CTYPE_TOUPPER ++__thread const int32_t * __libc_tsd_CTYPE_TOUPPER attribute_tls_model_ie + = (const int32_t *) _nl_C_LC_CTYPE_toupper + 128; + + + +commit d0f72b96f2e91e1aa93f7e826c71f74078ada7d0 +Author: H.J. Lu +Date: Mon Jul 28 12:16:11 2025 -0700 + + i386: Add GLIBC_ABI_GNU_TLS version [BZ #33221] + + On i386, programs and shared libraries with __thread usage may fail + silently at run-time against glibc without the TLS run-time fix for: + + https://sourceware.org/bugzilla/show_bug.cgi?id=32996 + + Add GLIBC_ABI_GNU_TLS version to indicate that glibc has the working + GNU TLS run-time. Linker can add the GLIBC_ABI_GNU_TLS version to + binaries which depend on the working TLS run-time so that such programs + and shared libraries will fail to load and run at run-time against + libc.so without the GLIBC_ABI_GNU_TLS version, instead of fail silently + at random. + + This fixes BZ #33221. + + Signed-off-by: H.J. Lu + Reviewed-by: Sam James + (cherry picked from commit ed1b7a5a489ab555a27fad9c101ebe2e1c1ba881) + +diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile +index ee6470d78e..c0c017b899 100644 +--- a/sysdeps/i386/Makefile ++++ b/sysdeps/i386/Makefile +@@ -60,6 +60,15 @@ $(objpfx)tst-ld-sse-use.out: ../sysdeps/i386/tst-ld-sse-use.sh $(objpfx)ld.so + @echo "Checking ld.so for SSE register use. This will take a few seconds..." + $(BASH) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@; \ + $(evaluate-test) ++ ++tests-special += $(objpfx)check-gnu-tls.out ++ ++$(objpfx)check-gnu-tls.out: $(common-objpfx)libc.so ++ LC_ALL=C $(READELF) -V -W $< \ ++ | sed -ne '/.gnu.version_d/, /.gnu.version_r/ p' \ ++ | grep GLIBC_ABI_GNU_TLS > $@; \ ++ $(evaluate-test) ++generated += check-gnu-tls.out + else + CFLAGS-.os += $(if $(filter rtld-%.os,$(@F)), $(rtld-CFLAGS)) + endif +diff --git a/sysdeps/i386/Versions b/sysdeps/i386/Versions +index 36e23b466a..9c84c8ef04 100644 +--- a/sysdeps/i386/Versions ++++ b/sysdeps/i386/Versions +@@ -28,6 +28,11 @@ libc { + GLIBC_2.13 { + __fentry__; + } ++ GLIBC_ABI_GNU_TLS { ++ # This symbol is used only for empty version map and will be removed ++ # by scripts/versions.awk. ++ __placeholder_only_for_empty_version_map; ++ } + } + libm { + GLIBC_2.1 { + +commit 3970785bebcc3f1de4460072f3a041d178f64846 +Author: H.J. Lu +Date: Mon Jul 28 12:18:22 2025 -0700 + + x86-64: Add GLIBC_ABI_GNU2_TLS version [BZ #33129] + + Programs and shared libraries compiled with -mtls-dialect=gnu2 may fail + silently at run-time against glibc without the GNU2 TLS run-time fix + for: + + https://sourceware.org/bugzilla/show_bug.cgi?id=31372 + + Add GLIBC_ABI_GNU2_TLS version to indicate that glibc has the working + GNU2 TLS run-time. Linker can add the GLIBC_ABI_GNU2_TLS version to + binaries which depend on the working GNU2 TLS run-time: + + https://sourceware.org/bugzilla/show_bug.cgi?id=33130 + + so that such programs and shared libraries will fail to load and run at + run-time against libc.so without the GLIBC_ABI_GNU2_TLS version, instead + of fail silently at random. + + This fixes BZ #33129. + + Signed-off-by: H.J. Lu + Reviewed-by: Sam James + (cherry picked from commit 9df8fa397d515dc86ff5565f6c45625e672d539e) + +diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile +index c3e1065c81..3ab8c1ed0f 100644 +--- a/sysdeps/x86_64/Makefile ++++ b/sysdeps/x86_64/Makefile +@@ -212,6 +212,15 @@ LDFLAGS-tst-plt-rewrite2 = -Wl,-z,now + LDFLAGS-tst-plt-rewritemod2.so = -Wl,-z,now,-z,undefs + tst-plt-rewrite2-ENV = GLIBC_TUNABLES=glibc.cpu.plt_rewrite=2 + $(objpfx)tst-plt-rewrite2: $(objpfx)tst-plt-rewritemod2.so ++ ++tests-special += $(objpfx)check-gnu2-tls.out ++ ++$(objpfx)check-gnu2-tls.out: $(common-objpfx)libc.so ++ LC_ALL=C $(READELF) -V -W $< \ ++ | sed -ne '/.gnu.version_d/, /.gnu.version_r/ p' \ ++ | grep GLIBC_ABI_GNU2_TLS > $@; \ ++ $(evaluate-test) ++generated += check-gnu2-tls.out + endif + + test-internal-extras += tst-gnu2-tls2mod1 +diff --git a/sysdeps/x86_64/Versions b/sysdeps/x86_64/Versions +index e94758b236..a63c11bcb2 100644 +--- a/sysdeps/x86_64/Versions ++++ b/sysdeps/x86_64/Versions +@@ -5,6 +5,11 @@ libc { + GLIBC_2.13 { + __fentry__; + } ++ GLIBC_ABI_GNU2_TLS { ++ # This symbol is used only for empty version map and will be removed ++ # by scripts/versions.awk. ++ __placeholder_only_for_empty_version_map; ++ } + } + libm { + GLIBC_2.1 { + +commit 7a8f3c6ee4b565a02da4ba0dad9aaeaeed4639ce +Author: H.J. Lu +Date: Thu Aug 14 07:03:20 2025 -0700 + + x86-64: Add GLIBC_ABI_DT_X86_64_PLT [BZ #33212] + + When the linker -z mark-plt option is used to add DT_X86_64_PLT, + DT_X86_64_PLTSZ and DT_X86_64_PLTENT, the r_addend field of the + R_X86_64_JUMP_SLOT relocation stores the offset of the indirect + branch instruction. However, glibc versions without the commit: + + commit f8587a61892cbafd98ce599131bf4f103466f084 + Author: H.J. Lu + Date: Fri May 20 19:21:48 2022 -0700 + + x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT + + According to x86-64 psABI, r_addend should be ignored for R_X86_64_GLOB_DAT + and R_X86_64_JUMP_SLOT. Since linkers always set their r_addends to 0, we + can ignore their r_addends. + + Reviewed-by: Fangrui Song + + won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation. + Such programs and shared libraries will fail at run-time randomly. + + Add GLIBC_ABI_DT_X86_64_PLT version to indicate that glibc is compatible + with DT_X86_64_PLT. + + The linker can add the glibc GLIBC_ABI_DT_X86_64_PLT version dependency + whenever -z mark-plt is passed to the linker. The resulting programs and + shared libraries will fail to load at run-time against libc.so without the + GLIBC_ABI_DT_X86_64_PLT version, instead of fail randomly. + + This fixes BZ #33212. + + Signed-off-by: H.J. Lu + Reviewed-by: Sam James + (cherry picked from commit 399384e0c8193e31aea014220ccfa24300ae5938) + +diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile +index 3ab8c1ed0f..01100597a8 100644 +--- a/sysdeps/x86_64/Makefile ++++ b/sysdeps/x86_64/Makefile +@@ -213,6 +213,15 @@ LDFLAGS-tst-plt-rewritemod2.so = -Wl,-z,now,-z,undefs + tst-plt-rewrite2-ENV = GLIBC_TUNABLES=glibc.cpu.plt_rewrite=2 + $(objpfx)tst-plt-rewrite2: $(objpfx)tst-plt-rewritemod2.so + ++tests-special += $(objpfx)check-dt-x86-64-plt.out ++ ++$(objpfx)check-dt-x86-64-plt.out: $(common-objpfx)libc.so ++ LC_ALL=C $(READELF) -V -W $< \ ++ | sed -ne '/.gnu.version_d/, /.gnu.version_r/ p' \ ++ | grep GLIBC_ABI_DT_X86_64_PLT > $@; \ ++ $(evaluate-test) ++generated += check-dt-x86-64-plt.out ++ + tests-special += $(objpfx)check-gnu2-tls.out + + $(objpfx)check-gnu2-tls.out: $(common-objpfx)libc.so +diff --git a/sysdeps/x86_64/Versions b/sysdeps/x86_64/Versions +index a63c11bcb2..0a759029e5 100644 +--- a/sysdeps/x86_64/Versions ++++ b/sysdeps/x86_64/Versions +@@ -10,6 +10,11 @@ libc { + # by scripts/versions.awk. + __placeholder_only_for_empty_version_map; + } ++ GLIBC_ABI_DT_X86_64_PLT { ++ # This symbol is used only for empty version map and will be removed ++ # by scripts/versions.awk. ++ __placeholder_only_for_empty_version_map; ++ } + } + libm { + GLIBC_2.1 { + +commit e87844ec42b77363a499ea4da6c4a6ab85eba310 +Author: H.J. Lu +Date: Mon Aug 18 09:06:48 2025 -0700 + + i386: Also add GLIBC_ABI_GNU2_TLS version [BZ #33129] + + Since the GNU2 TLS run-time bug: + + https://sourceware.org/bugzilla/show_bug.cgi?id=31372 + + affects both i386 and x86-64, also add GLIBC_ABI_GNU2_TLS version to i386 + to indicate the working GNU2 TLS run-time. For x86-64, the additional + GNU2 TLS run-time bug fix is needed for + + https://sourceware.org/bugzilla/show_bug.cgi?id=31501 + + Signed-off-by: H.J. Lu + Reviewed-by: Sam James + (cherry picked from commit bd4628f3f18ac312408782eea450429c6f044860) + +diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile +index 4fbd48e1c8..9e1c8cce85 100644 +--- a/sysdeps/x86/Makefile ++++ b/sysdeps/x86/Makefile +@@ -135,6 +135,15 @@ LDFLAGS-tst-tls23 += -rdynamic + tst-tls23-mod.so-no-z-defs = yes + + $(objpfx)tst-tls23-mod.so: $(libsupport) ++ ++tests-special += $(objpfx)check-gnu2-tls.out ++ ++$(objpfx)check-gnu2-tls.out: $(common-objpfx)libc.so ++ LC_ALL=C $(READELF) -V -W $< \ ++ | sed -ne '/.gnu.version_d/, /.gnu.version_r/ p' \ ++ | grep GLIBC_ABI_GNU2_TLS > $@; \ ++ $(evaluate-test) ++generated += check-gnu2-tls.out + endif + + ifeq ($(subdir),gmon) +diff --git a/sysdeps/x86/Versions b/sysdeps/x86/Versions +index 4b10c4b5d7..e8dcfccbe4 100644 +--- a/sysdeps/x86/Versions ++++ b/sysdeps/x86/Versions +@@ -7,4 +7,9 @@ libc { + GLIBC_2.33 { + __x86_get_cpuid_feature_leaf; + } ++ GLIBC_ABI_GNU2_TLS { ++ # This symbol is used only for empty version map and will be removed ++ # by scripts/versions.awk. ++ __placeholder_only_for_empty_version_map; ++ } + } +diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile +index 01100597a8..fe9f1cdddb 100644 +--- a/sysdeps/x86_64/Makefile ++++ b/sysdeps/x86_64/Makefile +@@ -221,15 +221,6 @@ $(objpfx)check-dt-x86-64-plt.out: $(common-objpfx)libc.so + | grep GLIBC_ABI_DT_X86_64_PLT > $@; \ + $(evaluate-test) + generated += check-dt-x86-64-plt.out +- +-tests-special += $(objpfx)check-gnu2-tls.out +- +-$(objpfx)check-gnu2-tls.out: $(common-objpfx)libc.so +- LC_ALL=C $(READELF) -V -W $< \ +- | sed -ne '/.gnu.version_d/, /.gnu.version_r/ p' \ +- | grep GLIBC_ABI_GNU2_TLS > $@; \ +- $(evaluate-test) +-generated += check-gnu2-tls.out + endif + + test-internal-extras += tst-gnu2-tls2mod1 +diff --git a/sysdeps/x86_64/Versions b/sysdeps/x86_64/Versions +index 0a759029e5..6a989ad3b3 100644 +--- a/sysdeps/x86_64/Versions ++++ b/sysdeps/x86_64/Versions +@@ -5,11 +5,6 @@ libc { + GLIBC_2.13 { + __fentry__; + } +- GLIBC_ABI_GNU2_TLS { +- # This symbol is used only for empty version map and will be removed +- # by scripts/versions.awk. +- __placeholder_only_for_empty_version_map; +- } + GLIBC_ABI_DT_X86_64_PLT { + # This symbol is used only for empty version map and will be removed + # by scripts/versions.awk. + +commit e34453cd6a8c592c325756ff3c7ac0afd3975cb4 +Author: Pierre Blanchard +Date: Wed Aug 20 17:41:50 2025 +0000 + + AArch64: Fix SVE powf routine [BZ #33299] + + Fix a bug in predicate logic introduced in last change. + A slight performance improvement from relying on all true + predicates during conversion from single to double. + This fixes BZ #33299. + + Reviewed-by: Wilco Dijkstra + (cherry picked from commit aac077645a645bba0d67f3250e82017c539d0f4b) + +diff --git a/sysdeps/aarch64/fpu/powf_sve.c b/sysdeps/aarch64/fpu/powf_sve.c +index 7046990aa1..65e9bd29d9 100644 +--- a/sysdeps/aarch64/fpu/powf_sve.c ++++ b/sysdeps/aarch64/fpu/powf_sve.c +@@ -223,15 +223,15 @@ sv_powf_core (const svbool_t pg, svuint32_t i, svuint32_t iz, svint32_t k, + const svbool_t ptrue = svptrue_b64 (); + + /* Unpack and promote input vectors (pg, y, z, i, k and sign_bias) into two +- * in order to perform core computation in double precision. */ ++ in order to perform core computation in double precision. */ + const svbool_t pg_lo = svunpklo (pg); + const svbool_t pg_hi = svunpkhi (pg); +- svfloat64_t y_lo +- = svcvt_f64_x (pg, svreinterpret_f32 (svunpklo (svreinterpret_u32 (y)))); +- svfloat64_t y_hi +- = svcvt_f64_x (pg, svreinterpret_f32 (svunpkhi (svreinterpret_u32 (y)))); +- svfloat64_t z_lo = svcvt_f64_x (pg, svreinterpret_f32 (svunpklo (iz))); +- svfloat64_t z_hi = svcvt_f64_x (pg, svreinterpret_f32 (svunpkhi (iz))); ++ svfloat64_t y_lo = svcvt_f64_x ( ++ ptrue, svreinterpret_f32 (svunpklo (svreinterpret_u32 (y)))); ++ svfloat64_t y_hi = svcvt_f64_x ( ++ ptrue, svreinterpret_f32 (svunpkhi (svreinterpret_u32 (y)))); ++ svfloat64_t z_lo = svcvt_f64_x (ptrue, svreinterpret_f32 (svunpklo (iz))); ++ svfloat64_t z_hi = svcvt_f64_x (ptrue, svreinterpret_f32 (svunpkhi (iz))); + svuint64_t i_lo = svunpklo (i); + svuint64_t i_hi = svunpkhi (i); + svint64_t k_lo = svunpklo (k); +@@ -312,7 +312,7 @@ svfloat32_t SV_NAME_F2 (pow) (svfloat32_t x, svfloat32_t y, const svbool_t pg) + (23 - V_POWF_EXP2_TABLE_BITS)); + + /* Compute core in extended precision and return intermediate ylogx results +- * to handle cases of underflow and underflow in exp. */ ++ to handle cases of underflow and overflow in exp. */ + svfloat32_t ylogx; + svfloat32_t ret + = sv_powf_core (yint_or_xpos, i, iz, k, y, sign_bias, &ylogx, d); + +commit 1166170d95863e5a6f8121a5ca9d97713f524f49 +Author: Florian Weimer +Date: Fri Sep 5 19:02:57 2025 +0200 + + libio: Define AT_RENAME_* with the same tokens as Linux + + Linux uses different expressions for the RENAME_* and AT_RENAME_* + constants. Mirror that in , so that the macro redefinitions + do not result in preprocessor warnings. + + Reviewed-by: Collin Funk + (cherry picked from commit b173557da978a04ac3bdfc0bd3b0e7ac583b44d5) + +diff --git a/libio/stdio.h b/libio/stdio.h +index d042b36618..e0e70945fa 100644 +--- a/libio/stdio.h ++++ b/libio/stdio.h +@@ -168,11 +168,11 @@ extern int renameat (int __oldfd, const char *__old, int __newfd, + #ifdef __USE_GNU + /* Flags for renameat2. */ + # define RENAME_NOREPLACE (1 << 0) +-# define AT_RENAME_NOREPLACE RENAME_NOREPLACE ++# define AT_RENAME_NOREPLACE 0x0001 + # define RENAME_EXCHANGE (1 << 1) +-# define AT_RENAME_EXCHANGE RENAME_EXCHANGE ++# define AT_RENAME_EXCHANGE 0x0002 + # define RENAME_WHITEOUT (1 << 2) +-# define AT_RENAME_WHITEOUT RENAME_WHITEOUT ++# define AT_RENAME_WHITEOUT 0x0004 + + /* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with + additional flags. */ +diff --git a/stdio-common/tst-renameat2.c b/stdio-common/tst-renameat2.c +index 12aa0f8b0f..6213e1376d 100644 +--- a/stdio-common/tst-renameat2.c ++++ b/stdio-common/tst-renameat2.c +@@ -28,6 +28,12 @@ + #include + #include + ++/* These constants are defined with different token sequences, ++ matching the Linux definitions, to avoid preprocessor warnings. */ ++_Static_assert (RENAME_NOREPLACE == AT_RENAME_NOREPLACE, "RENAME_NOREPLACE"); ++_Static_assert (RENAME_EXCHANGE == AT_RENAME_EXCHANGE, "RENAME_EXCHANGE"); ++_Static_assert (RENAME_WHITEOUT == AT_RENAME_WHITEOUT, "RENAME_WHITEOUT"); ++ + /* Directory with the temporary files. */ + static char *directory; + static int directory_fd; + +commit 46b4e37c9e0619d0cf065ba207c29996b326a06f +Author: Florian Weimer +Date: Fri Sep 12 21:33:34 2025 +0200 + + nss: Group merge does not react to ERANGE during merge (bug 33361) + + The break statement in CHECK_MERGE is expected to exit the surrounding + while loop, not the do-while loop with in the macro. Remove the + do-while loop from the macro. It is not needed to turn the macro + expansion into a single statement due to the way CHECK_MERGE is used + (and the statement expression would cover this anyway). + + Reviewed-by: Collin Funk + (cherry picked from commit 0fceed254559836b57ee05188deac649bc505d05) + +diff --git a/NEWS b/NEWS +index 69aa600c6d..06c27a8e17 100644 +--- a/NEWS ++++ b/NEWS +@@ -13,6 +13,7 @@ The following bugs were resolved with this release: + [32994] stdlib: resolve a double lock init issue after fork + [33234] Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables + [33245] nptl: nptl: error in internal cancellation syscall handling ++ [33361] nss: Group merge does not react to ERANGE during merge + + Version 2.42 + +diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c +index eae6c3480e..2b0735fb6a 100644 +--- a/nss/getXXbyYY_r.c ++++ b/nss/getXXbyYY_r.c +@@ -157,19 +157,15 @@ __merge_einval (LOOKUP_TYPE *a, + + #define CHECK_MERGE(err, status) \ + ({ \ +- do \ ++ if (err) \ + { \ +- if (err) \ +- { \ +- __set_errno (err); \ +- if (err == ERANGE) \ +- status = NSS_STATUS_TRYAGAIN; \ +- else \ +- status = NSS_STATUS_UNAVAIL; \ +- break; \ +- } \ ++ __set_errno (err); \ ++ if (err == ERANGE) \ ++ status = NSS_STATUS_TRYAGAIN; \ ++ else \ ++ status = NSS_STATUS_UNAVAIL; \ ++ break; \ + } \ +- while (0); \ + }) + + /* Type of the lookup function we need here. */ + +commit 18fd689cdced8348e42991964557cddea0ba2dc5 +Author: Adhemerval Zanella +Date: Mon Sep 8 13:06:13 2025 -0300 + + nptl: Fix MADV_GUARD_INSTALL logic for thread without guard page (BZ 33356) + + The main issue is that setup_stack_prot fails to account for cases where + the cached thread stack lacks a guard page, which can cause madvise to + fail. Update the logic to also handle whether MADV_GUARD_INSTALL is + supported when resizing the guard page. + + Checked on x86_64-linux-gnu with 6.8.0 and 6.15 kernels. + + Reviewed-by: Florian Weimer + (cherry picked from commit 855bfa2566bbefefa27c516b344df58a75824a5c) + +diff --git a/NEWS b/NEWS +index 06c27a8e17..ed3c114c7a 100644 +--- a/NEWS ++++ b/NEWS +@@ -13,6 +13,8 @@ The following bugs were resolved with this release: + [32994] stdlib: resolve a double lock init issue after fork + [33234] Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables + [33245] nptl: nptl: error in internal cancellation syscall handling ++ [33356] nptl: creating thread stack with guardsize 0 can erroneously ++ conclude MADV_GUARD_INSTALL is available + [33361] nss: Group merge does not react to ERANGE during merge + + Version 2.42 +diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c +index 800ca89720..fb8a60a21d 100644 +--- a/nptl/allocatestack.c ++++ b/nptl/allocatestack.c +@@ -240,7 +240,7 @@ setup_stack_prot (char *mem, size_t size, struct pthread *pd, + /* Update the guard area of the thread stack MEM of size SIZE with the new + GUARDISZE. It uses the method defined by PD stack_mode. */ + static inline bool +-adjust_stack_prot (char *mem, size_t size, const struct pthread *pd, ++adjust_stack_prot (char *mem, size_t size, struct pthread *pd, + size_t guardsize, size_t pagesize_m1) + { + /* The required guard area is larger than the current one. For +@@ -258,11 +258,23 @@ adjust_stack_prot (char *mem, size_t size, const struct pthread *pd, + so use the new guard placement with the new size. */ + if (guardsize > pd->guardsize) + { ++ /* There was no need to previously setup a guard page, so we need ++ to check whether the kernel supports guard advise. */ + char *guard = guard_position (mem, size, guardsize, pd, pagesize_m1); +- if (pd->stack_mode == ALLOCATE_GUARD_MADV_GUARD) +- return __madvise (guard, guardsize, MADV_GUARD_INSTALL) == 0; +- else if (pd->stack_mode == ALLOCATE_GUARD_PROT_NONE) +- return __mprotect (guard, guardsize, PROT_NONE) == 0; ++ if (atomic_load_relaxed (&allocate_stack_mode) ++ == ALLOCATE_GUARD_MADV_GUARD) ++ { ++ if (__madvise (guard, guardsize, MADV_GUARD_INSTALL) == 0) ++ { ++ pd->stack_mode = ALLOCATE_GUARD_MADV_GUARD; ++ return true; ++ } ++ atomic_store_relaxed (&allocate_stack_mode, ++ ALLOCATE_GUARD_PROT_NONE); ++ } ++ ++ pd->stack_mode = ALLOCATE_GUARD_PROT_NONE; ++ return __mprotect (guard, guardsize, PROT_NONE) == 0; + } + /* The current guard area is larger than the required one. For + _STACK_GROWS_DOWN is means change the guard as: +diff --git a/nptl/tst-guard1.c b/nptl/tst-guard1.c +index e3e06df0fc..1c73d3fc93 100644 +--- a/nptl/tst-guard1.c ++++ b/nptl/tst-guard1.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -202,7 +203,7 @@ tf (void *closure) + + /* Test 1: caller provided stack without guard. */ + static void +-do_test1 (void) ++do_test1 (void *closure) + { + pthread_attr_t attr; + xpthread_attr_init (&attr); +@@ -227,7 +228,7 @@ do_test1 (void) + + /* Test 2: same as 1., but with a guard area. */ + static void +-do_test2 (void) ++do_test2 (void *closure) + { + pthread_attr_t attr; + xpthread_attr_init (&attr); +@@ -250,18 +251,9 @@ do_test2 (void) + xmunmap (stack, stacksize); + } + +-/* Test 3: pthread_create with default values. */ ++/* Test 3: pthread_create without a guard area. */ + static void +-do_test3 (void) +-{ +- pthread_t t = xpthread_create (NULL, tf, NULL); +- void *status = xpthread_join (t); +- TEST_VERIFY (status == 0); +-} +- +-/* Test 4: pthread_create without a guard area. */ +-static void +-do_test4 (void) ++do_test3 (void *closure) + { + pthread_attr_t attr; + xpthread_attr_init (&attr); +@@ -277,9 +269,18 @@ do_test4 (void) + xpthread_attr_destroy (&attr); + } + ++/* Test 4: pthread_create with default values. */ ++static void ++do_test4 (void *closure) ++{ ++ pthread_t t = xpthread_create (NULL, tf, NULL); ++ void *status = xpthread_join (t); ++ TEST_VERIFY (status == 0); ++} ++ + /* Test 5: pthread_create with non default stack and guard size value. */ + static void +-do_test5 (void) ++do_test5 (void *closure) + { + pthread_attr_t attr; + xpthread_attr_init (&attr); +@@ -299,7 +300,7 @@ do_test5 (void) + test 3, but with a larger guard area. The pthread_create will need to + increase the guard area. */ + static void +-do_test6 (void) ++do_test6 (void *closure) + { + pthread_attr_t attr; + xpthread_attr_init (&attr); +@@ -320,7 +321,7 @@ do_test6 (void) + pthread_create should use the cached stack from previous tests, but it + would require to reduce the guard area. */ + static void +-do_test7 (void) ++do_test7 (void *closure) + { + pthread_t t = xpthread_create (NULL, tf, NULL); + void *status = xpthread_join (t); +@@ -346,21 +347,40 @@ do_test (void) + + static const struct { + const char *descr; +- void (*test)(void); ++ void (*test) (void *); + } tests[] = { + { "user provided stack without guard", do_test1 }, + { "user provided stack with guard", do_test2 }, +- { "default attribute", do_test3 }, +- { "default attribute without guard", do_test4 }, ++ /* N.B: do_test3 should be before do_test4 to check if a new thread ++ that uses the thread stack previously allocated without a guard ++ page correctly sets up the guard pages even on a kernel without ++ MADV_GUARD_INSTALL support (BZ 33356). */ ++ { "default attribute without guard", do_test3 }, ++ { "default attribute", do_test4 }, ++ /* Also checks if the guard is correctly removed from the cache thread ++ stack. */ ++ { "default attribute without guard", do_test3 }, + { "non default stack and guard sizes", do_test5 }, + { "reused stack with larger guard", do_test6 }, + { "reused stack with smaller guard", do_test7 }, + }; + ++ /* Run each test with a clean state. */ ++ for (int i = 0; i < array_length (tests); i++) ++ { ++ printf ("debug: fork: test%01d: %s\n", i, tests[i].descr); ++ struct support_capture_subprocess result = ++ support_capture_subprocess (tests[i].test, NULL); ++ support_capture_subprocess_check (&result, tests[i].descr, 0, ++ sc_allow_none); ++ support_capture_subprocess_free (&result); ++ } ++ ++ /* And now run the same tests along with the thread stack cache. */ + for (int i = 0; i < array_length (tests); i++) + { + printf ("debug: test%01d: %s\n", i, tests[i].descr); +- tests[i].test(); ++ tests[i].test ( NULL); + } + + return 0; + +commit bf48b17a28066a54f172e0d63da9fc5dc60c6355 +Author: Sunil K Pandey +Date: Mon Oct 6 18:13:04 2025 -0700 + + x86: Detect Intel Wildcat Lake Processor + + Detect Intel Wildcat Lake Processor and tune it similar to Intel Panther + Lake. https://cdrdv2.intel.com/v1/dl/getContent/671368 Section 1.2. + + Reviewed-by: H.J. Lu + (cherry picked from commit f8dd52901b72805a831d5a4cb7d971e4a3c9970b) + +diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c +index b7d1506135..4bdade883e 100644 +--- a/sysdeps/x86/cpu-features.c ++++ b/sysdeps/x86/cpu-features.c +@@ -543,6 +543,7 @@ enum intel_microarch + INTEL_BIGCORE_PANTHERLAKE, + INTEL_BIGCORE_GRANITERAPIDS, + INTEL_BIGCORE_DIAMONDRAPIDS, ++ INTEL_BIGCORE_WILDCATLAKE, + + /* Mixed (bigcore + atom SOC). */ + INTEL_MIXED_LAKEFIELD, +@@ -702,6 +703,8 @@ intel_get_fam6_microarch (unsigned int model, + return INTEL_BIGCORE_ARROWLAKE; + case 0xCC: + return INTEL_BIGCORE_PANTHERLAKE; ++ case 0xD5: ++ return INTEL_BIGCORE_WILDCATLAKE; + case 0xAD: + case 0xAE: + return INTEL_BIGCORE_GRANITERAPIDS; +@@ -934,6 +937,7 @@ disable_tsx: + case INTEL_BIGCORE_LUNARLAKE: + case INTEL_BIGCORE_ARROWLAKE: + case INTEL_BIGCORE_PANTHERLAKE: ++ case INTEL_BIGCORE_WILDCATLAKE: + case INTEL_BIGCORE_SAPPHIRERAPIDS: + case INTEL_BIGCORE_EMERALDRAPIDS: + case INTEL_BIGCORE_GRANITERAPIDS: + +commit ab8c1b5d62d7be2c3c23f535bea3d7fff19c53ae +Author: Sunil K Pandey +Date: Wed Sep 24 09:38:17 2025 -0700 + + x86: Detect Intel Nova Lake Processor + + Detect Intel Nova Lake Processor and tune it similar to Intel Panther + Lake. https://cdrdv2.intel.com/v1/dl/getContent/671368 Section 1.2. + + Reviewed-by: H.J. Lu + (cherry picked from commit a114e29ddd530962d2b44aa9d89f1f6075abe7fa) + +diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c +index 4bdade883e..b67ef541dd 100644 +--- a/sysdeps/x86/cpu-features.c ++++ b/sysdeps/x86/cpu-features.c +@@ -544,6 +544,7 @@ enum intel_microarch + INTEL_BIGCORE_GRANITERAPIDS, + INTEL_BIGCORE_DIAMONDRAPIDS, + INTEL_BIGCORE_WILDCATLAKE, ++ INTEL_BIGCORE_NOVALAKE, + + /* Mixed (bigcore + atom SOC). */ + INTEL_MIXED_LAKEFIELD, +@@ -821,6 +822,17 @@ disable_tsx: + break; + } + } ++ else if (family == 18) ++ switch (model) ++ { ++ case 0x01: ++ case 0x03: ++ microarch = INTEL_BIGCORE_NOVALAKE; ++ break; ++ ++ default: ++ break; ++ } + else if (family == 19) + switch (model) + { +@@ -938,6 +950,7 @@ disable_tsx: + case INTEL_BIGCORE_ARROWLAKE: + case INTEL_BIGCORE_PANTHERLAKE: + case INTEL_BIGCORE_WILDCATLAKE: ++ case INTEL_BIGCORE_NOVALAKE: + case INTEL_BIGCORE_SAPPHIRERAPIDS: + case INTEL_BIGCORE_EMERALDRAPIDS: + case INTEL_BIGCORE_GRANITERAPIDS: + +commit 6de12fc9ad56bc19fa6fcbd8ee502f29b5170d47 +Author: Yury Khrustalev +Date: Thu Sep 25 15:51:30 2025 +0100 + + aarch64: define macro for calling __libc_arm_za_disable + + A common sequence of instructions is used in several places + in assembly files, so define it in one place as an assembly + macro. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit b4b713bd8921aff04773557da94fabb5fb9dd705) + +diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S +index 70ac02c44b..53b42e1bdc 100644 +--- a/sysdeps/aarch64/__longjmp.S ++++ b/sysdeps/aarch64/__longjmp.S +@@ -26,16 +26,8 @@ + ENTRY (__longjmp) + + #if IS_IN(libc) +- /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so. +- The calling convention of __libc_arm_za_disable allows to do +- this thus allowing to avoid saving to and reading from stack. +- As a result we also don't need to sign the return address and +- check it after returning because it is not stored to stack. */ +- mov x13, x30 +- cfi_register (x30, x13) +- bl __libc_arm_za_disable +- mov x30, x13 +- cfi_register (x13, x30) ++ /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so. */ ++ CALL_LIBC_ARM_ZA_DISABLE + #endif + + cfi_def_cfa (x0, 0) +diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S +index 53c5e7d8cc..92cedfad83 100644 +--- a/sysdeps/aarch64/setjmp.S ++++ b/sysdeps/aarch64/setjmp.S +@@ -37,16 +37,8 @@ ENTRY_ALIGN (__sigsetjmp, 2) + 1: + + #if IS_IN(libc) +- /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so. +- The calling convention of __libc_arm_za_disable allows to do +- this thus allowing to avoid saving to and reading from stack. +- As a result we also don't need to sign the return address and +- check it after returning because it is not stored to stack. */ +- mov x13, x30 +- cfi_register (x30, x13) +- bl __libc_arm_za_disable +- mov x30, x13 +- cfi_register (x13, x30) ++ /* Disable ZA state of SME in libc.a and libc.so, but not in ld.so. */ ++ CALL_LIBC_ARM_ZA_DISABLE + #endif + + stp x19, x20, [x0, #JB_X19<<3] +diff --git a/sysdeps/unix/sysv/linux/aarch64/setcontext.S b/sysdeps/unix/sysv/linux/aarch64/setcontext.S +index d9716f012e..8e98594663 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/setcontext.S ++++ b/sysdeps/unix/sysv/linux/aarch64/setcontext.S +@@ -49,15 +49,7 @@ ENTRY (__setcontext) + b C_SYMBOL_NAME (__syscall_error) + 1: + /* Clear ZA state of SME. */ +- /* The calling convention of __libc_arm_za_disable allows to do +- this thus allowing to avoid saving to and reading from stack. +- As a result we also don't need to sign the return address and +- check it after returning because it is not stored to stack. */ +- mov x13, x30 +- cfi_register (x30, x13) +- bl __libc_arm_za_disable +- mov x30, x13 +- cfi_register (x13, x30) ++ CALL_LIBC_ARM_ZA_DISABLE + /* Restore the general purpose registers. */ + mov x0, x9 + cfi_def_cfa (x0, 0) +diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h +index f0e8d64eef..fa01386b25 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h ++++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h +@@ -150,6 +150,18 @@ + mov x8, SYS_ify (syscall_name); \ + svc 0 + ++/* Clear ZA state of SME (ASM version). */ ++/* The __libc_arm_za_disable function has special calling convention ++ that allows to call it without stack manipulation and preserving ++ most of the registers. */ ++ .macro CALL_LIBC_ARM_ZA_DISABLE ++ mov x13, x30 ++ .cfi_register x30, x13 ++ bl __libc_arm_za_disable ++ mov x30, x13 ++ .cfi_register x13, x30 ++ .endm ++ + #else /* not __ASSEMBLER__ */ + + # define VDSO_NAME "LINUX_2.6.39" + +commit 256030b9842a10b1f22851b1de0c119761417544 +Author: Yury Khrustalev +Date: Thu Sep 25 15:54:36 2025 +0100 + + aarch64: clear ZA state of SME before clone and clone3 syscalls + + This change adds a call to the __arm_za_disable() function immediately + before the SVC instruction inside clone() and clone3() wrappers. It also + adds a macro for inline clone() used in fork() and adds the same call to + the vfork implementation. This sets the ZA state of SME to "off" on return + from these functions (for both the child and the parent). + + The __arm_za_disable() function is described in [1] (8.1.3). Note that + the internal Glibc name for this function is __libc_arm_za_disable(). + + When this change was originally proposed [2,3], it generated a long + discussion where several questions and concerns were raised. Here we + will address these concerns and explain why this change is useful and, + in fact, necessary. + + In a nutshell, a C library that conforms to the AAPCS64 spec [1] (pertinent + to this change, mainly, the chapters 6.2 and 6.6), should have a call to the + __arm_za_disable() function in clone() and clone3() wrappers. The following + explains in detail why this is the case. + + When we consider using the __arm_za_disable() function inside the clone() + and clone3() libc wrappers, we talk about the C library subroutines clone() + and clone3() rather than the syscalls with similar names. In the current + version of Glibc, clone() is public and clone3() is private, but it being + private is not pertinent to this discussion. + + We will begin with stating that this change is NOT a bug fix for something + in the kernel. The requirement to call __arm_za_disable() does NOT come from + the kernel. It also is NOT needed to satisfy a contract between the kernel + and userspace. This is why it is not for the kernel documentation to describe + this requirement. This requirement is instead needed to satisfy a pure userspace + scheme outlined in [1] and to make sure that software that uses Glibc (or any + other C library that has correct handling of SME states (see below)) conforms + to [1] without having to unnecessarily become SME-aware thus losing portability. + + To recap (see [1] (6.2)), SME extension defines SME state which is part of + processor state. Part of this SME state is ZA state that is necessary to + manage ZA storage register in the context of the ZA lazy saving scheme [1] + (6.6). This scheme exists because it would be challenging to handle ZA + storage of SME in either callee-saved or caller-saved manner. + + There are 3 kinds of ZA state that are defined in terms of the PSTATE.ZA + bit and the TPIDR2_EL0 register (see [1] (6.6.3)): + + - "off":       PSTATE.ZA == 0 + - "active":    PSTATE.ZA == 1 TPIDR2_EL0 == null + - "dormant":   PSTATE.ZA == 1 TPIDR2_EL0 != null + + As [1] (6.7.2) outlines, every subroutine has exactly one SME-interface + depending on the permitted ZA-states on entry and on normal return from + a call to this subroutine. Callers of a subroutine must know and respect + the ZA-interface of the subroutines they are using. Using a subroutine + in a way that is not permitted by its ZA-interface is undefined behaviour. + + In particular, clone() and clone3() (the C library functions) have the + ZA-private interface. This means that the permitted ZA-states on entry + are "off" and "dormant" and that the permitted states on return are "off" + or "dormant" (but if and only if it was "dormant" on entry). + + This means that both functions in question should correctly handle both + "off" and "dormant" ZA-states on entry. The conforming states on return + are "off" and "dormant" (if inbound state was already "dormant"). + + This change ensures that the ZA-state on return is always "off". Note, + that, in the context of clone() and clone3(), "on return" means a point + when execution resumes at certain address after transferring from clone() + or clone3(). For the caller (we may refer to it as "parent") this is the + return address in the link register where the RET instruction jumps. For + the "child", this is the target branch address. + + So, the "off" state on return is permitted and conformant. Why can't we + retain the "dormant" state? In theory, we can, but we shouldn't, here is + why. + + Every subroutine with a private-ZA interface, including clone() and clone3(), + must comply with the lazy saving scheme [1] (6.7.2). This puts additional + responsibility on a subroutine if ZA-state on return is "dormant" because + this state has special meaning. The "caller" (that is the place in code + where execution is transferred to, so this include both "parent" and "child") + may check the ZA-state and use it as per the spec of the "dormant" state that + is outlined in [1] (6.6.6 and 6.6.7). + + Conforming to this would require more code inside of clone() and clone3() + which hardly is desirable. + + For the return to "parent" this could be achieved in theory, but given that + neither clone() nor clone3() are supposed to be used in the middle of an + SME operation, if wouldn't be useful. For the "return" to "child" this + would be particularly difficult to achieve given the complexity of these + functions and their interfaces. Most importantly, it would be illegal + and somewhat meaningless to allow a "child" to start execution in the + "dormant" ZA-state because the very essence of the "dormant" state implies + that there is a place to return and that there is some outer context that + we are allowed to interact with. + + To sum up, calling __arm_za_disable() to ensure the "off" ZA-state when the + execution resumes after a call to clone() or clone3() is correct and also + the most simple way to conform to [1]. + + Can there be situations when we can avoid calling __arm_za_disable()? + + Calling __arm_za_disable() implies certain (sufficiently small) overhead, + so one might rightly ponder avoiding making a call to this function when + we can afford not to. The most trivial cases like this (e.g. when the + calling thread doesn't have access to SME or to the TPIDR2_EL0 register) + are already handled by this function (see [1] (8.1.3 and 8.1.2)). Reasoning + about other possible use cases would require making code inside clone() and + clone3() more complicated and it would defeat the point of trying to make + an optimisation of not calling __arm_za_disable(). + + Why can't the kernel do this instead? + + The handling of SME state by the kernel is described in [4]. In short, + kernel must not impose a specific ZA-interface onto a userspace function. + Interaction with the kernel happens (among other thing) via system calls. + In Glibc many of the system calls (notably, including SYS_clone and + SYS_clone3) are used via wrappers, and the kernel has no control of them + and, moreover, it cannot dictate how these wrappers should behave because + it is simply outside of the kernel's remit. + + However, in certain cases, the kernel may ensure that a "child" doesn't + start in an incorrect state. This is what is done by the recent change + included in 6.16 kernel [5]. This is not enough to ensure that code that + uses clone() and clone3() function conforms to [1] when it runs on a + system that provides SME, hence this change. + + [1]: https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst + [2]: https://inbox.sourceware.org/libc-alpha/20250522114828.2291047-1-yury.khrustalev@arm.com + [3]: https://inbox.sourceware.org/libc-alpha/20250609121407.3316070-1-yury.khrustalev@arm.com + [4]: https://www.kernel.org/doc/html/v6.16/arch/arm64/sme.html + [5]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cde5c32db55740659fca6d56c09b88800d88fd29 + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 27effb3d50424fb9634be77a2acd614b0386ff25) + +diff --git a/sysdeps/unix/sysv/linux/aarch64/clone.S b/sysdeps/unix/sysv/linux/aarch64/clone.S +index 40015c6933..53f1efd728 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/clone.S ++++ b/sysdeps/unix/sysv/linux/aarch64/clone.S +@@ -45,6 +45,9 @@ ENTRY(__clone) + and x1, x1, -16 + cbz x1, .Lsyscall_error + ++ /* Clear ZA state of SME. */ ++ CALL_LIBC_ARM_ZA_DISABLE ++ + /* Do the system call. */ + /* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid. */ + mov x0, x2 /* flags */ +diff --git a/sysdeps/unix/sysv/linux/aarch64/clone3.S b/sysdeps/unix/sysv/linux/aarch64/clone3.S +index c9ca845ef2..bc978b7e10 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/clone3.S ++++ b/sysdeps/unix/sysv/linux/aarch64/clone3.S +@@ -46,6 +46,9 @@ ENTRY(__clone3) + cbz x10, .Lsyscall_error /* No NULL cl_args pointer. */ + cbz x2, .Lsyscall_error /* No NULL function pointer. */ + ++ /* Clear ZA state of SME. */ ++ CALL_LIBC_ARM_ZA_DISABLE ++ + /* Do the system call, the kernel expects: + x8: system call number + x0: cl_args +diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h +index fa01386b25..30003c0145 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h ++++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h +@@ -242,6 +242,31 @@ + #undef HAVE_INTERNAL_BRK_ADDR_SYMBOL + #define HAVE_INTERNAL_BRK_ADDR_SYMBOL 1 + ++/* Clear ZA state of SME (C version). */ ++/* The __libc_arm_za_disable function has special calling convention ++ that allows to call it without stack manipulation and preserving ++ most of the registers. */ ++#define CALL_LIBC_ARM_ZA_DISABLE() \ ++({ \ ++ unsigned long int __tmp; \ ++ asm volatile ( \ ++ " mov %0, x30\n" \ ++ " .cfi_register x30, %0\n" \ ++ " bl __libc_arm_za_disable\n" \ ++ " mov x30, %0\n" \ ++ " .cfi_register %0, x30\n" \ ++ : "=r" (__tmp) \ ++ : \ ++ : "x14", "x15", "x16", "x17", "x18", "memory" ); \ ++}) ++ ++/* Do clear ZA state of SME before making normal clone syscall. */ ++#define INLINE_CLONE_SYSCALL(a0, a1, a2, a3, a4) \ ++({ \ ++ CALL_LIBC_ARM_ZA_DISABLE (); \ ++ INLINE_SYSCALL_CALL (clone, a0, a1, a2, a3, a4); \ ++}) ++ + #endif /* __ASSEMBLER__ */ + + #endif /* linux/aarch64/sysdep.h */ +diff --git a/sysdeps/unix/sysv/linux/aarch64/vfork.S b/sysdeps/unix/sysv/linux/aarch64/vfork.S +index d5943a7485..2600bc9be3 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/vfork.S ++++ b/sysdeps/unix/sysv/linux/aarch64/vfork.S +@@ -27,6 +27,9 @@ + + ENTRY (__vfork) + ++ /* Clear ZA state of SME. */ ++ CALL_LIBC_ARM_ZA_DISABLE ++ + mov x0, #0x4111 /* CLONE_VM | CLONE_VFORK | SIGCHLD */ + mov x1, sp + DO_CALL (clone, 2) + +commit 71874f167aa5bb1538ff7e394beaacee28ebe65f +Author: Yury Khrustalev +Date: Fri Sep 26 10:03:45 2025 +0100 + + aarch64: tests for SME + + This commit adds tests for the following use cases relevant to handing of + the SME state: + + - fork() and vfork() + - clone() and clone3() + - signal handler + + While most cases are trivial, the case of clone3() is more complicated since + the clone3() symbol is not public in Glibc. + + To avoid having to check all possible ways clone3() may be called via other + public functions (e.g. vfork() or pthread_create()), we put together a test + that links directly with clone3.o. All the existing functions that have calls + to clone3() may not actually use it, in which case the outcome of such tests + would be unexpected. Having a direct call to the clone3() symbol in the test + allows to check precisely what we need to test: that the __arm_za_disable() + function is indeed called and has the desired effect. + + Linking to clone3.o also requires linking to __arm_za_disable.o that in + turn requires the _dl_hwcap2 hidden symbol which to provide in the test + and initialise it before using. + + Co-authored-by: Adhemerval Zanella Netto + Reviewed-by: Adhemerval Zanella + (cherry picked from commit ecb0fc2f0f839f36cd2a106283142c9df8ea8214) + +diff --git a/sysdeps/aarch64/Makefile b/sysdeps/aarch64/Makefile +index bb97d31355..9479fb9679 100644 +--- a/sysdeps/aarch64/Makefile ++++ b/sysdeps/aarch64/Makefile +@@ -79,8 +79,18 @@ sysdep_routines += \ + + tests += \ + tst-sme-jmp \ ++ tst-sme-signal \ + tst-sme-za-state \ + # tests ++tests-internal += \ ++ tst-sme-clone \ ++ tst-sme-clone3 \ ++ tst-sme-fork \ ++ tst-sme-vfork \ ++ # tests-internal ++ ++$(objpfx)tst-sme-clone3: $(objpfx)clone3.o $(objpfx)__arm_za_disable.o ++ + endif + + ifeq ($(subdir),malloc) +diff --git a/sysdeps/aarch64/tst-sme-clone.c b/sysdeps/aarch64/tst-sme-clone.c +new file mode 100644 +index 0000000000..7106ec7926 +--- /dev/null ++++ b/sysdeps/aarch64/tst-sme-clone.c +@@ -0,0 +1,53 @@ ++/* Test that ZA state of SME is cleared in both parent and child ++ when clone() syscall is used. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include "tst-sme-skeleton.c" ++ ++#include ++ ++static int ++fun (void * const arg) ++{ ++ printf ("in child: %s\n", (const char *)arg); ++ /* Check that ZA state of SME was disabled in child. */ ++ check_sme_za_state ("after clone in child", /* Clear. */ true); ++ return 0; ++} ++ ++static char __attribute__((aligned(16))) ++stack[1024 * 1024]; ++ ++static void ++run (struct blk *ptr) ++{ ++ char *syscall_name = (char *)"clone"; ++ printf ("in parent: before %s\n", syscall_name); ++ ++ /* Enabled ZA state so that effect of disabling be observable. */ ++ enable_sme_za_state (ptr); ++ check_sme_za_state ("before clone", /* Clear. */ false); ++ ++ pid_t pid = xclone (fun, syscall_name, stack, sizeof (stack), ++ CLONE_NEWUSER | CLONE_NEWNS | SIGCHLD); ++ ++ /* Check that ZA state of SME was disabled in parent. */ ++ check_sme_za_state ("after clone in parent", /* Clear. */ true); ++ ++ TEST_VERIFY (xwaitpid (pid, NULL, 0) == pid); ++} +diff --git a/sysdeps/aarch64/tst-sme-clone3.c b/sysdeps/aarch64/tst-sme-clone3.c +new file mode 100644 +index 0000000000..402b040cfd +--- /dev/null ++++ b/sysdeps/aarch64/tst-sme-clone3.c +@@ -0,0 +1,84 @@ ++/* Test that ZA state of SME is cleared in both parent and child ++ when clone3() syscall is used. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include "tst-sme-skeleton.c" ++ ++#include ++ ++#include ++#include ++#include ++ ++/* Since clone3 is not a public symbol, we link this test explicitly ++ with clone3.o and have to provide this declaration. */ ++int __clone3 (struct clone_args *cl_args, size_t size, ++ int (*func)(void *arg), void *arg); ++ ++static int ++fun (void * const arg) ++{ ++ printf ("in child: %s\n", (const char *)arg); ++ /* Check that ZA state of SME was disabled in child. */ ++ check_sme_za_state ("after clone3 in child", /* Clear. */ true); ++ return 0; ++} ++ ++static char __attribute__((aligned(16))) ++stack[1024 * 1024]; ++ ++/* Required by __arm_za_disable.o and provided by the startup code ++ as a hidden symbol. */ ++uint64_t _dl_hwcap2; ++ ++static void ++run (struct blk *ptr) ++{ ++ _dl_hwcap2 = getauxval (AT_HWCAP2); ++ ++ char *syscall_name = (char *)"clone3"; ++ struct clone_args args = { ++ .flags = CLONE_VM | CLONE_VFORK, ++ .exit_signal = SIGCHLD, ++ .stack = (uintptr_t) stack, ++ .stack_size = sizeof (stack), ++ }; ++ printf ("in parent: before %s\n", syscall_name); ++ ++ /* Enabled ZA state so that effect of disabling be observable. */ ++ enable_sme_za_state (ptr); ++ check_sme_za_state ("before clone3", /* Clear. */ false); ++ ++ pid_t pid = __clone3 (&args, sizeof (args), fun, syscall_name); ++ ++ /* Check that ZA state of SME was disabled in parent. */ ++ check_sme_za_state ("after clone3 in parent", /* Clear. */ true); ++ ++ printf ("%s child pid: %d\n", syscall_name, pid); ++ ++ xwaitpid (pid, NULL, 0); ++ printf ("in parent: after %s\n", syscall_name); ++} ++ ++/* Workaround to simplify linking with clone3.o. */ ++void __syscall_error(int code) ++{ ++ int err = -code; ++ fprintf (stderr, "syscall error %d (%s)\n", err, strerror (err)); ++ exit (err); ++} +diff --git a/sysdeps/aarch64/tst-sme-fork.c b/sysdeps/aarch64/tst-sme-fork.c +new file mode 100644 +index 0000000000..b003b08884 +--- /dev/null ++++ b/sysdeps/aarch64/tst-sme-fork.c +@@ -0,0 +1,43 @@ ++/* Test that ZA state of SME is cleared in both parent and child ++ when fork() function is used. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include "tst-sme-skeleton.c" ++ ++static void ++run (struct blk *blk) ++{ ++ /* Enabled ZA state so that effect of disabling be observable. */ ++ enable_sme_za_state (blk); ++ check_sme_za_state ("before fork", /* Clear. */ false); ++ fflush (stdout); ++ ++ pid_t pid = xfork (); ++ ++ if (pid == 0) ++ { ++ /* Check that ZA state of SME was disabled in child. */ ++ check_sme_za_state ("after fork in child", /* Clear. */ true); ++ exit (0); ++ } ++ ++ /* Check that ZA state of SME was disabled in parent. */ ++ check_sme_za_state ("after fork in parent", /* Clear. */ true); ++ ++ TEST_VERIFY (xwaitpid (pid, NULL, 0) == pid); ++} +diff --git a/sysdeps/aarch64/tst-sme-helper.h b/sysdeps/aarch64/tst-sme-helper.h +index f049416c2b..ab9c503e45 100644 +--- a/sysdeps/aarch64/tst-sme-helper.h ++++ b/sysdeps/aarch64/tst-sme-helper.h +@@ -16,9 +16,6 @@ + License along with the GNU C Library; if not, see + . */ + +-/* Streaming SVE vector register size. */ +-static unsigned long svl; +- + struct blk { + void *za_save_buffer; + uint16_t num_za_save_slices; +@@ -68,10 +65,10 @@ start_za (void) + + /* Load data into ZA byte by byte from p. */ + static void __attribute__ ((noinline)) +-load_za (const void *p) ++load_za (const void *buf, unsigned long svl) + { + register unsigned long x15 asm ("x15") = 0; +- register unsigned long x16 asm ("x16") = (unsigned long)p; ++ register unsigned long x16 asm ("x16") = (unsigned long)buf; + register unsigned long x17 asm ("x17") = svl; + + asm volatile ( +diff --git a/sysdeps/aarch64/tst-sme-jmp.c b/sysdeps/aarch64/tst-sme-jmp.c +index 103897ad36..b2d21c6e1a 100644 +--- a/sysdeps/aarch64/tst-sme-jmp.c ++++ b/sysdeps/aarch64/tst-sme-jmp.c +@@ -29,6 +29,9 @@ + + #include "tst-sme-helper.h" + ++/* Streaming SVE vector register size. */ ++static unsigned long svl; ++ + static uint8_t *za_orig; + static uint8_t *za_dump; + static uint8_t *za_save; +@@ -82,7 +85,7 @@ longjmp_test (void) + FAIL_EXIT1 ("svcr != 0: %lu", svcr); + set_tpidr2 (&blk); + start_za (); +- load_za (za_orig); ++ load_za (za_orig, svl); + + print_data ("za save space", za_save); + p = get_tpidr2 (); +@@ -131,7 +134,7 @@ setcontext_test (void) + FAIL_EXIT1 ("svcr != 0: %lu", svcr); + set_tpidr2 (&blk); + start_za (); +- load_za (za_orig); ++ load_za (za_orig, svl); + + print_data ("za save space", za_save); + p = get_tpidr2 (); +diff --git a/sysdeps/aarch64/tst-sme-signal.c b/sysdeps/aarch64/tst-sme-signal.c +new file mode 100644 +index 0000000000..b4b07bcc44 +--- /dev/null ++++ b/sysdeps/aarch64/tst-sme-signal.c +@@ -0,0 +1,115 @@ ++/* Test handling of SME state in a signal handler. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include "tst-sme-skeleton.c" ++ ++#include ++ ++static struct _aarch64_ctx * ++extension (void *p) ++{ ++ return p; ++} ++ ++#ifndef TPIDR2_MAGIC ++#define TPIDR2_MAGIC 0x54504902 ++#endif ++ ++#ifndef ZA_MAGIC ++#define ZA_MAGIC 0x54366345 ++#endif ++ ++#ifndef ZT_MAGIC ++#define ZT_MAGIC 0x5a544e01 ++#endif ++ ++#ifndef EXTRA_MAGIC ++#define EXTRA_MAGIC 0x45585401 ++#endif ++ ++/* We use a pipe to make sure that the final check of the SME state ++ happens after signal handler finished. */ ++static int pipefd[2]; ++ ++#define WRITE(msg) xwrite (1, msg, sizeof (msg)); ++ ++static void ++handler (int signo, siginfo_t *si, void *ctx) ++{ ++ TEST_VERIFY (signo == SIGUSR1); ++ WRITE ("in the handler\n"); ++ check_sme_za_state ("during signal", true /* State is clear. */); ++ ucontext_t *uc = ctx; ++ void *p = uc->uc_mcontext.__reserved; ++ unsigned int found = 0; ++ uint32_t m; ++ while ((m = extension (p)->magic)) ++ { ++ if (m == TPIDR2_MAGIC) ++ { ++ WRITE ("found TPIDR2_MAGIC\n"); ++ found += 1; ++ } ++ if (m == ZA_MAGIC) ++ { ++ WRITE ("found ZA_MAGIC\n"); ++ found += 1; ++ } ++ if (m == ZT_MAGIC) ++ { ++ WRITE ("found ZT_MAGIC\n"); ++ found += 1; ++ } ++ if (m == EXTRA_MAGIC) ++ { ++ WRITE ("found EXTRA_MAGIC\n"); ++ struct { struct _aarch64_ctx h; uint64_t data; } *e = p; ++ p = (char *)e->data; ++ continue; ++ } ++ p = (char *)p + extension (p)->size; ++ } ++ TEST_COMPARE (found, 3); ++ ++ /* Signal that the wait is over (see below). */ ++ char message = '\0'; ++ xwrite (pipefd[1], &message, 1); ++} ++ ++static void ++run (struct blk *blk) ++{ ++ xpipe (pipefd); ++ ++ struct sigaction sigact; ++ sigemptyset (&sigact.sa_mask); ++ sigact.sa_flags = 0; ++ sigact.sa_flags |= SA_SIGINFO; ++ sigact.sa_sigaction = handler; ++ xsigaction (SIGUSR1, &sigact, NULL); ++ ++ enable_sme_za_state (blk); ++ check_sme_za_state ("before signal", false /* State is not clear. */); ++ xraise (SIGUSR1); ++ ++ /* Wait for signal handler to complete. */ ++ char response; ++ xread (pipefd[0], &response, 1); ++ ++ check_sme_za_state ("after signal", false /* State is not clear. */); ++} +diff --git a/sysdeps/aarch64/tst-sme-skeleton.c b/sysdeps/aarch64/tst-sme-skeleton.c +new file mode 100644 +index 0000000000..ba84dda1cb +--- /dev/null ++++ b/sysdeps/aarch64/tst-sme-skeleton.c +@@ -0,0 +1,101 @@ ++/* Template for SME tests. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include "tst-sme-helper.h" ++ ++/* Streaming SVE vector register size. */ ++static unsigned long svl; ++ ++static uint8_t *state; ++ ++static void ++enable_sme_za_state (struct blk *blk) ++{ ++ start_za (); ++ set_tpidr2 (blk); ++ load_za (blk, svl); ++} ++ ++/* Check if SME state is disabled (when CLEAR is true) or ++ enabled (when CLEAR is false). */ ++static void ++check_sme_za_state (const char msg[], bool clear) ++{ ++ unsigned long svcr = get_svcr (); ++ void *tpidr2 = get_tpidr2 (); ++ printf ("[%s]\n", msg); ++ printf ("svcr = %016lx\n", svcr); ++ printf ("tpidr2 = %016lx\n", (unsigned long)tpidr2); ++ if (clear) ++ { ++ TEST_VERIFY (svcr == 0); ++ TEST_VERIFY (tpidr2 == NULL); ++ } ++ else ++ { ++ TEST_VERIFY (svcr != 0); ++ TEST_VERIFY (tpidr2 != NULL); ++ } ++} ++ ++/* Should be defined in actual test that includes this ++ skeleton file. */ ++static void ++run (struct blk *ptr); ++ ++static int ++do_test (void) ++{ ++ unsigned long hwcap2 = getauxval (AT_HWCAP2); ++ if ((hwcap2 & HWCAP2_SME) == 0) ++ return EXIT_UNSUPPORTED; ++ ++ /* Get current streaming SVE vector length in bytes. */ ++ svl = get_svl (); ++ printf ("svl: %lu\n", svl); ++ ++ TEST_VERIFY_EXIT (!(svl < 16 || svl % 16 != 0 || svl >= (1 << 16))); ++ ++ /* Initialise buffer for ZA state of SME. */ ++ state = xmalloc (svl * svl); ++ memset (state, 1, svl * svl); ++ struct blk blk = { ++ .za_save_buffer = state, ++ .num_za_save_slices = svl, ++ .__reserved = {0}, ++ }; ++ ++ run (&blk); ++ ++ free (state); ++ return 0; ++} ++ ++#include +diff --git a/sysdeps/aarch64/tst-sme-vfork.c b/sysdeps/aarch64/tst-sme-vfork.c +new file mode 100644 +index 0000000000..3feea065e5 +--- /dev/null ++++ b/sysdeps/aarch64/tst-sme-vfork.c +@@ -0,0 +1,43 @@ ++/* Test that ZA state of SME is cleared in both parent and child ++ when vfork() function is used. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include "tst-sme-skeleton.c" ++ ++static void ++run (struct blk *blk) ++{ ++ /* Enabled ZA state so that effect of disabling be observable. */ ++ enable_sme_za_state (blk); ++ check_sme_za_state ("before vfork", /* Clear. */ false); ++ fflush (stdout); ++ ++ pid_t pid = vfork (); ++ ++ if (pid == 0) ++ { ++ /* Check that ZA state of SME was disabled in child. */ ++ check_sme_za_state ("after vfork in child", /* Clear. */ true); ++ _exit (0); ++ } ++ ++ /* Check that ZA state of SME was disabled in parent. */ ++ check_sme_za_state ("after vfork in parent", /* Clear. */ true); ++ ++ TEST_VERIFY (xwaitpid (pid, NULL, 0) == pid); ++} +diff --git a/sysdeps/aarch64/tst-sme-za-state.c b/sysdeps/aarch64/tst-sme-za-state.c +index 63f6eebeb4..00118ef506 100644 +--- a/sysdeps/aarch64/tst-sme-za-state.c ++++ b/sysdeps/aarch64/tst-sme-za-state.c +@@ -16,47 +16,9 @@ + License along with the GNU C Library; if not, see + . */ + +-#include +-#include +-#include +-#include +-#include +- +-#include +-#include +-#include +- +-#include "tst-sme-helper.h" +- +-static uint8_t *state; +- +-static void +-enable_sme_za_state (struct blk *ptr) +-{ +- set_tpidr2 (ptr); +- start_za (); +- load_za (state); +-} ++#include "tst-sme-skeleton.c" + +-static void +-check_sme_za_state (const char msg[], bool clear) +-{ +- unsigned long svcr = get_svcr (); +- void *tpidr2 = get_tpidr2 (); +- printf ("[%s]\n", msg); +- printf ("svcr = %016lx\n", svcr); +- printf ("tpidr2 = %016lx\n", (unsigned long)tpidr2); +- if (clear) +- { +- TEST_VERIFY (svcr == 0); +- TEST_VERIFY (tpidr2 == NULL); +- } +- else +- { +- TEST_VERIFY (svcr != 0); +- TEST_VERIFY (tpidr2 != NULL); +- } +-} ++#include + + static void + run (struct blk *ptr) +@@ -88,32 +50,3 @@ run (struct blk *ptr) + TEST_COMPARE (ret, 42); + check_sme_za_state ("after longjmp", /* Clear. */ true); + } +- +-static int +-do_test (void) +-{ +- unsigned long hwcap2 = getauxval (AT_HWCAP2); +- if ((hwcap2 & HWCAP2_SME) == 0) +- return EXIT_UNSUPPORTED; +- +- /* Get current streaming SVE vector register size. */ +- svl = get_svl (); +- printf ("svl: %lu\n", svl); +- TEST_VERIFY_EXIT (!(svl < 16 || svl % 16 != 0 || svl >= (1 << 16))); +- +- /* Initialise buffer for ZA state of SME. */ +- state = xmalloc (svl * svl); +- memset (state, 1, svl * svl); +- struct blk blk = { +- .za_save_buffer = state, +- .num_za_save_slices = svl, +- .__reserved = {0}, +- }; +- +- run (&blk); +- +- free (state); +- return 0; +-} +- +-#include + +commit bf499c2a4964bddc25a006ec1402f8996d78c6ff +Author: Jiamei Xie +Date: Tue Oct 14 20:14:11 2025 +0800 + + x86: fix wmemset ifunc stray '!' (bug 33542) + + The ifunc selector for wmemset had a stray '!' in the + X86_ISA_CPU_FEATURES_ARCH_P(...) check: + + if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2) + && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features, + AVX_Fast_Unaligned_Load, !)) + + This effectively negated the predicate and caused the AVX2/AVX512 + paths to be skipped, making the dispatcher fall back to the SSE2 + implementation even on CPUs where AVX2/AVX512 are available. The + regression leads to noticeable throughput loss for wmemset. + + Remove the stray '!' so the AVX_Fast_Unaligned_Load capability is + tested as intended and the correct AVX2/EVEX variants are selected. + + Impact: + - On AVX2/AVX512-capable x86_64, wmemset no longer incorrectly + falls back to SSE2; perf now shows __wmemset_evex/avx2 variants. + + Testing: + - benchtests/bench-wmemset shows improved bandwidth across sizes. + - perf confirm the selected symbol is no longer SSE2. + + Signed-off-by: xiejiamei + Signed-off-by: Li jing + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 4d86b6cdd8132e0410347e07262239750f86dfb4) + +diff --git a/sysdeps/x86_64/multiarch/ifunc-wmemset.h b/sysdeps/x86_64/multiarch/ifunc-wmemset.h +index f95cca6ae5..50af138230 100644 +--- a/sysdeps/x86_64/multiarch/ifunc-wmemset.h ++++ b/sysdeps/x86_64/multiarch/ifunc-wmemset.h +@@ -35,7 +35,7 @@ IFUNC_SELECTOR (void) + + if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2) + && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features, +- AVX_Fast_Unaligned_Load, !)) ++ AVX_Fast_Unaligned_Load,)) + { + if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512VL)) + { + +commit de1fe81f471496366580ad728b8986a3424b2fd7 +Author: Yury Khrustalev +Date: Tue Oct 28 11:01:50 2025 +0000 + + aarch64: fix cfi directives around __libc_arm_za_disable + + Incorrect CFI directive corrupted call stack information + and prevented debuggers from correctly displaying call + stack information. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 2f77aec043f61e8533487850b11941a640ae2dea) + +diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h +index 30003c0145..8a7690d4a8 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h ++++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h +@@ -155,11 +155,12 @@ + that allows to call it without stack manipulation and preserving + most of the registers. */ + .macro CALL_LIBC_ARM_ZA_DISABLE ++ cfi_remember_state + mov x13, x30 +- .cfi_register x30, x13 ++ cfi_register(x30, x13) + bl __libc_arm_za_disable + mov x30, x13 +- .cfi_register x13, x30 ++ cfi_restore_state + .endm + + #else /* not __ASSEMBLER__ */ +@@ -250,11 +251,12 @@ + ({ \ + unsigned long int __tmp; \ + asm volatile ( \ ++ " .cfi_remember_state\n" \ + " mov %0, x30\n" \ +- " .cfi_register x30, %0\n" \ ++ " .cfi_register x30, %0\n" \ + " bl __libc_arm_za_disable\n" \ + " mov x30, %0\n" \ +- " .cfi_register %0, x30\n" \ ++ " .cfi_restore_state\n" \ + : "=r" (__tmp) \ + : \ + : "x14", "x15", "x16", "x17", "x18", "memory" ); \ + +commit 17c3eab387c3ceb6972e57888a89b1480793f81a +Author: Yury Khrustalev +Date: Tue Nov 11 11:40:25 2025 +0000 + + aarch64: fix includes in SME tests + + Use the correct include for the SIGCHLD macro: signal.h + + Reviewed-by: Wilco Dijkstra + (cherry picked from commit a9c426bcca59a9e228c4fbe75e75154217ec4ada) + +diff --git a/sysdeps/aarch64/tst-sme-clone.c b/sysdeps/aarch64/tst-sme-clone.c +index 7106ec7926..b6ad54fa37 100644 +--- a/sysdeps/aarch64/tst-sme-clone.c ++++ b/sysdeps/aarch64/tst-sme-clone.c +@@ -19,6 +19,7 @@ + + #include "tst-sme-skeleton.c" + ++#include + #include + + static int +diff --git a/sysdeps/aarch64/tst-sme-clone3.c b/sysdeps/aarch64/tst-sme-clone3.c +index 402b040cfd..f420d5984d 100644 +--- a/sysdeps/aarch64/tst-sme-clone3.c ++++ b/sysdeps/aarch64/tst-sme-clone3.c +@@ -22,7 +22,7 @@ + #include + + #include +-#include ++#include + #include + + /* Since clone3 is not a public symbol, we link this test explicitly + +commit 97297120ce04f0edd16ed0357a11ef8731c5bd1e +Author: Joe Ramsay +Date: Thu Nov 6 15:36:03 2025 +0000 + + AArch64: Optimise SVE scalar callbacks + + Instead of using SVE instructions to marshall special results into the + correct lane, just write the entire vector (and the predicate) to + memory, then use cheaper scalar operations. + + Geomean speedup of 16% in special intervals on Neoverse with GCC 14. + + Reviewed-by: Wilco Dijkstra + (cherry picked from commit 5b82fb18827e962af9f080fdf3c1a69802783f67) + +diff --git a/sysdeps/aarch64/fpu/sv_math.h b/sysdeps/aarch64/fpu/sv_math.h +index 3d576df4cc..65d7f0ff20 100644 +--- a/sysdeps/aarch64/fpu/sv_math.h ++++ b/sysdeps/aarch64/fpu/sv_math.h +@@ -24,11 +24,29 @@ + + #include "vecmath_config.h" + ++#if !defined(__ARM_FEATURE_SVE_BITS) || __ARM_FEATURE_SVE_BITS == 0 ++/* If not specified by -msve-vector-bits, assume maximum vector length. */ ++# define SVE_VECTOR_BYTES 256 ++#else ++# define SVE_VECTOR_BYTES (__ARM_FEATURE_SVE_BITS / 8) ++#endif ++#define SVE_NUM_FLTS (SVE_VECTOR_BYTES / sizeof (float)) ++#define SVE_NUM_DBLS (SVE_VECTOR_BYTES / sizeof (double)) ++/* Predicate is stored as one bit per byte of VL so requires VL / 64 bytes. */ ++#define SVE_NUM_PG_BYTES (SVE_VECTOR_BYTES / sizeof (uint64_t)) ++ + #define SV_NAME_F1(fun) _ZGVsMxv_##fun##f + #define SV_NAME_D1(fun) _ZGVsMxv_##fun + #define SV_NAME_F2(fun) _ZGVsMxvv_##fun##f + #define SV_NAME_D2(fun) _ZGVsMxvv_##fun + ++static inline void ++svstr_p (uint8_t *dst, svbool_t p) ++{ ++ /* Predicate STR does not currently have an intrinsic. */ ++ __asm__("str %0, [%x1]\n" : : "Upa"(p), "r"(dst) : "memory"); ++} ++ + /* Double precision. */ + static inline svint64_t + sv_s64 (int64_t x) +@@ -51,33 +69,35 @@ sv_f64 (double x) + static inline svfloat64_t + sv_call_f64 (double (*f) (double), svfloat64_t x, svfloat64_t y, svbool_t cmp) + { +- svbool_t p = svpfirst (cmp, svpfalse ()); +- while (svptest_any (cmp, p)) ++ double tmp[SVE_NUM_DBLS]; ++ uint8_t pg_bits[SVE_NUM_PG_BYTES]; ++ svstr_p (pg_bits, cmp); ++ svst1 (svptrue_b64 (), tmp, svsel (cmp, x, y)); ++ ++ for (int i = 0; i < svcntd (); i++) + { +- double elem = svclastb_n_f64 (p, 0, x); +- elem = (*f) (elem); +- svfloat64_t y2 = svdup_n_f64 (elem); +- y = svsel_f64 (p, y2, y); +- p = svpnext_b64 (cmp, p); ++ if (pg_bits[i] & 1) ++ tmp[i] = f (tmp[i]); + } +- return y; ++ return svld1 (svptrue_b64 (), tmp); + } + + static inline svfloat64_t + sv_call2_f64 (double (*f) (double, double), svfloat64_t x1, svfloat64_t x2, + svfloat64_t y, svbool_t cmp) + { +- svbool_t p = svpfirst (cmp, svpfalse ()); +- while (svptest_any (cmp, p)) ++ double tmp1[SVE_NUM_DBLS], tmp2[SVE_NUM_DBLS]; ++ uint8_t pg_bits[SVE_NUM_PG_BYTES]; ++ svstr_p (pg_bits, cmp); ++ svst1 (svptrue_b64 (), tmp1, svsel (cmp, x1, y)); ++ svst1 (cmp, tmp2, x2); ++ ++ for (int i = 0; i < svcntd (); i++) + { +- double elem1 = svclastb_n_f64 (p, 0, x1); +- double elem2 = svclastb_n_f64 (p, 0, x2); +- double ret = (*f) (elem1, elem2); +- svfloat64_t y2 = svdup_n_f64 (ret); +- y = svsel_f64 (p, y2, y); +- p = svpnext_b64 (cmp, p); ++ if (pg_bits[i] & 1) ++ tmp1[i] = f (tmp1[i], tmp2[i]); + } +- return y; ++ return svld1 (svptrue_b64 (), tmp1); + } + + static inline svuint64_t +@@ -109,33 +129,40 @@ sv_f32 (float x) + static inline svfloat32_t + sv_call_f32 (float (*f) (float), svfloat32_t x, svfloat32_t y, svbool_t cmp) + { +- svbool_t p = svpfirst (cmp, svpfalse ()); +- while (svptest_any (cmp, p)) ++ float tmp[SVE_NUM_FLTS]; ++ uint8_t pg_bits[SVE_NUM_PG_BYTES]; ++ svstr_p (pg_bits, cmp); ++ svst1 (svptrue_b32 (), tmp, svsel (cmp, x, y)); ++ ++ for (int i = 0; i < svcntd (); i++) + { +- float elem = svclastb_n_f32 (p, 0, x); +- elem = f (elem); +- svfloat32_t y2 = svdup_n_f32 (elem); +- y = svsel_f32 (p, y2, y); +- p = svpnext_b32 (cmp, p); ++ uint8_t p = pg_bits[i]; ++ if (p & 1) ++ tmp[i * 2] = f (tmp[i * 2]); ++ if (p & (1 << 4)) ++ tmp[i * 2 + 1] = f (tmp[i * 2 + 1]); + } +- return y; ++ return svld1 (svptrue_b32 (), tmp); + } + + static inline svfloat32_t + sv_call2_f32 (float (*f) (float, float), svfloat32_t x1, svfloat32_t x2, + svfloat32_t y, svbool_t cmp) + { +- svbool_t p = svpfirst (cmp, svpfalse ()); +- while (svptest_any (cmp, p)) ++ float tmp1[SVE_NUM_FLTS], tmp2[SVE_NUM_FLTS]; ++ uint8_t pg_bits[SVE_NUM_PG_BYTES]; ++ svstr_p (pg_bits, cmp); ++ svst1 (svptrue_b32 (), tmp1, svsel (cmp, x1, y)); ++ svst1 (cmp, tmp2, x2); ++ ++ for (int i = 0; i < svcntd (); i++) + { +- float elem1 = svclastb_n_f32 (p, 0, x1); +- float elem2 = svclastb_n_f32 (p, 0, x2); +- float ret = f (elem1, elem2); +- svfloat32_t y2 = svdup_n_f32 (ret); +- y = svsel_f32 (p, y2, y); +- p = svpnext_b32 (cmp, p); ++ uint8_t p = pg_bits[i]; ++ if (p & 1) ++ tmp1[i * 2] = f (tmp1[i * 2], tmp2[i * 2]); ++ if (p & (1 << 4)) ++ tmp1[i * 2 + 1] = f (tmp1[i * 2 + 1], tmp2[i * 2 + 1]); + } +- return y; ++ return svld1 (svptrue_b32 (), tmp1); + } +- + #endif + +commit ec041b1f53bf1fd29d94ee147fac69da66437dc6 +Author: Joe Ramsay +Date: Thu Nov 6 18:26:54 2025 +0000 + + AArch64: Fix instability in AdvSIMD tan + + Previously presence of special-cases in one lane could affect the + results in other lanes due to unconditional scalar fallback. The old + WANT_SIMD_EXCEPT option (which has never been enabled in libmvec) has + been removed from AOR, making it easier to spot and fix this. 4% + improvement in throughput with GCC 14 on Neoverse V1. This bug is + present as far back as 2.39 (where tan was first introduced). + + Reviewed-by: Wilco Dijkstra + (cherry picked from commit 6c22823da57aa5218f717f569c04c9573c0448c5) + +diff --git a/sysdeps/aarch64/fpu/tan_advsimd.c b/sysdeps/aarch64/fpu/tan_advsimd.c +index 825c9754b3..d391a003d8 100644 +--- a/sysdeps/aarch64/fpu/tan_advsimd.c ++++ b/sysdeps/aarch64/fpu/tan_advsimd.c +@@ -25,9 +25,7 @@ static const struct data + float64x2_t poly[9]; + double half_pi[2]; + float64x2_t two_over_pi, shift; +-#if !WANT_SIMD_EXCEPT + float64x2_t range_val; +-#endif + } data = { + /* Coefficients generated using FPMinimax. */ + .poly = { V2 (0x1.5555555555556p-2), V2 (0x1.1111111110a63p-3), +@@ -38,20 +36,17 @@ static const struct data + .half_pi = { 0x1.921fb54442d18p0, 0x1.1a62633145c07p-54 }, + .two_over_pi = V2 (0x1.45f306dc9c883p-1), + .shift = V2 (0x1.8p52), +-#if !WANT_SIMD_EXCEPT + .range_val = V2 (0x1p23), +-#endif + }; + + #define RangeVal 0x4160000000000000 /* asuint64(0x1p23). */ + #define TinyBound 0x3e50000000000000 /* asuint64(2^-26). */ +-#define Thresh 0x310000000000000 /* RangeVal - TinyBound. */ + + /* Special cases (fall back to scalar calls). */ + static float64x2_t VPCS_ATTR NOINLINE +-special_case (float64x2_t x) ++special_case (float64x2_t x, float64x2_t n, float64x2_t d, uint64x2_t special) + { +- return v_call_f64 (tan, x, x, v_u64 (-1)); ++ return v_call_f64 (tan, x, vdivq_f64 (n, d), special); + } + + /* Vector approximation for double-precision tan. +@@ -65,14 +60,6 @@ float64x2_t VPCS_ATTR V_NAME_D1 (tan) (float64x2_t x) + very large inputs. Fall back to scalar routine for all lanes if any are + too large, or Inf/NaN. If fenv exceptions are expected, also fall back for + tiny input to avoid underflow. */ +-#if WANT_SIMD_EXCEPT +- uint64x2_t iax = vreinterpretq_u64_f64 (vabsq_f64 (x)); +- /* iax - tiny_bound > range_val - tiny_bound. */ +- uint64x2_t special +- = vcgtq_u64 (vsubq_u64 (iax, v_u64 (TinyBound)), v_u64 (Thresh)); +- if (__glibc_unlikely (v_any_u64 (special))) +- return special_case (x); +-#endif + + /* q = nearest integer to 2 * x / pi. */ + float64x2_t q +@@ -81,9 +68,8 @@ float64x2_t VPCS_ATTR V_NAME_D1 (tan) (float64x2_t x) + + /* Use q to reduce x to r in [-pi/4, pi/4], by: + r = x - q * pi/2, in extended precision. */ +- float64x2_t r = x; + float64x2_t half_pi = vld1q_f64 (dat->half_pi); +- r = vfmsq_laneq_f64 (r, q, half_pi, 0); ++ float64x2_t r = vfmsq_laneq_f64 (x, q, half_pi, 0); + r = vfmsq_laneq_f64 (r, q, half_pi, 1); + /* Further reduce r to [-pi/8, pi/8], to be reconstructed using double angle + formula. */ +@@ -114,12 +100,13 @@ float64x2_t VPCS_ATTR V_NAME_D1 (tan) (float64x2_t x) + + uint64x2_t no_recip = vtstq_u64 (vreinterpretq_u64_s64 (qi), v_u64 (1)); + +-#if !WANT_SIMD_EXCEPT + uint64x2_t special = vcageq_f64 (x, dat->range_val); ++ float64x2_t swap = vbslq_f64 (no_recip, n, vnegq_f64 (d)); ++ d = vbslq_f64 (no_recip, d, n); ++ n = swap; ++ + if (__glibc_unlikely (v_any_u64 (special))) +- return special_case (x); +-#endif ++ return special_case (x, n, d, special); + +- return vdivq_f64 (vbslq_f64 (no_recip, n, vnegq_f64 (d)), +- vbslq_f64 (no_recip, d, n)); ++ return vdivq_f64 (n, d); + } + +commit 0c9430ed976b961343dd29b752091f3c4771cf30 +Author: Joe Ramsay +Date: Thu Nov 6 18:29:33 2025 +0000 + + AArch64: Fix instability in AdvSIMD sinh + + Previously presence of special-cases in one lane could affect the + results in other lanes due to unconditional scalar fallback. The old + WANT_SIMD_EXCEPT option (which has never been enabled in libmvec) has + been removed from AOR, making it easier to spot and fix + this. No measured change in performance. This patch applies cleanly as + far back as 2.41, however there are conflicts with 2.40 where sinh was + first introduced. + + Reviewed-by: Wilco Dijkstra + (cherry picked from commit e45af510bc816e860c8e2e1d4a652b4fe15c4b34) + +diff --git a/sysdeps/aarch64/fpu/sinh_advsimd.c b/sysdeps/aarch64/fpu/sinh_advsimd.c +index 0d6a4856f8..b6b60262c6 100644 +--- a/sysdeps/aarch64/fpu/sinh_advsimd.c ++++ b/sysdeps/aarch64/fpu/sinh_advsimd.c +@@ -24,36 +24,26 @@ static const struct data + { + struct v_expm1_data d; + uint64x2_t halff; +-#if WANT_SIMD_EXCEPT +- uint64x2_t tiny_bound, thresh; +-#else + float64x2_t large_bound; +-#endif + } data = { + .d = V_EXPM1_DATA, + .halff = V2 (0x3fe0000000000000), +-#if WANT_SIMD_EXCEPT +- /* 2^-26, below which sinh(x) rounds to x. */ +- .tiny_bound = V2 (0x3e50000000000000), +- /* asuint(large_bound) - asuint(tiny_bound). */ +- .thresh = V2 (0x0230000000000000), +-#else + /* 2^9. expm1 helper overflows for large input. */ + .large_bound = V2 (0x1p+9), +-#endif + }; + + static float64x2_t NOINLINE VPCS_ATTR +-special_case (float64x2_t x) ++special_case (float64x2_t x, float64x2_t t, float64x2_t halfsign, ++ uint64x2_t special) + { +- return v_call_f64 (sinh, x, x, v_u64 (-1)); ++ return v_call_f64 (sinh, x, vmulq_f64 (t, halfsign), special); + } + + /* Approximation for vector double-precision sinh(x) using expm1. + sinh(x) = (exp(x) - exp(-x)) / 2. + The greatest observed error is 2.52 ULP: +- _ZGVnN2v_sinh(-0x1.a098a2177a2b9p-2) got -0x1.ac2f05bb66fccp-2 +- want -0x1.ac2f05bb66fc9p-2. */ ++ _ZGVnN2v_sinh(0x1.9f6ff2ab6fb19p-2) got 0x1.aaed83a3153ccp-2 ++ want 0x1.aaed83a3153c9p-2. */ + float64x2_t VPCS_ATTR V_NAME_D1 (sinh) (float64x2_t x) + { + const struct data *d = ptr_barrier (&data); +@@ -63,21 +53,16 @@ float64x2_t VPCS_ATTR V_NAME_D1 (sinh) (float64x2_t x) + float64x2_t halfsign = vreinterpretq_f64_u64 ( + vbslq_u64 (v_u64 (0x8000000000000000), ix, d->halff)); + +-#if WANT_SIMD_EXCEPT +- uint64x2_t special = vcgeq_u64 ( +- vsubq_u64 (vreinterpretq_u64_f64 (ax), d->tiny_bound), d->thresh); +-#else + uint64x2_t special = vcageq_f64 (x, d->large_bound); +-#endif +- +- /* Fall back to scalar variant for all lanes if any of them are special. */ +- if (__glibc_unlikely (v_any_u64 (special))) +- return special_case (x); + + /* Up to the point that expm1 overflows, we can use it to calculate sinh + using a slight rearrangement of the definition of sinh. This allows us to + retain acceptable accuracy for very small inputs. */ + float64x2_t t = expm1_inline (ax, &d->d); + t = vaddq_f64 (t, vdivq_f64 (t, vaddq_f64 (t, v_f64 (1.0)))); ++ ++ if (__glibc_unlikely (v_any_u64 (special))) ++ return special_case (x, t, halfsign, special); ++ + return vmulq_f64 (t, halfsign); + } + +commit 710d7a2e8374cf09280a0db170a6c813b70b59e5 +Author: Pierre Blanchard +Date: Tue Nov 18 15:03:10 2025 +0000 + + AArch64: fix SVE tanpi(f) [BZ #33642] + + Fixed svld1rq using incorrect predicates (BZ #33642). + Next to no performance variations (tested on V1). + + Reviewed-by: Wilco Dijkstra  + (cherry picked from commit e889160273a4c2b68870c9adf341955867d76a7d) + +diff --git a/sysdeps/aarch64/fpu/tanpi_sve.c b/sysdeps/aarch64/fpu/tanpi_sve.c +index 57c643ae29..bfe6828e1f 100644 +--- a/sysdeps/aarch64/fpu/tanpi_sve.c ++++ b/sysdeps/aarch64/fpu/tanpi_sve.c +@@ -1,6 +1,6 @@ + /* Double-precision (SVE) tanpi function + +- Copyright (C) 2024 Free Software Foundation, Inc. ++ Copyright (C) 2024-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -58,10 +58,10 @@ svfloat64_t SV_NAME_D1 (tanpi) (svfloat64_t x, const svbool_t pg) + svfloat64_t r2 = svmul_x (pg, r, r); + svfloat64_t r4 = svmul_x (pg, r2, r2); + +- svfloat64_t c_1_3 = svld1rq (pg, &d->c1); +- svfloat64_t c_5_7 = svld1rq (pg, &d->c5); +- svfloat64_t c_9_11 = svld1rq (pg, &d->c9); +- svfloat64_t c_13_14 = svld1rq (pg, &d->c13); ++ svfloat64_t c_1_3 = svld1rq (svptrue_b64 (), &d->c1); ++ svfloat64_t c_5_7 = svld1rq (svptrue_b64 (), &d->c5); ++ svfloat64_t c_9_11 = svld1rq (svptrue_b64 (), &d->c9); ++ svfloat64_t c_13_14 = svld1rq (svptrue_b64 (), &d->c13); + svfloat64_t p01 = svmla_lane (sv_f64 (d->c0), r2, c_1_3, 0); + svfloat64_t p23 = svmla_lane (sv_f64 (d->c2), r2, c_1_3, 1); + svfloat64_t p45 = svmla_lane (sv_f64 (d->c4), r2, c_5_7, 0); +diff --git a/sysdeps/aarch64/fpu/tanpif_sve.c b/sysdeps/aarch64/fpu/tanpif_sve.c +index 0285f56f34..6894379564 100644 +--- a/sysdeps/aarch64/fpu/tanpif_sve.c ++++ b/sysdeps/aarch64/fpu/tanpif_sve.c +@@ -1,6 +1,6 @@ + /* Single-precision (SVE) tanpi function + +- Copyright (C) 2024 Free Software Foundation, Inc. ++ Copyright (C) 2024-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -37,7 +37,7 @@ const static struct v_tanpif_data + svfloat32_t SV_NAME_F1 (tanpi) (svfloat32_t x, const svbool_t pg) + { + const struct v_tanpif_data *d = ptr_barrier (&tanpif_data); +- svfloat32_t odd_coeffs = svld1rq (pg, &d->c1); ++ svfloat32_t odd_coeffs = svld1rq (svptrue_b32 (), &d->c1); + svfloat32_t n = svrintn_x (pg, x); + + /* inf produces nan that propagates. */ + +commit 828b8d23f3fa05234d35032a61a746918accf91d +Author: Pierre Blanchard +Date: Tue Nov 18 15:09:05 2025 +0000 + + AArch64: Fix and improve SVE pow(f) special cases + + powf: + + Update scalar special case function to best use new interface. + + pow: + + Make specialcase NOINLINE to prevent str/ldr leaking in fast path. + Remove depency in sv_call2, as new callback impl is not a + performance gain. + Replace with vectorised specialcase since structure of scalar + routine is fairly simple. + + Throughput gain of about 5-10% on V1 for large values and 25% for subnormal `x`. + + Reviewed-by: Wilco Dijkstra  + (cherry picked from commit bb6519de1e6fe73d79bc71588ec4e5668907f080) + +diff --git a/sysdeps/aarch64/fpu/pow_sve.c b/sysdeps/aarch64/fpu/pow_sve.c +index b8c1b39dca..becf1a8410 100644 +--- a/sysdeps/aarch64/fpu/pow_sve.c ++++ b/sysdeps/aarch64/fpu/pow_sve.c +@@ -31,8 +31,8 @@ + The SVE algorithm drops the tail in the exp computation at the price of + a lower accuracy, slightly above 1ULP. + The SVE algorithm also drops the special treatement of small (< 2^-65) and +- large (> 2^63) finite values of |y|, as they only affect non-round to nearest +- modes. ++ large (> 2^63) finite values of |y|, as they only affect non-round to ++ nearest modes. + + Maximum measured error is 1.04 ULPs: + SV_NAME_D2 (pow) (0x1.3d2d45bc848acp+63, -0x1.a48a38b40cd43p-12) +@@ -156,42 +156,22 @@ sv_zeroinfnan (svbool_t pg, svuint64_t i) + a double. (int32_t)KI is the k used in the argument reduction and exponent + adjustment of scale, positive k here means the result may overflow and + negative k means the result may underflow. */ +-static inline double +-specialcase (double tmp, uint64_t sbits, uint64_t ki) +-{ +- double scale; +- if ((ki & 0x80000000) == 0) +- { +- /* k > 0, the exponent of scale might have overflowed by <= 460. */ +- sbits -= 1009ull << 52; +- scale = asdouble (sbits); +- return 0x1p1009 * (scale + scale * tmp); +- } +- /* k < 0, need special care in the subnormal range. */ +- sbits += 1022ull << 52; +- /* Note: sbits is signed scale. */ +- scale = asdouble (sbits); +- double y = scale + scale * tmp; +- return 0x1p-1022 * y; +-} +- +-/* Scalar fallback for special cases of SVE pow's exp. */ + static inline svfloat64_t +-sv_call_specialcase (svfloat64_t x1, svuint64_t u1, svuint64_t u2, +- svfloat64_t y, svbool_t cmp) ++specialcase (svfloat64_t tmp, svuint64_t sbits, svuint64_t ki, svbool_t cmp) + { +- svbool_t p = svpfirst (cmp, svpfalse ()); +- while (svptest_any (cmp, p)) +- { +- double sx1 = svclastb (p, 0, x1); +- uint64_t su1 = svclastb (p, 0, u1); +- uint64_t su2 = svclastb (p, 0, u2); +- double elem = specialcase (sx1, su1, su2); +- svfloat64_t y2 = sv_f64 (elem); +- y = svsel (p, y2, y); +- p = svpnext_b64 (cmp, p); +- } +- return y; ++ svbool_t p_pos = svcmpge_n_f64 (cmp, svreinterpret_f64_u64 (ki), 0.0); ++ ++ /* Scale up or down depending on sign of k. */ ++ svint64_t offset ++ = svsel_s64 (p_pos, sv_s64 (1009ull << 52), sv_s64 (-1022ull << 52)); ++ svfloat64_t factor ++ = svsel_f64 (p_pos, sv_f64 (0x1p1009), sv_f64 (0x1p-1022)); ++ ++ svuint64_t offset_sbits ++ = svsub_u64_x (cmp, sbits, svreinterpret_u64_s64 (offset)); ++ svfloat64_t scale = svreinterpret_f64_u64 (offset_sbits); ++ svfloat64_t res = svmad_f64_x (cmp, scale, tmp, scale); ++ return svmul_f64_x (cmp, res, factor); + } + + /* Compute y+TAIL = log(x) where the rounded result is y and TAIL has about +@@ -214,8 +194,8 @@ sv_log_inline (svbool_t pg, svuint64_t ix, svfloat64_t *tail, + + /* log(x) = k*Ln2 + log(c) + log1p(z/c-1). */ + /* SVE lookup requires 3 separate lookup tables, as opposed to scalar version +- that uses array of structures. We also do the lookup earlier in the code to +- make sure it finishes as early as possible. */ ++ that uses array of structures. We also do the lookup earlier in the code ++ to make sure it finishes as early as possible. */ + svfloat64_t invc = svld1_gather_index (pg, __v_pow_log_data.invc, i); + svfloat64_t logc = svld1_gather_index (pg, __v_pow_log_data.logc, i); + svfloat64_t logctail = svld1_gather_index (pg, __v_pow_log_data.logctail, i); +@@ -325,14 +305,14 @@ sv_exp_inline (svbool_t pg, svfloat64_t x, svfloat64_t xtail, + svbool_t oflow = svcmpge (pg, abstop, HugeExp); + oflow = svand_z (pg, uoflow, svbic_z (pg, oflow, uflow)); + +- /* For large |x| values (512 < |x| < 1024) scale * (1 + TMP) can overflow +- or underflow. */ ++ /* Handle underflow and overlow in scale. ++ For large |x| values (512 < |x| < 1024), scale * (1 + TMP) can ++ overflow or underflow. */ + svbool_t special = svbic_z (pg, uoflow, svorr_z (pg, uflow, oflow)); ++ if (__glibc_unlikely (svptest_any (pg, special))) ++ z = svsel (special, specialcase (tmp, sbits, ki, special), z); + +- /* Update result with special and large cases. */ +- z = sv_call_specialcase (tmp, sbits, ki, z, special); +- +- /* Handle underflow and overflow. */ ++ /* Handle underflow and overflow in exp. */ + svbool_t x_is_neg = svcmplt (pg, x, 0); + svuint64_t sign_mask + = svlsl_x (pg, sign_bias, 52 - V_POW_EXP_TABLE_BITS); +@@ -353,7 +333,7 @@ sv_exp_inline (svbool_t pg, svfloat64_t x, svfloat64_t xtail, + } + + static inline double +-pow_sc (double x, double y) ++pow_specialcase (double x, double y) + { + uint64_t ix = asuint64 (x); + uint64_t iy = asuint64 (y); +@@ -382,6 +362,14 @@ pow_sc (double x, double y) + return x; + } + ++/* Scalar fallback for special case routines with custom signature. */ ++static svfloat64_t NOINLINE ++sv_pow_specialcase (svfloat64_t x1, svfloat64_t x2, svfloat64_t y, ++ svbool_t cmp) ++{ ++ return sv_call2_f64 (pow_specialcase, x1, x2, y, cmp); ++} ++ + svfloat64_t SV_NAME_D2 (pow) (svfloat64_t x, svfloat64_t y, const svbool_t pg) + { + const struct data *d = ptr_barrier (&data); +@@ -444,7 +432,7 @@ svfloat64_t SV_NAME_D2 (pow) (svfloat64_t x, svfloat64_t y, const svbool_t pg) + + /* Cases of zero/inf/nan x or y. */ + if (__glibc_unlikely (svptest_any (svptrue_b64 (), special))) +- vz = sv_call2_f64 (pow_sc, x, y, vz, special); ++ vz = sv_pow_specialcase (x, y, vz, special); + + return vz; + } +diff --git a/sysdeps/aarch64/fpu/powf_sve.c b/sysdeps/aarch64/fpu/powf_sve.c +index 65e9bd29d9..76f54b3522 100644 +--- a/sysdeps/aarch64/fpu/powf_sve.c ++++ b/sysdeps/aarch64/fpu/powf_sve.c +@@ -116,11 +116,10 @@ zeroinfnan (uint32_t ix) + preamble of scalar powf except that we do not update ix and sign_bias. This + is done in the preamble of the SVE powf. */ + static inline float +-powf_specialcase (float x, float y, float z) ++powf_specialcase (float x, float y) + { + uint32_t ix = asuint (x); + uint32_t iy = asuint (y); +- /* Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). */ + if (__glibc_unlikely (zeroinfnan (iy))) + { + if (2 * iy == 0) +@@ -142,32 +141,15 @@ powf_specialcase (float x, float y, float z) + x2 = -x2; + return iy & 0x80000000 ? 1 / x2 : x2; + } +- /* We need a return here in case x<0 and y is integer, but all other tests +- need to be run. */ +- return z; ++ /* Return x for convenience, but make sure result is never used. */ ++ return x; + } + + /* Scalar fallback for special case routines with custom signature. */ + static svfloat32_t NOINLINE +-sv_call_powf_sc (svfloat32_t x1, svfloat32_t x2, svfloat32_t y) ++sv_call_powf_sc (svfloat32_t x1, svfloat32_t x2, svfloat32_t y, svbool_t cmp) + { +- /* Special cases of x or y: zero, inf and nan. */ +- svbool_t xspecial = sv_zeroinfnan (svptrue_b32 (), svreinterpret_u32 (x1)); +- svbool_t yspecial = sv_zeroinfnan (svptrue_b32 (), svreinterpret_u32 (x2)); +- svbool_t cmp = svorr_z (svptrue_b32 (), xspecial, yspecial); +- +- svbool_t p = svpfirst (cmp, svpfalse ()); +- while (svptest_any (cmp, p)) +- { +- float sx1 = svclastb (p, 0, x1); +- float sx2 = svclastb (p, 0, x2); +- float elem = svclastb (p, 0, y); +- elem = powf_specialcase (sx1, sx2, elem); +- svfloat32_t y2 = sv_f32 (elem); +- y = svsel (p, y2, y); +- p = svpnext_b32 (cmp, p); +- } +- return y; ++ return sv_call2_f32 (powf_specialcase, x1, x2, y, cmp); + } + + /* Compute core for half of the lanes in double precision. */ +@@ -330,7 +312,7 @@ svfloat32_t SV_NAME_F2 (pow) (svfloat32_t x, svfloat32_t y, const svbool_t pg) + ret = svsel (yint_or_xpos, ret, sv_f32 (__builtin_nanf (""))); + + if (__glibc_unlikely (svptest_any (cmp, cmp))) +- return sv_call_powf_sc (x, y, ret); ++ return sv_call_powf_sc (x, y, ret, cmp); + + return ret; + } + +commit 6b2957cfe8ad1e02c03a28abfc5a251c05e4005e +Author: Sachin Monga +Date: Fri Nov 21 00:30:04 2025 -0500 + + ppc64le: Restore optimized strcmp for power10 + + This patch addresses the actual cause of CVE-2025-5702 + + The vector non-volatile registers are not used anymore for + 32 byte load and comparison operation + + Additionally, the assembler workaround used earlier for the + instruction lxvp is replaced with actual instruction. + + Signed-off-by: Sachin Monga + Co-authored-by: Paul Murphy + (cherry picked from commit 9a40b1cda519cc4f532acb6d020390829df3d81b) + +diff --git a/sysdeps/powerpc/powerpc64/le/power10/strcmp.S b/sysdeps/powerpc/powerpc64/le/power10/strcmp.S +new file mode 100644 +index 0000000000..0d4a53317c +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/le/power10/strcmp.S +@@ -0,0 +1,185 @@ ++/* Optimized strcmp implementation for PowerPC64/POWER10. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++#include ++ ++#ifndef STRCMP ++# define STRCMP strcmp ++#endif ++ ++/* Implements the function ++ int [r3] strcmp (const char *s1 [r3], const char *s2 [r4]). */ ++ ++ ++#define COMPARE_16(vreg1,vreg2,offset) \ ++ lxv vreg1+32,offset(r3); \ ++ lxv vreg2+32,offset(r4); \ ++ vcmpnezb. v7,vreg1,vreg2; \ ++ bne cr6,L(different); \ ++ ++#define COMPARE_32(vreg1,vreg2,offset,label1,label2) \ ++ lxvp vreg1+32,offset(r3); \ ++ lxvp vreg2+32,offset(r4); \ ++ vcmpnezb. v7,vreg1+1,vreg2+1; \ ++ bne cr6,L(label1); \ ++ vcmpnezb. v7,vreg1,vreg2; \ ++ bne cr6,L(label2); \ ++ ++#define TAIL(vreg1,vreg2) \ ++ vctzlsbb r6,v7; \ ++ vextubrx r5,r6,vreg1; \ ++ vextubrx r4,r6,vreg2; \ ++ subf r3,r4,r5; \ ++ blr; \ ++ ++#define CHECK_N_BYTES(reg1,reg2,len_reg) \ ++ sldi r0,len_reg,56; \ ++ lxvl 32+v4,reg1,r0; \ ++ lxvl 32+v5,reg2,r0; \ ++ add reg1,reg1,len_reg; \ ++ add reg2,reg2,len_reg; \ ++ vcmpnezb. v7,v4,v5; \ ++ vctzlsbb r6,v7; \ ++ cmpld cr7,r6,len_reg; \ ++ blt cr7,L(different); \ ++ ++ ++ .machine power10 ++ENTRY_TOCLESS (STRCMP, 4) ++ li r11,16 ++ /* eq bit of cr1 used as swap status flag to indicate if ++ source pointers were swapped. */ ++ crclr 4*cr1+eq ++ andi. r7,r3,15 ++ sub r7,r11,r7 /* r7(nalign1) = 16 - (str1 & 15). */ ++ andi. r9,r4,15 ++ sub r5,r11,r9 /* r5(nalign2) = 16 - (str2 & 15). */ ++ cmpld cr7,r7,r5 ++ beq cr7,L(same_aligned) ++ blt cr7,L(nalign1_min) ++ /* Swap r3 and r4, and r7 and r5 such that r3 and r7 hold the ++ pointer which is closer to the next 16B boundary so that only ++ one CHECK_N_BYTES is needed before entering the loop below. */ ++ mr r8,r4 ++ mr r4,r3 ++ mr r3,r8 ++ mr r12,r7 ++ mr r7,r5 ++ mr r5,r12 ++ crset 4*cr1+eq /* Set bit on swapping source pointers. */ ++ ++ .p2align 5 ++L(nalign1_min): ++ CHECK_N_BYTES(r3,r4,r7) ++ ++ .p2align 5 ++L(s1_aligned): ++ /* r9 and r5 is number of bytes to be read after and before ++ page boundary correspondingly. */ ++ sub r5,r5,r7 ++ subfic r9,r5,16 ++ /* Now let r7 hold the count of quadwords which can be ++ checked without crossing a page boundary. quadword offset is ++ (str2>>4)&0xFF. */ ++ rlwinm r7,r4,28,0xFF ++ /* Below check is required only for first iteration. For second ++ iteration and beyond, the new loop counter is always 255. */ ++ cmpldi r7,255 ++ beq L(L3) ++ /* Get the initial loop count by 255-((str2>>4)&0xFF). */ ++ subfic r11,r7,255 ++ ++ .p2align 5 ++L(L1): ++ mtctr r11 ++ ++ .p2align 5 ++L(L2): ++ COMPARE_16(v4,v5,0) /* Load 16B blocks using lxv. */ ++ addi r3,r3,16 ++ addi r4,r4,16 ++ bdnz L(L2) ++ /* Cross the page boundary of s2, carefully. */ ++ ++ .p2align 5 ++L(L3): ++ CHECK_N_BYTES(r3,r4,r5) ++ CHECK_N_BYTES(r3,r4,r9) ++ li r11,255 /* Load the new loop counter. */ ++ b L(L1) ++ ++ .p2align 5 ++L(same_aligned): ++ CHECK_N_BYTES(r3,r4,r7) ++ /* Align s1 to 32B and adjust s2 address. ++ Use lxvp only if both s1 and s2 are 32B aligned. */ ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ COMPARE_16(v4,v5,48) ++ addi r3,r3,64 ++ addi r4,r4,64 ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ ++ clrldi r6,r3,59 ++ subfic r5,r6,32 ++ add r3,r3,r5 ++ add r4,r4,r5 ++ andi. r5,r4,0x1F ++ beq cr0,L(32B_aligned_loop) ++ ++ .p2align 5 ++L(16B_aligned_loop): ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ COMPARE_16(v4,v5,48) ++ addi r3,r3,64 ++ addi r4,r4,64 ++ b L(16B_aligned_loop) ++ ++ /* Calculate and return the difference. */ ++L(different): ++ vctzlsbb r6,v7 ++ vextubrx r5,r6,v4 ++ vextubrx r4,r6,v5 ++ bt 4*cr1+eq,L(swapped) ++ subf r3,r4,r5 ++ blr ++ ++ /* If src pointers were swapped, then swap the ++ indices and calculate the return value. */ ++L(swapped): ++ subf r3,r5,r4 ++ blr ++ ++ .p2align 5 ++L(32B_aligned_loop): ++ COMPARE_32(v14,v16,0,tail1,tail2) ++ COMPARE_32(v14,v16,32,tail1,tail2) ++ COMPARE_32(v14,v16,64,tail1,tail2) ++ COMPARE_32(v14,v16,96,tail1,tail2) ++ addi r3,r3,128 ++ addi r4,r4,128 ++ b L(32B_aligned_loop) ++ ++L(tail1): TAIL(v15,v17) ++L(tail2): TAIL(v14,v16) ++ ++END (STRCMP) ++libc_hidden_builtin_def (strcmp) +diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile +index e321ce54e0..818f287925 100644 +--- a/sysdeps/powerpc/powerpc64/multiarch/Makefile ++++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile +@@ -32,7 +32,7 @@ sysdep_routines += memcpy-power8-cached memcpy-power7 memcpy-a2 memcpy-power6 \ + ifneq (,$(filter %le,$(config-machine))) + sysdep_routines += memcmp-power10 memcpy-power10 memmove-power10 memset-power10 \ + rawmemchr-power9 rawmemchr-power10 \ +- strcmp-power9 strncmp-power9 \ ++ strcmp-power9 strcmp-power10 strncmp-power9 \ + strcpy-power9 strcat-power10 stpcpy-power9 \ + strlen-power9 strncpy-power9 stpncpy-power9 strlen-power10 + endif +diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +index 016d05fd16..dde3bec709 100644 +--- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c ++++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +@@ -366,6 +366,10 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, + /* Support sysdeps/powerpc/powerpc64/multiarch/strcmp.c. */ + IFUNC_IMPL (i, name, strcmp, + #ifdef __LITTLE_ENDIAN__ ++ IFUNC_IMPL_ADD (array, i, strcmp, ++ (hwcap2 & PPC_FEATURE2_ARCH_3_1) ++ && (hwcap & PPC_FEATURE_HAS_VSX), ++ __strcmp_power10) + IFUNC_IMPL_ADD (array, i, strcmp, + hwcap2 & PPC_FEATURE2_ARCH_3_00 + && hwcap & PPC_FEATURE_HAS_ALTIVEC, +diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S +new file mode 100644 +index 0000000000..a4ee7fb53c +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp-power10.S +@@ -0,0 +1,26 @@ ++/* Optimized strcmp implementation for POWER10/PPC64. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#if defined __LITTLE_ENDIAN__ && IS_IN (libc) ++#define STRCMP __strcmp_power10 ++ ++#undef libc_hidden_builtin_def ++#define libc_hidden_builtin_def(name) ++ ++#include ++#endif /* __LITTLE_ENDIAN__ && IS_IN (libc) */ +diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c +index 7c77c084a7..3c636e3bbc 100644 +--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c ++++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c +@@ -29,12 +29,16 @@ extern __typeof (strcmp) __strcmp_power7 attribute_hidden; + extern __typeof (strcmp) __strcmp_power8 attribute_hidden; + # ifdef __LITTLE_ENDIAN__ + extern __typeof (strcmp) __strcmp_power9 attribute_hidden; ++extern __typeof (strcmp) __strcmp_power10 attribute_hidden; + # endif + + # undef strcmp + + libc_ifunc_redirected (__redirect_strcmp, strcmp, + # ifdef __LITTLE_ENDIAN__ ++ (hwcap2 & PPC_FEATURE2_ARCH_3_1 ++ && hwcap & PPC_FEATURE_HAS_VSX) ++ ? __strcmp_power10 : + (hwcap2 & PPC_FEATURE2_ARCH_3_00 + && hwcap & PPC_FEATURE_HAS_ALTIVEC) + ? __strcmp_power9 : + +commit 2dbf973fe03f9b8fd5a4740ee0af0d47afdd7bbd +Author: Sachin Monga +Date: Fri Nov 21 00:30:52 2025 -0500 + + ppc64le: Restore optimized strncmp for power10 + + This patch addresses the actual cause of CVE-2025-5745 + + The vector non-volatile registers are not used anymore for + 32 byte load and comparison operation + + Additionally, the assembler workaround used earlier for the + instruction lxvp is replaced with actual instruction. + + Signed-off-by: Sachin Monga + Co-authored-by: Paul Murphy + (cherry picked from commit 2ea943f7d487d6a4166658b32af7c5365889fc34) + +diff --git a/sysdeps/powerpc/powerpc64/le/power10/strncmp.S b/sysdeps/powerpc/powerpc64/le/power10/strncmp.S +new file mode 100644 +index 0000000000..6e09fcb7f2 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/le/power10/strncmp.S +@@ -0,0 +1,252 @@ ++/* Optimized strncmp implementation for PowerPC64/POWER10. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++ ++/* Implements the function ++ ++ int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t [r5] n) ++ ++ The implementation uses unaligned doubleword access to avoid specialized ++ code paths depending of data alignment for first 32 bytes and uses ++ vectorised loops after that. */ ++ ++#ifndef STRNCMP ++# define STRNCMP strncmp ++#endif ++ ++#define COMPARE_16(vreg1,vreg2,offset) \ ++ lxv vreg1+32,offset(r3); \ ++ lxv vreg2+32,offset(r4); \ ++ vcmpnezb. v7,vreg1,vreg2; \ ++ bne cr6,L(different); \ ++ cmpldi cr7,r5,16; \ ++ ble cr7,L(ret0); \ ++ addi r5,r5,-16; ++ ++#define COMPARE_32(vreg1,vreg2,offset,label1,label2) \ ++ lxvp vreg1+32,offset(r3); \ ++ lxvp vreg2+32,offset(r4); \ ++ vcmpnezb. v7,vreg1+1,vreg2+1; \ ++ bne cr6,L(label1); \ ++ vcmpnezb. v7,vreg1,vreg2; \ ++ bne cr6,L(label2); \ ++ cmpldi cr7,r5,32; \ ++ ble cr7,L(ret0); \ ++ addi r5,r5,-32; ++ ++#define TAIL_FIRST_16B(vreg1,vreg2) \ ++ vctzlsbb r6,v7; \ ++ cmpld cr7,r5,r6; \ ++ ble cr7,L(ret0); \ ++ vextubrx r5,r6,vreg1; \ ++ vextubrx r4,r6,vreg2; \ ++ subf r3,r4,r5; \ ++ blr; ++ ++#define TAIL_SECOND_16B(vreg1,vreg2) \ ++ vctzlsbb r6,v7; \ ++ addi r0,r6,16; \ ++ cmpld cr7,r5,r0; \ ++ ble cr7,L(ret0); \ ++ vextubrx r5,r6,vreg1; \ ++ vextubrx r4,r6,vreg2; \ ++ subf r3,r4,r5; \ ++ blr; ++ ++#define CHECK_N_BYTES(reg1,reg2,len_reg) \ ++ sldi r6,len_reg,56; \ ++ lxvl 32+v4,reg1,r6; \ ++ lxvl 32+v5,reg2,r6; \ ++ add reg1,reg1,len_reg; \ ++ add reg2,reg2,len_reg; \ ++ vcmpnezb v7,v4,v5; \ ++ vctzlsbb r6,v7; \ ++ cmpld cr7,r6,len_reg; \ ++ blt cr7,L(different); \ ++ cmpld cr7,r5,len_reg; \ ++ ble cr7,L(ret0); \ ++ sub r5,r5,len_reg; \ ++ ++ .machine power10 ++ENTRY_TOCLESS (STRNCMP, 4) ++ /* Check if size is 0. */ ++ cmpdi cr0,r5,0 ++ beq cr0,L(ret0) ++ andi. r7,r3,4095 ++ andi. r8,r4,4095 ++ cmpldi cr0,r7,4096-16 ++ cmpldi cr1,r8,4096-16 ++ bgt cr0,L(crosses) ++ bgt cr1,L(crosses) ++ COMPARE_16(v4,v5,0) ++ addi r3,r3,16 ++ addi r4,r4,16 ++ ++L(crosses): ++ andi. r7,r3,15 ++ subfic r7,r7,16 /* r7(nalign1) = 16 - (str1 & 15). */ ++ andi. r9,r4,15 ++ subfic r8,r9,16 /* r8(nalign2) = 16 - (str2 & 15). */ ++ cmpld cr7,r7,r8 ++ beq cr7,L(same_aligned) ++ blt cr7,L(nalign1_min) ++ ++ /* nalign2 is minimum and s2 pointer is aligned. */ ++ CHECK_N_BYTES(r3,r4,r8) ++ /* Are we on the 64B hunk which crosses a page? */ ++ andi. r10,r3,63 /* Determine offset into 64B hunk. */ ++ andi. r8,r3,15 /* The offset into the 16B hunk. */ ++ neg r7,r3 ++ andi. r9,r7,15 /* Number of bytes after a 16B cross. */ ++ rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */ ++ beq L(compare_64_pagecross) ++ mtctr r7 ++ b L(compare_64B_unaligned) ++ ++ /* nalign1 is minimum and s1 pointer is aligned. */ ++L(nalign1_min): ++ CHECK_N_BYTES(r3,r4,r7) ++ /* Are we on the 64B hunk which crosses a page? */ ++ andi. r10,r4,63 /* Determine offset into 64B hunk. */ ++ andi. r8,r4,15 /* The offset into the 16B hunk. */ ++ neg r7,r4 ++ andi. r9,r7,15 /* Number of bytes after a 16B cross. */ ++ rlwinm. r7,r7,26,0x3F /* ((r4-4096))>>6&63. */ ++ beq L(compare_64_pagecross) ++ mtctr r7 ++ ++ .p2align 5 ++L(compare_64B_unaligned): ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ COMPARE_16(v4,v5,48) ++ addi r3,r3,64 ++ addi r4,r4,64 ++ bdnz L(compare_64B_unaligned) ++ ++ /* Cross the page boundary of s2, carefully. Only for first ++ iteration we have to get the count of 64B blocks to be checked. ++ From second iteration and beyond, loop counter is always 63. */ ++L(compare_64_pagecross): ++ li r11, 63 ++ mtctr r11 ++ cmpldi r10,16 ++ ble L(cross_4) ++ cmpldi r10,32 ++ ble L(cross_3) ++ cmpldi r10,48 ++ ble L(cross_2) ++L(cross_1): ++ CHECK_N_BYTES(r3,r4,r9) ++ CHECK_N_BYTES(r3,r4,r8) ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ addi r3,r3,48 ++ addi r4,r4,48 ++ b L(compare_64B_unaligned) ++L(cross_2): ++ COMPARE_16(v4,v5,0) ++ addi r3,r3,16 ++ addi r4,r4,16 ++ CHECK_N_BYTES(r3,r4,r9) ++ CHECK_N_BYTES(r3,r4,r8) ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ addi r3,r3,32 ++ addi r4,r4,32 ++ b L(compare_64B_unaligned) ++L(cross_3): ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ addi r3,r3,32 ++ addi r4,r4,32 ++ CHECK_N_BYTES(r3,r4,r9) ++ CHECK_N_BYTES(r3,r4,r8) ++ COMPARE_16(v4,v5,0) ++ addi r3,r3,16 ++ addi r4,r4,16 ++ b L(compare_64B_unaligned) ++L(cross_4): ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ addi r3,r3,48 ++ addi r4,r4,48 ++ CHECK_N_BYTES(r3,r4,r9) ++ CHECK_N_BYTES(r3,r4,r8) ++ b L(compare_64B_unaligned) ++ ++L(same_aligned): ++ CHECK_N_BYTES(r3,r4,r7) ++ /* Align s1 to 32B and adjust s2 address. ++ Use lxvp only if both s1 and s2 are 32B aligned. */ ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ COMPARE_16(v4,v5,48) ++ addi r3,r3,64 ++ addi r4,r4,64 ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ addi r5,r5,32 ++ ++ clrldi r6,r3,59 ++ subfic r7,r6,32 ++ add r3,r3,r7 ++ add r4,r4,r7 ++ subf r5,r7,r5 ++ andi. r7,r4,0x1F ++ beq cr0,L(32B_aligned_loop) ++ ++ .p2align 5 ++L(16B_aligned_loop): ++ COMPARE_16(v4,v5,0) ++ COMPARE_16(v4,v5,16) ++ COMPARE_16(v4,v5,32) ++ COMPARE_16(v4,v5,48) ++ addi r3,r3,64 ++ addi r4,r4,64 ++ b L(16B_aligned_loop) ++ ++ /* Calculate and return the difference. */ ++L(different): ++ TAIL_FIRST_16B(v4,v5) ++ ++ .p2align 5 ++L(32B_aligned_loop): ++ COMPARE_32(v14,v16,0,tail1,tail2) ++ COMPARE_32(v14,v16,32,tail1,tail2) ++ COMPARE_32(v14,v16,64,tail1,tail2) ++ COMPARE_32(v14,v16,96,tail1,tail2) ++ addi r3,r3,128 ++ addi r4,r4,128 ++ b L(32B_aligned_loop) ++ ++L(tail1): TAIL_FIRST_16B(v15,v17) ++L(tail2): TAIL_SECOND_16B(v14,v16) ++ ++ .p2align 5 ++L(ret0): ++ li r3,0 ++ blr ++ ++END(STRNCMP) ++libc_hidden_builtin_def(strncmp) +diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile +index 818f287925..c9178223a8 100644 +--- a/sysdeps/powerpc/powerpc64/multiarch/Makefile ++++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile +@@ -32,7 +32,7 @@ sysdep_routines += memcpy-power8-cached memcpy-power7 memcpy-a2 memcpy-power6 \ + ifneq (,$(filter %le,$(config-machine))) + sysdep_routines += memcmp-power10 memcpy-power10 memmove-power10 memset-power10 \ + rawmemchr-power9 rawmemchr-power10 \ +- strcmp-power9 strcmp-power10 strncmp-power9 \ ++ strcmp-power9 strcmp-power10 strncmp-power9 strncmp-power10 \ + strcpy-power9 strcat-power10 stpcpy-power9 \ + strlen-power9 strncpy-power9 stpncpy-power9 strlen-power10 + endif +diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +index dde3bec709..f2b9cccde3 100644 +--- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c ++++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +@@ -164,6 +164,9 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, + /* Support sysdeps/powerpc/powerpc64/multiarch/strncmp.c. */ + IFUNC_IMPL (i, name, strncmp, + #ifdef __LITTLE_ENDIAN__ ++ IFUNC_IMPL_ADD (array, i, strncmp, hwcap2 & PPC_FEATURE2_ARCH_3_1 ++ && hwcap & PPC_FEATURE_HAS_VSX, ++ __strncmp_power10) + IFUNC_IMPL_ADD (array, i, strncmp, hwcap2 & PPC_FEATURE2_ARCH_3_00 + && hwcap & PPC_FEATURE_HAS_ALTIVEC, + __strncmp_power9) +diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S +new file mode 100644 +index 0000000000..bb25bc75b8 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S +@@ -0,0 +1,25 @@ ++/* Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#if defined __LITTLE_ENDIAN__ && IS_IN (libc) ++#define STRNCMP __strncmp_power10 ++ ++#undef libc_hidden_builtin_def ++#define libc_hidden_builtin_def(name) ++ ++#include ++#endif +diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c +index 4cfe27fa45..0a664a620d 100644 +--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c ++++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c +@@ -29,6 +29,7 @@ extern __typeof (strncmp) __strncmp_ppc attribute_hidden; + extern __typeof (strncmp) __strncmp_power8 attribute_hidden; + # ifdef __LITTLE_ENDIAN__ + extern __typeof (strncmp) __strncmp_power9 attribute_hidden; ++extern __typeof (strncmp) __strncmp_power10 attribute_hidden; + # endif + # undef strncmp + +@@ -36,6 +37,9 @@ extern __typeof (strncmp) __strncmp_power9 attribute_hidden; + ifunc symbol properly. */ + libc_ifunc_redirected (__redirect_strncmp, strncmp, + # ifdef __LITTLE_ENDIAN__ ++ (hwcap2 & PPC_FEATURE2_ARCH_3_1 ++ && hwcap & PPC_FEATURE_HAS_VSX) ++ ? __strncmp_power10 : + (hwcap2 & PPC_FEATURE2_ARCH_3_00 + && hwcap & PPC_FEATURE_HAS_ALTIVEC) + ? __strncmp_power9 : + +commit 8aaf4b732d7650c2db3beb4dc8bb70eab5b022c3 +Author: Sachin Monga +Date: Thu Nov 27 03:28:17 2025 -0500 + + ppc64le: Power 10 rawmemchr clobbers v20 (bug #33091) + + Replace non-volatile(v20) by volatile(v17) + since v20 is not restored + + Reviewed-by: Peter Bergner + (cherry picked from commit b59799f14f97f697c3a36b4380bd4ce2fbe65f11) + +diff --git a/sysdeps/powerpc/powerpc64/le/power10/strlen.S b/sysdeps/powerpc/powerpc64/le/power10/strlen.S +index ec644d5bff..29a5a7d960 100644 +--- a/sysdeps/powerpc/powerpc64/le/power10/strlen.S ++++ b/sysdeps/powerpc/powerpc64/le/power10/strlen.S +@@ -31,7 +31,7 @@ + # define FUNCNAME RAWMEMCHR + # endif + # define MCOUNT_NARGS 2 +-# define VREG_ZERO v20 ++# define VREG_ZERO v17 + # define OFF_START_LOOP 256 + # define RAWMEMCHR_SUBTRACT_VECTORS \ + vsububm v4,v4,v18; \ + +commit b11411fe2ee7a8f3c3a2c1ee99c1729adb9a0efe +Author: Yury Khrustalev +Date: Thu Nov 6 12:57:58 2025 +0000 + + posix: Fix invalid flags test for p{write,read}v2 + + Two tests fail from time to time when a new flag is added for the + p{write,read}v2 functions in a new Linux kernel: + + - misc/tst-preadvwritev2 + - misc/tst-preadvwritev64v2 + + This disrupts when testing Glibc on a system with a newer kernel + and it seems we can try improve testing for invalid flags setting + all the bits that are not supposed to be supported (rather than + setting only the next unsupported bit). + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 58a31b4316f1f687184eb147ffa1c676bc6a190e) + +diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c +index ff1007d6d2..5182fcdce0 100644 +--- a/misc/tst-preadvwritev2-common.c ++++ b/misc/tst-preadvwritev2-common.c +@@ -109,9 +109,8 @@ do_test_with_invalid_iov (void) + static void + do_test_with_invalid_flags (void) + { +- /* Set the next bit from the mask of all supported flags. */ +- int invalid_flag = RWF_SUPPORTED != 0 ? __builtin_clz (RWF_SUPPORTED) : 2; +- invalid_flag = 0x1 << ((sizeof (int) * CHAR_BIT) - invalid_flag); ++ /* Set all the bits that are not used by the supported flags. */ ++ int invalid_flag = ~RWF_SUPPORTED; + + char buf[32]; + const struct iovec vec = { .iov_base = buf, .iov_len = sizeof (buf) }; + +commit efdf4c0c879590109778244046f84a80a4bf8fee +Author: DJ Delorie +Date: Wed Oct 15 21:37:56 2025 -0400 + + sprof: check pread size and offset for overflow + + Add a bit of descriptive paranoia to the values we read from + the ELF headers and use to access data. + + Reviewed-by: Collin Funk + (cherry picked from commit 324084649b2da2f6840e3a1b84159a4e9a9e9a74) + +diff --git a/elf/sprof.c b/elf/sprof.c +index c82c7c9db6..e9d2a66a4f 100644 +--- a/elf/sprof.c ++++ b/elf/sprof.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + /* Get libc version number. */ + #include "../version.h" +@@ -410,6 +411,7 @@ load_shobj (const char *name) + int fd; + ElfW(Shdr) *shdr; + size_t pagesize = getpagesize (); ++ struct stat st; + + /* Since we use dlopen() we must be prepared to work around the sometimes + strange lookup rules for the shared objects. If we have a file foo.so +@@ -550,14 +552,39 @@ load_shobj (const char *name) + error (EXIT_FAILURE, errno, _("Reopening shared object `%s' failed"), + map->l_name); + ++ if (fstat (fd, &st) < 0) ++ error (EXIT_FAILURE, errno, _("stat(%s) failure"), map->l_name); ++ ++ /* We're depending on data that's being read from the file, so be a ++ bit paranoid here and make sure the requests are reasonable - ++ i.e. both size and offset are nonnegative and smaller than the ++ file size, as well as the offset of the end of the data. PREAD ++ would have failed anyway, but this is more robust and explains ++ what happened better. Note that SZ must be unsigned and OFF may ++ be signed or unsigned. */ ++#define PCHECK(sz1,off1) { \ ++ size_t sz = sz1, end_off; \ ++ off_t off = off1; \ ++ if (sz > st.st_size \ ++ || off < 0 || off > st.st_size \ ++ || INT_ADD_WRAPV (sz, off, &end_off) \ ++ || end_off > st.st_size) \ ++ error (EXIT_FAILURE, ERANGE, \ ++ _("read outside of file extents %zu + %zd > %zu"), \ ++ sz, off, st.st_size); \ ++ } ++ + /* Map the section header. */ + size_t size = ehdr->e_shnum * sizeof (ElfW(Shdr)); + shdr = (ElfW(Shdr) *) alloca (size); ++ PCHECK (size, ehdr->e_shoff); + if (pread (fd, shdr, size, ehdr->e_shoff) != size) + error (EXIT_FAILURE, errno, _("reading of section headers failed")); + + /* Get the section header string table. */ + char *shstrtab = (char *) alloca (shdr[ehdr->e_shstrndx].sh_size); ++ PCHECK (shdr[ehdr->e_shstrndx].sh_size, ++ shdr[ehdr->e_shstrndx].sh_offset); + if (pread (fd, shstrtab, shdr[ehdr->e_shstrndx].sh_size, + shdr[ehdr->e_shstrndx].sh_offset) + != shdr[ehdr->e_shstrndx].sh_size) +@@ -585,6 +612,7 @@ load_shobj (const char *name) + size_t size = debuglink_entry->sh_size; + char *debuginfo_fname = (char *) alloca (size + 1); + debuginfo_fname[size] = '\0'; ++ PCHECK (size, debuglink_entry->sh_offset); + if (pread (fd, debuginfo_fname, size, debuglink_entry->sh_offset) + != size) + { +@@ -638,21 +666,32 @@ load_shobj (const char *name) + if (fd2 != -1) + { + ElfW(Ehdr) ehdr2; ++ struct stat st; ++ ++ if (fstat (fd2, &st) < 0) ++ error (EXIT_FAILURE, errno, _("stat(%s) failure"), workbuf); + + /* Read the ELF header. */ ++ PCHECK (sizeof (ehdr2), 0); + if (pread (fd2, &ehdr2, sizeof (ehdr2), 0) != sizeof (ehdr2)) + error (EXIT_FAILURE, errno, + _("reading of ELF header failed")); + + /* Map the section header. */ +- size_t size = ehdr2.e_shnum * sizeof (ElfW(Shdr)); ++ size_t size; ++ if (INT_MULTIPLY_WRAPV (ehdr2.e_shnum, sizeof (ElfW(Shdr)), &size)) ++ error (EXIT_FAILURE, errno, _("too many section headers")); ++ + ElfW(Shdr) *shdr2 = (ElfW(Shdr) *) alloca (size); ++ PCHECK (size, ehdr2.e_shoff); + if (pread (fd2, shdr2, size, ehdr2.e_shoff) != size) + error (EXIT_FAILURE, errno, + _("reading of section headers failed")); + + /* Get the section header string table. */ + shstrtab = (char *) alloca (shdr2[ehdr2.e_shstrndx].sh_size); ++ PCHECK (shdr2[ehdr2.e_shstrndx].sh_size, ++ shdr2[ehdr2.e_shstrndx].sh_offset); + if (pread (fd2, shstrtab, shdr2[ehdr2.e_shstrndx].sh_size, + shdr2[ehdr2.e_shstrndx].sh_offset) + != shdr2[ehdr2.e_shstrndx].sh_size) + +commit 2a0873aa81446149c6065237e1dc2511201bef88 +Author: Collin Funk +Date: Wed Oct 22 01:51:09 2025 -0700 + + sprof: fix -Wformat warnings on 32-bit hosts + + Reviewed-by: H.J. Lu + (cherry picked from commit 9681f645ba20fc3c18eb12ffebf94e3df1f888e3) + +diff --git a/elf/sprof.c b/elf/sprof.c +index e9d2a66a4f..513e0470b2 100644 +--- a/elf/sprof.c ++++ b/elf/sprof.c +@@ -570,8 +570,8 @@ load_shobj (const char *name) + || INT_ADD_WRAPV (sz, off, &end_off) \ + || end_off > st.st_size) \ + error (EXIT_FAILURE, ERANGE, \ +- _("read outside of file extents %zu + %zd > %zu"), \ +- sz, off, st.st_size); \ ++ _("read outside of file extents %zu + %jd > %jd"), \ ++ sz, (intmax_t) off, (intmax_t) st.st_size); \ + } + + /* Map the section header. */ + +commit 8dfb84ad4efbc39c7a7d9efdff6f6ac9017e0a53 +Author: Florian Weimer +Date: Thu Nov 6 14:33:22 2025 +0100 + + support: Fix FILE * leak in check_for_unshare_hints in test-container + + The file opened via fopen is never closed. + + (cherry picked from commit 20a2a756089eacd7e7f4c02e381e82b5d0e40a2c) + +diff --git a/support/test-container.c b/support/test-container.c +index 1c40ab377f..d78139622f 100644 +--- a/support/test-container.c ++++ b/support/test-container.c +@@ -705,6 +705,7 @@ check_for_unshare_hints (int require_pidns) + + val = -1; /* Sentinel. */ + int cnt = fscanf (f, "%d", &val); ++ fclose (f); + if (cnt == 1 && val != files[i].bad_value) + continue; + + +commit a1d3294a5bed821aece03994ab4e72c8b822a962 +Author: Florian Weimer +Date: Thu Nov 6 14:49:21 2025 +0100 + + support: Exit on consistency check failure in resolv_response_add_name + + Using TEST_VERIFY (crname_target != crname) instructs some analysis + tools that crname_target == crname might hold. Under this assumption, + they report a use-after-free for crname_target->offset below, caused + by the previous free (crname). + + Reviewed-by: Collin Funk + (cherry picked from commit b64335ff111c071fde61aec1c1a8460afb3d16d4) + +diff --git a/support/resolv_test.c b/support/resolv_test.c +index ab37d3d58c..29e59da958 100644 +--- a/support/resolv_test.c ++++ b/support/resolv_test.c +@@ -326,7 +326,7 @@ resolv_response_add_name (struct resolv_response_builder *b, + crname_target = *ptr; + else + crname_target = NULL; +- TEST_VERIFY (crname_target != crname); ++ TEST_VERIFY_EXIT (crname_target != crname); + /* Not added to the tree. */ + free (crname); + } diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 7e617c326996..664c373caa2d 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -49,9 +49,9 @@ }@args: let - version = "2.40"; - patchSuffix = "-66"; - sha256 = "sha256-GaiQF16SY9dI9ieZPeb0sa+c0h4D8IDkv7Oh+sECBaI="; + version = "2.42"; + patchSuffix = "-47"; + sha256 = "sha256-0XdeMuRijmTvkw9DW2e7Y691may2viszW58Z8WUJ8X8="; in assert withLinuxHeaders -> linuxHeaders != null; @@ -68,17 +68,17 @@ stdenv.mkDerivation ( /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. $ git fetch --all -p && git checkout origin/release/2.40/master && git describe - glibc-2.40-142-g2eb180377b - $ git show --minimal --reverse glibc-2.40.. ':!ADVISORIES' > 2.40-master.patch + glibc-2.42-47-ga1d3294a5b + $ git show --minimal --reverse glibc-2.42.. ':!ADVISORIES' > 2.42-master.patch To compare the archive contents zdiff can be used. - $ diff -u 2.40-master.patch ../nixpkgs/pkgs/development/libraries/glibc/2.40-master.patch + $ diff -u 2.42-master.patch ../nixpkgs/pkgs/development/libraries/glibc/2.42-master.patch Please note that each commit has changes to the file ADVISORIES excluded since that conflicts with the directory advisories/ making cross-builds from hosts with case-insensitive file-systems impossible. */ - ./2.40-master.patch + ./2.42-master.patch # Allow NixOS and Nix to handle the locale-archive. ./nix-locale-archive.patch @@ -164,15 +164,6 @@ stdenv.mkDerivation ( -#define LIBIDN2_SONAME "libidn2.so.0" +#define LIBIDN2_SONAME "${lib.getLib libidn2}/lib/libidn2.so.0" EOF - '' - # For some reason, with gcc-15 build fails with the following error: - # - # zic.c:3767:1: note: did you mean to specify it after ')' following function parameters? - # zic.c:3781:1: error: standard 'reproducible' attribute can only be applied to function declarators or type specifiers with function type [] - + '' - for path in timezone/zic.c timezone/zdump.c ; do - substituteInPlace $path --replace-fail "ATTRIBUTE_REPRODUCIBLE" "" - done ''; configureFlags = [ From 00105a15ea6a20c6b07a32ca40e9439ec986c90c Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 25 Sep 2025 23:03:08 +0200 Subject: [PATCH 0138/1216] gcc13,gcc14: fix build w/ glibc-2.42 --- .../13/libsanitizer-fix-with-glibc-2.42.patch | 74 +++++++++++++++++++ .../compilers/gcc/patches/default.nix | 2 + 2 files changed, 76 insertions(+) create mode 100644 pkgs/development/compilers/gcc/patches/13/libsanitizer-fix-with-glibc-2.42.patch diff --git a/pkgs/development/compilers/gcc/patches/13/libsanitizer-fix-with-glibc-2.42.patch b/pkgs/development/compilers/gcc/patches/13/libsanitizer-fix-with-glibc-2.42.patch new file mode 100644 index 000000000000..43451c18dde7 --- /dev/null +++ b/pkgs/development/compilers/gcc/patches/13/libsanitizer-fix-with-glibc-2.42.patch @@ -0,0 +1,74 @@ +From 1789c57dc97ea2f9819ef89e28bf17208b6208e7 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 2 May 2025 17:41:43 +0200 +Subject: [PATCH] libsanitizer: Fix build with glibc 2.42 + +The termio structure will be removed from glibc 2.42. It has +been deprecated since the late 80s/early 90s. + +Cherry-picked from LLVM commit 59978b21ad9c65276ee8e14f26759691b8a65763 +("[sanitizer_common] Remove interceptors for deprecated struct termio +(#137403)"). + +Co-Authored-By: Tom Stellard + +libsanitizer/ + + * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry + picked from LLVM commit 59978b21ad9c65276ee8e14f26759691b8a65763. + * sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise. + * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. +--- + .../sanitizer_common_interceptors_ioctl.inc | 8 -------- + .../sanitizer_common/sanitizer_platform_limits_posix.cpp | 3 --- + .../sanitizer_common/sanitizer_platform_limits_posix.h | 1 - + 3 files changed, 12 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 49ec4097c900b..dda11daa77f49 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -338,17 +338,9 @@ static void ioctl_table_fill() { + _(SOUND_PCM_WRITE_CHANNELS, WRITE, sizeof(int)); + _(SOUND_PCM_WRITE_FILTER, WRITE, sizeof(int)); + _(TCFLSH, NONE, 0); +-#if SANITIZER_GLIBC +- _(TCGETA, WRITE, struct_termio_sz); +-#endif + _(TCGETS, WRITE, struct_termios_sz); + _(TCSBRK, NONE, 0); + _(TCSBRKP, NONE, 0); +-#if SANITIZER_GLIBC +- _(TCSETA, READ, struct_termio_sz); +- _(TCSETAF, READ, struct_termio_sz); +- _(TCSETAW, READ, struct_termio_sz); +-#endif + _(TCSETS, READ, struct_termios_sz); + _(TCSETSF, READ, struct_termios_sz); + _(TCSETSW, READ, struct_termios_sz); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index c87d5ef42c924..7bbc6f2edac2e 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -485,9 +485,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned struct_input_id_sz = sizeof(struct input_id); + unsigned struct_mtpos_sz = sizeof(struct mtpos); + unsigned struct_rtentry_sz = sizeof(struct rtentry); +-#if SANITIZER_GLIBC || SANITIZER_ANDROID +- unsigned struct_termio_sz = sizeof(struct termio); +-#endif + unsigned struct_vt_consize_sz = sizeof(struct vt_consize); + unsigned struct_vt_sizes_sz = sizeof(struct vt_sizes); + unsigned struct_vt_stat_sz = sizeof(struct vt_stat); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index c07f7cd0b0d08..a80df656826ee 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -1029,7 +1029,6 @@ extern unsigned struct_hd_geometry_sz; + extern unsigned struct_input_absinfo_sz; + extern unsigned struct_input_id_sz; + extern unsigned struct_mtpos_sz; +-extern unsigned struct_termio_sz; + extern unsigned struct_vt_consize_sz; + extern unsigned struct_vt_sizes_sz; + extern unsigned struct_vt_stat_sz; diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix index d7eeee3eb739..7d75bbdd68de 100644 --- a/pkgs/development/compilers/gcc/patches/default.nix +++ b/pkgs/development/compilers/gcc/patches/default.nix @@ -72,10 +72,12 @@ optionals noSysDirs ( "14" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch + ./13/libsanitizer-fix-with-glibc-2.42.patch ]; "13" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch + ./13/libsanitizer-fix-with-glibc-2.42.patch ]; } ."${majorVersion}" or [ ] From a4646451c4725992263a6085bdb8c74f70bf82a6 Mon Sep 17 00:00:00 2001 From: cizordj <32869222+cizordj@users.noreply.github.com> Date: Tue, 30 Dec 2025 10:57:54 -0300 Subject: [PATCH 0139/1216] sonarlint-ls: 3.25.0.76263 -> 4.8.0.77946 - Update to latest upstream release - Refresh source hash - Refresh mvnHash dependencies --- pkgs/by-name/so/sonarlint-ls/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/so/sonarlint-ls/package.nix b/pkgs/by-name/so/sonarlint-ls/package.nix index 41cc673a7787..70a40f67bde9 100644 --- a/pkgs/by-name/so/sonarlint-ls/package.nix +++ b/pkgs/by-name/so/sonarlint-ls/package.nix @@ -16,17 +16,17 @@ maven.buildMavenPackage rec { pname = "sonarlint-ls"; - version = "3.25.0.76263"; + version = "4.8.0.77946"; src = fetchFromGitHub { owner = "SonarSource"; repo = "sonarlint-language-server"; rev = version; - hash = "sha256-bnR6h2NRdGwmx04ydQIlE2VMe/C23YRqNxdbbb19yzE="; + hash = "sha256-kwgkRCVcEFGv18zVK9y0JhIx6Cb6XBrnwGbzf2uDdZE="; }; mvnJdk = jdk17; - mvnHash = "sha256-Fk6JPMmzz7YnPWOdWKOXQ8z6bdYuXSgQdWBOaIlpd4A="; + mvnHash = "sha256-KyA2/ABdT35DqzEhE5P+aSGJfu60o6T4+ofQNiQTPFg="; # Disables failing tests which either need network access or are flaky. mvnParameters = lib.escapeShellArgs [ From 8efb0b1c33a63c677c4fa7dc37f77a6402e16ec2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 15:29:32 +0000 Subject: [PATCH 0140/1216] libraw: 0.21.4 -> 0.21.5b --- pkgs/by-name/li/libraw/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libraw/package.nix b/pkgs/by-name/li/libraw/package.nix index 157096563529..90a9d1181674 100644 --- a/pkgs/by-name/li/libraw/package.nix +++ b/pkgs/by-name/li/libraw/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libraw"; - version = "0.21.4"; + version = "0.21.5b"; src = fetchFromGitHub { owner = "LibRaw"; repo = "LibRaw"; tag = finalAttrs.version; - hash = "sha256-JAGIM7A9RbK22F8KczRcb+29t4fDDXzoCA3a4s/z6Q8="; + hash = "sha256-CE7XB61bnjRhy0Ww2Q3pvvSJMobHHta5jn4F/i/oOEE="; }; outputs = [ From 52c35c754ceea9d3cf9ab47965336ce5608d76b9 Mon Sep 17 00:00:00 2001 From: cizordj <32869222+cizordj@users.noreply.github.com> Date: Tue, 30 Dec 2025 12:18:09 -0300 Subject: [PATCH 0141/1216] maintainers: add cizordj --- maintainers/maintainer-list.nix | 5 +++++ pkgs/by-name/so/sonarlint-ls/package.nix | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 472d56cd68dd..1dc8728e836e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4911,6 +4911,11 @@ githubId = 114656678; name = "Gabriel Hosquet"; }; + cizordj = { + github = "cizordj"; + githubId = 32869222; + name = "Cézar Augusto"; + }; cizra = { email = "todurov+nix@gmail.com"; github = "cizra"; diff --git a/pkgs/by-name/so/sonarlint-ls/package.nix b/pkgs/by-name/so/sonarlint-ls/package.nix index 70a40f67bde9..11897f28aaec 100644 --- a/pkgs/by-name/so/sonarlint-ls/package.nix +++ b/pkgs/by-name/so/sonarlint-ls/package.nix @@ -103,6 +103,9 @@ maven.buildMavenPackage rec { mainProgram = "sonarlint-ls"; homepage = "https://github.com/SonarSource/sonarlint-language-server"; license = lib.licenses.lgpl3; - maintainers = with lib.maintainers; [ tricktron ]; + maintainers = with lib.maintainers; [ + tricktron + cizordj + ]; }; } From 28c7ec91382fcae46e248ae04b28742f4ecfc2ef Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 30 Dec 2025 21:54:55 +0100 Subject: [PATCH 0142/1216] python313Packages.asttokens: 3.0.0-unstable-2025-11-08 -> 3.0.1 Changelog: https://github.com/gristlabs/asttokens/releases/tag/v3.0.1 --- .../development/python-modules/asttokens/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/asttokens/default.nix b/pkgs/development/python-modules/asttokens/default.nix index a1f257bc5c8b..e58acfa977d5 100644 --- a/pkgs/development/python-modules/asttokens/default.nix +++ b/pkgs/development/python-modules/asttokens/default.nix @@ -7,20 +7,18 @@ setuptools-scm, }: -buildPythonPackage { +buildPythonPackage rec { pname = "asttokens"; - version = "3.0.0-unstable-2025-11-08"; + version = "3.0.1"; pyproject = true; src = fetchFromGitHub { owner = "gristlabs"; repo = "asttokens"; - rev = "f859c055e8453650e1987c5aefaaec36582d3a07"; - hash = "sha256-dHtKyd5rj1Y7m1vTL9toyQ+GLV5fBNUFNkBM9t4e8yM="; + tag = "v${version}"; + hash = "sha256-1qkkNpjX89TmGD0z0KA2y+UbiHuEOaXzZ6hs9nw7EeM="; }; - env.SETUPTOOLS_SCM_PRETEND_VERSION = "3.0.0"; - build-system = [ setuptools-scm ]; nativeCheckInputs = [ @@ -43,6 +41,8 @@ buildPythonPackage { meta = { description = "Annotate Python AST trees with source text and token information"; homepage = "https://github.com/gristlabs/asttokens"; + changelog = "https://github.com/gristlabs/asttokens/releases/tag/${src.tag}"; license = lib.licenses.asl20; + maintainers = [ ]; }; } From ac81d97a8fbf414937cdd7117925d12e3fc038dd Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Thu, 16 Oct 2025 00:08:40 -0700 Subject: [PATCH 0143/1216] less: 679 -> 685 --- pkgs/by-name/le/less/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/le/less/package.nix b/pkgs/by-name/le/less/package.nix index b432523f41b1..4e7484fae410 100644 --- a/pkgs/by-name/le/less/package.nix +++ b/pkgs/by-name/le/less/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "less"; - version = "679"; + version = "685"; # `less` is provided by the following sources: # - meta.homepage @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { # homepage, and only those not marked as beta. src = fetchurl { url = "https://www.greenwoodsoftware.com/less/less-${finalAttrs.version}.tar.gz"; - hash = "sha256-m2iCDDT6igr2sOAbdPApi83UCgSJxhZJtHBYkIoVPXg="; + hash = "sha256-JwEEHnZ+aX7kIM4IJWQc7cjyC1FXar6Z2SwWZtMy6dw="; }; buildInputs = [ From 1f2b99bba10fee34d9224bd7a7b17ff6a1b4531b Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Thu, 16 Oct 2025 00:10:08 -0700 Subject: [PATCH 0144/1216] less: cleanup --- pkgs/by-name/le/less/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/le/less/package.nix b/pkgs/by-name/le/less/package.nix index 4e7484fae410..1b926d1f9d77 100644 --- a/pkgs/by-name/le/less/package.nix +++ b/pkgs/by-name/le/less/package.nix @@ -53,8 +53,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl3Plus; mainProgram = "less"; maintainers = with lib.maintainers; [ - # dtzWill is not active - dtzWill + dtzWill # not active mdaniels5757 ]; platforms = lib.platforms.unix; From 54f08ec4dc0eccafc9671f60b18921443e0c84ef Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Thu, 16 Oct 2025 00:11:46 -0700 Subject: [PATCH 0145/1216] less: add yiyu as maintainer --- pkgs/by-name/le/less/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/le/less/package.nix b/pkgs/by-name/le/less/package.nix index 1b926d1f9d77..a6283d9de9fa 100644 --- a/pkgs/by-name/le/less/package.nix +++ b/pkgs/by-name/le/less/package.nix @@ -55,6 +55,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ dtzWill # not active mdaniels5757 + yiyu ]; platforms = lib.platforms.unix; }; From daa8cc2643eb76bccdd54aa5faac923cb75b40d3 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 25 Dec 2025 21:45:07 +0000 Subject: [PATCH 0146/1216] zlib-ng: 2.2.5 -> 2.3.2 Changes: - https://github.com/zlib-ng/zlib-ng/releases/tag/2.3.2 - https://github.com/zlib-ng/zlib-ng/releases/tag/2.3.1 --- pkgs/by-name/zl/zlib-ng/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/zl/zlib-ng/package.nix b/pkgs/by-name/zl/zlib-ng/package.nix index 154bc13acbfb..e0695fd9de4e 100644 --- a/pkgs/by-name/zl/zlib-ng/package.nix +++ b/pkgs/by-name/zl/zlib-ng/package.nix @@ -10,19 +10,18 @@ stdenv.mkDerivation rec { pname = "zlib-ng"; - version = "2.2.5"; + version = "2.3.2"; src = fetchFromGitHub { owner = "zlib-ng"; repo = "zlib-ng"; rev = version; - hash = "sha256-c2RYqHi3hj/ViBzJcYWoNib27GAbq/B1SJUfvG7CPG4="; + hash = "sha256-lO6fO18Z74+wKF0O/JjfrhS8lyaNQ37eamWGThb39F8="; }; outputs = [ "out" "dev" - "bin" ]; strictDeps = true; @@ -43,7 +42,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=/" "-DBUILD_SHARED_LIBS=ON" - "-DINSTALL_UTILS=ON" + "-DINSTALL_UTILS=OFF" ] ++ lib.optionals withZlibCompat [ "-DZLIB_COMPAT=ON" ]; From 95f5d8c6a7831fae5522f75055f09c613dde561b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 30 Dec 2025 14:45:51 -0800 Subject: [PATCH 0147/1216] imagemagick: 7.1.2-11 -> 7.1.2-12 Diff: https://github.com/ImageMagick/ImageMagick/compare/7.1.2-11...7.1.2-12 Changelog: https://github.com/ImageMagick/Website/blob/main/ChangeLog.md --- pkgs/applications/graphics/ImageMagick/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 0d3bb5ab7a4c..5d258786eb3d 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -85,13 +85,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "imagemagick"; - version = "7.1.2-11"; + version = "7.1.2-12"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick"; tag = finalAttrs.version; - hash = "sha256-RFiE23VW8AbVb7iglxjQMT6njDw+P7vLW6+nSKqN0p8="; + hash = "sha256-0X8Zpr4frknRbWzAu1nprok2ceScTHV8d4+ktnBpQF0="; }; outputs = [ From e8a805af1005ffeb98d4376dd2cbb9b9a809ab3b Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Tue, 30 Dec 2025 18:08:57 -0800 Subject: [PATCH 0148/1216] systemd: accept more symlink patterns for /etc/localtime --- .../0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch index 21589efdd849..254a63c1a107 100644 --- a/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch +++ b/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch @@ -70,7 +70,7 @@ index 55931a2546..2e00bd7539 100644 return r; /* Return EINVAL if not a symlink */ - const char *e = PATH_STARTSWITH_SET(t, "/usr/share/zoneinfo/", "../usr/share/zoneinfo/"); -+ const char *e = PATH_STARTSWITH_SET(t, "/etc/zoneinfo/", "../etc/zoneinfo/"); ++ const char *e = PATH_STARTSWITH_SET(t, "/etc/zoneinfo/", "../etc/zoneinfo/", "zoneinfo/"); if (!e) return -EINVAL; if (!timezone_is_valid(e, LOG_DEBUG)) @@ -112,7 +112,7 @@ index 480a9c55c6..02c9ae6608 100644 path, - "../usr/share/zoneinfo/", - "/usr/share/zoneinfo/"); -+ "../etc/zoneinfo/", ++ "../etc/zoneinfo/", "zoneinfo/", + "/etc/zoneinfo/"); } From 4ba51512654ebd116348b17eb106eb3b03fc6228 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 12:58:22 +0000 Subject: [PATCH 0149/1216] libpcap: 1.10.5 -> 1.10.6 --- pkgs/by-name/li/libpcap/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libpcap/package.nix b/pkgs/by-name/li/libpcap/package.nix index 57304a6e3951..55573a77c7e2 100644 --- a/pkgs/by-name/li/libpcap/package.nix +++ b/pkgs/by-name/li/libpcap/package.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { pname = "libpcap"; - version = "1.10.5"; + version = "1.10.6"; __structuredAttrs = true; src = fetchurl { url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; - hash = "sha256-N87ZChmjAqfzLkWCJKAMNlwReQXCzTWsVEtogKgUiPA="; + hash = "sha256-hy3REzf+GrAq2dT+4EfJ2iRNaVxt3zTi67cz79Ttiqk="; }; outputs = [ From 9eb4aeac132782205402de37f51c80d5156cdf84 Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Wed, 31 Dec 2025 09:57:43 -0500 Subject: [PATCH 0150/1216] finamp: fix pubcache hash sha256-lSDR5dDjZ4garRbBPI+wSxC5iScg8wVSD5kymmLbYbk= -> sha256-U+gtC9AaUFp3gVkUzYMWAUSuUV7kYB8ZE2BsclnxwkA= --- pkgs/by-name/fi/finamp/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fi/finamp/package.nix b/pkgs/by-name/fi/finamp/package.nix index 11d9d6f34b18..47f1620feaad 100644 --- a/pkgs/by-name/fi/finamp/package.nix +++ b/pkgs/by-name/fi/finamp/package.nix @@ -29,7 +29,7 @@ flutter338.buildFlutterApplication { buildInputs = [ mpv-unwrapped ]; gitHashes = { - balanced_text = "sha256-lSDR5dDjZ4garRbBPI+wSxC5iScg8wVSD5kymmLbYbk="; + balanced_text = "sha256-U+gtC9AaUFp3gVkUzYMWAUSuUV7kYB8ZE2BsclnxwkA="; isar_generator = "sha256-EthUFM+YI3bnM0U0sECoNOCRXpo4qjP71VXYBuO/u+I="; isar_flutter_libs = "sha256-Z5IdfiaZ7348XwYSQb81z0YZEoIHWmsSZr6mYqqz4Oo="; media_kit_libs_windows_audio = "sha256-p3hRq79whLFJLNUgL9atXyTGvOIqCbTRKVk1ie0Euqs="; From 9c522e348fbf3278149b1824972d740d9c718536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 31 Dec 2025 07:17:47 -0800 Subject: [PATCH 0151/1216] python3Packages.yarl: 1.22.0 -> 1.23.0 Diff: https://github.com/aio-libs/yarl/compare/v1.22.0...v1.23.0 Changelog: https://github.com/aio-libs/yarl/blob/v1.23.0/CHANGES.rst --- pkgs/development/python-modules/yarl/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/yarl/default.nix b/pkgs/development/python-modules/yarl/default.nix index 8e7387921a2d..ce71ee1c4a71 100644 --- a/pkgs/development/python-modules/yarl/default.nix +++ b/pkgs/development/python-modules/yarl/default.nix @@ -9,6 +9,7 @@ multidict, propcache, hypothesis, + pydantic, pytest-codspeed, pytest-cov-stub, pytest-xdist, @@ -17,14 +18,14 @@ buildPythonPackage rec { pname = "yarl"; - version = "1.22.0"; + version = "1.23.0"; pyproject = true; src = fetchFromGitHub { owner = "aio-libs"; repo = "yarl"; tag = "v${version}"; - hash = "sha256-IkP6AxLT260NN2X2bd7b5LGVGFUjo7eQiuWxvMtcb8g="; + hash = "sha256-274uVOCTLUihDIJTG62hL2mOBaYDNvRLdTjMcasDFsw="; }; build-system = [ @@ -46,6 +47,7 @@ buildPythonPackage rec { nativeCheckInputs = [ hypothesis + pydantic pytest-codspeed pytest-cov-stub pytest-xdist From f8eed45c095774bd6d857a48f6f4cfd1c71351be Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 16:15:28 +0000 Subject: [PATCH 0152/1216] publicsuffix-list: 0-unstable-2025-11-14 -> 0-unstable-2025-12-28 --- pkgs/by-name/pu/publicsuffix-list/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pu/publicsuffix-list/package.nix b/pkgs/by-name/pu/publicsuffix-list/package.nix index a54b70e96ead..4d53a001b997 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-2025-11-14"; + version = "0-unstable-2025-12-28"; src = fetchFromGitHub { owner = "publicsuffix"; repo = "list"; - rev = "64ba165cf391818a086139239c8fa223264eebcc"; - hash = "sha256-Ugou4SzYx9EtzcBtocCqhCZZaU1Sngvk1IEVAIJZ4KY="; + rev = "1ef6d3bc102c85d12e92be54ec0dad8ee990dd5f"; + hash = "sha256-rQdum6XLgfXwzpKTneakFmC80tOmlPFrZ8C7dfEnlSo="; }; dontBuild = true; From c8019bd6a9bd331fdb2d5c85a43a8432ca70f88b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 16:21:53 +0000 Subject: [PATCH 0153/1216] lua51Packages.luarocks_bootstrap: 3.12.2 -> 3.13.0 --- pkgs/development/tools/misc/luarocks/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index d4d8981b3171..9ad31b6e78cd 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "luarocks_bootstrap"; - version = "3.12.2"; + version = "3.13.0"; src = fetchFromGitHub { owner = "luarocks"; repo = "luarocks"; tag = "v${finalAttrs.version}"; - hash = "sha256-hQysstYGUcZnnEXL+9ECS0sBViYggeDIMgo6LpUexBA="; + hash = "sha256-ETVoDpeFSsW7ld2z31Vog3RKsMquoxd7c8m9y7Fb1wk="; }; patches = [ From 9728ee3b81952900250ad5205a84538592cebb02 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 11 Nov 2025 00:30:17 +0000 Subject: [PATCH 0154/1216] coreutils: 9.8 -> 9.9 Co-authored-by: Michael Daniels --- pkgs/tools/misc/coreutils/cp-1.patch | 32 ------------- pkgs/tools/misc/coreutils/cp-2.patch | 68 --------------------------- pkgs/tools/misc/coreutils/cp-3.patch | 52 -------------------- pkgs/tools/misc/coreutils/default.nix | 17 +------ pkgs/tools/misc/coreutils/tail.patch | 50 -------------------- 5 files changed, 2 insertions(+), 217 deletions(-) delete mode 100644 pkgs/tools/misc/coreutils/cp-1.patch delete mode 100644 pkgs/tools/misc/coreutils/cp-2.patch delete mode 100644 pkgs/tools/misc/coreutils/cp-3.patch delete mode 100644 pkgs/tools/misc/coreutils/tail.patch diff --git a/pkgs/tools/misc/coreutils/cp-1.patch b/pkgs/tools/misc/coreutils/cp-1.patch deleted file mode 100644 index f40fdbbead79..000000000000 --- a/pkgs/tools/misc/coreutils/cp-1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 231cc20195294c9774ab68f523dd06059f4b0a5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= -Date: Wed, 29 Oct 2025 23:41:55 +0000 -Subject: [PATCH] copy: avoid posix_fadvise bypassing copy offload behavior - -* src/copy-file-data.c (): pass 0 to posix_fadvise to indicate to EOF. -coreutils 9.8 used OFF_T_MAX instead, which triggered OpenZFS 2.2.2 -at least to synchronously (decompress and) populate the page cache. -Addresses https://github.com/coreutils/coreutils/issues/122 ---- - src/copy-file-data.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/copy-file-data.c b/src/copy-file-data.c -index 1eefd3071f58a54f725c96dfcd2fd352012398c5..9eb6f47244f0a62c2f4934c7663794fd4dcf21bf 100644 ---- a/src/copy-file-data.c -+++ b/src/copy-file-data.c -@@ -536,9 +536,12 @@ copy_file_data (int ifd, struct stat const *ist, off_t ipos, char const *iname, - && scantype != PLAIN_SCANTYPE))); - - /* Don't bother calling fadvise for small copies, as it is not -- likely to help performance and might even hurt it. */ -+ likely to help performance and might even hurt it. -+ Note it's important to use a 0 length to indicate the whole file -+ as OpenZFS 2.2.2 at least will otherwise synchronously -+ (decompress and) populate the cache when given a specific length. */ - if (IO_BUFSIZE < ibytes) -- fdadvise (ifd, ipos, ibytes <= OFF_T_MAX - ipos ? ibytes : 0, -+ fdadvise (ifd, ipos, ibytes < OFF_T_MAX - ipos ? ibytes : 0, - FADVISE_SEQUENTIAL); - - /* If not making a sparse file, try to use a more-efficient diff --git a/pkgs/tools/misc/coreutils/cp-2.patch b/pkgs/tools/misc/coreutils/cp-2.patch deleted file mode 100644 index 197269e78768..000000000000 --- a/pkgs/tools/misc/coreutils/cp-2.patch +++ /dev/null @@ -1,68 +0,0 @@ -(NB: we drop the NEWS change to avoid conflicts) - -From 64b8fdb5b4767e0f833486507c3eae46ed1b40f8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= -Date: Thu, 30 Oct 2025 13:02:48 +0000 -Subject: [PATCH] copy: don't avoid copy-offload upon SEEK_HOLE indicating - non-sparse - -* src/copy-file-data.c (infer_scantype): Fall back to a plain copy -if SEEK_HOLE indicates non-sparse, as zero copy avoids copy offload. -This was seen with transparently compressed files on OpenZFS. -* tests/cp/sparse-perf.sh: Add a test case even though it might -only trigger on compressed file systems that don't support reflink. -* NEWS: Mention the bug fix. -Addresses https://github.com/coreutils/coreutils/issues/122 ---- - NEWS | 8 ++++++++ - src/copy-file-data.c | 11 +++++++++-- - tests/cp/sparse-perf.sh | 10 ++++++++++ - 3 files changed, 27 insertions(+), 2 deletions(-) - -diff --git a/src/copy-file-data.c b/src/copy-file-data.c -index 9eb6f47244f0a62c2f4934c7663794fd4dcf21bf..8fd25fee9201eda7bd0a8caf01f02821a3390448 100644 ---- a/src/copy-file-data.c -+++ b/src/copy-file-data.c -@@ -481,12 +481,19 @@ infer_scantype (int fd, struct stat const *sb, off_t pos, - if (scan_inference->hole_start < sb->st_size) - return LSEEK_SCANTYPE; - -- /* Though the file likely has holes, SEEK_DATA and SEEK_HOLE -+ /* Though the file may have holes, SEEK_DATA and SEEK_HOLE - didn't find any. This can happen with file systems like - circa-2025 squashfs that support SEEK_HOLE only trivially. -- Fall back on ZERO_SCANTYPE. */ -+ This can also happen due to transparent file compression, -+ which can also indicate fewer than the usual number of blocks. */ -+ - if (lseek (fd, pos, SEEK_SET) < 0) - return ERROR_SCANTYPE; -+ -+ /* we prefer to return PLAIN_SCANTYPE here so that copy offload -+ continues to be used. Falling through to ZERO_SCANTYPE would be -+ less performant in the compressed file case. */ -+ return PLAIN_SCANTYPE; - } - } - else if (pos < scan_inference->ext_start || errno == ENXIO) -diff --git a/tests/cp/sparse-perf.sh b/tests/cp/sparse-perf.sh -index 5a283c1fe65816a36342d9f583c1ed787947bf10..5ee984c527d7d8b6395d4193fcf81804b1135b8a 100755 ---- a/tests/cp/sparse-perf.sh -+++ b/tests/cp/sparse-perf.sh -@@ -35,6 +35,16 @@ cmp $other_partition_sparse k2 || fail=1 - grep ': avoided' cp.out && { cat cp.out; fail=1; } - - -+# Create a large-non-sparse-but-compressible file -+# Ensure we don't avoid copy offload which we saw with -+# transparent compression on OpenZFS at least -+# (as that triggers our sparse heuristic). -+mls='might-look-sparse' -+yes | head -n1M > "$mls" || framework_failure_ -+cp --debug "$mls" "$mls.cp" >cp.out || fail=1 -+cmp "$mls" "$mls.cp" || fail=1 -+grep ': avoided' cp.out && { cat cp.out; fail=1; } -+ - - # Create a large-but-sparse file on the current partition. - # We disable relinking below, thus verifying SEEK_HOLE support diff --git a/pkgs/tools/misc/coreutils/cp-3.patch b/pkgs/tools/misc/coreutils/cp-3.patch deleted file mode 100644 index 0c662e042e45..000000000000 --- a/pkgs/tools/misc/coreutils/cp-3.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 2c5754649e08a664f3d43f7bc1df08f498bc1554 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= -Date: Fri, 31 Oct 2025 15:37:55 +0000 -Subject: [PATCH] copy: be more defensive/restrictive with posix_fadvise - -* src/copy-file-data.c (copy_file_data): Only give the -POSIX_FADV_SEQUENTIAL hint when we _know_ we'll definitely -use a read/write loop to copy the data. Also only apply -the hint to the whole file, as we've seen OpenZFS at least -special case that. -(sparse_copy): Update stale comment. ---- - src/copy-file-data.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/src/copy-file-data.c b/src/copy-file-data.c -index 8fd25fee9201eda7bd0a8caf01f02821a3390448..c46b7edc5228f5f1e9c398d8ad7ff20b6fa60fb6 100644 ---- a/src/copy-file-data.c -+++ b/src/copy-file-data.c -@@ -105,8 +105,6 @@ is_CLONENOTSUP (int err) - If HOLE_SIZE, look for holes in the input; *HOLE_SIZE contains - the size of the current hole so far, and update *HOLE_SIZE - at end to be the size of the hole at the end of the copy. -- Set *TOTAL_N_READ to the number of bytes read; this counts -- the trailing hole, which has not yet been output. - Read and update *DEBUG as needed. - If successful, return the number of bytes copied, - otherwise diagnose the failure and return -1. */ -@@ -542,14 +540,17 @@ copy_file_data (int ifd, struct stat const *ist, off_t ipos, char const *iname, - || (x->sparse_mode == SPARSE_AUTO - && scantype != PLAIN_SCANTYPE))); - -- /* Don't bother calling fadvise for small copies, as it is not -- likely to help performance and might even hurt it. -- Note it's important to use a 0 length to indicate the whole file -+ /* If we _know_ we're going to read data sequentially into the process, -+ i.e., --reflink or --sparse are not in auto mode, -+ give that hint to the kernel so it can tune caching behavior. -+ Also we don't bother calling fadvise for small copies, -+ as it is not likely to help performance and might even hurt it. -+ Also we only apply this hint for the whole file (0 length) - as OpenZFS 2.2.2 at least will otherwise synchronously - (decompress and) populate the cache when given a specific length. */ -- if (IO_BUFSIZE < ibytes) -- fdadvise (ifd, ipos, ibytes < OFF_T_MAX - ipos ? ibytes : 0, -- FADVISE_SEQUENTIAL); -+ if (ipos == 0 && ibytes == COUNT_MAX -+ && (x->reflink_mode != REFLINK_AUTO || x->sparse_mode != SPARSE_AUTO)) -+ fdadvise (ifd, 0, 0, FADVISE_SEQUENTIAL); - - /* If not making a sparse file, try to use a more-efficient - buffer size. */ diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index dd6cfcdb68d0..4aabf26a2f0e 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -48,26 +48,13 @@ let in stdenv.mkDerivation rec { pname = "coreutils" + (optionalString (!minimal) "-full"); - version = "9.8"; + version = "9.9"; src = fetchurl { url = "mirror://gnu/coreutils/coreutils-${version}.tar.xz"; - hash = "sha256-5tT9LYUskUGhwqGKE9FGoM1+RRlfcik6TkwETsbMyhU="; + hash = "sha256-Gby2yoZxg8V9dxVerpRsXs7YgYMUO0XKUa19JsYoynU="; }; - patches = [ - # Extremely bad bug where `tail` prints fewer lines than it should. - # https://github.com/coreutils/coreutils/commit/914972e80dbf82aac9ffe3ff1f67f1028e1a788b - ./tail.patch - # Fix performance regression in cp. - # https://github.com/coreutils/coreutils/commit/231cc20195294c9774ab68f523dd06059f4b0a5c - # https://github.com/coreutils/coreutils/commit/64b8fdb5b4767e0f833486507c3eae46ed1b40f8 - # https://github.com/coreutils/coreutils/commit/2c5754649e08a664f3d43f7bc1df08f498bc1554 - ./cp-1.patch - ./cp-2.patch - ./cp-3.patch - ]; - postPatch = '' # The test tends to fail on btrfs, f2fs and maybe other unusual filesystems. sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh diff --git a/pkgs/tools/misc/coreutils/tail.patch b/pkgs/tools/misc/coreutils/tail.patch deleted file mode 100644 index 40336daae137..000000000000 --- a/pkgs/tools/misc/coreutils/tail.patch +++ /dev/null @@ -1,50 +0,0 @@ -(NB: we omit the new test, in order to avoid rerunning autoconf.) - -From 914972e80dbf82aac9ffe3ff1f67f1028e1a788b Mon Sep 17 00:00:00 2001 -From: Hannes Braun -Date: Wed, 24 Sep 2025 21:20:49 +0200 -Subject: [PATCH] tail: fix tailing larger number of lines in regular files - -* src/tail.c (file_lines): Seek to the previous block instead of the -beginning (or a little before) of the block that was just scanned. -Otherwise, the same block is read and scanned (at least partially) -again. This bug was introduced by commit v9.7-219-g976f8abc1. -* tests/tail/basic-seek.sh: Add a new test. -* tests/local.mk: Reference the new test. -* NEWS: mention the bug fix. ---- - NEWS | 4 ++++ - src/tail.c | 2 +- - tests/local.mk | 1 + - tests/tail/basic-seek.sh | 28 ++++++++++++++++++++++++++++ - 4 files changed, 34 insertions(+), 1 deletion(-) - create mode 100755 tests/tail/basic-seek.sh - -diff --git a/NEWS b/NEWS -index 7a1a73113e839f010aa6c734e6f07da68827b953..dc1d26879327761d35499815776477771758edd4 100644 ---- a/NEWS -+++ b/NEWS -@@ -7,6 +7,10 @@ GNU coreutils NEWS -*- outline -*- - `basenc --base58` would not operate correctly with input > 15561475 bytes. - [bug introduced with --base58 in coreutils-9.8] - -+ 'tail' outputs the correct number of lines again for non-small -n values. -+ Previously it may have output too few lines. -+ [bug introduced in coreutils-9.8] -+ - - * Noteworthy changes in release 9.8 (2025-09-22) [stable] - -diff --git a/src/tail.c b/src/tail.c -index b8bef1d91cdb6cde2b666b6c1575376e075eaeb8..c7779c77dfe4cf5a672a265b6e796c7153590170 100644 ---- a/src/tail.c -+++ b/src/tail.c -@@ -596,7 +596,7 @@ file_lines (char const *prettyname, int fd, struct stat const *sb, - goto free_buffer; - } - -- pos = xlseek (fd, -bufsize, SEEK_CUR, prettyname); -+ pos = xlseek (fd, -(bufsize + bytes_read), SEEK_CUR, prettyname); - bytes_read = read (fd, buffer, bufsize); - if (bytes_read < 0) - { From 15fa0d00ecf3202345c66de9fb70811547ce389e Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Wed, 31 Dec 2025 14:04:12 -0500 Subject: [PATCH 0155/1216] gnumake: fix "No impure bin sh" patch Fixes: #475670 --- .../patches/0001-No-impure-bin-sh.patch | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch b/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch index 778cb4c20c9d..b553b31d997d 100644 --- a/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch +++ b/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch @@ -1,4 +1,4 @@ -From b69e3740e68afaec97b9957d40b9c135db87eaab Mon Sep 17 00:00:00 2001 +From 532276a537fbfc08c946c9f808f1b0bb54e16523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 24 Apr 2021 10:11:40 +0200 Subject: [PATCH 1/3] No impure bin sh @@ -13,12 +13,14 @@ hard-coded has some advantages: shells there (bash vs. dash) - In the past I had issues with LD_PRELOAD with BEAR, where /bin/sh used a different glibc than BEAR which came from my development shell. + +Co-authored-by: Michael Daniels --- - src/job.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/job.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/job.c b/src/job.c -index ea885614..8a9bd8e0 100644 +index ea885614..1f26e0e8 100644 --- a/src/job.c +++ b/src/job.c @@ -76,7 +76,7 @@ char * vms_strsignal (int status); @@ -30,6 +32,17 @@ index ea885614..8a9bd8e0 100644 int batch_mode_shell = 0; #endif +@@ -2470,8 +2470,8 @@ child_execute_job (struct childbase *child, int good_stdin, char **argv) + nargv[1] = cmd; + memcpy (&nargv[2], &argv[1], sizeof (char *) * l); + +- while ((r = posix_spawn (&pid, nargv[0], &fa, &attr, nargv, +- child->environment)) == EINTR) ++ while ((r = posix_spawnp (&pid, nargv[0], &fa, &attr, nargv, ++ child->environment)) == EINTR) + ; + + free (nargv); -- -2.44.1 +2.51.2 From 8fd718c94a80d818ad99b63e322fa8a0cdcd8dce Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 1 Jan 2026 01:12:17 +0000 Subject: [PATCH 0156/1216] dav1d: 1.5.2 -> 1.5.3 --- pkgs/by-name/da/dav1d/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/da/dav1d/package.nix b/pkgs/by-name/da/dav1d/package.nix index 443ad79790c5..0a8711977f47 100644 --- a/pkgs/by-name/da/dav1d/package.nix +++ b/pkgs/by-name/da/dav1d/package.nix @@ -27,13 +27,13 @@ assert useVulkan -> withExamples; stdenv.mkDerivation rec { pname = "dav1d"; - version = "1.5.2"; + version = "1.5.3"; src = fetchFromGitHub { owner = "videolan"; repo = "dav1d"; rev = version; - hash = "sha256-rxRO5EWjrOUsCYXd2rDDhfcEZbfSuMfjujRAHTqUYhI="; + hash = "sha256-E3da/LJ8HNy1osExmupovqnL8JHgVNzPUCG5F8TJKXQ="; }; outputs = [ From a122dcddf9e7a4d9a7189d715743d6840ce63591 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 1 Jan 2026 06:55:57 +0000 Subject: [PATCH 0157/1216] alsa-lib: 1.2.14 -> 1.2.15.1 --- pkgs/by-name/al/alsa-lib/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/alsa-lib/package.nix b/pkgs/by-name/al/alsa-lib/package.nix index d0768cf443e3..4f442dd759e9 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.14"; + version = "1.2.15.1"; src = fetchurl { url = "mirror://alsa/lib/alsa-lib-${finalAttrs.version}.tar.bz2"; - hash = "sha256-vpyIoLNgQ2fddBZ6K3VKNeFC9nApKuR6L97yei7pejI="; + hash = "sha256-f5g8qJykIIcsoW6Kn4+X+2PbbBxuJYW5Fzegi7A/Vmw="; }; patches = [ From 169fbd97b4bf6de6d80bfe198fa2e98485859468 Mon Sep 17 00:00:00 2001 From: aleksana Date: Wed, 24 Dec 2025 21:57:37 +0800 Subject: [PATCH 0158/1216] python3Packages.uvloop: skip flakey test_cancel_post_init --- pkgs/development/python-modules/uvloop/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix index 31bbc7a7f2d7..de4c2a33beef 100644 --- a/pkgs/development/python-modules/uvloop/default.nix +++ b/pkgs/development/python-modules/uvloop/default.nix @@ -70,6 +70,9 @@ buildPythonPackage rec { "tests/test_tcp.py::Test_AIO_TCP::test_create_connection_open_con_addr" # ConnectionAbortedError: SSL handshake is taking longer than 15.0 seconds "tests/test_tcp.py::Test_AIO_TCPSSL::test_create_connection_ssl_1" + # Fails randomly on hydra + # https://github.com/MagicStack/uvloop/issues/709 + "tests/test_process.py::TestAsyncio_AIO_Process::test_cancel_post_init" ] ++ lib.optionals (pythonOlder "3.11") [ "tests/test_tcp.py::Test_UV_TCPSSL::test_create_connection_ssl_failed_certificat" From 30e0abd67752ed16540562354705400f7b31cc70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 1 Jan 2026 09:45:03 +0100 Subject: [PATCH 0159/1216] Revert "python314Packages.uvloop: skip failing test on x86_64-darwin" This reverts commit ef4313c45c7c8d802b27918068b1583e5f863210. It's superfluous now. --- pkgs/development/python-modules/uvloop/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix index de4c2a33beef..62c447543d61 100644 --- a/pkgs/development/python-modules/uvloop/default.nix +++ b/pkgs/development/python-modules/uvloop/default.nix @@ -83,10 +83,13 @@ buildPythonPackage rec { # Broken: https://github.com/NixOS/nixpkgs/issues/160904 "tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost" ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && pythonAtLeast "3.14") [ - # https://github.com/MagicStack/uvloop/issues/709 - "tests/test_process.py::TestAsyncio_AIO_Process::test_cancel_post_init" - ]; + ++ + lib.optionals + (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && pythonAtLeast "3.14") + [ + # https://github.com/MagicStack/uvloop/issues/709 + "tests/test_process.py::TestAsyncio_AIO_Process::test_cancel_post_init" + ]; preCheck = '' # force using installed/compiled uvloop From 6b6e76210cb087f20c2adcc34029d12205395f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 1 Jan 2026 09:45:11 +0100 Subject: [PATCH 0160/1216] Revert "python314Packages.uvloop: skip failing test on aarch64-darwin" This reverts commit 8a5a3e116f333eace2d3f5aa95b7ece338f58783. It's superfluous now. --- pkgs/development/python-modules/uvloop/default.nix | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix index 62c447543d61..6354d3b3d49e 100644 --- a/pkgs/development/python-modules/uvloop/default.nix +++ b/pkgs/development/python-modules/uvloop/default.nix @@ -2,9 +2,9 @@ lib, stdenv, buildPythonPackage, - pythonAtLeast, pythonOlder, fetchFromGitHub, + fetchpatch, # build-system cython, @@ -82,14 +82,7 @@ buildPythonPackage rec { "tests/test_fs_event.py::Test_UV_FS_EVENT_RENAME::test_fs_event_rename" # Broken: https://github.com/NixOS/nixpkgs/issues/160904 "tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost" - ] - ++ - lib.optionals - (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && pythonAtLeast "3.14") - [ - # https://github.com/MagicStack/uvloop/issues/709 - "tests/test_process.py::TestAsyncio_AIO_Process::test_cancel_post_init" - ]; + ]; preCheck = '' # force using installed/compiled uvloop From dca0c9dbf61cb2f2ec57c62bb88c3c74683a8164 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 1 Jan 2026 11:20:53 +0100 Subject: [PATCH 0161/1216] sdl3: 3.2.28 -> 3.4.0 Signed-off-by: Marcin Serwin --- pkgs/by-name/sd/sdl3/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index dae3517ae9be..9574da77d4d9 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -18,6 +18,7 @@ libusb1, libxkbcommon, libgbm, + libxtst, ninja, nix-update-script, nixosTests, @@ -61,7 +62,7 @@ assert lib.assertMsg (ibusSupport -> dbusSupport) "SDL3 requires dbus support to stdenv.mkDerivation (finalAttrs: { pname = "sdl3"; - version = "3.2.28"; + version = "3.4.0"; outputs = [ "lib" @@ -74,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL"; tag = "release-${finalAttrs.version}"; - hash = "sha256-nfnvzog1bON2IaBOeWociV82lmRY+qXgdeXBe6GYlww="; + hash = "sha256-/A1y/NaZVebzI58F4TlwtDwuzlcA33Y1YuZqd5lz/Sk="; }; postPatch = @@ -84,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'set(noninteractive_timeout 10)' 'set(noninteractive_timeout 30)' '' + lib.optionalString waylandSupport '' - substituteInPlace src/video/wayland/SDL_waylandmessagebox.c \ + substituteInPlace src/dialog/unix/SDL_zenitymessagebox.c \ --replace-fail '"zenity"' '"${lib.getExe zenity}"' substituteInPlace src/dialog/unix/SDL_zenitydialog.c \ --replace-fail '"zenity"' '"${lib.getExe zenity}"' @@ -132,6 +133,7 @@ stdenv.mkDerivation (finalAttrs: { xorg.libXfixes xorg.libXi xorg.libXrandr + libxtst ] ++ [ vulkan-headers From 52b123f44dfec670462e57deba74659795f2e743 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 1 Jan 2026 11:20:53 +0100 Subject: [PATCH 0162/1216] sdl3: modernize Signed-off-by: Marcin Serwin --- pkgs/by-name/sd/sdl3/package.nix | 51 +++++++++++++++++--------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index 9574da77d4d9..bd3962dbc574 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -4,7 +4,6 @@ config, alsa-lib, cmake, - darwinMinVersionHook, dbus, fetchFromGitHub, ibusMinimal, @@ -18,6 +17,14 @@ libusb1, libxkbcommon, libgbm, + libX11, + libxcb, + libXScrnSaver, + libXcursor, + libXext, + libXfixes, + libXi, + libXrandr, libxtst, ninja, nix-update-script, @@ -31,7 +38,6 @@ vulkan-loader, wayland, wayland-scanner, - xorg, zenity, # for passthru.tests SDL_compat, @@ -125,22 +131,20 @@ stdenv.mkDerivation (finalAttrs: { wayland ] ++ lib.optionals x11Support [ - xorg.libX11 - xorg.libxcb - xorg.libXScrnSaver - xorg.libXcursor - xorg.libXext - xorg.libXfixes - xorg.libXi - xorg.libXrandr + libX11 + libxcb + libXScrnSaver + libXcursor + libXext + libXfixes + libXi + libXrandr libxtst ] ++ [ vulkan-headers vulkan-loader ] - ++ lib.optional (openglSupport && !stdenv.hostPlatform.isDarwin) libGL - ++ lib.optional x11Support xorg.libX11 ++ lib.optionals ibusSupport [ # sdl3 only uses some constants of the ibus headers # it never actually loads the library @@ -172,17 +176,13 @@ stdenv.mkDerivation (finalAttrs: { # Only ppc64le baseline guarantees AltiVec (lib.cmakeBool "SDL_ALTIVEC" (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian)) - ] - ++ - lib.optionals - ( - stdenv.hostPlatform.isUnix - && !(stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAndroid) - && !(x11Support || waylandSupport) - ) - [ - (lib.cmakeBool "SDL_UNIX_CONSOLE_BUILD" true) - ]; + + (lib.cmakeBool "SDL_UNIX_CONSOLE_BUILD" ( + stdenv.hostPlatform.isUnix + && !(stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAndroid) + && !(x11Support || waylandSupport) + )) + ]; doCheck = true; @@ -229,7 +229,10 @@ stdenv.mkDerivation (finalAttrs: { sdl3-image sdl3-ttf ; - pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + versionCheck = true; + }; inherit (finalAttrs.passthru) debug-text-example; } // lib.optionalAttrs stdenv.hostPlatform.isLinux { From 520d1c09aa29949d0b367b4978fcbf78377c45a7 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 1 Jan 2026 11:33:05 +0100 Subject: [PATCH 0163/1216] sdl2-compat: 2.32.60 -> 2.32.62 Signed-off-by: Marcin Serwin --- pkgs/by-name/sd/sdl2-compat/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sd/sdl2-compat/package.nix b/pkgs/by-name/sd/sdl2-compat/package.nix index fde780a23042..c0af86c9088d 100644 --- a/pkgs/by-name/sd/sdl2-compat/package.nix +++ b/pkgs/by-name/sd/sdl2-compat/package.nix @@ -30,13 +30,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "sdl2-compat"; - version = "2.32.60"; + version = "2.32.62"; src = fetchFromGitHub { owner = "libsdl-org"; repo = "sdl2-compat"; tag = "release-${finalAttrs.version}"; - hash = "sha256-8nhSyifEeYEZj9tqid1x67jhxqmrR61NwQ/g0Z8vbw8="; + hash = "sha256-JYHkc3DyCsKtq8zbwLGsptCrIRDDbHUjlC9rVaEbEzc="; }; nativeBuildInputs = [ From 3a10bb096831523f94b9ffadd5c524e5b322d05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 1 Jan 2026 02:54:43 -0800 Subject: [PATCH 0164/1216] python3Packages.google-auth: 2.41.1 -> 2.45.0 Diff: https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.45.0 Changelog: https://github.com/googleapis/google-auth-library-python/blob/v2.45.0/CHANGELOG.md --- pkgs/development/python-modules/google-auth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix index 4fdddd4302f7..5de111ad5b8d 100644 --- a/pkgs/development/python-modules/google-auth/default.nix +++ b/pkgs/development/python-modules/google-auth/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "google-auth"; - version = "2.41.1"; + version = "2.45.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-auth-library-python"; tag = "v${version}"; - hash = "sha256-EPiI3cJy+NkT1oyKZJKcvQwAb64UQZDSNfWorZjIew8="; + hash = "sha256-CONPYm88g8AvGlb7HBMKyWFTGntkgEkDZ2RHKyqoYhw="; }; build-system = [ setuptools ]; From 84dbdb09053d2c3861fe35a4bfb70af33f3ca01c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 1 Jan 2026 02:52:18 -0800 Subject: [PATCH 0165/1216] python3Packages.google-genai: 1.54.0 -> 1.56.0 Diff: https://github.com/googleapis/python-genai/compare/v1.54.0...v1.56.0 Changelog: https://github.com/googleapis/python-genai/blob/v1.56.0/CHANGELOG.md --- .../python-modules/google-genai/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/google-genai/default.nix b/pkgs/development/python-modules/google-genai/default.nix index 92ce14652cea..4982bdb60836 100644 --- a/pkgs/development/python-modules/google-genai/default.nix +++ b/pkgs/development/python-modules/google-genai/default.nix @@ -2,6 +2,7 @@ aiohttp, anyio, buildPythonPackage, + distro, fetchFromGitHub, google-auth, httpx, @@ -12,6 +13,7 @@ pytestCheckHook, requests, setuptools, + sniffio, tenacity, twine, typing-extensions, @@ -20,14 +22,14 @@ buildPythonPackage rec { pname = "google-genai"; - version = "1.54.0"; + version = "1.56.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "python-genai"; tag = "v${version}"; - hash = "sha256-yN45JvchpG8RJ7p2I5/MQ0gUg7GQDjugP0wrYWWr3ps="; + hash = "sha256-gtI2t4vgd9i7SPbSro/eC2/mwGudTY6YfekcmbaaPeY="; }; build-system = [ @@ -43,14 +45,17 @@ buildPythonPackage rec { dependencies = [ anyio + distro google-auth httpx pydantic requests + sniffio tenacity typing-extensions websockets - ]; + ] + ++ google-auth.optional-dependencies.requests; optional-dependencies = { aiohttp = [ aiohttp ]; From e74089fb1d895240ef4e559d7821c8059c0b1586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 1 Jan 2026 03:29:44 -0800 Subject: [PATCH 0166/1216] python3Packages.typer-slim: 0.19.2 -> 0.21.0 Diff: https://github.com/fastapi/typer/compare/0.19.2...0.21.0 Changelog: https://github.com/tiangolo/typer/releases/tag/0.21.0 --- pkgs/development/python-modules/typer-slim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/typer-slim/default.nix b/pkgs/development/python-modules/typer-slim/default.nix index 55c736320c78..71bda750278c 100644 --- a/pkgs/development/python-modules/typer-slim/default.nix +++ b/pkgs/development/python-modules/typer-slim/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "typer-slim"; - version = "0.19.2"; + version = "0.21.0"; pyproject = true; src = fetchFromGitHub { owner = "fastapi"; repo = "typer"; tag = version; - hash = "sha256-mMsOEI4FpLkLkpjxjnUdmKdWD65Zx3Z1+L+XsS79k44="; + hash = "sha256-MvrwHemciLa2m0QUTZNuCLa7x63RKWFzJ5k6Ask25ZY="; }; postPatch = '' From 8993cd1d59056c76c24dcecd39d15548fa44b19e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 1 Jan 2026 03:37:18 -0800 Subject: [PATCH 0167/1216] python3Packages.typer-injector: init at 0.2.0 --- .../python-modules/typer-injector/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/typer-injector/default.nix diff --git a/pkgs/development/python-modules/typer-injector/default.nix b/pkgs/development/python-modules/typer-injector/default.nix new file mode 100644 index 000000000000..109ae7c7b796 --- /dev/null +++ b/pkgs/development/python-modules/typer-injector/default.nix @@ -0,0 +1,44 @@ +{ + buildPythonPackage, + fetchFromGitHub, + hatch-vcs, + hatchling, + lib, + pytestCheckHook, + typer-slim, +}: + +buildPythonPackage rec { + pname = "typer-injector"; + version = "0.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "BenjyWiener"; + repo = "typer-injector"; + tag = "v${version}"; + hash = "sha256-nwEYFw+4jeF/SoaZWR51VWRezqBFjGoLiVgJWdPNoIk="; + }; + + build-system = [ + hatch-vcs + hatchling + ]; + + dependencies = [ + typer-slim + ]; + + pythonImportsCheck = [ "typer_injector" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Dependency injection for Typer"; + homepage = "https://github.com/BenjyWiener/typer-injector"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index de97391232de..4e0bae5e58f3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19421,6 +19421,8 @@ self: super: with self; { typer-config = callPackage ../development/python-modules/typer-config { }; + typer-injector = callPackage ../development/python-modules/typer-injector { }; + typer-shell = callPackage ../development/python-modules/typer-shell { }; typer-slim = callPackage ../development/python-modules/typer-slim { }; From 60e89244179b364bc19cb90157adb2474a4d2f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 1 Jan 2026 03:27:26 -0800 Subject: [PATCH 0168/1216] python3Packages.pymobiledevice3: 6.2.0 -> 7.0.7 Diff: https://github.com/doronz88/pymobiledevice3/compare/v6.2.0...v7.0.7 Changelog: https://github.com/doronz88/pymobiledevice3/releases/tag/v7.0.7 --- .../python-modules/pymobiledevice3/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pymobiledevice3/default.nix b/pkgs/development/python-modules/pymobiledevice3/default.nix index 9acb35471961..10567ef0a329 100644 --- a/pkgs/development/python-modules/pymobiledevice3/default.nix +++ b/pkgs/development/python-modules/pymobiledevice3/default.nix @@ -1,7 +1,6 @@ { bpylist2, buildPythonPackage, - click, coloredlogs, construct, construct-typing, @@ -41,6 +40,8 @@ srptools, sslpsk-pmd3, tqdm, + typer, + typer-injector, uvicorn, wsproto, xonsh, @@ -48,14 +49,14 @@ buildPythonPackage rec { pname = "pymobiledevice3"; - version = "6.2.0"; + version = "7.0.7"; pyproject = true; src = fetchFromGitHub { owner = "doronz88"; repo = "pymobiledevice3"; tag = "v${version}"; - hash = "sha256-Sc02p2zZb/CPYFU+lz6fe1UZgWhdJYH2/pSJ5gVE0iY="; + hash = "sha256-akJjxGj8kSvp9cRzEZrndW9il1zCabneZfKx8ACOmLk="; }; build-system = [ @@ -65,7 +66,6 @@ buildPythonPackage rec { dependencies = [ bpylist2 - click coloredlogs construct construct-typing @@ -99,6 +99,8 @@ buildPythonPackage rec { srptools sslpsk-pmd3 tqdm + typer + typer-injector uvicorn wsproto xonsh From 819ba16283fa0fb969039045536cc26e03a2037d Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 8 Dec 2025 20:00:54 +0200 Subject: [PATCH 0169/1216] python312.pkgs.datasets: reorder arguments --- pkgs/development/python-modules/datasets/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix index 7986fe8ff6bb..88f4af44d8ee 100644 --- a/pkgs/development/python-modules/datasets/default.nix +++ b/pkgs/development/python-modules/datasets/default.nix @@ -1,9 +1,13 @@ { lib, - aiohttp, buildPythonPackage, - dill, fetchFromGitHub, + # build-system + setuptools, + + # dependencies + aiohttp, + dill, fsspec, huggingface-hub, multiprocess, @@ -13,7 +17,6 @@ pyarrow, requests, responses, - setuptools, tqdm, xxhash, }: From b93c83cfc8bfc669f949bdf55bee8d7a85eccb67 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 8 Dec 2025 19:57:54 +0200 Subject: [PATCH 0170/1216] python3.pkgs.datasets: 4.0.0 -> 4.4.1 Diff: https://github.com/huggingface/datasets/compare/4.0.0...4.4.1 Changelog: https://github.com/huggingface/datasets/releases/tag/4.4.1 --- .../python-modules/datasets/default.nix | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix index 88f4af44d8ee..0eb926b85478 100644 --- a/pkgs/development/python-modules/datasets/default.nix +++ b/pkgs/development/python-modules/datasets/default.nix @@ -6,30 +6,30 @@ setuptools, # dependencies - aiohttp, dill, + filelock, fsspec, + httpx, huggingface-hub, multiprocess, numpy, - packaging, pandas, pyarrow, + pyyaml, requests, - responses, tqdm, xxhash, }: buildPythonPackage rec { pname = "datasets"; - version = "4.0.0"; + version = "4.4.1"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "datasets"; tag = version; - hash = "sha256-Cr25PgLNGX/KcFZE5h1oiaDW9J50ccMqA5z3q4sITus="; + hash = "sha256-4uKGbT/EtPD1nk66SZu0r4lqGSQXMHkZh8q8x6g3YqU="; }; build-system = [ @@ -37,17 +37,17 @@ buildPythonPackage rec { ]; dependencies = [ - aiohttp dill + filelock fsspec + httpx huggingface-hub multiprocess numpy - packaging pandas pyarrow + pyyaml requests - responses tqdm xxhash ]; @@ -56,10 +56,6 @@ buildPythonPackage rec { # https://github.com/huggingface/datasets/blob/a256b85cbc67aa3f0e75d32d6586afc507cf535b/setup.py#L117 # "pin until dill has official support for determinism" "dill" - "multiprocess" - # https://github.com/huggingface/datasets/blob/a256b85cbc67aa3f0e75d32d6586afc507cf535b/setup.py#L129 - # "to support protocol=kwargs in fsspec's `open`, `get_fs_token_paths`" - "fsspec" ]; # Tests require pervasive internet access From 2a60d279d57e763f49f6364f463df42a571e0b2a Mon Sep 17 00:00:00 2001 From: fzdslr-nw Date: Thu, 1 Jan 2026 17:23:31 +0000 Subject: [PATCH 0171/1216] brotli: fix loongarch64-linux build --- pkgs/by-name/br/brotli/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/br/brotli/package.nix b/pkgs/by-name/br/brotli/package.nix index ee1c8535c0af..83794e2721b0 100644 --- a/pkgs/by-name/br/brotli/package.nix +++ b/pkgs/by-name/br/brotli/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchurl, cmake, python3Packages, staticOnly ? stdenv.hostPlatform.isStatic, @@ -19,6 +20,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-kl8ZHt71v17QR2bDP+ad/5uixf+GStEPLQ5ooFoC5i8="; }; + patches = [ + # Fixes build on LoongArch64 & IA64 + # https://github.com/google/brotli/commit/e230f474b87134e8c6c85b630084c612057f253e + (fetchurl { + url = "https://github.com/google/brotli/commit/e230f474b87134e8c6c85b630084c612057f253e.patch"; + hash = "sha256-QERl8RHJz7tFr++hZIYwdj1/ogPpjArC+ia8S/bWxKk="; + }) + ]; + nativeBuildInputs = [ cmake ]; cmakeFlags = lib.optional staticOnly "-DBUILD_SHARED_LIBS=OFF"; From c379995bb36df56d74dcd942bf5828f09f676e8a Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 2 Jan 2026 16:01:56 +1000 Subject: [PATCH 0172/1216] flex: unconditionally apply patch --- pkgs/development/tools/parsing/flex/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix index 6721ac53862a..fb1b9a601ac3 100644 --- a/pkgs/development/tools/parsing/flex/default.nix +++ b/pkgs/development/tools/parsing/flex/default.nix @@ -22,22 +22,20 @@ stdenv.mkDerivation rec { sha256 = "15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"; }; - # Also upstream, will be part of 2.6.5 - # https://github.com/westes/flex/commit/24fd0551333e patches = [ (fetchurl { + # Also upstream, will be part of 2.6.5 + # https://github.com/westes/flex/commit/24fd0551333e name = "glibc-2.26.patch"; url = "https://raw.githubusercontent.com/lede-project/source/0fb14a2b1ab2f82ce63f4437b062229d73d90516/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch"; sha256 = "0mpp41zdg17gx30kcpj83jl8hssks3adbks0qzbhcz882b9c083r"; }) - ] - ++ (lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ (fetchurl { name = "gcc-15.patch"; url = "https://github.com/westes/flex/commit/bf254c75b1e0d2641ebbd7fc85fb183f36a62ea7.patch"; hash = "sha256-Bnv23M2K1Qf7pEaEz0ueSNzTCdjMTDiMm+H7JaxUISs="; }) - ]); + ]; postPatch = '' patchShebangs tests From 8e7b5ff391373ee4be2fcc41898cae629f14eb50 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Jan 2026 12:22:18 +0000 Subject: [PATCH 0173/1216] vim: 9.1.1918 -> 9.1.2035 --- pkgs/applications/editors/vim/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 2d46569084bc..8faedc246732 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub }: rec { - version = "9.1.1918"; + version = "9.1.2035"; outputs = [ "out" @@ -11,7 +11,7 @@ rec { owner = "vim"; repo = "vim"; rev = "v${version}"; - hash = "sha256-NU/A7yWcLaC+wqsfiHYVhnSZHGDao6+Oib/bSFNSVyQ="; + hash = "sha256-x7WosfqYApaY2Vv1X9+2at/A/KqfacuPy53MGtnxk9w="; }; enableParallelBuilding = true; From 1534a22c766e15ca05262be88cff0a9016c7ef04 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 2 Jan 2026 08:58:48 -0500 Subject: [PATCH 0174/1216] libsodium: add mdaniels5757 as co-maintainer --- pkgs/by-name/li/libsodium/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libsodium/package.nix b/pkgs/by-name/li/libsodium/package.nix index 734c84088d33..3de95adc0bfe 100644 --- a/pkgs/by-name/li/libsodium/package.nix +++ b/pkgs/by-name/li/libsodium/package.nix @@ -43,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Modern and easy-to-use crypto library"; homepage = "https://doc.libsodium.org/"; license = lib.licenses.isc; - maintainers = with lib.maintainers; [ raskin ]; + maintainers = with lib.maintainers; [ + mdaniels5757 + raskin + ]; pkgConfigModules = [ "libsodium" ]; platforms = lib.platforms.all; }; From 792a15b14b3381a5be59f9042c4636dfefc62c9a Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 2 Jan 2026 16:31:07 +0100 Subject: [PATCH 0175/1216] findutils: Fix gnulib test failure on ppc64 --- pkgs/tools/misc/findutils/default.nix | 9 +- ...loat-h-tests-port-to-C23-PowerPC-GCC.patch | 225 ++++++++++++++++++ 2 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/misc/findutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index 083c38138fdc..a5e8459355ac 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -24,7 +24,14 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace xargs/xargs.c --replace 'char default_cmd[] = "echo";' 'char default_cmd[] = "${coreutils}/bin/echo";' ''; - patches = [ ./no-install-statedir.patch ]; + patches = [ + ./no-install-statedir.patch + + # Fixes test-float failure on ppc64 with C23 + # https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00021.html + # Multiple upstream commits squashed with adjustments, see header + ./gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch + ]; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort diff --git a/pkgs/tools/misc/findutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch b/pkgs/tools/misc/findutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch new file mode 100644 index 000000000000..5eb610a1c2c6 --- /dev/null +++ b/pkgs/tools/misc/findutils/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch @@ -0,0 +1,225 @@ +Applied the following incremental gnulib commits: + +- 55a366a06fbd98bf13adc531579e3513cee97a32 +- 65ed9d3b24ad09fd61d326c83e7f1b05f6e9d65f +- ce8e9de0bf34bc63dffc67ab384334c509175f64 +- 6164b4cb0887b5331a4e64449107decd37d32735 + +With adjustments specific to the structure & differences in findutils: + +- gnulib code is split across gl/lib and gnulib-tests +- float.in.h seems old, lacking blocks for standards C11 and up. Relevant code for LDBL_NORM_MAX was added. +- A Makefile.in is used for the test flags instead of the fancy automake modules + in the upstream gnulib project, so we add -lm to the float test there. + Surrounding texts in this file are slightly different in every project. +--- +diff '--color=auto' -ruN a/gl/lib/float.c b/gl/lib/float.c +--- a/gl/lib/float.c 2024-01-01 21:35:38.000000000 +0100 ++++ b/gl/lib/float.c 2026-01-02 16:11:07.508755119 +0100 +@@ -22,7 +22,7 @@ + + #if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + const union gl_long_double_union gl_LDBL_MAX = +- { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; ++ { { DBL_MAX, DBL_MAX / 0x1p53 } }; + #elif defined __i386__ + const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +diff '--color=auto' -ruN a/gl/lib/float.in.h b/gl/lib/float.in.h +--- a/gl/lib/float.in.h 2024-01-01 21:35:38.000000000 +0100 ++++ b/gl/lib/float.in.h 2026-01-02 16:13:56.571684867 +0100 +@@ -111,44 +111,38 @@ + # define LDBL_MAX_10_EXP 4932 + #endif + +-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are +- wrong. +- On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ ++/* On PowerPC with gcc 15 when using __ibm128 long double, the value of ++ LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX, and LDBL_NORM_MAX are wrong. */ ++#if ((defined _ARCH_PPC || defined _POWER) && LDBL_MANT_DIG == 106 \ ++ && defined __GNUC__) + # undef LDBL_MIN_EXP + # define LDBL_MIN_EXP DBL_MIN_EXP + # undef LDBL_MIN_10_EXP + # define LDBL_MIN_10_EXP DBL_MIN_10_EXP + # undef LDBL_MIN + # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +-#endif +-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + # undef LDBL_MAX +-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. +- It is not easy to define: +- #define LDBL_MAX 1.79769313486231580793728971405302307166e308L +- is too small, whereas +- #define LDBL_MAX 1.79769313486231580793728971405302307167e308L +- is too large. Apparently a bug in GCC decimal-to-binary conversion. +- Also, I can't get values larger than +- #define LDBL63 ((long double) (1ULL << 63)) +- #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) +- which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. +- So, define it like this through a reference to an external variable ++/* LDBL_MAX is 2**1024 - 2**918, represented as: { 0x7FEFFFFF, 0xFFFFFFFF, ++ 0x7C9FFFFF, 0xFFFFFFFF }. ++ ++ Do not write it as a constant expression, as GCC would likely treat ++ that as infinity due to the vagaries of this platform's funky arithmetic. ++ Instead, define it through a reference to an external variable. ++ Like the following, but using a union to avoid type mismatches: + +- const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; ++ const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / 0x1p53 }; + extern const long double LDBL_MAX; + +- or through a pointer cast ++ The following alternative would not work as well when GCC is optimizing: ++ ++ #define LDBL_MAX (*(long double const *) (double[]) ++ { DBL_MAX, DBL_MAX / 0x1p53 }) + +- #define LDBL_MAX \ +- (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) ++ The following alternative would require GCC 6 or later: + +- Unfortunately, this is not a constant expression, and the latter expression +- does not work well when GCC is optimizing.. */ ++ #define LDBL_MAX __builtin_pack_longdouble (DBL_MAX, DBL_MAX / 0x1p53) ++ ++ Unfortunately none of the alternatives are constant expressions. */ + # if !GNULIB_defined_long_double_union + union gl_long_double_union + { +@@ -159,6 +153,8 @@ + # endif + extern const union gl_long_double_union gl_LDBL_MAX; + # define LDBL_MAX (gl_LDBL_MAX.ld) ++# undef LDBL_NORM_MAX ++# define LDBL_NORM_MAX LDBL_MAX + #endif + + /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. +@@ -179,6 +175,35 @@ + # endif + #endif + ++/* On PowerPC platforms, 'long double' has a double-double representation. ++ Up to ISO C 17, this was outside the scope of ISO C because it can represent ++ numbers with mantissas of the form 1.<52 bits><52 bits>, such as ++ 1.0L + 4.94065645841246544176568792868221e-324L = 1 + 2^-1074; see ++ ISO C 17 § 5.2.4.2.2.(3). ++ In ISO C 23, wording has been included that makes this 'long double' ++ representation compliant; see ISO C 23 § 5.2.5.3.3.(8)-(9). In this setting, ++ numbers with mantissas of the form 1.<52 bits><52 bits> are ++ called "unnormalized". And since LDBL_EPSILON must be normalized (per ++ ISO C 23 § 5.2.5.3.3.(33)), it must be 2^-105. */ ++#if defined __powerpc__ && LDBL_MANT_DIG == 106 ++# undef LDBL_EPSILON ++# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ ++#endif ++ ++/* ============================ ISO C23 support ============================ */ ++ ++/* 'long double' properties */ ++ ++#ifndef LDBL_NORM_MAX ++# ifdef __LDBL_NORM_MAX__ ++# define LDBL_NORM_MAX __LDBL_NORM_MAX__ ++# else ++# define LDBL_NORM_MAX LDBL_MAX ++# endif ++#endif ++ ++/* ================================= Other ================================= */ ++ + #if @REPLACE_ITOLD@ + /* Pull in a function that fixes the 'int' to 'long double' conversion + of glibc 2.7. */ +diff '--color=auto' -ruN a/gnulib-tests/Makefile.in b/gnulib-tests/Makefile.in +--- a/gnulib-tests/Makefile.in 2024-06-01 18:18:09.000000000 +0200 ++++ b/gnulib-tests/Makefile.in 2026-01-02 15:56:12.645625323 +0100 +@@ -1172,7 +1172,7 @@ + ../gl/lib/libgnulib.a libtests.a $(am__DEPENDENCIES_1) + test_float_SOURCES = test-float.c + test_float_OBJECTS = test-float.$(OBJEXT) +-test_float_LDADD = $(LDADD) ++test_float_LDADD = $(LDADD) -lm + test_float_DEPENDENCIES = libtests.a ../gl/lib/libgnulib.a libtests.a \ + ../gl/lib/libgnulib.a libtests.a $(am__DEPENDENCIES_1) + test_fnmatch_SOURCES = test-fnmatch.c +diff '--color=auto' -ruN a/gnulib-tests/test-float.c b/gnulib-tests/test-float.c +--- a/gnulib-tests/test-float.c 2024-05-27 21:48:37.000000000 +0200 ++++ b/gnulib-tests/test-float.c 2026-01-02 16:15:21.261123584 +0100 +@@ -59,6 +59,8 @@ + + /* ------------------------------------------------------------------------- */ + ++#include ++ + #include "fpucw.h" + #include "macros.h" + +@@ -295,6 +297,44 @@ + + /* -------------------- Check macros for 'long double' -------------------- */ + ++static int ++test_isfinitel (long double volatile x) ++{ ++ if (x != x) ++ return 0; ++ long double volatile zero = x * 0; ++ return zero == 0; ++} ++ ++/* Return X after normalization. This makes a difference on platforms ++ where long double can represent unnormalized values. For example, ++ suppose x = 1 + 2**-106 on PowerPC with IBM long double where ++ FLT_RADIX = 2, LDBL_MANT_DIG = 106, and LDBL_EPSILON = 2**-105. ++ Then 1 < x < 1 + LDBL_EPSILON, and normalize_long_double (x) returns 1. */ ++static long double ++normalize_long_double (long double volatile x) ++{ ++ if (FLT_RADIX == 2 && test_isfinitel (x)) ++ { ++ int xexp; ++ long double volatile ++ frac = frexpl (x, &xexp), ++ significand = frac * pow2l (LDBL_MANT_DIG), ++ normalized_significand = truncl (significand), ++ normalized_x = normalized_significand * pow2l (xexp - LDBL_MANT_DIG); ++ ++ /* The test_isfinitel defends against PowerPC with IBM long double, ++ which fritzes out near LDBL_MAX. */ ++ if (test_isfinitel (normalized_x)) ++ x = normalized_x; ++ } ++ else ++ { ++ /* Hope that X is already normalized. */ ++ } ++ return x; ++} ++ + static void + test_long_double (void) + { +@@ -354,11 +394,14 @@ + for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) + { + volatile long double half_n = pow2l (- n); /* 2^-n */ +- volatile long double x = me - half_n; ++ volatile long double x = normalize_long_double (me - half_n); + if (x < me) + ASSERT (x <= 1.0L); + } + } ++ ++ /* Check the value of LDBL_NORM_MAX. */ ++ ASSERT (LDBL_NORM_MAX == normalize_long_double (LDBL_MAX)); + } + + int From 2c437af02087e5c582b131d9d6940389325537a6 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 29 Sep 2025 16:20:35 -0300 Subject: [PATCH 0176/1216] isl: fix cygwin build --- pkgs/development/libraries/isl/generic.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/isl/generic.nix b/pkgs/development/libraries/isl/generic.nix index 0ffec59b278c..8988e8faf982 100644 --- a/pkgs/development/libraries/isl/generic.nix +++ b/pkgs/development/libraries/isl/generic.nix @@ -42,6 +42,8 @@ stdenv.mkDerivation { enableParallelBuilding = true; + makeFlags = lib.optional stdenv.hostPlatform.isPE "LDFLAGS=-no-undefined"; + meta = { homepage = "https://libisl.sourceforge.io/"; license = lib.licenses.lgpl21; From 34f98e430aa0866ce38611d80687d6ce3636943a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Jan 2026 16:59:06 +0000 Subject: [PATCH 0177/1216] gn: 0-unstable-2025-09-18 -> 0-unstable-2025-10-08 --- pkgs/by-name/gn/gn/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gn/gn/package.nix b/pkgs/by-name/gn/gn/package.nix index 4aee8936d8fa..5dcf8f8851fa 100644 --- a/pkgs/by-name/gn/gn/package.nix +++ b/pkgs/by-name/gn/gn/package.nix @@ -11,11 +11,11 @@ version ? # This is a workaround for update-source-version to be able to update this let - _version = "0-unstable-2025-09-18"; + _version = "0-unstable-2025-10-08"; in _version, - rev ? "81b24e01531ecf0eff12ec9359a555ec3944ec4e", - hash ? "sha256-sm5GWbkm3ua7EkCWTuY4TG6EXKe3asXTrH1APnNARJQ=", + rev ? "07d3c6f4dc290fae5ca6152ebcb37d6815c411ab", + hash ? "sha256-kIPhfuJBQSISdRjloe0N2JrqvuVrEkNijb92/9zSE9I=", }: stdenv.mkDerivation { From 66e29f6eaa7649ffe28885bd1b0909714d86af15 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Jan 2026 17:46:00 +0000 Subject: [PATCH 0178/1216] harfbuzz: 12.2.0 -> 12.3.0 --- pkgs/by-name/ha/harfbuzz/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ha/harfbuzz/package.nix b/pkgs/by-name/ha/harfbuzz/package.nix index 042e82e6ae5b..9bc4691a6628 100644 --- a/pkgs/by-name/ha/harfbuzz/package.nix +++ b/pkgs/by-name/ha/harfbuzz/package.nix @@ -34,11 +34,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "harfbuzz${lib.optionalString withIcu "-icu"}"; - version = "12.2.0"; + version = "12.3.0"; src = fetchurl { url = "https://github.com/harfbuzz/harfbuzz/releases/download/${finalAttrs.version}/harfbuzz-${finalAttrs.version}.tar.xz"; - hash = "sha256-7LYDqkJqiyRmVxhme9pkqEwVBNt0VO5Mrb02Lupk5UU="; + hash = "sha256-hmDr08J9lAf8hDO10XK6+6XwMXywu0M58o5TcMk9Qrc="; }; postPatch = '' From d992204d8c96165b9a63a87ff61ea4860c93033f Mon Sep 17 00:00:00 2001 From: Jarrad Hope Date: Wed, 31 Dec 2025 18:20:30 -0500 Subject: [PATCH 0179/1216] luajit: enable MinGW build LuaJIT's build needs an explicit Windows target when cross compiling to MinGW. Without this it can emit ELF-specific assembler directives (e.g. .hidden/.type/.size), which fail with the PE/COFF toolchain. Also provide an install-time compatibility copy from src/luajit.exe to src/luajit, since the upstream install rule expects the non-.exe name. --- .../interpreters/luajit/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index a0f902f5200e..95211f41f6fb 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -93,11 +93,25 @@ stdenv.mkDerivation (finalAttrs: { "CROSS=${stdenv.cc.targetPrefix}" "HOST_CC=${buildStdenv.cc}/bin/cc" ] + # LuaJIT's build system needs an explicit target on MinGW, otherwise it can + # emit ELF-specific assembler directives (e.g. .hidden/.type/.size) that the + # PE/COFF toolchain doesn't accept. + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + "TARGET_SYS=Windows" + ] ++ lib.optional enableJITDebugModule "INSTALL_LJLIBD=$(INSTALL_LMOD)" ++ lib.optional stdenv.hostPlatform.isStatic "BUILDMODE=static"; enableParallelBuilding = true; env.NIX_CFLAGS_COMPILE = toString XCFLAGS; + # The LuaJIT build produces `src/luajit.exe` on Windows targets, but the + # upstream install rule expects `src/luajit`. Provide a compatibility copy. + preInstall = lib.optionalString stdenv.hostPlatform.isMinGW '' + if [[ -e src/luajit.exe && ! -e src/luajit ]]; then + cp -p src/luajit.exe src/luajit + fi + ''; + postInstall = '' mkdir -p $out/nix-support cp ${ @@ -152,7 +166,9 @@ stdenv.mkDerivation (finalAttrs: { description = "High-performance JIT compiler for Lua 5.1"; homepage = "https://luajit.org/"; license = lib.licenses.mit; - platforms = lib.platforms.linux ++ lib.platforms.darwin; + # MSYS2 ships LuaJIT for mingw-w64, and nixpkgs consumers (like phosphor) + # need it in Windows cross builds. + platforms = lib.platforms.linux ++ lib.platforms.darwin ++ lib.platforms.windows; badPlatforms = [ "loongarch64-linux" # See https://github.com/LuaJIT/LuaJIT/issues/1278 "riscv64-linux" # See https://github.com/LuaJIT/LuaJIT/issues/628 From 0a2b5e0daa2f4f289c1a1e945c23af65782a6ea9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Jan 2026 19:04:51 +0000 Subject: [PATCH 0180/1216] xorg.xorgserver: 21.1.20 -> 21.1.21 --- pkgs/by-name/xo/xorg-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xo/xorg-server/package.nix b/pkgs/by-name/xo/xorg-server/package.nix index bfede48f705a..1ed58c7004b2 100644 --- a/pkgs/by-name/xo/xorg-server/package.nix +++ b/pkgs/by-name/xo/xorg-server/package.nix @@ -57,7 +57,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xorg-server"; - version = "21.1.20"; + version = "21.1.21"; outputs = [ "out" @@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://xorg/individual/xserver/xorg-server-${finalAttrs.version}.tar.xz"; - hash = "sha256-dpW8YYJLOoG2utL3iwVADKAVAD3kAtGzIhFxBbcC6Tc="; + hash = "sha256-wMvlVFs/ZFuuYCS4MNHRFUqVY1BoOk5Ssv/1sPoatRk="; }; patches = lib.optionals stdenv.hostPlatform.isDarwin [ From 63195b0d18a00ae68ca77e5e9a922b38db1418fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Jan 2026 19:11:05 +0000 Subject: [PATCH 0181/1216] fast-float: 8.1.0 -> 8.2.2 --- pkgs/by-name/fa/fast-float/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/fast-float/package.nix b/pkgs/by-name/fa/fast-float/package.nix index e9a5948fbdc4..6558a2dae15a 100644 --- a/pkgs/by-name/fa/fast-float/package.nix +++ b/pkgs/by-name/fa/fast-float/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fast-float"; - version = "8.1.0"; + version = "8.2.2"; src = fetchFromGitHub { owner = "fastfloat"; repo = "fast_float"; rev = "v${finalAttrs.version}"; - hash = "sha256-kTLmk+mxfdN/+vKdyohcaNSeoAkhJf3uesaBOz123ag="; + hash = "sha256-IZCZZayK3INU5P8HwZvWfOJuRfBrbPYuMQCjgCjHCWE="; }; nativeBuildInputs = [ cmake ]; From 05159343ea28f3024b68e2c22fb7acf6d75823ec Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Tue, 23 Dec 2025 13:05:57 +0100 Subject: [PATCH 0182/1216] lua5_5: init at 5.5.0 --- .../interpreters/lua-5/5.5.darwin.patch | 52 +++++++++++++++++++ .../interpreters/lua-5/default.nix | 15 ++++++ .../interpreters/lua-5/interpreter.nix | 2 +- pkgs/top-level/all-packages.nix | 3 ++ 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/interpreters/lua-5/5.5.darwin.patch diff --git a/pkgs/development/interpreters/lua-5/5.5.darwin.patch b/pkgs/development/interpreters/lua-5/5.5.darwin.patch new file mode 100644 index 000000000000..33ce03cf8bbb --- /dev/null +++ b/pkgs/development/interpreters/lua-5/5.5.darwin.patch @@ -0,0 +1,52 @@ +diff --git a/Makefile b/Makefile +index 388fa17..ce17b93 100644 +--- a/Makefile ++++ b/Makefile +@@ -41,7 +41,7 @@ PLATS= guess aix bsd c89 freebsd generic ios linux macosx mingw posix solaris + # What to install. + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +-TO_LIB= liblua.a ++TO_LIB= liblua.${pkgversion}.dylib + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -60,6 +60,9 @@ install: dummy + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) ++ ln -s -f liblua.${pkgversion}.dylib $(INSTALL_LIB)/liblua.${luaversion}.dylib ++ ln -s -f liblua.${luaversion}.dylib $(INSTALL_LIB)/liblua.dylib ++ + + uninstall: + cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) +diff --git a/src/Makefile b/src/Makefile +index acf33e0..42a5435 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -32,7 +32,7 @@ CMCFLAGS= + + PLATS= guess aix bsd c89 freebsd generic ios linux macosx mingw posix solaris + +-LUA_A= liblua.a ++LUA_A= liblua.${pkgversion}.a + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o + LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o + BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) +@@ -59,9 +59,14 @@ a: $(ALL_A) + $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) + $(RANLIB) $@ ++ $(CC) -dynamiclib -install_name $(out)/lib/liblua.${pkgversion}.dylib \ ++ -compatibility_version ${pkgversion} -current_version ${pkgversion} \ ++ -o liblua.${pkgversion}.dylib $^ ++ + + $(LUA_T): $(LUA_O) $(LUA_A) +- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++ $(CC) -fno-common $(MYLDFLAGS) \ ++ -o $@ $(LUA_O) $(LUA_A) -L. -llua.${pkgversion} $(LIBS) + + $(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index fd6ed6d800e1..1147893e5e43 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -102,6 +102,21 @@ let in rec { + lua5_5 = callPackage ./interpreter.nix { + self = lua5_5; + version = "5.5.0"; + hash = "sha256-V8zDK7vQBcq3W8xSREBSU1r2kXiduiuQFtXFBkDWiz0="; + makeWrapper = makeBinaryWrapper; + inherit passthruFun; + + patches = lib.optional stdenv.hostPlatform.isDarwin ./5.5.darwin.patch; + }; + + lua5_5_compat = lua5_5.override { + self = lua5_5_compat; + compat = true; + }; + lua5_4 = callPackage ./interpreter.nix { self = lua5_4; version = "5.4.7"; diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix index 7142370b89f6..05272e980b4f 100644 --- a/pkgs/development/interpreters/lua-5/interpreter.nix +++ b/pkgs/development/interpreters/lua-5/interpreter.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation ( plat = if (stdenv.hostPlatform.isLinux && lib.versionOlder self.luaversion "5.4") then "linux" - else if (stdenv.hostPlatform.isLinux && lib.versionAtLeast self.luaversion "5.4") then + else if (stdenv.hostPlatform.isLinux && self.luaversion == "5.4") then "linux-readline" else if stdenv.hostPlatform.isDarwin then "macosx" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b4a03b9e304..caa6ddda2309 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5460,6 +5460,8 @@ with pkgs; lua5_3_compat lua5_4 lua5_4_compat + lua5_5 + lua5_5_compat luajit_2_1 luajit_2_0 luajit_openresty @@ -5472,6 +5474,7 @@ with pkgs; lua52Packages = recurseIntoAttrs lua5_2.pkgs; lua53Packages = recurseIntoAttrs lua5_3.pkgs; lua54Packages = recurseIntoAttrs lua5_4.pkgs; + lua55Packages = recurseIntoAttrs lua5_5.pkgs; luajitPackages = recurseIntoAttrs luajit.pkgs; luaPackages = lua52Packages; From 0da10a340ce0d0253a8c916281e084d8d5448130 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 2 Jan 2026 20:27:17 +0000 Subject: [PATCH 0183/1216] xauth: 1.1.4 -> 1.1.5 Changes: https://lists.x.org/archives/xorg-announce/2025-December/003653.html --- pkgs/by-name/xa/xauth/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xa/xauth/package.nix b/pkgs/by-name/xa/xauth/package.nix index c44e008f8b62..b28bd41cddd8 100644 --- a/pkgs/by-name/xa/xauth/package.nix +++ b/pkgs/by-name/xa/xauth/package.nix @@ -12,11 +12,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xauth"; - version = "1.1.4"; + version = "1.1.5"; src = fetchurl { url = "mirror://xorg/individual/app/xauth-${finalAttrs.version}.tar.xz"; - hash = "sha256-6TGBQUZK17TcD4VkpYDw0g+XfIWjiMxA1admIGFRxpA="; + hash = "sha256-pAAOL0QfrOv1aQJr7ezCO6JizGknvlIHCr4AAmJc++A="; }; strictDeps = true; From 63bf1339ff574ea1edc78995b818d827dbbe4e8f Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 2 Jan 2026 21:29:24 +0100 Subject: [PATCH 0184/1216] python3Packages.pillow: 12.0.0 -> 12.1.0 https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html --- pkgs/development/python-modules/pillow/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix index 04a1ef8b6369..8a378da0b7fa 100644 --- a/pkgs/development/python-modules/pillow/default.nix +++ b/pkgs/development/python-modules/pillow/default.nix @@ -44,14 +44,14 @@ buildPythonPackage rec { pname = "pillow"; - version = "12.0.0"; + version = "12.1.0"; pyproject = true; src = fetchFromGitHub { owner = "python-pillow"; repo = "pillow"; tag = version; - hash = "sha256-58mjwHErEZPkkGBVZznkkMQN5Zo4ZBBiXnhqVp1F81g="; + hash = "sha256-QGtuxKpkx2FScQHj9lH4mhEAo6jE+NAR2sR5/zvHUuA="; }; build-system = [ From c81451ddde72fcefa7ac9539fbdd6ab681dcd404 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 2 Jan 2026 20:32:15 +0000 Subject: [PATCH 0185/1216] utf8proc: 2.11.2 -> 2.11.3 Changes: https://github.com/JuliaStrings/utf8proc/releases/tag/v2.11.3 --- pkgs/by-name/ut/utf8proc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ut/utf8proc/package.nix b/pkgs/by-name/ut/utf8proc/package.nix index ec2586bb7d67..d9910efaaf72 100644 --- a/pkgs/by-name/ut/utf8proc/package.nix +++ b/pkgs/by-name/ut/utf8proc/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "utf8proc"; - version = "2.11.2"; + version = "2.11.3"; src = fetchFromGitHub { owner = "JuliaStrings"; repo = "utf8proc"; tag = "v${finalAttrs.version}"; - hash = "sha256-/+/IrsLQ9ykuVOaItd2ZbX60pPlP2omvS1qJz51AnWA="; + hash = "sha256-DF2//R8Oc/+IEJuiG9+rTxQ7nltPcPqdCkzR4T7pUes="; }; nativeBuildInputs = [ cmake ]; From fde9a2c5938703cc18f59567c105a601ee4ed6f0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 2 Jan 2026 20:55:36 +0000 Subject: [PATCH 0186/1216] netpbm: 11.12.0 -> 11.13.0 --- pkgs/by-name/ne/netpbm/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netpbm/package.nix b/pkgs/by-name/ne/netpbm/package.nix index 45c7fb599a65..e21694473f55 100644 --- a/pkgs/by-name/ne/netpbm/package.nix +++ b/pkgs/by-name/ne/netpbm/package.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { # Determine version and revision from: # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced pname = "netpbm"; - version = "11.12.0"; + version = "11.13.0"; outputs = [ "bin" @@ -31,8 +31,8 @@ stdenv.mkDerivation rec { src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; - rev = "5121"; - sha256 = "sha256-u5/chGsu+imk6GtptDz/EIyCe3CmoWiQ6CAcLASqpqU="; + rev = "5141"; + sha256 = "sha256-WfmUfP/uc2k8qPki5Gh7WrTH6nIeyhACcn+F5GaFJCE="; }; nativeBuildInputs = [ From d9a76d1105b837b8ed6f07870d79e2bea5f534ba Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 2 Jan 2026 16:56:20 -0500 Subject: [PATCH 0187/1216] libsodium: 1.0.20 -> 1.0.20-unstable-2025-12-31; use GitHub for releases; set updateScript --- pkgs/by-name/li/libsodium/package.nix | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/li/libsodium/package.nix b/pkgs/by-name/li/libsodium/package.nix index 3de95adc0bfe..383ee5a05a08 100644 --- a/pkgs/by-name/li/libsodium/package.nix +++ b/pkgs/by-name/li/libsodium/package.nix @@ -1,18 +1,21 @@ { lib, stdenv, - fetchurl, autoreconfHook, + fetchFromGitHub, testers, + unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { pname = "libsodium"; - version = "1.0.20"; + version = "1.0.20-unstable-2025-12-31"; - src = fetchurl { - url = "https://download.libsodium.org/libsodium/releases/libsodium-${finalAttrs.version}.tar.gz"; - hash = "sha256-67Ze9spDkzPCu0GgwZkFhyiNoH9sf9B8s6GMwY0wzhk="; + src = fetchFromGitHub { + owner = "jedisct1"; + repo = "libsodium"; + rev = "d44593f1a5b7d31b5122689605b489577356f7e8"; + hash = "sha256-6DC9JJLUwAoZHrYdCIiqOtAlWOEczec2r2FmaBbsa/Q="; }; outputs = [ @@ -37,7 +40,13 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + passthru = { + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + updateScript = unstableGitUpdater { + branch = "stable"; + tagConverter = "cut -d - -f 1"; + }; + }; meta = { description = "Modern and easy-to-use crypto library"; From f426f342aef1b75cfaf66686e6084e7710b57809 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 2 Jan 2026 18:41:09 -0500 Subject: [PATCH 0188/1216] python3Packages.pynacl: 1.6.0 -> 1.6.2 --- pkgs/development/python-modules/pynacl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pynacl/default.nix b/pkgs/development/python-modules/pynacl/default.nix index 11a60e232336..1606ab44db30 100644 --- a/pkgs/development/python-modules/pynacl/default.nix +++ b/pkgs/development/python-modules/pynacl/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pynacl"; - version = "1.6.0"; + version = "1.6.2"; outputs = [ "out" "doc" @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "pyca"; repo = "pynacl"; tag = version; - hash = "sha256-7SDJB2bXn0IGJQi597yehs9epdfmS7slbQ97vFVUkEA="; + hash = "sha256-EzzJVRDgYQO6T8YIQjad/Eb9O+BXT4IpOpa48fpBPnc="; }; build-system = [ From 6474c2bacf268549ef1cb4829ec1893af214615f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 3 Jan 2026 00:33:56 +0000 Subject: [PATCH 0189/1216] libtpms: 0.10.1 -> 0.10.2 --- pkgs/by-name/li/libtpms/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libtpms/package.nix b/pkgs/by-name/li/libtpms/package.nix index f8169a99f66f..b717baca892d 100644 --- a/pkgs/by-name/li/libtpms/package.nix +++ b/pkgs/by-name/li/libtpms/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "libtpms"; - version = "0.10.1"; + version = "0.10.2"; src = fetchFromGitHub { owner = "stefanberger"; repo = "libtpms"; rev = "v${version}"; - sha256 = "sha256-uj06cAhepTOFxSeiBY/UVP/rtBQHLvrODe4ljU6ALOE="; + sha256 = "sha256-UhEpq5f/FT5DmtzQBe/Si414mOq+D4glikgRNK60GKQ="; }; hardeningDisable = [ "strictflexarrays3" ]; From 9a7c6efb85e719b5abb5f8b9e249a150cc0017a8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 3 Jan 2026 00:40:23 +0000 Subject: [PATCH 0190/1216] libthai: 0.1.29 -> 0.1.30 --- pkgs/by-name/li/libthai/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libthai/package.nix b/pkgs/by-name/li/libthai/package.nix index 70a780a4bc2d..a58384bce9ec 100644 --- a/pkgs/by-name/li/libthai/package.nix +++ b/pkgs/by-name/li/libthai/package.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "libthai"; - version = "0.1.29"; + version = "0.1.30"; outputs = [ "out" @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz"; - sha256 = "sha256-/IDMfctQ4RMCtBfOvSTy0wqLmHKS534AMme5EA0PS80="; + sha256 = "sha256-3bqLU9/lhMMlN2YDAhioiCVIilGn3u8EHQlucVr2S90="; }; strictDeps = true; From 0a4634fce60e989ec857ed30c9e0f97ccab98a51 Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Fri, 12 Dec 2025 10:00:24 +0200 Subject: [PATCH 0191/1216] gdb: remove needless assert python3 is always available in scope --- pkgs/development/tools/misc/gdb/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 9ca6edd26495..82d33bfbc4ce 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -26,7 +26,7 @@ libiconv, pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, - python3 ? null, + python3, enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform elfutils, elfutils, guile ? null, @@ -49,8 +49,6 @@ let ) "${stdenv.targetPlatform.config}-"; in -assert pythonSupport -> python3 != null; - stdenv.mkDerivation rec { pname = targetPrefix + basename + lib.optionalString hostCpuOnly "-host-cpu-only"; version = "17.1"; From 1ccd7953fbb0759180b0f9063c8328b0de1feafa Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Fri, 12 Dec 2025 10:04:39 +0200 Subject: [PATCH 0192/1216] gdb: migrate to by-name --- .../tools/misc => by-name/gd}/gdb/darwin-target-match.patch | 0 .../tools/misc => by-name/gd}/gdb/debug-info-from-env.patch | 0 .../tools/misc/gdb/default.nix => by-name/gd/gdb/package.nix} | 2 -- pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 6 deletions(-) rename pkgs/{development/tools/misc => by-name/gd}/gdb/darwin-target-match.patch (100%) rename pkgs/{development/tools/misc => by-name/gd}/gdb/debug-info-from-env.patch (100%) rename pkgs/{development/tools/misc/gdb/default.nix => by-name/gd/gdb/package.nix} (99%) diff --git a/pkgs/development/tools/misc/gdb/darwin-target-match.patch b/pkgs/by-name/gd/gdb/darwin-target-match.patch similarity index 100% rename from pkgs/development/tools/misc/gdb/darwin-target-match.patch rename to pkgs/by-name/gd/gdb/darwin-target-match.patch diff --git a/pkgs/development/tools/misc/gdb/debug-info-from-env.patch b/pkgs/by-name/gd/gdb/debug-info-from-env.patch similarity index 100% rename from pkgs/development/tools/misc/gdb/debug-info-from-env.patch rename to pkgs/by-name/gd/gdb/debug-info-from-env.patch diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/by-name/gd/gdb/package.nix similarity index 99% rename from pkgs/development/tools/misc/gdb/default.nix rename to pkgs/by-name/gd/gdb/package.nix index 82d33bfbc4ce..531f908db504 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/by-name/gd/gdb/package.nix @@ -29,7 +29,6 @@ python3, enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform elfutils, elfutils, - guile ? null, hostCpuOnly ? false, enableSim ? false, safePaths ? [ @@ -94,7 +93,6 @@ stdenv.mkDerivation rec { zlib zstd xz - guile sourceHighlight ] ++ lib.optional pythonSupport python3 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b4a03b9e304..6bcae123e1a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6539,10 +6539,6 @@ with pkgs; enablePythonApi = false; }; - gdb = callPackage ../development/tools/misc/gdb { - guile = null; - }; - gdbHostCpuOnly = gdb.override { hostCpuOnly = true; }; valgrind-light = (valgrind.override { gdb = null; }).overrideAttrs (oldAttrs: { From 9da5cdec38ca827e19fc72b05e7a917b89b72a91 Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Mon, 22 Dec 2025 15:22:00 +0200 Subject: [PATCH 0193/1216] gdb: modernize, parametrize --- pkgs/by-name/gd/gdb/package.nix | 139 +++++++++++++++++--------------- 1 file changed, 74 insertions(+), 65 deletions(-) diff --git a/pkgs/by-name/gd/gdb/package.nix b/pkgs/by-name/gd/gdb/package.nix index 531f908db504..8c2aa60df23b 100644 --- a/pkgs/by-name/gd/gdb/package.nix +++ b/pkgs/by-name/gd/gdb/package.nix @@ -12,10 +12,7 @@ buildPackages, # Run time - ncurses, readline, - gmp, - mpfr, expat, libipt, zlib, @@ -24,13 +21,23 @@ dejagnu, sourceHighlight, libiconv, + xxHash, + withTui ? true, + ncurses, + withGmp ? true, + gmp, + withMpfr ? true, + mpfr, + withGuile ? false, + guile, pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3, enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform elfutils, elfutils, hostCpuOnly ? false, enableSim ? false, + enableUbsan ? false, safePaths ? [ # $debugdir:$datadir/auto-load are whitelisted by default by GDB "$debugdir" @@ -42,37 +49,45 @@ }: let - basename = "gdb"; - targetPrefix = lib.optionalString ( + inherit (lib) + optional + optionals + optionalString + withFeature + enableFeature + withFeatureAs + ; + targetPrefix = optionalString ( stdenv.targetPlatform != stdenv.hostPlatform ) "${stdenv.targetPlatform.config}-"; + pname = targetPrefix + "gdb" + optionalString hostCpuOnly "-host-cpu-only"; in -stdenv.mkDerivation rec { - pname = targetPrefix + basename + lib.optionalString hostCpuOnly "-host-cpu-only"; +stdenv.mkDerivation (finalAttrs: { + inherit pname; version = "17.1"; src = fetchurl { - url = "mirror://gnu/gdb/${basename}-${version}.tar.xz"; + url = "mirror://gnu/gdb/gdb-${finalAttrs.version}.tar.xz"; hash = "sha256-FJlvX3TJ9o9aVD/cRbyngAIH+R+SrupsLnkYIsfG2HY="; }; postPatch = - lib.optionalString stdenv.hostPlatform.isDarwin '' + optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace gdb/darwin-nat.c \ - --replace '#include "bfd/mach-o.h"' '#include "mach-o.h"' + --replace-fail '#include "bfd/mach-o.h"' '#include "mach-o.h"' '' - + lib.optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace sim/erc32/erc32.c --replace sys/fcntl.h fcntl.h - substituteInPlace sim/erc32/interf.c --replace sys/fcntl.h fcntl.h - substituteInPlace sim/erc32/sis.c --replace sys/fcntl.h fcntl.h - substituteInPlace sim/ppc/emul_unix.c --replace sys/termios.h termios.h + + optionalString stdenv.hostPlatform.isMusl '' + substituteInPlace sim/erc32/erc32.c --replace-fail sys/fcntl.h fcntl.h + substituteInPlace sim/erc32/interf.c --replace-fail sys/fcntl.h fcntl.h + substituteInPlace sim/erc32/sis.c --replace-fail sys/fcntl.h fcntl.h + substituteInPlace sim/ppc/emul_unix.c --replace-fail sys/termios.h termios.h ''; patches = [ ./debug-info-from-env.patch ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ++ optionals stdenv.hostPlatform.isDarwin [ ./darwin-target-match.patch ]; @@ -86,19 +101,22 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses readline - gmp - mpfr expat libipt zlib zstd xz sourceHighlight + xxHash + dejagnu # for tests ] - ++ lib.optional pythonSupport python3 - ++ lib.optional doCheck dejagnu - ++ lib.optional enableDebuginfod (elfutils.override { enableDebuginfod = true; }) - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + ++ optional withTui ncurses + ++ optional withMpfr mpfr + ++ optional withGmp gmp + ++ optional pythonSupport python3 + ++ optional withGuile guile + ++ optional enableDebuginfod (elfutils.override { enableDebuginfod = true; }) + ++ optional stdenv.hostPlatform.isDarwin libiconv; propagatedNativeBuildInputs = [ setupDebugInfoDirs ]; @@ -107,24 +125,23 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # darwin build fails with format hardening since v7.12 - hardeningDisable = lib.optionals stdenv.hostPlatform.isDarwin [ "format" ]; + hardeningDisable = optionals stdenv.hostPlatform.isDarwin [ "format" ]; env.NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral"; # Workaround for Apple Silicon, configurePlatforms must be disabled - configurePlatforms = - lib.optionals (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) - [ - "build" - "host" - "target" - ]; + configurePlatforms = optionals (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) [ + "build" + "host" + "target" + ]; preConfigure = '' # remove precompiled docs, required for man gdbinit to mention /etc/gdb/gdbinit rm gdb/doc/*.info* rm gdb/doc/*.5 rm gdb/doc/*.1 + # fix doc build https://sourceware.org/bugzilla/show_bug.cgi?id=27808 rm gdb/doc/GDBvn.texi @@ -142,33 +159,33 @@ stdenv.mkDerivation rec { # subset of the platform description. "--program-prefix=${targetPrefix}" - "--disable-werror" + (enableFeature true "werror") + (enableFeature true "64-bit-bfd") + (enableFeature false "install-libbfd") + (enableFeature withTui "tui") + (withFeature withTui "curses") + (enableFeature false "shared") + (enableFeature true "static") + (withFeature true "system-readline") + (withFeature true "system-zlib") + (withFeature true "expat") + (withFeatureAs true "libexpat-prefix" "${expat.dev}") + (withFeatureAs withGmp "gmp" "${gmp.dev}") + (withFeatureAs withMpfr "mpfr" "${mpfr.dev}") + (withFeature pythonSupport "python") + (withFeature withGuile "guile") + (enableFeature enableSim "sim") + (enableFeature enableUbsan "ubsan") + (withFeatureAs true "system-gdbinit" "/etc/gdb/gdbinit") + (withFeatureAs true "system-gdbinit-dir" "/etc/gdb/gdbinit.d") + (withFeatureAs true "auto-load-safe-path" (builtins.concatStringsSep ":" safePaths)) + (withFeature enableDebuginfod "debuginfod") + (enableFeature (!stdenv.hostPlatform.isMusl) "nls") + (enableFeature (!hostCpuOnly) "targets=all") + (enableFeature (!stdenv.hostPlatform.isStatic) "inprocess-agent") ] - ++ lib.optional (!hostCpuOnly) "--enable-targets=all" - ++ [ - "--enable-64-bit-bfd" - "--disable-install-libbfd" - "--disable-shared" - "--enable-static" - "--with-system-zlib" - "--with-system-readline" - - "--with-system-gdbinit=/etc/gdb/gdbinit" - "--with-system-gdbinit-dir=/etc/gdb/gdbinit.d" - - "--with-gmp=${gmp.dev}" - "--with-mpfr=${mpfr.dev}" - "--with-expat" - "--with-libexpat-prefix=${expat.dev}" - "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}" - ] - ++ lib.optional (!pythonSupport) "--without-python" - ++ lib.optional stdenv.hostPlatform.isMusl "--disable-nls" - ++ lib.optional stdenv.hostPlatform.isStatic "--disable-inprocess-agent" - ++ lib.optional enableDebuginfod "--with-debuginfod=yes" - ++ lib.optional (!enableSim) "--disable-sim" # Workaround for Apple Silicon, "--target" must be "faked", see eg: https://github.com/Homebrew/homebrew-core/pull/209753 - ++ lib.optional ( + ++ optional ( stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 ) "--target=x86_64-apple-darwin"; @@ -177,9 +194,6 @@ stdenv.mkDerivation rec { rm -v $out/share/info/bfd.info ''; - # TODO: Investigate & fix the test failures. - doCheck = false; - passthru = { updateScript = writeScript "update-gdb" '' #!/usr/bin/env nix-shell @@ -195,24 +209,19 @@ stdenv.mkDerivation rec { }; meta = { - mainProgram = "gdb"; - description = "GNU Project debugger"; - + mainProgram = "gdb"; longDescription = '' GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed. ''; - homepage = "https://www.gnu.org/software/gdb/"; - license = lib.licenses.gpl3Plus; - platforms = with lib.platforms; linux ++ cygwin ++ freebsd ++ darwin; maintainers = with lib.maintainers; [ pierron globin ]; }; -} +}) From 9fb5374acb6cd1faa025b76386cdecd1e1732a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Nov 2025 15:16:58 +0100 Subject: [PATCH 0194/1216] nixos/tasks/reiserfs: drop --- nixos/modules/module-list.nix | 1 - nixos/modules/tasks/filesystems/reiserfs.nix | 31 -------------------- 2 files changed, 32 deletions(-) delete mode 100644 nixos/modules/tasks/filesystems/reiserfs.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 953444abe586..660c8d2c1321 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1930,7 +1930,6 @@ ./tasks/filesystems/nfs.nix ./tasks/filesystems/ntfs.nix ./tasks/filesystems/overlayfs.nix - ./tasks/filesystems/reiserfs.nix ./tasks/filesystems/squashfs.nix ./tasks/filesystems/sshfs.nix ./tasks/filesystems/unionfs-fuse.nix diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix deleted file mode 100644 index 6302ff735816..000000000000 --- a/nixos/modules/tasks/filesystems/reiserfs.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - - inInitrd = config.boot.initrd.supportedFilesystems.reiserfs or false; - -in - -{ - config = mkIf (config.boot.supportedFilesystems.reiserfs or false) { - - system.fsPackages = [ pkgs.reiserfsprogs ]; - - boot.initrd.kernelModules = mkIf inInitrd [ "reiserfs" ]; - - boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' - copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck - ln -s reiserfsck $out/bin/fsck.reiserfs - ''; - - boot.initrd.systemd.initrdBin = mkIf inInitrd [ pkgs.reiserfsprogs ]; - - }; -} From 4c232305c92f379671492f2ff193de362ca1d521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Nov 2025 15:16:03 +0100 Subject: [PATCH 0195/1216] linux: be explicit about REISERFS being gone after 6.13 see 25.05 release notes --- pkgs/os-specific/linux/kernel/common-config.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e1380b86a11f..4302e9041166 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -699,9 +699,9 @@ let NTFS3_LZX_XPRESS = whenAtLeast "5.15" yes; NTFS3_FS_POSIX_ACL = whenAtLeast "5.15" yes; - REISERFS_FS_XATTR = option yes; - REISERFS_FS_POSIX_ACL = option yes; - REISERFS_FS_SECURITY = option yes; + REISERFS_FS_XATTR = whenOlder "6.13" (option yes); + REISERFS_FS_POSIX_ACL = whenOlder "6.13" (option yes); + REISERFS_FS_SECURITY = whenOlder "6.13" (option yes); JFS_POSIX_ACL = option yes; JFS_SECURITY = option yes; From 8f8e74fd27e7ff047bfc3e6d7fbf01f9ddf5ad04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Nov 2025 15:15:23 +0100 Subject: [PATCH 0196/1216] reiserfsprogs: drop --- pkgs/by-name/gp/gparted/package.nix | 2 - pkgs/by-name/re/reiserfsprogs/package.nix | 39 ------------------- .../python-modules/blivet/default.nix | 2 - pkgs/top-level/aliases.nix | 1 + 4 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 pkgs/by-name/re/reiserfsprogs/package.nix diff --git a/pkgs/by-name/gp/gparted/package.nix b/pkgs/by-name/gp/gparted/package.nix index 9b492e9f9b69..2f62aff4e2dc 100644 --- a/pkgs/by-name/gp/gparted/package.nix +++ b/pkgs/by-name/gp/gparted/package.nix @@ -35,7 +35,6 @@ lvm2, nilfs-utils, ntfs3g, - reiserfsprogs, udftools, xfsprogs, xfsdump, @@ -97,7 +96,6 @@ stdenv.mkDerivation (finalAttrs: { lvm2 nilfs-utils ntfs3g - reiserfsprogs udftools xfsprogs xfsdump diff --git a/pkgs/by-name/re/reiserfsprogs/package.nix b/pkgs/by-name/re/reiserfsprogs/package.nix deleted file mode 100644 index 68aaafcf0318..000000000000 --- a/pkgs/by-name/re/reiserfsprogs/package.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - libuuid, - autoreconfHook, - e2fsprogs, - acl, -}: - -stdenv.mkDerivation rec { - pname = "reiserfsprogs"; - version = "3.6.27"; - - src = fetchurl { - url = "https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/v${version}/${pname}-${version}.tar.xz"; - hash = "sha256-DpW2f6d0ajwtWRRem5wv60pr5ShT6DtJexgurlCOYuM="; - }; - - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ - libuuid - e2fsprogs - acl - ]; - - env.NIX_CFLAGS_COMPILE = toString [ - "-std=gnu90" - "-D_GNU_SOURCE" - ]; - - meta = { - inherit version; - homepage = "http://www.namesys.com/"; - description = "ReiserFS utilities"; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix index dd433a46b892..f13e9190c551 100644 --- a/pkgs/development/python-modules/blivet/default.nix +++ b/pkgs/development/python-modules/blivet/default.nix @@ -20,7 +20,6 @@ f2fs-tools, ntfs3g, btrfs-progs, - reiserfsprogs, mdadm, lvm2, gfs2-utils, @@ -76,7 +75,6 @@ buildPythonPackage rec { f2fs-tools ntfs3g btrfs-progs - reiserfsprogs mdadm lvm2 gfs2-utils diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7dfe86967e25..0f5822f7fbb1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1431,6 +1431,7 @@ mapAliases { redocly-cli = throw "'redocly-cli' has been renamed to/replaced by 'redocly'"; # Converted to throw 2025-10-27 redpanda = throw "'redpanda' has been renamed to/replaced by 'redpanda-client'"; # Converted to throw 2025-10-27 redshift-plasma-applet = throw "'redshift-plasma-applet' has been removed as it is obsolete and lacks maintenance upstream."; # Added 2025-11-09 + reiserfsprogs = throw "'reiserfsprogs' has been removed as ReiserFS has not been actively maintained for many years."; # Added 2025-11-13 remotebox = throw "remotebox has been removed because it was unmaintained and broken for a long time"; # Added 2025-09-11 resp-app = throw "'resp-app' has been replaced by 'redisinsight'"; # Added 2025-12-17 responsively-app = throw "'responsively-app' has been removed due to lack of maintenance upstream."; # Added 2025-06-25 From a212ef4e2afe99e40b20a5bcda970b72e1d3ea2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Nov 2025 15:17:43 +0100 Subject: [PATCH 0197/1216] nixos/filesystems: drop reiserfs --- nixos/modules/tasks/filesystems.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 108c1b495c9e..714f9d5f6d89 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -284,7 +284,6 @@ let ++ lib.optionals (!config.boot.initrd.checkJournalingFS) [ "ext3" "ext4" - "reiserfs" "xfs" "jfs" "f2fs" From 2459f7a59630d9034e92a59b5a158fb38978338c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Nov 2025 15:18:09 +0100 Subject: [PATCH 0198/1216] platforms: drop REISERFS_FS --- lib/systems/platforms.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 9c9010b9fb46..c0b893fdf361 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -85,7 +85,6 @@ rec { BLK_DEV_DM m DM_CRYPT m MD y - REISERFS_FS m BTRFS_FS m XFS_FS m JFS_FS m @@ -430,7 +429,6 @@ rec { BLK_DEV_DM m DM_CRYPT m MD y - REISERFS_FS m EXT4_FS m USB_STORAGE_CYPRESS_ATACB m @@ -475,7 +473,6 @@ rec { FRAMEBUFFER_CONSOLE y EXT2_FS y EXT3_FS y - REISERFS_FS y MAGIC_SYSRQ y # The kernel doesn't boot at all, with FTRACE From d8b84f31bd00190b53f1267c2ea2b4469f173c57 Mon Sep 17 00:00:00 2001 From: Hraban Date: Sat, 3 Jan 2026 01:48:26 -0500 Subject: [PATCH 0199/1216] sbcl: 2.5.10 -> 2.6.0 --- pkgs/development/compilers/sbcl/default.nix | 2 +- pkgs/top-level/all-packages.nix | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 5787748f3cba..9b9012100daf 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -30,8 +30,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.5.9".sha256 = "sha256-0bGQItQ9xJPtyXK25ZyTrmaEyWP90rQTsJZeGM1r0eI="; "2.5.10".sha256 = "sha256-v1+0nypC82s+AD0uTSNDhq3fB9ndjKhjRlaSfMls4SU="; + "2.6.0".sha256 = "sha256-CkvVsByI5rRcLwWWBdJyirk3emUpsupiKnq7W6LWkcY="; }; # Collection of pre-built SBCL binaries for platforms that need them for # bootstrapping. Ideally these are to be avoided. If ECL (or any other diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9bce7e6e5c84..243459e87f87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8647,15 +8647,6 @@ with pkgs; ]; }; - sbcl_2_5_9 = wrapLisp { - pkg = callPackage ../development/compilers/sbcl { version = "2.5.9"; }; - - faslExt = "fasl"; - flags = [ - "--dynamic-space-size" - "3000" - ]; - }; sbcl_2_5_10 = wrapLisp { pkg = callPackage ../development/compilers/sbcl { version = "2.5.10"; }; faslExt = "fasl"; @@ -8664,7 +8655,16 @@ with pkgs; "3000" ]; }; - sbcl = sbcl_2_5_10; + sbcl_2_6_0 = wrapLisp { + pkg = callPackage ../development/compilers/sbcl { version = "2.6.0"; }; + + faslExt = "fasl"; + flags = [ + "--dynamic-space-size" + "3000" + ]; + }; + sbcl = sbcl_2_6_0; sbclPackages = recurseIntoAttrs sbcl.pkgs; From 30ddbcaf2f4f51d4676e5cd644a3e088e5f6a57e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 3 Jan 2026 16:42:41 +0000 Subject: [PATCH 0200/1216] cacert: 3.117 -> 3.119.1 --- pkgs/by-name/ca/cacert/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ca/cacert/package.nix b/pkgs/by-name/ca/cacert/package.nix index e92080542def..ccfb2b777d96 100644 --- a/pkgs/by-name/ca/cacert/package.nix +++ b/pkgs/by-name/ca/cacert/package.nix @@ -23,7 +23,7 @@ let lib.concatStringsSep "\n\n" extraCertificateStrings ); - srcVersion = "3.117"; + srcVersion = "3.119.1"; version = if nssOverride != null then nssOverride.version else srcVersion; meta = { homepage = "https://curl.haxx.se/docs/caextract.html"; @@ -47,7 +47,7 @@ let owner = "nss-dev"; repo = "nss"; rev = "NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM"; - hash = "sha256-sAs0TiV3TK/WtgHvEjl2KFAgebyWZYmcRcmxjpn2AME="; + hash = "sha256-GxLTqHcVWGiFezcwdctXJ8k9wqizVJPHyLBPZzphLro="; }; dontBuild = true; From 559f26e351c412ef32a83ecc75e2d3eb820cc947 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:17:23 +0200 Subject: [PATCH 0201/1216] autobase: remove This has a sodium-native.node with a wrongly set executable bit. Now, instead of patching it, I'll just drop it because it's not a real program, but a Node library. We use `buildNpm*` for that purpose. This only makes maintenance harder because issues like this are non-trivial to spot! Related: https://github.com/NixOS/nixpkgs/pull/403638#issuecomment-3339125475 --- pkgs/by-name/au/autobase/package-lock.json | 5309 -------------------- pkgs/by-name/au/autobase/package.nix | 43 - pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 5352 deletions(-) delete mode 100644 pkgs/by-name/au/autobase/package-lock.json delete mode 100644 pkgs/by-name/au/autobase/package.nix diff --git a/pkgs/by-name/au/autobase/package-lock.json b/pkgs/by-name/au/autobase/package-lock.json deleted file mode 100644 index c7a51c5b4216..000000000000 --- a/pkgs/by-name/au/autobase/package-lock.json +++ /dev/null @@ -1,5309 +0,0 @@ -{ - "name": "autobase", - "version": "7.17.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "autobase", - "version": "7.17.0", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.1", - "bare-events": "^2.2.0", - "compact-encoding": "^2.16.0", - "core-coupler": "^2.0.0", - "debounceify": "^1.0.0", - "hyperbee": "^2.22.0", - "hypercore": "^11.4.0", - "hypercore-crypto": "^3.4.0", - "hypercore-id-encoding": "^1.2.0", - "hyperschema": "^1.12.1", - "index-encoder": "^3.3.2", - "nanoassert": "^2.0.0", - "protomux-wakeup": "^2.0.0", - "ready-resource": "^1.0.0", - "resolve-reject-promise": "^1.1.0", - "safety-catch": "^1.0.2", - "scope-lock": "^1.2.4", - "signal-promise": "^1.0.3", - "sodium-universal": "^5.0.1", - "sub-encoder": "^2.1.1", - "tiny-buffer-map": "^1.1.1" - }, - "devDependencies": { - "autobase-test-helpers": "^3.0.0", - "brittle": "^3.1.1", - "corestore": "^7.0.15", - "rache": "^1.0.0", - "same-data": "^1.0.0", - "standard": "^17.0.0", - "task-backoff": "^1.0.0", - "test-tmp": "^1.2.0", - "uncaughts": "^1.1.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@hyperswarm/secret-stream": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@hyperswarm/secret-stream/-/secret-stream-6.8.1.tgz", - "integrity": "sha512-F3fr8CKB6za9Ac7ifjgAe07qnnesl5kS0MtLsyKxA1Og8E+FZykdwLpgoLjnEa7G6E1L56lASLr42E4kd20sog==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "hypercore-crypto": "^3.3.1", - "noise-curve-ed": "^2.0.1", - "noise-handshake": "^4.0.0", - "sodium-secretstream": "^1.1.0", - "sodium-universal": "^5.0.0", - "streamx": "^2.14.0", - "timeout-refresh": "^2.0.0", - "unslab": "^1.3.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", - "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assert": { - "name": "bare-assert", - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/autobase-test-helpers": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/autobase-test-helpers/-/autobase-test-helpers-3.1.0.tgz", - "integrity": "sha512-3Jk1nWEcMxYOtU6rt4ujpchLz0W/Uv7S6v0tea53wW9rZqwFzgffEYbufNak53/93DBbp3gwX+AgHdfHtpx4RQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", - "license": "Apache-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bare-addon-resolve": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/bare-addon-resolve/-/bare-addon-resolve-1.9.4.tgz", - "integrity": "sha512-unn6Vy/Yke6F99vg/7tcrvM2KUvIhTNniaSqDbam4AWkd4NhvDVSrQiRYVlNzUV2P7SPobkCK7JFVxrJk9btCg==", - "license": "Apache-2.0", - "dependencies": { - "bare-module-resolve": "^1.10.0", - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-ansi-escapes": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/bare-ansi-escapes/-/bare-ansi-escapes-2.2.3.tgz", - "integrity": "sha512-02ES4/E2RbrtZSnHJ9LntBhYkLA6lPpSEeP8iqS3MccBIVhVBlEmruF1I7HZqx5Q8aiTeYfQVeqmrU9YO2yYoQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.5" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-cov": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bare-cov/-/bare-cov-1.1.1.tgz", - "integrity": "sha512-YP0QjpKznC55rn3fc3hOPjcegm1eu/ZHVwS+t1c48O48bWMspWzBY+9a6fI5sb/PGwqv47W4clpnmcy7vKhYrQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-inspector": "^4.0.1", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-url": "^2.1.5", - "bare-v8-to-istanbul": "v1.0.0", - "picomatch": "^4.0.2", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-crypto": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/bare-crypto/-/bare-crypto-1.7.0.tgz", - "integrity": "sha512-HPoNUQitmlihHzBotCG5huj0zRpVabrsRfoq6yCB+Y1HRftXmMJPMfVKxELijaMCMSJtlvw6ytotE88lwf6qdg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.3" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-debug-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-debug-log/-/bare-debug-log-2.0.0.tgz", - "integrity": "sha512-Vi42PkMQsNV9PUpx2Gl1hikshx5O9FzMJ6o9Nnopseg7qLBBK7Nl31d0RHcfwLEAfmcPApytpc0ZFfq68u22FQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-dns": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bare-dns/-/bare-dns-2.1.2.tgz", - "integrity": "sha512-0GCTZBzL3vJ/xfupMnmKGHYNMrFBpX3sK4I2nTXgH2BAwifvyXVCEKFVypAwyqQJ85tYuTel52nD6us7CqfHXQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-encoding": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-encoding/-/bare-encoding-1.0.0.tgz", - "integrity": "sha512-9T5CSCaytaIWZpFWx9LQLJ6/z/m2Slnan9tQBKmOvoq/UtPBbOKT/B2fo29Xhi4X1FFtNx8DFdtrFgqm2yse/Q==", - "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-env": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz", - "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-events": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.6.0.tgz", - "integrity": "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==", - "license": "Apache-2.0" - }, - "node_modules/bare-format": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-format/-/bare-format-1.0.1.tgz", - "integrity": "sha512-1oS+LZrWK6tnYnvNSHDGljc2MPunRxwhpFriuCgzNF+oklrnwmBKD91tS0yt+jpl2j3UgcSDzBIMiVTvLs9A8w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", - "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-hrtime": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/bare-hrtime/-/bare-hrtime-2.0.11.tgz", - "integrity": "sha512-Mnb2rnGRSHzNHQwFrK8VVqD8Oob/CiSsBlgZGKQ1xTj25GPI19sXHjUPzrkHOU1DaoVj1ig1VO7rZGaYOfXPaw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-http1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-http1/-/bare-http1-4.0.2.tgz", - "integrity": "sha512-6Jns5oBG9LFz/U2PuFk2LHQbQ1ZuUgPyuahfbNikPL/HcjpSGdSl0xMiN3Qt852Xm1sLBsTGxl0OoM2cVCYzNQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.3.0", - "bare-tcp": "^2.0.0" - } - }, - "node_modules/bare-https": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-https/-/bare-https-2.0.0.tgz", - "integrity": "sha512-qmjNZmYQ4nn+k3CLlxVyOqWYamdBPqE7psR5/lFWG39fskAR4C2h29d1Ka5BeWOGDAWhXImFIwZUxwCE/7xeLA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-http1": "^4.0.0", - "bare-tcp": "^2.0.0", - "bare-tls": "^2.0.0" - } - }, - "node_modules/bare-inspect": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bare-inspect/-/bare-inspect-3.1.1.tgz", - "integrity": "sha512-DOqRxa/qYZS+P3+3yVdroeixaqc6+gwiSUHntS5294Iykhe9ySzlfoRvSDM//xUHad8sQ59IOhyCoedFluvC6g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-ansi-escapes": "^2.1.0", - "bare-type": "^1.0.0" - }, - "engines": { - "bare": ">=1.18.0" - } - }, - "node_modules/bare-inspector": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bare-inspector/-/bare-inspector-4.0.1.tgz", - "integrity": "sha512-MZGIci2OFzwDNWlY/JUmEVtK/0xa+mbdggOB0jSI0WYkQpyxaiD4q/8xZ42k4kOoZNLKpYMI31wmllm6jS5w9g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.1.0", - "bare-http1": "^4.0.0", - "bare-stream": "^2.0.0", - "bare-url": "^2.0.0", - "bare-ws": "^2.0.0" - }, - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-module-resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/bare-module-resolve/-/bare-module-resolve-1.11.1.tgz", - "integrity": "sha512-DCxeT9i8sTs3vUMA3w321OX/oXtNEu5EjObQOnTmCdNp5RXHBAvAaBDHvAi9ta0q/948QPz+co6SsGi6aQMYRg==", - "license": "Apache-2.0", - "dependencies": { - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-net": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bare-net/-/bare-net-2.0.1.tgz", - "integrity": "sha512-klzDKbZFzfguS6054Yv+8/e9rhggYVAg8I8svCWCtYkMwdlh3hz1SGCut6Q7d7iqV60YtuG3Y8957DqLcKuEJQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.2.2", - "bare-pipe": "^4.0.0", - "bare-stream": "^2.0.0", - "bare-tcp": "^2.0.0" - } - }, - "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", - "license": "Apache-2.0", - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-pipe": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.0.6.tgz", - "integrity": "sha512-S9kpDJq74gkceynfRqXCaED119k2jF2us4U9xZnTLX0GEduWQY29MNTpAMAf/ucEailW9SPLjGLzbfPCONz3Lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-process": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/bare-semver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-semver/-/bare-semver-1.0.1.tgz", - "integrity": "sha512-UtggzHLiTrmFOC/ogQ+Hy7VfoKoIwrP1UFcYtTxoCUdLtsIErT8+SWtOC2DH/snT9h+xDrcBEPcwKei1mzemgg==", - "license": "Apache-2.0" - }, - "node_modules/bare-signals": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bare-signals/-/bare-signals-4.0.3.tgz", - "integrity": "sha512-xIy8ILawd3xepmpsYYMzPgMWsZm471Onw6jcqoitczuH6kNqN0NVkFKcEztpdq82MMfcsyo7xqLQIgmeoB05rg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.3", - "bare-os": "^3.3.1" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", - "license": "Apache-2.0", - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/bare-subprocess": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.1.0.tgz", - "integrity": "sha512-uUQdB2Ks+eUXPwYDGKQ2ZX1hV8AoS1fs5ep33GkMIAv21f4zy/soV9IejjlbSqJbnmDLC44RyitRzSAbIed1ng==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.5.4", - "bare-os": "^3.0.1", - "bare-pipe": "^4.0.0" - }, - "engines": { - "bare": ">=1.7.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-tcp": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/bare-tcp/-/bare-tcp-2.0.7.tgz", - "integrity": "sha512-3I91sieZw1WYZDK5nNf/XVBBne0hhsIJsLqy29o/IRITBidK0rJP9ZsKOLlYSiop1PFj7VNWd1ZQtgbQh9wnCg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-dns": "^2.0.4", - "bare-events": "^2.5.4", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-tls": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bare-tls/-/bare-tls-2.1.1.tgz", - "integrity": "sha512-56xUcgn8iEAP0Sje7OgZSwari176L0nNQaEBbpsdCVytxz10dmRY0thSFNOXpCPWIhtuH1AMK0ZzK0l0IxcxPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-net": "^2.0.1", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-tty": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/bare-tty/-/bare-tty-5.0.2.tgz", - "integrity": "sha512-xOHwI7zZl2Opm7Rul5O+okE32j7O14feJhgovJX2EghtQ2IWVfiC1oH0DmFruMvKthvhZY/Lpg8n5SVBaZhV1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.2.0", - "bare-signals": "^4.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-type": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/bare-type/-/bare-type-1.0.6.tgz", - "integrity": "sha512-6QFeIIp1d06xU9BjDPkl8+QeHil3TKSDpIKUid6bQzwYvxFOnMVhAifRS3J0fvWirEMlWmqxDDKjHW8RPe6C3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-url": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/bare-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.3.0.tgz", - "integrity": "sha512-s0wQMUw4tjaW5x+mknXPcmmX25v4D27+gqo5IavCpsjjgloA7ta7aXtt/tqlR4ADEUZe4ANzQiLRXrzuMxHdcA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^2.0.0", - "bare-encoding": "^1.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-v8-to-istanbul": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-v8-to-istanbul/-/bare-v8-to-istanbul-1.0.0.tgz", - "integrity": "sha512-5xm9ykzWrk7ntC0Ps2tnNwlFlEAMb3Rk0w/WlwJ/A1xboTQKa9f+NO/31PXB5LspMaz9Qv2pnIwiiHWEnk+kXQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "assert": "npm:bare-assert", - "bare-assert": "^1.0.2", - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.0", - "bare-url": "^2.1.5", - "bare-utils": "^1.2.0", - "fs": "npm:bare-fs", - "path": "npm:bare-path", - "process": "npm:bare-process", - "url": "npm:bare-url", - "util": "npm:bare-utils", - "v8-to-istanbul": "^9.3.0", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-ws": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/bare-ws/-/bare-ws-2.0.3.tgz", - "integrity": "sha512-be3cX68FQKln0jnsuyh1eK60EIM8/hYPFNHYZykN1fS3shWhzdKFo+I4gtZloSzS4aIKtVpi7+M0by8Q9y/NSA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-crypto": "^1.2.0", - "bare-events": "^2.3.1", - "bare-http1": "^4.0.0", - "bare-https": "^2.0.0", - "bare-stream": "^2.1.2" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-url": { - "optional": true - } - } - }, - "node_modules/big-sparse-array": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/big-sparse-array/-/big-sparse-array-1.0.3.tgz", - "integrity": "sha512-6RjV/3mSZORlMdpUaQ6rUSpG637cZm0//E54YYGtQg1c1O+AbZP8UTdJ/TchsDZcTVLmyWZcseBfp2HBeXUXOQ==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brittle": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/brittle/-/brittle-3.17.0.tgz", - "integrity": "sha512-9IJXmSkJozjsDH/WepQ7f1pY4PgZt34QjMcKhUxYwF+q8E7x6197NU+4/NTNmF5Jw5J1ruF73IIj3gEu5ck8+w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.0", - "bare-cov": "^1.1.0", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-subprocess": "^5.0.0", - "error-stack-parser": "^2.1.4", - "globbie": "^1.0.2", - "paparam": "^1.6.2", - "same-object": "^1.0.2", - "test-tmp": "^1.4.0", - "tmatch": "^5.0.0" - }, - "bin": { - "brittle": "bin/node.js", - "brittle-bare": "bin/bare.js", - "brittle-node": "bin/node.js", - "brittle-pear": "bin/pear.js" - } - }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/codecs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/codecs/-/codecs-3.1.0.tgz", - "integrity": "sha512-Dqx8NwvBvnMeuPQdVKy/XEF71igjR5apxBvCGeV0pP1tXadOiaLvDTXt7xh+/5wI1ASB195mXQGJbw3Ml4YDWQ==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.3" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/compact-encoding": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/compact-encoding/-/compact-encoding-2.16.1.tgz", - "integrity": "sha512-vP39X4nwtesmZucaAxDg4wnudOoaJTSR+fikzi8VLVxbwLmcWXf3t0LxY0n2H1AMpdoQZ08lmUf4GY3XiDPnMQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.3.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/core-coupler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/core-coupler/-/core-coupler-2.0.0.tgz", - "integrity": "sha512-FJuEvsdCMwx0Wu+gFQ49rGCi8LCXh8kizHsCQwkdgPZFEFiF0z2HDvyIs+fPt5wMIfU2UVFDuN+dtpfbIxJE6g==", - "license": "Apache-2.0", - "dependencies": { - "safety-catch": "^1.0.2" - } - }, - "node_modules/corestore": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/corestore/-/corestore-7.4.5.tgz", - "integrity": "sha512-eCQO1lH7CcpAJbprl5V6VkmvlT9j3uhD/JT2UqPh2UQ/C9RqmgqOLRcGmGKrBx7LgEuUz+fHc0Tl9rjRSVTVrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "b4a": "^1.6.7", - "hypercore": "^11.0.0", - "hypercore-crypto": "^3.4.2", - "hypercore-errors": "^1.4.0", - "hypercore-id-encoding": "^1.3.0", - "ready-resource": "^1.1.1", - "sodium-universal": "^5.0.1", - "which-runtime": "^1.2.1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debounceify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/debounceify/-/debounceify-1.1.0.tgz", - "integrity": "sha512-eKuHDVfJVg+u/0nPy8P+fhnLgbyuTgVxuCRrS/R7EpDSMMkBDgSes41MJtSAY1F1hcqfHz3Zy/qpqHHIp/EhdA==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/device-file": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/device-file/-/device-file-1.2.6.tgz", - "integrity": "sha512-gHH0lYHWvxjDOstkLji6ExtmYUPtpgICdkEeOuKkodiz111e7rPZP1WWwHlEmvA/gDNQl3KJkbWJ8YDidu3C4A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "bare-fs": "^4.0.1", - "fs-native-extensions": "^1.4.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-config-standard-jsx": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", - "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peerDependencies": { - "eslint": "^8.8.0", - "eslint-plugin-react": "^7.28.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-loop-delay": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/event-loop-delay/-/event-loop-delay-1.1.2.tgz", - "integrity": "sha512-FyRV0Sz97ZRzdAueQp/E9ziBf6fLl+mDRuLFkbXejRYLhzaDCiLQ0Tir0XbxZE7Dx0iuabHbLv+G0BzbDGy+8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "bare-hrtime": "^2.0.9" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-tree": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.12.1.tgz", - "integrity": "sha512-GchQ+onbnw5QaqsGbpcV6c8etAd396X/EVdDxutQMkGapB0lRvV9heIXS6ZffQVCse0hm2hBpK7GJz2Zp7qiMg==", - "license": "MIT" - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fs": { - "name": "bare-fs", - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", - "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/fs-native-extensions": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/fs-native-extensions/-/fs-native-extensions-1.4.2.tgz", - "integrity": "sha512-QoQqYdHJTtfHUUO/ylyKSrt3dtPDyXCAjzveqCxPsV3hpIMNt455ua470+iTKJ8lFZ94pLC6Dv1TBbwOFLiV5w==", - "license": "Apache-2.0", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generate-object-property": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-2.0.0.tgz", - "integrity": "sha512-KwuURPyqn2Mz8DdV29pJwQu0Y7tcsbkULr82eeOcY/ZllFK6I9Wm8dsRByIu7CKWlFi9BdW1b3mcXMp/kQBQsw==", - "license": "MIT", - "dependencies": { - "is-property": "^1.0.0" - } - }, - "node_modules/generate-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/generate-string/-/generate-string-1.0.1.tgz", - "integrity": "sha512-IfTY0dKZM43ACyGvXkbG7De7WY7MxTS5VO6Juhe8oJKpCmrYYXoqp/cJMskkpi0k9H8wuXq0H+eI898/BCqvXg==", - "license": "MIT" - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globbie": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globbie/-/globbie-1.0.3.tgz", - "integrity": "sha512-hcryJmKcftf82xfBWTWxuUITWIIoYO3ec104V17SMHGFl6VLbm1d1Ju9LX9L+jyJTwICpemX/dmPI/HGYoKr1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "picomatch": "^4.0.2" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hyperbee": { - "version": "2.24.3", - "resolved": "https://registry.npmjs.org/hyperbee/-/hyperbee-2.24.3.tgz", - "integrity": "sha512-LUGij+Hj8vaSPY0dgyO5aQfpmeS5IXcB+BlWyyUYec9UXdN9aue7EsK2Gc7o3a+WYgSlmW/tJhGRuOa8HN7BYg==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.0", - "codecs": "^3.0.0", - "debounceify": "^1.0.0", - "hypercore-errors": "^1.0.0", - "mutexify": "^1.4.0", - "protocol-buffers-encodings": "^1.2.0", - "rache": "^1.0.0", - "ready-resource": "^1.0.0", - "safety-catch": "^1.0.2", - "streamx": "^2.12.4", - "unslab": "^1.2.0" - } - }, - "node_modules/hypercore": { - "version": "11.11.2", - "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-11.11.2.tgz", - "integrity": "sha512-KbbMcdxPkuCukDD9zUmKLoAX2wReyCGBHA+wjJ7lcs/UJQl1XzYnkOFlDdp+xV9wHc7WncxIgwsjgbwhxKiuBw==", - "license": "MIT", - "dependencies": { - "@hyperswarm/secret-stream": "^6.0.0", - "b4a": "^1.1.0", - "bare-events": "^2.2.0", - "big-sparse-array": "^1.0.3", - "compact-encoding": "^2.11.0", - "fast-fifo": "^1.3.0", - "flat-tree": "^1.9.0", - "hypercore-crypto": "^3.2.1", - "hypercore-errors": "^1.2.0", - "hypercore-id-encoding": "^1.2.0", - "hypercore-storage": "^1.0.0", - "is-options": "^1.0.1", - "nanoassert": "^2.0.0", - "protomux": "^3.5.0", - "quickbit-universal": "^2.2.0", - "random-array-iterator": "^1.0.0", - "safety-catch": "^1.0.1", - "sodium-universal": "^5.0.1", - "streamx": "^2.12.4", - "unslab": "^1.3.0", - "z32": "^1.0.0" - } - }, - "node_modules/hypercore-crypto": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-3.6.1.tgz", - "integrity": "sha512-ltIz2uDwy9pO/ZGTvqcjzyBkvt6O4cVm4r/nNxh0GFs/RbQtqP/i4wCvLEdmU7ptgtnw7fI67WYD1aHPuv4OVA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.6", - "compact-encoding": "^2.15.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/hypercore-errors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/hypercore-errors/-/hypercore-errors-1.4.0.tgz", - "integrity": "sha512-WoaT467lNbDCglxisthpoC1mpBOH/CoM5IADPQm6BvPzZqXca1S6N1uoflLnZOIre9klCr1SdUnLgDWXLalJ7A==", - "license": "Apache-2.0" - }, - "node_modules/hypercore-id-encoding": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/hypercore-id-encoding/-/hypercore-id-encoding-1.3.0.tgz", - "integrity": "sha512-W6sHdGo5h7LXEsoWfKf/KfuROZmZRQDlGqJF2EPHW+noCK66Vvr0+zE6cL0vqQi18s0kQPeN7Sq3QyR0Ytc2VQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.5.3", - "z32": "^1.0.0" - } - }, - "node_modules/hypercore-storage": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-1.14.0.tgz", - "integrity": "sha512-IkCRvDaBbZqR0nORvhtVN2h5NtJ/Of+dmxCy7tGzjW51cLrouBCJVBNJ005D6yIiEEvTMFogxPZIA+ZTFEP80Q==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0", - "compact-encoding": "^2.16.0", - "device-file": "^1.2.2", - "flat-tree": "^1.12.1", - "hypercore-crypto": "^3.4.2", - "hyperschema": "^1.7.0", - "index-encoder": "^3.3.2", - "resolve-reject-promise": "^1.0.0", - "rocksdb-native": "^3.1.1", - "scope-lock": "^1.2.4", - "streamx": "^2.21.1" - } - }, - "node_modules/hyperschema": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/hyperschema/-/hyperschema-1.13.0.tgz", - "integrity": "sha512-cNbe7Ay2hSbQ1X/Yf1ch9kPPnKU78dq9LT7ppBE8l8LGZ0IKzIbVOWNIJYOXPr97hWHaoTvxIqhr5wb/R80Gmw==", - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.0.1", - "compact-encoding": "^2.15.0", - "generate-object-property": "^2.0.0", - "generate-string": "^1.0.1" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/index-encoder": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/index-encoder/-/index-encoder-3.4.0.tgz", - "integrity": "sha512-k3+ENtseFYI9ZPOIZzVH8LlONUvXAcd4jvCPo+Nob/T/2t5R5Rfh8XiFXBG++gHHuVby7HBDp/3YbyEmE481cg==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-options": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.2.tgz", - "integrity": "sha512-u+Ai74c8Q74aS8BuHwPdI1jptGOT1FQXgCq8/zv0xRuE+wRgSMEJLj8lVO8Zp9BeGb29BXY6AsNPinfqjkr7Fg==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=6" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/mutexify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz", - "integrity": "sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==", - "license": "MIT", - "dependencies": { - "queue-tick": "^1.0.0" - } - }, - "node_modules/nanoassert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", - "license": "ISC" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/noise-curve-ed": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/noise-curve-ed/-/noise-curve-ed-2.1.0.tgz", - "integrity": "sha512-zAzJx+VwZM3w6EA1hTmDhJfvAnCeBQn/1FAeZ0LtGxCcCtlAK/uJXQVF/eDVUOaAZ286lHlx77WJ+qj9SmsRRg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/noise-handshake": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/noise-handshake/-/noise-handshake-4.1.0.tgz", - "integrity": "sha512-ZHt2+mOXTvjtaWS2h/JPvQjmknfKrEld2xdSsRYWXnYiJmK/N+dtxrDVSt1cr9wGAlhH7Ek43lIZNsL5bVeX9A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/paparam": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/paparam/-/paparam-1.8.5.tgz", - "integrity": "sha512-LLsGJwf3bJuf32jAfQYIMbt7oXuY2TXG3aWVHGXrE8o9cwGYIj+r/4J/VBn5Sgo+mA5lXzNnfqPqfBGPBIvjvQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path": { - "name": "bare-path", - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "name": "bare-process", - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/protocol-buffers-encodings": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.2.0.tgz", - "integrity": "sha512-daeNPuKh1NlLD1uDfbLpD+xyUTc07nEtfHwmBZmt/vH0B7VOM+JOCOpDcx9ZRpqHjAiIkGqyTDi+wfGSl17R9w==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.0", - "signed-varint": "^2.0.1", - "varint": "5.0.0" - } - }, - "node_modules/protomux": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/protomux/-/protomux-3.10.1.tgz", - "integrity": "sha512-jgBqx8ZyaBWea/DFG4eOu1scOaeBwcnagiRC1XFVrjeGt7oAb0Pk5udPpBUpJ4DJBRjra50jD6YcZiQQTRqaaA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1", - "compact-encoding": "^2.5.1", - "queue-tick": "^1.0.0", - "safety-catch": "^1.0.1", - "unslab": "^1.3.0" - } - }, - "node_modules/protomux-wakeup": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/protomux-wakeup/-/protomux-wakeup-2.5.0.tgz", - "integrity": "sha512-+l+OfUwfRj1zdQxYC3dI9voqflRuWKZcyqatsbEgfIXWxmPhCCd63Dql0NCG5YpBH5ERWhfOQ/2G8PKpM9H+fw==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "hypercore-crypto": "^3.5.0", - "hyperschema": "^1.10.4", - "protomux": "^3.10.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "license": "MIT" - }, - "node_modules/quickbit-native": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/quickbit-native/-/quickbit-native-2.4.6.tgz", - "integrity": "sha512-GXYG0vTLTknHs57qYpNzJO0e2dJpNFyIYZTnKTnOFG5mTUacJIRe7GssnyGJ273zG0iids0D0IOgmZUr0pLENg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "require-addon": "^1.1.0" - } - }, - "node_modules/quickbit-universal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/quickbit-universal/-/quickbit-universal-2.2.0.tgz", - "integrity": "sha512-w02i1R8n7+6pEKTud8DfF8zbFY9o7RtPlUc3jWbtCkDKvhbx/AvV7oNnz4/TcmsPGpSJS+fq5Ud6RH6+YPvSGg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.6.0", - "simdle-universal": "^1.1.0" - }, - "optionalDependencies": { - "quickbit-native": "^2.2.0" - } - }, - "node_modules/rache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rache/-/rache-1.0.0.tgz", - "integrity": "sha512-e0k0g0w/8jOCB+7YqCIlOa+OJ38k0wrYS4x18pMSmqOvLKoyhmMhmQyCcvfY6VaP8D75cqkEnlakXs+RYYLqNg==", - "license": "Apache-2.0" - }, - "node_modules/random-array-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-array-iterator/-/random-array-iterator-1.0.0.tgz", - "integrity": "sha512-u7xCM93XqKEvPTP6xZp2ehttcAemKnh73oKNf1FvzuVCfpt6dILDt1Kxl1LeBjm2iNIeR49VGFhy4Iz3yOun+Q==", - "license": "MIT" - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ready-resource": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ready-resource/-/ready-resource-1.1.2.tgz", - "integrity": "sha512-BN2Yfg/avHpozP+XSo+gsjHQ0AejnfbCJeJT4eamAHSf7dgYmNNWsZqTt5IEc06mjlLao+c2jlTbZvpZyRtRNQ==", - "license": "MIT", - "dependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/refcounter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/refcounter/-/refcounter-1.0.0.tgz", - "integrity": "sha512-1WosVzUy0kPUaPMEtlNDwm99UsteALIhXXR8rerELoa63WkYIXAl0hxgwPFrIYBRWZPGUyekQ04FRtPJ7dHk9w==", - "license": "Apache-2.0" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-addon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.1.0.tgz", - "integrity": "sha512-KbXAD5q2+v1GJnkzd8zzbOxchTkStSyJZ9QwoCq3QwEXAaIlG3wDYRZGzVD357jmwaGY7hr5VaoEAL0BkF0Kvg==", - "license": "Apache-2.0", - "dependencies": { - "bare-addon-resolve": "^1.3.0", - "bare-url": "^2.1.0" - }, - "engines": { - "bare": ">=1.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-reject-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-reject-promise/-/resolve-reject-promise-1.1.0.tgz", - "integrity": "sha512-LWsTOA91AqzBTjSGgX79Tc130pwcBK6xjpJEO+qRT5IKZ6bGnHKcc8QL3upUBcWuU8OTIDzKK2VNSwmmlqvAVg==", - "license": "MIT" - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rocksdb-native": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.6.4.tgz", - "integrity": "sha512-aeFHk3AjSwhWaUW3lQepyKus1NH0NXHXX4IAZDSYAcX+CacXyESFbxQlrMz9qsoRuX4QDYoBbawOU5jcXVbRZw==", - "license": "Apache-2.0", - "dependencies": { - "compact-encoding": "^2.15.0", - "ready-resource": "^1.0.0", - "refcounter": "^1.0.0", - "require-addon": "^1.0.2", - "resolve-reject-promise": "^1.1.0", - "streamx": "^2.16.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safety-catch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/safety-catch/-/safety-catch-1.0.2.tgz", - "integrity": "sha512-C1UYVZ4dtbBxEtvOcpjBaaD27nP8MlvyAQEp2fOTOEe6pfUpk1cDUxij6BR1jZup6rSyUTaBBplK7LanskrULA==", - "license": "MIT" - }, - "node_modules/same-data": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/same-data/-/same-data-1.0.0.tgz", - "integrity": "sha512-Eqn7N2yV+aKMlUHTRqUwYG1Iv0cJqjlvLKj/GoP5PozJn361QaOYX14+v87r7NqQUZC22noP/LfLrSQiPwAygw==", - "dev": true, - "license": "MIT" - }, - "node_modules/same-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/same-object/-/same-object-1.0.2.tgz", - "integrity": "sha512-csHWhvUsLbIOHDM/nP+KHWM+BLPsIzWkFa8HbzaI0G7BqKXgx+7FJpKTGgLXyz5amfdY2OVBcmXTqYOMEk04og==", - "dev": true, - "license": "MIT" - }, - "node_modules/scope-lock": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/scope-lock/-/scope-lock-1.2.4.tgz", - "integrity": "sha512-BpSd8VCuCxW9ZitcdIC/vjs3gMaP9bRBL5nkHcyfX2VrS52n13/rHuBA2xJ/S/4DPuRdAO/Bk8pWd8eD/gHCIA==", - "license": "Apache-2.0" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-promise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/signal-promise/-/signal-promise-1.0.3.tgz", - "integrity": "sha512-WBgv0UnIq2C+Aeh0/n+IRpP6967eIx9WpynTUoiW3isPpfe1zu2LJzyfXdo9Tgef8yR/sGjcMvoUXD7EYdiz+g==", - "license": "MIT" - }, - "node_modules/signed-varint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", - "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==", - "license": "MIT", - "dependencies": { - "varint": "~5.0.0" - } - }, - "node_modules/simdle-native": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/simdle-native/-/simdle-native-1.3.6.tgz", - "integrity": "sha512-WXb3AUnMVOgfMbrOlz0SVpL8pMpC9K2WX/wJ7k5alqza77tO/4vCF7pUtuiPJdMxEBIsX30joKRY7JWRJ4yHqQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "b4a": "^1.6.0", - "require-addon": "^1.1.0" - } - }, - "node_modules/simdle-universal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/simdle-universal/-/simdle-universal-1.1.2.tgz", - "integrity": "sha512-3n3w1bs+uwgHKQjt6arez83EywNlhZzYvNOhvAASTl/8KqNIcqr6aHyGt3JRlfuUC7iB0tomJRPlJ2cRGIpBzA==", - "license": "ISC", - "dependencies": { - "b4a": "^1.6.0" - }, - "optionalDependencies": { - "simdle-native": "^1.1.1" - } - }, - "node_modules/sodium-native": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-5.0.6.tgz", - "integrity": "sha512-lKSVfjJ867gb3LrnOZ0nuVxZ19//k/YhhYKVWQg4fklZ85YKtDHTxmEuWuk/s62IoiDbKC/DV50pcSd9tgaVew==", - "license": "MIT", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/sodium-secretstream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sodium-secretstream/-/sodium-secretstream-1.2.0.tgz", - "integrity": "sha512-q/DbraNFXm1KfCiiZvapmz5UC3OlpirYFIvBK2MhGaOFSb3gRyk8OXTi17UI9SGfshQNCpsVvlopogbzZNyW6Q==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/sodium-universal": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-5.0.1.tgz", - "integrity": "sha512-rv+aH+tnKB5H0MAc2UadHShLMslpJsc4wjdnHRtiSIEYpOetCgu8MS4ExQRia+GL/MK3uuCyZPeEsi+J3h+Q+Q==", - "license": "MIT", - "dependencies": { - "sodium-native": "^5.0.1" - }, - "peerDependencies": { - "sodium-javascript": "~0.8.0" - }, - "peerDependenciesMeta": { - "sodium-javascript": { - "optional": true - } - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/standard": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", - "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "eslint": "^8.41.0", - "eslint-config-standard": "17.1.0", - "eslint-config-standard-jsx": "^11.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^15.7.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-react": "^7.36.1", - "standard-engine": "^15.1.0", - "version-guard": "^1.1.1" - }, - "bin": { - "standard": "bin/cmd.cjs" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/standard-engine": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", - "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "get-stdin": "^8.0.0", - "minimist": "^1.2.6", - "pkg-conf": "^3.1.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/streamx": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", - "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sub-encoder": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/sub-encoder/-/sub-encoder-2.1.3.tgz", - "integrity": "sha512-Xxx04ygZo/1J3yHvaSA6VhDmiSaBQkw/PmO3YnnYFXle+tfOGToC6FcDpIfMztWZXJzuKG14b/57HMkiL58C6A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.0", - "codecs": "^3.1.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/task-backoff": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/task-backoff/-/task-backoff-1.0.1.tgz", - "integrity": "sha512-lCzoVzp+5aFQdH0k/eOLdT7J/Mu7Tzkw4PniC/1cnVxKTOcZXqtuNBNgCDs7VqQECn2XtAQxZpoBU4dWIsPItw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "event-loop-delay": "^1.1.2", - "resolve-reject-promise": "^1.1.0" - } - }, - "node_modules/test-tmp": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/test-tmp/-/test-tmp-1.4.0.tgz", - "integrity": "sha512-GVggxGg+jXqP2Wbju50JVLo+9E+nIOPPyWqgr63EbOnNItIKu1cEbJpTWAJeflnyGqXOtcMI7ijHRp88GUkfDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bare-fs": "^4.0.1", - "bare-os": "^3.3.0", - "bare-path": "^3.0.0" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/timeout-refresh": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-2.0.1.tgz", - "integrity": "sha512-SVqEcMZBsZF9mA78rjzCrYrUs37LMJk3ShZ851ygZYW1cMeIjs9mL57KO6Iv5mmjSQnOe/29/VAfGXo+oRCiVw==", - "license": "MIT" - }, - "node_modules/tiny-buffer-map": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tiny-buffer-map/-/tiny-buffer-map-1.1.1.tgz", - "integrity": "sha512-C1eDw6ks9CmkDbWVCPHobuixPTkxGa7IDERlaVk98dv4tOUdz42o3haHBr0uhNxbj0gczBTVIyS2uQsu+1vc2Q==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.0" - } - }, - "node_modules/tmatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-5.0.0.tgz", - "integrity": "sha512-Ib9OtBkpHn07tXP04SlN1SYRxFgTk6wSM2EBmjjxug4u5RXPRVLkdFJSS1PmrQidaSB8Lru9nRtViQBsbxzE5Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/uncaughts": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/uncaughts/-/uncaughts-1.1.1.tgz", - "integrity": "sha512-UuD2hCFnjsoGRsMH2m6cpbRPwUSdCeQw9xjf6gIV48l43Y5lvdrWm4FvBDS8UXtsjx6D6K6BvJy3rloUAiZRYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "which-runtime": "^1.2.1" - } - }, - "node_modules/unslab": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/unslab/-/unslab-1.3.0.tgz", - "integrity": "sha512-YATkfKAFj47kTzmiQrWXMyRvaVrHsW6MEALa4bm+FhiA2YG4oira+Z3DXN6LrYOYn2Y8eO94Lwl9DOHjs1FpoQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.6" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "name": "bare-url", - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/util": { - "name": "bare-utils", - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.3.0.tgz", - "integrity": "sha512-s0wQMUw4tjaW5x+mknXPcmmX25v4D27+gqo5IavCpsjjgloA7ta7aXtt/tqlR4ADEUZe4ANzQiLRXrzuMxHdcA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^2.0.0", - "bare-encoding": "^1.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/varint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", - "integrity": "sha512-gC13b/bWrqQoKY2EmROCZ+AR0jitc6DnDGaQ6Ls9QpKmuSgJB1eQ7H3KETtQm7qSdMWMKCmsshyCmUwMLh3OAA==", - "license": "MIT" - }, - "node_modules/version-guard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", - "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", - "dev": true, - "license": "0BSD", - "engines": { - "node": ">=0.10.48" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-runtime": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.3.0.tgz", - "integrity": "sha512-mQrEBUe15PdEuJvrBlvy3tika6sxQrkblI7JQ9kXeg8Lcby9FwmKvAYrCT3wLh91k6ltost7AVM7qYhjC8N0Zg==", - "license": "Apache-2.0" - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/z32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/z32/-/z32-1.1.0.tgz", - "integrity": "sha512-1WUHy+VS6d0HPNspDxvLssBbeQjXMjSnpv0vH82vRAUfg847NmX3OXozp/hRP5jPhxBbrVzrgvAt+UsGNzRFQQ==", - "license": "MIT", - "dependencies": { - "b4a": "^1.5.3" - } - } - } -} diff --git a/pkgs/by-name/au/autobase/package.nix b/pkgs/by-name/au/autobase/package.nix deleted file mode 100644 index 19e980c209ee..000000000000 --- a/pkgs/by-name/au/autobase/package.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - lib, - buildNpmPackage, - fetchFromGitHub, - nix-update-script, -}: - -buildNpmPackage (finalAttrs: { - pname = "autobase"; - version = "7.20.0"; - - src = fetchFromGitHub { - owner = "holepunchto"; - repo = "autobase"; - tag = "v${finalAttrs.version}"; - hash = "sha256-SEeCbNja5BIgpQh0q0LKo452JClKQe6do5YHwRRBMcs="; - }; - - npmDepsHash = "sha256-H9Xy1VD7WQvi0+86v6CMcmc0L3mB6KuSCtgQSF4AlkY="; - - dontNpmBuild = true; - - # ERROR: Missing package-lock.json from src - # https://github.com/holepunchto/autobase/issues/315 - # Copy vendored package-lock.json to src via postPatch - postPatch = '' - cp ${./package-lock.json} ./package-lock.json - ''; - - passthru.updateScript = nix-update-script { - extraArgs = [ - "--generate-lockfile" - ]; - }; - - meta = { - description = "Concise multiwriter for data structures with Hypercore"; - homepage = "https://github.com/holepunchto/autobase"; - license = lib.licenses.mit; - maintainers = [ ]; - teams = with lib.teams; [ ngi ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 181e875e7708..01914bf96918 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -322,6 +322,7 @@ mapAliases { ats = throw "'ats' has been removed as it is unmaintained for 10 years and broken"; # Added 2025-05-17 august = throw "'august' has been removed, as it has been unmaintained since august 2023"; # Added 2025-12-25 AusweisApp2 = throw "'AusweisApp2' has been renamed to/replaced by 'ausweisapp'"; # Converted to throw 2025-10-27 + autobase = throw "'autobase' is a Node library, use buildNpmPackage for that"; # Added 2025-09-26 autoconf213 = throw "'autoconf213' has been removed in favor of 'autoconf'"; # Added 2025-07-21 autoconf264 = throw "'autoconf264' has been removed in favor of 'autoconf'"; # Added 2025-07-21 automake111x = throw "'automake111x' has been removed in favor of 'automake'"; # Added 2025-07-21 From 20c8e6711bdae9c83a3a695fc2ffd590c6261bd0 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:38:09 +0200 Subject: [PATCH 0202/1216] hypercore: remove Same reasoning as with `autobase`. --- pkgs/by-name/hy/hypercore/package-lock.json | 5272 ------------------- pkgs/by-name/hy/hypercore/package.nix | 42 - 2 files changed, 5314 deletions(-) delete mode 100644 pkgs/by-name/hy/hypercore/package-lock.json delete mode 100644 pkgs/by-name/hy/hypercore/package.nix diff --git a/pkgs/by-name/hy/hypercore/package-lock.json b/pkgs/by-name/hy/hypercore/package-lock.json deleted file mode 100644 index 686597510833..000000000000 --- a/pkgs/by-name/hy/hypercore/package-lock.json +++ /dev/null @@ -1,5272 +0,0 @@ -{ - "name": "hypercore", - "version": "11.7.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "hypercore", - "version": "11.7.0", - "license": "MIT", - "dependencies": { - "@hyperswarm/secret-stream": "^6.0.0", - "b4a": "^1.1.0", - "bare-events": "^2.2.0", - "big-sparse-array": "^1.0.3", - "compact-encoding": "^2.11.0", - "fast-fifo": "^1.3.0", - "flat-tree": "^1.9.0", - "hypercore-crypto": "^3.2.1", - "hypercore-errors": "^1.2.0", - "hypercore-id-encoding": "^1.2.0", - "hypercore-storage": "^1.0.0", - "is-options": "^1.0.1", - "nanoassert": "^2.0.0", - "protomux": "^3.5.0", - "quickbit-universal": "^2.2.0", - "random-array-iterator": "^1.0.0", - "safety-catch": "^1.0.1", - "sodium-universal": "^5.0.1", - "streamx": "^2.12.4", - "unslab": "^1.3.0", - "z32": "^1.0.0" - }, - "devDependencies": { - "brittle": "^3.0.0", - "debugging-stream": "^3.1.0", - "hyperswarm": "^4.3.6", - "rache": "^1.0.0", - "range-parser": "^1.2.1", - "speedometer": "^1.1.0", - "standard": "^17.0.0", - "test-tmp": "^1.0.2", - "tiny-byte-size": "^1.1.0", - "udx-native": "^1.6.1", - "uncaughts": "^1.1.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@hyperswarm/secret-stream": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@hyperswarm/secret-stream/-/secret-stream-6.8.1.tgz", - "integrity": "sha512-F3fr8CKB6za9Ac7ifjgAe07qnnesl5kS0MtLsyKxA1Og8E+FZykdwLpgoLjnEa7G6E1L56lASLr42E4kd20sog==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "hypercore-crypto": "^3.3.1", - "noise-curve-ed": "^2.0.1", - "noise-handshake": "^4.0.0", - "sodium-secretstream": "^1.1.0", - "sodium-universal": "^5.0.0", - "streamx": "^2.14.0", - "timeout-refresh": "^2.0.0", - "unslab": "^1.3.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assert": { - "name": "bare-assert", - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", - "license": "Apache-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bare-addon-resolve": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/bare-addon-resolve/-/bare-addon-resolve-1.9.4.tgz", - "integrity": "sha512-unn6Vy/Yke6F99vg/7tcrvM2KUvIhTNniaSqDbam4AWkd4NhvDVSrQiRYVlNzUV2P7SPobkCK7JFVxrJk9btCg==", - "license": "Apache-2.0", - "dependencies": { - "bare-module-resolve": "^1.10.0", - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-ansi-escapes": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/bare-ansi-escapes/-/bare-ansi-escapes-2.2.3.tgz", - "integrity": "sha512-02ES4/E2RbrtZSnHJ9LntBhYkLA6lPpSEeP8iqS3MccBIVhVBlEmruF1I7HZqx5Q8aiTeYfQVeqmrU9YO2yYoQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.5" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-cov": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bare-cov/-/bare-cov-1.1.1.tgz", - "integrity": "sha512-YP0QjpKznC55rn3fc3hOPjcegm1eu/ZHVwS+t1c48O48bWMspWzBY+9a6fI5sb/PGwqv47W4clpnmcy7vKhYrQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-inspector": "^4.0.1", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-url": "^2.1.5", - "bare-v8-to-istanbul": "v1.0.0", - "picomatch": "^4.0.2", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-crypto": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/bare-crypto/-/bare-crypto-1.4.4.tgz", - "integrity": "sha512-xssBzK7GpQUc70sk++eibRs0moYcqVqbODrPZCT3h8bXnw4aUt4ntSzgkclriKCNjgEoS3nZGcSH5hW3HMKowA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.3" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-debug-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-debug-log/-/bare-debug-log-2.0.0.tgz", - "integrity": "sha512-Vi42PkMQsNV9PUpx2Gl1hikshx5O9FzMJ6o9Nnopseg7qLBBK7Nl31d0RHcfwLEAfmcPApytpc0ZFfq68u22FQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-dns": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/bare-dns/-/bare-dns-2.0.5.tgz", - "integrity": "sha512-C8JF4f/nXXtzyyqyKaSs74HgYZCW3VcG836D0nmANQWGgZlKpw6VMHfpAZM7O4ljcyaNYxdq9pOKE+WXh3AOgA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-env": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz", - "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-events": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", - "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", - "license": "Apache-2.0" - }, - "node_modules/bare-format": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-format/-/bare-format-1.0.1.tgz", - "integrity": "sha512-1oS+LZrWK6tnYnvNSHDGljc2MPunRxwhpFriuCgzNF+oklrnwmBKD91tS0yt+jpl2j3UgcSDzBIMiVTvLs9A8w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.5.tgz", - "integrity": "sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==", - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-hrtime": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/bare-hrtime/-/bare-hrtime-2.0.11.tgz", - "integrity": "sha512-Mnb2rnGRSHzNHQwFrK8VVqD8Oob/CiSsBlgZGKQ1xTj25GPI19sXHjUPzrkHOU1DaoVj1ig1VO7rZGaYOfXPaw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-http1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-http1/-/bare-http1-4.0.2.tgz", - "integrity": "sha512-6Jns5oBG9LFz/U2PuFk2LHQbQ1ZuUgPyuahfbNikPL/HcjpSGdSl0xMiN3Qt852Xm1sLBsTGxl0OoM2cVCYzNQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.3.0", - "bare-tcp": "^2.0.0" - } - }, - "node_modules/bare-https": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-https/-/bare-https-2.0.0.tgz", - "integrity": "sha512-qmjNZmYQ4nn+k3CLlxVyOqWYamdBPqE7psR5/lFWG39fskAR4C2h29d1Ka5BeWOGDAWhXImFIwZUxwCE/7xeLA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-http1": "^4.0.0", - "bare-tcp": "^2.0.0", - "bare-tls": "^2.0.0" - } - }, - "node_modules/bare-inspect": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/bare-inspect/-/bare-inspect-3.0.8.tgz", - "integrity": "sha512-Z3McUtoM/saxTBtr7l4M9ADR1m5foXwtxJrO1OPaBLN25M4lNHVm7uwL9e0qlS8kuLXTI41TLEN4S9veJ3EJJA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-ansi-escapes": "^2.1.0", - "bare-type": "^1.0.0" - } - }, - "node_modules/bare-inspector": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bare-inspector/-/bare-inspector-4.0.1.tgz", - "integrity": "sha512-MZGIci2OFzwDNWlY/JUmEVtK/0xa+mbdggOB0jSI0WYkQpyxaiD4q/8xZ42k4kOoZNLKpYMI31wmllm6jS5w9g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.1.0", - "bare-http1": "^4.0.0", - "bare-stream": "^2.0.0", - "bare-url": "^2.0.0", - "bare-ws": "^2.0.0" - }, - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-module-resolve": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/bare-module-resolve/-/bare-module-resolve-1.10.2.tgz", - "integrity": "sha512-C9COe/GhWfVXKytW3DElTkiBU+Gb2OXeaVkdGdRB/lp26TVLESHkTGS876iceAGdvtPgohfp9nX8vXHGvN3++Q==", - "license": "Apache-2.0", - "dependencies": { - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", - "license": "Apache-2.0", - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-pipe": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.0.6.tgz", - "integrity": "sha512-S9kpDJq74gkceynfRqXCaED119k2jF2us4U9xZnTLX0GEduWQY29MNTpAMAf/ucEailW9SPLjGLzbfPCONz3Lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-process": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/bare-semver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-semver/-/bare-semver-1.0.1.tgz", - "integrity": "sha512-UtggzHLiTrmFOC/ogQ+Hy7VfoKoIwrP1UFcYtTxoCUdLtsIErT8+SWtOC2DH/snT9h+xDrcBEPcwKei1mzemgg==", - "license": "Apache-2.0" - }, - "node_modules/bare-signals": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-signals/-/bare-signals-4.0.2.tgz", - "integrity": "sha512-+V7ngZRbkQDN6OJj1/Evm725HeXvZ3onHI52jBi/LJAe2bSPn2sNZI1Y9xu0MlebhROdRTqa7lpN/OQVDMRt3g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.3", - "bare-os": "^3.3.1" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", - "license": "Apache-2.0", - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/bare-subprocess": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.0.4.tgz", - "integrity": "sha512-inV6g89grjzvCH7YZ53ppXQj90Ank+vSB2xu9v/yqR8KyA7Q05U/I1AwFi4BaEWMTDz6je5z0TdaNRpUm6dKbA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.5.4", - "bare-os": "^3.0.1", - "bare-pipe": "^4.0.0" - }, - "engines": { - "bare": ">=1.7.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-tcp": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/bare-tcp/-/bare-tcp-2.0.4.tgz", - "integrity": "sha512-Xv0DgOwG0zZwmckY43aRs2iOGewkgXlsBu0oWv3h7Y7sGl8a2tyNe4frxYWRRN3N09SwUJZtid1RSW315MDXmg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-dns": "^2.0.4", - "bare-events": "^2.5.4", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-tls": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/bare-tls/-/bare-tls-2.0.5.tgz", - "integrity": "sha512-Yy/QkenaComG5LWB7u6LetL0witdb85TRbf/llx+byaKtnW0awt98Z4i3eCgZQB++aUWdh/+eXeOBpffCE0INw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-tty": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/bare-tty/-/bare-tty-5.0.2.tgz", - "integrity": "sha512-xOHwI7zZl2Opm7Rul5O+okE32j7O14feJhgovJX2EghtQ2IWVfiC1oH0DmFruMvKthvhZY/Lpg8n5SVBaZhV1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.2.0", - "bare-signals": "^4.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-type": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/bare-type/-/bare-type-1.0.6.tgz", - "integrity": "sha512-6QFeIIp1d06xU9BjDPkl8+QeHil3TKSDpIKUid6bQzwYvxFOnMVhAifRS3J0fvWirEMlWmqxDDKjHW8RPe6C3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-url": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/bare-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.2.1.tgz", - "integrity": "sha512-R7fKMh8mr4TwVsIP3MzBc9ZFha1904FMIixWDtuLb5XlNIDQ7It4atE1UND5TZHTB0LpNSj81hL207d2+dU3jQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^2.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-v8-to-istanbul": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-v8-to-istanbul/-/bare-v8-to-istanbul-1.0.0.tgz", - "integrity": "sha512-5xm9ykzWrk7ntC0Ps2tnNwlFlEAMb3Rk0w/WlwJ/A1xboTQKa9f+NO/31PXB5LspMaz9Qv2pnIwiiHWEnk+kXQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "assert": "npm:bare-assert", - "bare-assert": "^1.0.2", - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.0", - "bare-url": "^2.1.5", - "bare-utils": "^1.2.0", - "fs": "npm:bare-fs", - "path": "npm:bare-path", - "process": "npm:bare-process", - "url": "npm:bare-url", - "util": "npm:bare-utils", - "v8-to-istanbul": "^9.3.0", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-ws": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bare-ws/-/bare-ws-2.0.1.tgz", - "integrity": "sha512-ugewb5bmg3k4ICBe1Rkd6Z80/E082xDjyrVDMfk/4HJoTeqIiDZ+hJKJMEXsyfo482Gk6QpNq0ixRjIIumpubA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-crypto": "^1.2.0", - "bare-events": "^2.3.1", - "bare-http1": "^4.0.0", - "bare-https": "^2.0.0", - "bare-stream": "^2.1.2" - } - }, - "node_modules/big-sparse-array": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/big-sparse-array/-/big-sparse-array-1.0.3.tgz", - "integrity": "sha512-6RjV/3mSZORlMdpUaQ6rUSpG637cZm0//E54YYGtQg1c1O+AbZP8UTdJ/TchsDZcTVLmyWZcseBfp2HBeXUXOQ==", - "license": "MIT" - }, - "node_modules/bits-to-bytes": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bits-to-bytes/-/bits-to-bytes-1.3.0.tgz", - "integrity": "sha512-OJoHTpFXS9bXHBCekGTByf3MqM8CGblBDIduKQeeVVeiU9dDWywSSirXIBYGgg3d1zbVuvnMa1vD4r6PA0kOKg==", - "dev": true, - "license": "ISC", - "dependencies": { - "b4a": "^1.5.0" - } - }, - "node_modules/blind-relay": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/blind-relay/-/blind-relay-1.4.0.tgz", - "integrity": "sha512-6xt7fDfCs6eGmNNym6I9N42jmjcMQn2qwwOVnkP9ZnrkXFk6c4/tdO1xqRmDEzKzV8gigd+DVdCUG/RUYnen7Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4", - "bare-events": "^2.2.0", - "bits-to-bytes": "^1.3.0", - "compact-encoding": "^2.12.0", - "compact-encoding-bitfield": "^1.0.0", - "protomux": "^3.5.1", - "sodium-universal": "^5.0.0", - "streamx": "^2.15.1" - } - }, - "node_modules/bogon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bogon/-/bogon-1.1.0.tgz", - "integrity": "sha512-a6SnToksXHuUlgeMvI/txWmTcKz7c7iBa8f0HbXL4toN1Uza/CTQ4F7n9jSDX49TCpxv3KUP100q4sZfwLyLiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "compact-encoding": "^2.11.0", - "compact-encoding-net": "^1.2.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brittle": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/brittle/-/brittle-3.16.2.tgz", - "integrity": "sha512-wST8oJbMEhLoy1gZ8x4x1FUTfzcwnMTsvkWbUmtG8068Q/4/9gfkcZh9WpmhDmD0VESALpZpB8SmnTYpU/jWPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.0", - "bare-cov": "^1.1.0", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-subprocess": "^5.0.0", - "error-stack-parser": "^2.1.4", - "globbie": "^1.0.2", - "paparam": "^1.6.2", - "same-object": "^1.0.2", - "test-tmp": "^1.4.0", - "tmatch": "^5.0.0" - }, - "bin": { - "brittle": "bin/node.js", - "brittle-bare": "bin/bare.js", - "brittle-node": "bin/node.js", - "brittle-pear": "bin/pear.js" - } - }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/compact-encoding": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/compact-encoding/-/compact-encoding-2.16.1.tgz", - "integrity": "sha512-vP39X4nwtesmZucaAxDg4wnudOoaJTSR+fikzi8VLVxbwLmcWXf3t0LxY0n2H1AMpdoQZ08lmUf4GY3XiDPnMQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.3.0" - } - }, - "node_modules/compact-encoding-bitfield": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/compact-encoding-bitfield/-/compact-encoding-bitfield-1.0.0.tgz", - "integrity": "sha512-3nMVKUg+PF72UHfainmCL8uKvyWfxsjqOtUY+HiMPGLPCTjnwzoKfFAMo1Ad7nwTPdjBqtGK5b3BOFTFW4EBTg==", - "dev": true, - "license": "ISC", - "dependencies": { - "compact-encoding": "^2.4.1" - } - }, - "node_modules/compact-encoding-net": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/compact-encoding-net/-/compact-encoding-net-1.2.0.tgz", - "integrity": "sha512-LVXpNpF7PGQeHRVVLGgYWzuVoYAaDZvKUsUxRioGfkotzvOh4AzoQF1HBH3zMNaSnx7gJXuUr3hkjnijaH/Eng==", - "dev": true, - "license": "ISC", - "dependencies": { - "compact-encoding": "^2.4.1" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debugging-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debugging-stream/-/debugging-stream-3.1.0.tgz", - "integrity": "sha512-WZw2HC1sz5CE0FhFHPsycN9HDDSNr9ytZGnEcYjWaP4dNzePS8EPnuiiQDmhMjQ6vE2K/X2UWoSTOAcCilprCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "streamx": "^2.20.2" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/device-file": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/device-file/-/device-file-1.2.6.tgz", - "integrity": "sha512-gHH0lYHWvxjDOstkLji6ExtmYUPtpgICdkEeOuKkodiz111e7rPZP1WWwHlEmvA/gDNQl3KJkbWJ8YDidu3C4A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "bare-fs": "^4.0.1", - "fs-native-extensions": "^1.4.0" - } - }, - "node_modules/dht-rpc": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/dht-rpc/-/dht-rpc-6.18.1.tgz", - "integrity": "sha512-uTcHj8dERVjmoUsSxqAulQ+qo11Qy4pMK419tyF2cFpyf56Y09u1v9g8yWlay0KjUY5bvdybBQ/V8YWN/wyK5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "b4a": "^1.6.1", - "bare-events": "^2.2.0", - "compact-encoding": "^2.11.0", - "compact-encoding-net": "^1.2.0", - "fast-fifo": "^1.1.0", - "kademlia-routing-table": "^1.0.1", - "nat-sampler": "^1.0.1", - "sodium-universal": "^5.0.0", - "streamx": "^2.13.2", - "time-ordered-set": "^2.0.0", - "udx-native": "^1.5.3" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-config-standard-jsx": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", - "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peerDependencies": { - "eslint": "^8.8.0", - "eslint-plugin-react": "^7.28.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-tree": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.12.1.tgz", - "integrity": "sha512-GchQ+onbnw5QaqsGbpcV6c8etAd396X/EVdDxutQMkGapB0lRvV9heIXS6ZffQVCse0hm2hBpK7GJz2Zp7qiMg==", - "license": "MIT" - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fs": { - "name": "bare-fs", - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.5.tgz", - "integrity": "sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/fs-native-extensions": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/fs-native-extensions/-/fs-native-extensions-1.4.2.tgz", - "integrity": "sha512-QoQqYdHJTtfHUUO/ylyKSrt3dtPDyXCAjzveqCxPsV3hpIMNt455ua470+iTKJ8lFZ94pLC6Dv1TBbwOFLiV5w==", - "license": "Apache-2.0", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generate-object-property": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-2.0.0.tgz", - "integrity": "sha512-KwuURPyqn2Mz8DdV29pJwQu0Y7tcsbkULr82eeOcY/ZllFK6I9Wm8dsRByIu7CKWlFi9BdW1b3mcXMp/kQBQsw==", - "license": "MIT", - "dependencies": { - "is-property": "^1.0.0" - } - }, - "node_modules/generate-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/generate-string/-/generate-string-1.0.1.tgz", - "integrity": "sha512-IfTY0dKZM43ACyGvXkbG7De7WY7MxTS5VO6Juhe8oJKpCmrYYXoqp/cJMskkpi0k9H8wuXq0H+eI898/BCqvXg==", - "license": "MIT" - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globbie": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globbie/-/globbie-1.0.3.tgz", - "integrity": "sha512-hcryJmKcftf82xfBWTWxuUITWIIoYO3ec104V17SMHGFl6VLbm1d1Ju9LX9L+jyJTwICpemX/dmPI/HGYoKr1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "picomatch": "^4.0.2" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hypercore-crypto": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-3.6.0.tgz", - "integrity": "sha512-0slkW1wzq4B95SD8Z5nt1Yf/3KrIcGsBWTJTsCjHzMXie+sZ5I2IkWcxX1mo4+c0xVESnKAKphKSpGf2kf2BGA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.6", - "compact-encoding": "^2.15.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/hypercore-errors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/hypercore-errors/-/hypercore-errors-1.4.0.tgz", - "integrity": "sha512-WoaT467lNbDCglxisthpoC1mpBOH/CoM5IADPQm6BvPzZqXca1S6N1uoflLnZOIre9klCr1SdUnLgDWXLalJ7A==", - "license": "Apache-2.0" - }, - "node_modules/hypercore-id-encoding": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/hypercore-id-encoding/-/hypercore-id-encoding-1.3.0.tgz", - "integrity": "sha512-W6sHdGo5h7LXEsoWfKf/KfuROZmZRQDlGqJF2EPHW+noCK66Vvr0+zE6cL0vqQi18s0kQPeN7Sq3QyR0Ytc2VQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.5.3", - "z32": "^1.0.0" - } - }, - "node_modules/hypercore-storage": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-1.14.0.tgz", - "integrity": "sha512-IkCRvDaBbZqR0nORvhtVN2h5NtJ/Of+dmxCy7tGzjW51cLrouBCJVBNJ005D6yIiEEvTMFogxPZIA+ZTFEP80Q==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0", - "compact-encoding": "^2.16.0", - "device-file": "^1.2.2", - "flat-tree": "^1.12.1", - "hypercore-crypto": "^3.4.2", - "hyperschema": "^1.7.0", - "index-encoder": "^3.3.2", - "resolve-reject-promise": "^1.0.0", - "rocksdb-native": "^3.1.1", - "scope-lock": "^1.2.4", - "streamx": "^2.21.1" - } - }, - "node_modules/hyperdht": { - "version": "6.20.5", - "resolved": "https://registry.npmjs.org/hyperdht/-/hyperdht-6.20.5.tgz", - "integrity": "sha512-eDAwTmAtE9rjMivgqYtqHalTdBVhhCMBVHlCWRVhEcWtchpDonsd2dmX26lJ0raoF+l9djkXvPcN1/kb9/kykw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@hyperswarm/secret-stream": "^6.6.2", - "b4a": "^1.3.1", - "bare-events": "^2.2.0", - "blind-relay": "^1.3.0", - "bogon": "^1.0.0", - "compact-encoding": "^2.4.1", - "compact-encoding-net": "^1.0.1", - "dht-rpc": "^6.15.1", - "hypercore-crypto": "^3.3.0", - "hypercore-id-encoding": "^1.2.0", - "noise-curve-ed": "^2.0.0", - "noise-handshake": "^4.0.0", - "record-cache": "^1.1.1", - "safety-catch": "^1.0.1", - "signal-promise": "^1.0.3", - "sodium-universal": "^5.0.1", - "streamx": "^2.16.1", - "unslab": "^1.3.0", - "xache": "^1.1.0" - }, - "bin": { - "hyperdht": "bin.js" - } - }, - "node_modules/hyperschema": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/hyperschema/-/hyperschema-1.11.0.tgz", - "integrity": "sha512-oIu1hQ4zO1AqpBc6Dt07WenlELFfs6S6gQETmf7P6UTHwGSPiVc067B6gFxApVRgZuv9cQ4edReILNtHFEgj0A==", - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.0.1", - "compact-encoding": "^2.15.0", - "generate-object-property": "^2.0.0", - "generate-string": "^1.0.1" - } - }, - "node_modules/hyperswarm": { - "version": "4.11.7", - "resolved": "https://registry.npmjs.org/hyperswarm/-/hyperswarm-4.11.7.tgz", - "integrity": "sha512-/cOHoiuho81u8OdJhJkAg3Byc2X/47doS4pO6L8EMnhPJnYDHtLYa/SdVsbGNjzjso0Q20qAe7WTwbqdtt/diA==", - "dev": true, - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1", - "bare-events": "^2.2.0", - "hyperdht": "^6.11.0", - "safety-catch": "^1.0.2", - "shuffled-priority-queue": "^2.1.0", - "unslab": "^1.3.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/index-encoder": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/index-encoder/-/index-encoder-3.4.0.tgz", - "integrity": "sha512-k3+ENtseFYI9ZPOIZzVH8LlONUvXAcd4jvCPo+Nob/T/2t5R5Rfh8XiFXBG++gHHuVby7HBDp/3YbyEmE481cg==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-options": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.2.tgz", - "integrity": "sha512-u+Ai74c8Q74aS8BuHwPdI1jptGOT1FQXgCq8/zv0xRuE+wRgSMEJLj8lVO8Zp9BeGb29BXY6AsNPinfqjkr7Fg==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kademlia-routing-table": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/kademlia-routing-table/-/kademlia-routing-table-1.0.6.tgz", - "integrity": "sha512-Ve6jwIlUCYvUzBnXnzVRHDZCFgXURW9gmF3r7n05kZs/2rNbLHXwGdcq0qIaSwdmJCvtosgR4JensnVU65hzNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=6" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoassert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", - "license": "ISC" - }, - "node_modules/nat-sampler": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nat-sampler/-/nat-sampler-1.0.1.tgz", - "integrity": "sha512-yQvyNN7xbqR8crTKk3U8gRgpcV1Az+vfCEijiHu9oHHsnIl8n3x+yXNHl42M6L3czGynAVoOT9TqBfS87gDdcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/noise-curve-ed": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/noise-curve-ed/-/noise-curve-ed-2.1.0.tgz", - "integrity": "sha512-zAzJx+VwZM3w6EA1hTmDhJfvAnCeBQn/1FAeZ0LtGxCcCtlAK/uJXQVF/eDVUOaAZ286lHlx77WJ+qj9SmsRRg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/noise-handshake": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/noise-handshake/-/noise-handshake-4.1.0.tgz", - "integrity": "sha512-ZHt2+mOXTvjtaWS2h/JPvQjmknfKrEld2xdSsRYWXnYiJmK/N+dtxrDVSt1cr9wGAlhH7Ek43lIZNsL5bVeX9A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/paparam": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/paparam/-/paparam-1.8.5.tgz", - "integrity": "sha512-LLsGJwf3bJuf32jAfQYIMbt7oXuY2TXG3aWVHGXrE8o9cwGYIj+r/4J/VBn5Sgo+mA5lXzNnfqPqfBGPBIvjvQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path": { - "name": "bare-path", - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "name": "bare-process", - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/protomux": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/protomux/-/protomux-3.10.1.tgz", - "integrity": "sha512-jgBqx8ZyaBWea/DFG4eOu1scOaeBwcnagiRC1XFVrjeGt7oAb0Pk5udPpBUpJ4DJBRjra50jD6YcZiQQTRqaaA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1", - "compact-encoding": "^2.5.1", - "queue-tick": "^1.0.0", - "safety-catch": "^1.0.1", - "unslab": "^1.3.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "license": "MIT" - }, - "node_modules/quickbit-native": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/quickbit-native/-/quickbit-native-2.4.5.tgz", - "integrity": "sha512-Ku6ESjIpRqpVZxDFFBLaQlSXltYvE0rxFA/090CWV1uxupTiAmEQqp8o/S2ah8J0NT1pxHsDqCOG8J7ITa83sw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "require-addon": "^1.1.0" - } - }, - "node_modules/quickbit-universal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/quickbit-universal/-/quickbit-universal-2.2.0.tgz", - "integrity": "sha512-w02i1R8n7+6pEKTud8DfF8zbFY9o7RtPlUc3jWbtCkDKvhbx/AvV7oNnz4/TcmsPGpSJS+fq5Ud6RH6+YPvSGg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.6.0", - "simdle-universal": "^1.1.0" - }, - "optionalDependencies": { - "quickbit-native": "^2.2.0" - } - }, - "node_modules/rache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rache/-/rache-1.0.0.tgz", - "integrity": "sha512-e0k0g0w/8jOCB+7YqCIlOa+OJ38k0wrYS4x18pMSmqOvLKoyhmMhmQyCcvfY6VaP8D75cqkEnlakXs+RYYLqNg==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/random-array-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-array-iterator/-/random-array-iterator-1.0.0.tgz", - "integrity": "sha512-u7xCM93XqKEvPTP6xZp2ehttcAemKnh73oKNf1FvzuVCfpt6dILDt1Kxl1LeBjm2iNIeR49VGFhy4Iz3yOun+Q==", - "license": "MIT" - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ready-resource": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ready-resource/-/ready-resource-1.1.2.tgz", - "integrity": "sha512-BN2Yfg/avHpozP+XSo+gsjHQ0AejnfbCJeJT4eamAHSf7dgYmNNWsZqTt5IEc06mjlLao+c2jlTbZvpZyRtRNQ==", - "license": "MIT", - "dependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/record-cache": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/record-cache/-/record-cache-1.2.0.tgz", - "integrity": "sha512-kyy3HWCez2WrotaL3O4fTn0rsIdfRKOdQQcEJ9KpvmKmbffKVvwsloX063EgRUlpJIXHiDQFhJcTbZequ2uTZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1" - } - }, - "node_modules/refcounter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/refcounter/-/refcounter-1.0.0.tgz", - "integrity": "sha512-1WosVzUy0kPUaPMEtlNDwm99UsteALIhXXR8rerELoa63WkYIXAl0hxgwPFrIYBRWZPGUyekQ04FRtPJ7dHk9w==", - "license": "Apache-2.0" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-addon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.1.0.tgz", - "integrity": "sha512-KbXAD5q2+v1GJnkzd8zzbOxchTkStSyJZ9QwoCq3QwEXAaIlG3wDYRZGzVD357jmwaGY7hr5VaoEAL0BkF0Kvg==", - "license": "Apache-2.0", - "dependencies": { - "bare-addon-resolve": "^1.3.0", - "bare-url": "^2.1.0" - }, - "engines": { - "bare": ">=1.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-reject-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-reject-promise/-/resolve-reject-promise-1.1.0.tgz", - "integrity": "sha512-LWsTOA91AqzBTjSGgX79Tc130pwcBK6xjpJEO+qRT5IKZ6bGnHKcc8QL3upUBcWuU8OTIDzKK2VNSwmmlqvAVg==", - "license": "MIT" - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rocksdb-native": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.6.2.tgz", - "integrity": "sha512-+Ih3yVYveBuMDu4meL9Nwimv7G4s53PrAvRpfPFSq8/GejPyhPDgPkIeB8jtYdeWb5RxEpHd7zaax42IW/Vfvw==", - "license": "Apache-2.0", - "dependencies": { - "compact-encoding": "^2.15.0", - "ready-resource": "^1.0.0", - "refcounter": "^1.0.0", - "require-addon": "^1.0.2", - "resolve-reject-promise": "^1.1.0", - "streamx": "^2.16.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safety-catch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/safety-catch/-/safety-catch-1.0.2.tgz", - "integrity": "sha512-C1UYVZ4dtbBxEtvOcpjBaaD27nP8MlvyAQEp2fOTOEe6pfUpk1cDUxij6BR1jZup6rSyUTaBBplK7LanskrULA==", - "license": "MIT" - }, - "node_modules/same-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/same-object/-/same-object-1.0.2.tgz", - "integrity": "sha512-csHWhvUsLbIOHDM/nP+KHWM+BLPsIzWkFa8HbzaI0G7BqKXgx+7FJpKTGgLXyz5amfdY2OVBcmXTqYOMEk04og==", - "dev": true, - "license": "MIT" - }, - "node_modules/scope-lock": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/scope-lock/-/scope-lock-1.2.4.tgz", - "integrity": "sha512-BpSd8VCuCxW9ZitcdIC/vjs3gMaP9bRBL5nkHcyfX2VrS52n13/rHuBA2xJ/S/4DPuRdAO/Bk8pWd8eD/gHCIA==", - "license": "Apache-2.0" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shuffled-priority-queue": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/shuffled-priority-queue/-/shuffled-priority-queue-2.1.0.tgz", - "integrity": "sha512-xhdh7fHyMsr0m/w2kDfRJuBFRS96b9l8ZPNWGaQ+PMvnUnZ/Eh+gJJ9NsHBd7P9k0399WYlCLzsy18EaMfyadA==", - "dev": true, - "license": "MIT", - "dependencies": { - "unordered-set": "^2.0.1" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-promise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/signal-promise/-/signal-promise-1.0.3.tgz", - "integrity": "sha512-WBgv0UnIq2C+Aeh0/n+IRpP6967eIx9WpynTUoiW3isPpfe1zu2LJzyfXdo9Tgef8yR/sGjcMvoUXD7EYdiz+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/simdle-native": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/simdle-native/-/simdle-native-1.3.6.tgz", - "integrity": "sha512-WXb3AUnMVOgfMbrOlz0SVpL8pMpC9K2WX/wJ7k5alqza77tO/4vCF7pUtuiPJdMxEBIsX30joKRY7JWRJ4yHqQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "b4a": "^1.6.0", - "require-addon": "^1.1.0" - } - }, - "node_modules/simdle-universal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/simdle-universal/-/simdle-universal-1.1.2.tgz", - "integrity": "sha512-3n3w1bs+uwgHKQjt6arez83EywNlhZzYvNOhvAASTl/8KqNIcqr6aHyGt3JRlfuUC7iB0tomJRPlJ2cRGIpBzA==", - "license": "ISC", - "dependencies": { - "b4a": "^1.6.0" - }, - "optionalDependencies": { - "simdle-native": "^1.1.1" - } - }, - "node_modules/sodium-native": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-5.0.3.tgz", - "integrity": "sha512-8mmRxZtN9Lw2foyBFuRO193OYmyQ9fnXQrWIcUHn3XLmGZEU3QkCFauLA8zokoGM0nfsdo1OuvGOlL7591dYeQ==", - "license": "MIT", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/sodium-secretstream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sodium-secretstream/-/sodium-secretstream-1.2.0.tgz", - "integrity": "sha512-q/DbraNFXm1KfCiiZvapmz5UC3OlpirYFIvBK2MhGaOFSb3gRyk8OXTi17UI9SGfshQNCpsVvlopogbzZNyW6Q==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/sodium-universal": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-5.0.1.tgz", - "integrity": "sha512-rv+aH+tnKB5H0MAc2UadHShLMslpJsc4wjdnHRtiSIEYpOetCgu8MS4ExQRia+GL/MK3uuCyZPeEsi+J3h+Q+Q==", - "license": "MIT", - "dependencies": { - "sodium-native": "^5.0.1" - }, - "peerDependencies": { - "sodium-javascript": "~0.8.0" - }, - "peerDependenciesMeta": { - "sodium-javascript": { - "optional": true - } - } - }, - "node_modules/speedometer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.1.0.tgz", - "integrity": "sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/standard": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", - "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "eslint": "^8.41.0", - "eslint-config-standard": "17.1.0", - "eslint-config-standard-jsx": "^11.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^15.7.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-react": "^7.36.1", - "standard-engine": "^15.1.0", - "version-guard": "^1.1.1" - }, - "bin": { - "standard": "bin/cmd.cjs" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/standard-engine": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", - "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "get-stdin": "^8.0.0", - "minimist": "^1.2.6", - "pkg-conf": "^3.1.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/streamx": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", - "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/test-tmp": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/test-tmp/-/test-tmp-1.4.0.tgz", - "integrity": "sha512-GVggxGg+jXqP2Wbju50JVLo+9E+nIOPPyWqgr63EbOnNItIKu1cEbJpTWAJeflnyGqXOtcMI7ijHRp88GUkfDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bare-fs": "^4.0.1", - "bare-os": "^3.3.0", - "bare-path": "^3.0.0" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/time-ordered-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/time-ordered-set/-/time-ordered-set-2.0.1.tgz", - "integrity": "sha512-VJEKmgSN2UiOLB8BpN8Sh2b9LGMHTP5OPrQRpnKjvOheOyzk0mufbjzjKTIG2gO4A+Y+vDJ+0TcLbpUmMLsg8A==", - "dev": true, - "license": "MIT" - }, - "node_modules/timeout-refresh": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-2.0.1.tgz", - "integrity": "sha512-SVqEcMZBsZF9mA78rjzCrYrUs37LMJk3ShZ851ygZYW1cMeIjs9mL57KO6Iv5mmjSQnOe/29/VAfGXo+oRCiVw==", - "license": "MIT" - }, - "node_modules/tiny-byte-size": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-byte-size/-/tiny-byte-size-1.1.0.tgz", - "integrity": "sha512-OQ+i4RZzIQ0CR22DEr3G+ckRwN93R9UQMNqeym41Ntfj/dchPyWu1cuu8mvdCv61Ng3uOmNgX+8WesK1f37x+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/tmatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-5.0.0.tgz", - "integrity": "sha512-Ib9OtBkpHn07tXP04SlN1SYRxFgTk6wSM2EBmjjxug4u5RXPRVLkdFJSS1PmrQidaSB8Lru9nRtViQBsbxzE5Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/udx-native": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/udx-native/-/udx-native-1.17.8.tgz", - "integrity": "sha512-nB5SxTF9WzTNrxJnVSyEOtapoPjxAU1KboN/z1JWMtAVXArwtQ9Mxn+jJvlx4skINQHH6xUqQsQdSCL1Ja2h1Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.5.0", - "bare-events": "^2.2.0", - "require-addon": "^1.1.0", - "streamx": "^2.14.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/uncaughts": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/uncaughts/-/uncaughts-1.1.1.tgz", - "integrity": "sha512-UuD2hCFnjsoGRsMH2m6cpbRPwUSdCeQw9xjf6gIV48l43Y5lvdrWm4FvBDS8UXtsjx6D6K6BvJy3rloUAiZRYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "which-runtime": "^1.2.1" - } - }, - "node_modules/unordered-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-2.0.1.tgz", - "integrity": "sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unslab": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/unslab/-/unslab-1.3.0.tgz", - "integrity": "sha512-YATkfKAFj47kTzmiQrWXMyRvaVrHsW6MEALa4bm+FhiA2YG4oira+Z3DXN6LrYOYn2Y8eO94Lwl9DOHjs1FpoQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.6" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "name": "bare-url", - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/util": { - "name": "bare-utils", - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.2.1.tgz", - "integrity": "sha512-R7fKMh8mr4TwVsIP3MzBc9ZFha1904FMIixWDtuLb5XlNIDQ7It4atE1UND5TZHTB0LpNSj81hL207d2+dU3jQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^2.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/version-guard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", - "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", - "dev": true, - "license": "0BSD", - "engines": { - "node": ">=0.10.48" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-runtime": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.2.1.tgz", - "integrity": "sha512-8feIHccQFH/whiA1fD1b4c5+Q7T4ry1g1oHYc2mHnFh81tTQFsCvy3zhS2geUapkFAVBddUT/AM1a3rbqJweFg==", - "license": "Apache-2.0" - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xache": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/xache/-/xache-1.2.1.tgz", - "integrity": "sha512-igRS6jPreJ54ABdzhh4mCDXcz+XMaWO2q1ABRV2yWYuk29jlp8VT7UBdCqNkX7rpYBbXsebVVKkwIuYZjyZNqA==", - "dev": true, - "license": "MIT" - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/z32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/z32/-/z32-1.1.0.tgz", - "integrity": "sha512-1WUHy+VS6d0HPNspDxvLssBbeQjXMjSnpv0vH82vRAUfg847NmX3OXozp/hRP5jPhxBbrVzrgvAt+UsGNzRFQQ==", - "license": "MIT", - "dependencies": { - "b4a": "^1.5.3" - } - } - } -} diff --git a/pkgs/by-name/hy/hypercore/package.nix b/pkgs/by-name/hy/hypercore/package.nix deleted file mode 100644 index c2a7bac4121d..000000000000 --- a/pkgs/by-name/hy/hypercore/package.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - lib, - buildNpmPackage, - fetchFromGitHub, - nix-update-script, -}: - -buildNpmPackage (finalAttrs: { - pname = "hypercore"; - version = "11.13.0"; - - src = fetchFromGitHub { - owner = "holepunchto"; - repo = "hypercore"; - tag = "v${finalAttrs.version}"; - hash = "sha256-YaSmKjJKWkA4UUK/1LF9wqS4PvdFHrrc+yzvz+QmL0A="; - }; - - npmDepsHash = "sha256-ZJxVmQWKgHyKkuYfGIlANXFcROjI7fibg6mxIhDZowM="; - - dontNpmBuild = true; - - postPatch = '' - cp ${./package-lock.json} ./package-lock.json - ''; - - passthru.updateScript = nix-update-script { - extraArgs = [ - "--generate-lockfile" - ]; - }; - - meta = { - description = "Secure, distributed append-only log"; - homepage = "https://github.com/holepunchto/hypercore"; - license = lib.licenses.mit; - teams = with lib.teams; [ ngi ]; - maintainers = [ lib.maintainers.goodylove ]; - platforms = lib.platforms.all; - }; - -}) From 66aad179cd4c54f639fbf774005c6ed90b7aca03 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:50:03 +0200 Subject: [PATCH 0203/1216] corestore: remove Same reasoning as with hypercore and autobase. --- pkgs/by-name/co/corestore/package-lock.json | 5112 ------------------- pkgs/by-name/co/corestore/package.nix | 39 - 2 files changed, 5151 deletions(-) delete mode 100644 pkgs/by-name/co/corestore/package-lock.json delete mode 100644 pkgs/by-name/co/corestore/package.nix diff --git a/pkgs/by-name/co/corestore/package-lock.json b/pkgs/by-name/co/corestore/package-lock.json deleted file mode 100644 index 0e2f2d6548c2..000000000000 --- a/pkgs/by-name/co/corestore/package-lock.json +++ /dev/null @@ -1,5112 +0,0 @@ -{ - "name": "corestore", - "version": "7.4.5", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "corestore", - "version": "7.4.5", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.7", - "hypercore": "^11.0.0", - "hypercore-crypto": "^3.4.2", - "hypercore-errors": "^1.4.0", - "hypercore-id-encoding": "^1.3.0", - "ready-resource": "^1.1.1", - "sodium-universal": "^5.0.1", - "which-runtime": "^1.2.1" - }, - "devDependencies": { - "brittle": "^3.7.0", - "rache": "^1.0.0", - "standard": "^17.1.2", - "test-tmp": "^1.3.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@hyperswarm/secret-stream": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@hyperswarm/secret-stream/-/secret-stream-6.8.1.tgz", - "integrity": "sha512-F3fr8CKB6za9Ac7ifjgAe07qnnesl5kS0MtLsyKxA1Og8E+FZykdwLpgoLjnEa7G6E1L56lASLr42E4kd20sog==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "hypercore-crypto": "^3.3.1", - "noise-curve-ed": "^2.0.1", - "noise-handshake": "^4.0.0", - "sodium-secretstream": "^1.1.0", - "sodium-universal": "^5.0.0", - "streamx": "^2.14.0", - "timeout-refresh": "^2.0.0", - "unslab": "^1.3.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", - "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assert": { - "name": "bare-assert", - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", - "license": "Apache-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bare-addon-resolve": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/bare-addon-resolve/-/bare-addon-resolve-1.9.4.tgz", - "integrity": "sha512-unn6Vy/Yke6F99vg/7tcrvM2KUvIhTNniaSqDbam4AWkd4NhvDVSrQiRYVlNzUV2P7SPobkCK7JFVxrJk9btCg==", - "license": "Apache-2.0", - "dependencies": { - "bare-module-resolve": "^1.10.0", - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-ansi-escapes": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/bare-ansi-escapes/-/bare-ansi-escapes-2.2.3.tgz", - "integrity": "sha512-02ES4/E2RbrtZSnHJ9LntBhYkLA6lPpSEeP8iqS3MccBIVhVBlEmruF1I7HZqx5Q8aiTeYfQVeqmrU9YO2yYoQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.5" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-cov": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bare-cov/-/bare-cov-1.1.1.tgz", - "integrity": "sha512-YP0QjpKznC55rn3fc3hOPjcegm1eu/ZHVwS+t1c48O48bWMspWzBY+9a6fI5sb/PGwqv47W4clpnmcy7vKhYrQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-inspector": "^4.0.1", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-url": "^2.1.5", - "bare-v8-to-istanbul": "v1.0.0", - "picomatch": "^4.0.2", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-crypto": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/bare-crypto/-/bare-crypto-1.7.0.tgz", - "integrity": "sha512-HPoNUQitmlihHzBotCG5huj0zRpVabrsRfoq6yCB+Y1HRftXmMJPMfVKxELijaMCMSJtlvw6ytotE88lwf6qdg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.3" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-debug-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-debug-log/-/bare-debug-log-2.0.0.tgz", - "integrity": "sha512-Vi42PkMQsNV9PUpx2Gl1hikshx5O9FzMJ6o9Nnopseg7qLBBK7Nl31d0RHcfwLEAfmcPApytpc0ZFfq68u22FQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-dns": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bare-dns/-/bare-dns-2.1.2.tgz", - "integrity": "sha512-0GCTZBzL3vJ/xfupMnmKGHYNMrFBpX3sK4I2nTXgH2BAwifvyXVCEKFVypAwyqQJ85tYuTel52nD6us7CqfHXQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-encoding": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-encoding/-/bare-encoding-1.0.0.tgz", - "integrity": "sha512-9T5CSCaytaIWZpFWx9LQLJ6/z/m2Slnan9tQBKmOvoq/UtPBbOKT/B2fo29Xhi4X1FFtNx8DFdtrFgqm2yse/Q==", - "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-env": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz", - "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-events": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.6.0.tgz", - "integrity": "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==", - "license": "Apache-2.0" - }, - "node_modules/bare-format": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-format/-/bare-format-1.0.1.tgz", - "integrity": "sha512-1oS+LZrWK6tnYnvNSHDGljc2MPunRxwhpFriuCgzNF+oklrnwmBKD91tS0yt+jpl2j3UgcSDzBIMiVTvLs9A8w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", - "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-hrtime": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/bare-hrtime/-/bare-hrtime-2.0.11.tgz", - "integrity": "sha512-Mnb2rnGRSHzNHQwFrK8VVqD8Oob/CiSsBlgZGKQ1xTj25GPI19sXHjUPzrkHOU1DaoVj1ig1VO7rZGaYOfXPaw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-http1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-http1/-/bare-http1-4.0.2.tgz", - "integrity": "sha512-6Jns5oBG9LFz/U2PuFk2LHQbQ1ZuUgPyuahfbNikPL/HcjpSGdSl0xMiN3Qt852Xm1sLBsTGxl0OoM2cVCYzNQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.3.0", - "bare-tcp": "^2.0.0" - } - }, - "node_modules/bare-https": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-https/-/bare-https-2.0.0.tgz", - "integrity": "sha512-qmjNZmYQ4nn+k3CLlxVyOqWYamdBPqE7psR5/lFWG39fskAR4C2h29d1Ka5BeWOGDAWhXImFIwZUxwCE/7xeLA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-http1": "^4.0.0", - "bare-tcp": "^2.0.0", - "bare-tls": "^2.0.0" - } - }, - "node_modules/bare-inspect": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bare-inspect/-/bare-inspect-3.1.1.tgz", - "integrity": "sha512-DOqRxa/qYZS+P3+3yVdroeixaqc6+gwiSUHntS5294Iykhe9ySzlfoRvSDM//xUHad8sQ59IOhyCoedFluvC6g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-ansi-escapes": "^2.1.0", - "bare-type": "^1.0.0" - }, - "engines": { - "bare": ">=1.18.0" - } - }, - "node_modules/bare-inspector": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bare-inspector/-/bare-inspector-4.0.1.tgz", - "integrity": "sha512-MZGIci2OFzwDNWlY/JUmEVtK/0xa+mbdggOB0jSI0WYkQpyxaiD4q/8xZ42k4kOoZNLKpYMI31wmllm6jS5w9g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.1.0", - "bare-http1": "^4.0.0", - "bare-stream": "^2.0.0", - "bare-url": "^2.0.0", - "bare-ws": "^2.0.0" - }, - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-module-resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/bare-module-resolve/-/bare-module-resolve-1.11.1.tgz", - "integrity": "sha512-DCxeT9i8sTs3vUMA3w321OX/oXtNEu5EjObQOnTmCdNp5RXHBAvAaBDHvAi9ta0q/948QPz+co6SsGi6aQMYRg==", - "license": "Apache-2.0", - "dependencies": { - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-net": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bare-net/-/bare-net-2.0.1.tgz", - "integrity": "sha512-klzDKbZFzfguS6054Yv+8/e9rhggYVAg8I8svCWCtYkMwdlh3hz1SGCut6Q7d7iqV60YtuG3Y8957DqLcKuEJQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.2.2", - "bare-pipe": "^4.0.0", - "bare-stream": "^2.0.0", - "bare-tcp": "^2.0.0" - } - }, - "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", - "license": "Apache-2.0", - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-pipe": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.0.6.tgz", - "integrity": "sha512-S9kpDJq74gkceynfRqXCaED119k2jF2us4U9xZnTLX0GEduWQY29MNTpAMAf/ucEailW9SPLjGLzbfPCONz3Lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-process": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/bare-semver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-semver/-/bare-semver-1.0.1.tgz", - "integrity": "sha512-UtggzHLiTrmFOC/ogQ+Hy7VfoKoIwrP1UFcYtTxoCUdLtsIErT8+SWtOC2DH/snT9h+xDrcBEPcwKei1mzemgg==", - "license": "Apache-2.0" - }, - "node_modules/bare-signals": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bare-signals/-/bare-signals-4.0.3.tgz", - "integrity": "sha512-xIy8ILawd3xepmpsYYMzPgMWsZm471Onw6jcqoitczuH6kNqN0NVkFKcEztpdq82MMfcsyo7xqLQIgmeoB05rg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.3", - "bare-os": "^3.3.1" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", - "license": "Apache-2.0", - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/bare-subprocess": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.1.0.tgz", - "integrity": "sha512-uUQdB2Ks+eUXPwYDGKQ2ZX1hV8AoS1fs5ep33GkMIAv21f4zy/soV9IejjlbSqJbnmDLC44RyitRzSAbIed1ng==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.5.4", - "bare-os": "^3.0.1", - "bare-pipe": "^4.0.0" - }, - "engines": { - "bare": ">=1.7.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-tcp": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/bare-tcp/-/bare-tcp-2.0.7.tgz", - "integrity": "sha512-3I91sieZw1WYZDK5nNf/XVBBne0hhsIJsLqy29o/IRITBidK0rJP9ZsKOLlYSiop1PFj7VNWd1ZQtgbQh9wnCg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-dns": "^2.0.4", - "bare-events": "^2.5.4", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-tls": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bare-tls/-/bare-tls-2.1.1.tgz", - "integrity": "sha512-56xUcgn8iEAP0Sje7OgZSwari176L0nNQaEBbpsdCVytxz10dmRY0thSFNOXpCPWIhtuH1AMK0ZzK0l0IxcxPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-net": "^2.0.1", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-tty": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/bare-tty/-/bare-tty-5.0.2.tgz", - "integrity": "sha512-xOHwI7zZl2Opm7Rul5O+okE32j7O14feJhgovJX2EghtQ2IWVfiC1oH0DmFruMvKthvhZY/Lpg8n5SVBaZhV1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.2.0", - "bare-signals": "^4.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-type": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/bare-type/-/bare-type-1.0.6.tgz", - "integrity": "sha512-6QFeIIp1d06xU9BjDPkl8+QeHil3TKSDpIKUid6bQzwYvxFOnMVhAifRS3J0fvWirEMlWmqxDDKjHW8RPe6C3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-url": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/bare-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.3.0.tgz", - "integrity": "sha512-s0wQMUw4tjaW5x+mknXPcmmX25v4D27+gqo5IavCpsjjgloA7ta7aXtt/tqlR4ADEUZe4ANzQiLRXrzuMxHdcA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^2.0.0", - "bare-encoding": "^1.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-v8-to-istanbul": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-v8-to-istanbul/-/bare-v8-to-istanbul-1.0.0.tgz", - "integrity": "sha512-5xm9ykzWrk7ntC0Ps2tnNwlFlEAMb3Rk0w/WlwJ/A1xboTQKa9f+NO/31PXB5LspMaz9Qv2pnIwiiHWEnk+kXQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "assert": "npm:bare-assert", - "bare-assert": "^1.0.2", - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.0", - "bare-url": "^2.1.5", - "bare-utils": "^1.2.0", - "fs": "npm:bare-fs", - "path": "npm:bare-path", - "process": "npm:bare-process", - "url": "npm:bare-url", - "util": "npm:bare-utils", - "v8-to-istanbul": "^9.3.0", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-ws": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/bare-ws/-/bare-ws-2.0.3.tgz", - "integrity": "sha512-be3cX68FQKln0jnsuyh1eK60EIM8/hYPFNHYZykN1fS3shWhzdKFo+I4gtZloSzS4aIKtVpi7+M0by8Q9y/NSA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-crypto": "^1.2.0", - "bare-events": "^2.3.1", - "bare-http1": "^4.0.0", - "bare-https": "^2.0.0", - "bare-stream": "^2.1.2" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-url": { - "optional": true - } - } - }, - "node_modules/big-sparse-array": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/big-sparse-array/-/big-sparse-array-1.0.3.tgz", - "integrity": "sha512-6RjV/3mSZORlMdpUaQ6rUSpG637cZm0//E54YYGtQg1c1O+AbZP8UTdJ/TchsDZcTVLmyWZcseBfp2HBeXUXOQ==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brittle": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/brittle/-/brittle-3.17.0.tgz", - "integrity": "sha512-9IJXmSkJozjsDH/WepQ7f1pY4PgZt34QjMcKhUxYwF+q8E7x6197NU+4/NTNmF5Jw5J1ruF73IIj3gEu5ck8+w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.0", - "bare-cov": "^1.1.0", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-subprocess": "^5.0.0", - "error-stack-parser": "^2.1.4", - "globbie": "^1.0.2", - "paparam": "^1.6.2", - "same-object": "^1.0.2", - "test-tmp": "^1.4.0", - "tmatch": "^5.0.0" - }, - "bin": { - "brittle": "bin/node.js", - "brittle-bare": "bin/bare.js", - "brittle-node": "bin/node.js", - "brittle-pear": "bin/pear.js" - } - }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/compact-encoding": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/compact-encoding/-/compact-encoding-2.16.1.tgz", - "integrity": "sha512-vP39X4nwtesmZucaAxDg4wnudOoaJTSR+fikzi8VLVxbwLmcWXf3t0LxY0n2H1AMpdoQZ08lmUf4GY3XiDPnMQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.3.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/device-file": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/device-file/-/device-file-1.2.6.tgz", - "integrity": "sha512-gHH0lYHWvxjDOstkLji6ExtmYUPtpgICdkEeOuKkodiz111e7rPZP1WWwHlEmvA/gDNQl3KJkbWJ8YDidu3C4A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "bare-fs": "^4.0.1", - "fs-native-extensions": "^1.4.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-config-standard-jsx": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", - "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peerDependencies": { - "eslint": "^8.8.0", - "eslint-plugin-react": "^7.28.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-tree": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.12.1.tgz", - "integrity": "sha512-GchQ+onbnw5QaqsGbpcV6c8etAd396X/EVdDxutQMkGapB0lRvV9heIXS6ZffQVCse0hm2hBpK7GJz2Zp7qiMg==", - "license": "MIT" - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fs": { - "name": "bare-fs", - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", - "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/fs-native-extensions": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/fs-native-extensions/-/fs-native-extensions-1.4.2.tgz", - "integrity": "sha512-QoQqYdHJTtfHUUO/ylyKSrt3dtPDyXCAjzveqCxPsV3hpIMNt455ua470+iTKJ8lFZ94pLC6Dv1TBbwOFLiV5w==", - "license": "Apache-2.0", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generate-object-property": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-2.0.0.tgz", - "integrity": "sha512-KwuURPyqn2Mz8DdV29pJwQu0Y7tcsbkULr82eeOcY/ZllFK6I9Wm8dsRByIu7CKWlFi9BdW1b3mcXMp/kQBQsw==", - "license": "MIT", - "dependencies": { - "is-property": "^1.0.0" - } - }, - "node_modules/generate-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/generate-string/-/generate-string-1.0.1.tgz", - "integrity": "sha512-IfTY0dKZM43ACyGvXkbG7De7WY7MxTS5VO6Juhe8oJKpCmrYYXoqp/cJMskkpi0k9H8wuXq0H+eI898/BCqvXg==", - "license": "MIT" - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globbie": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globbie/-/globbie-1.0.3.tgz", - "integrity": "sha512-hcryJmKcftf82xfBWTWxuUITWIIoYO3ec104V17SMHGFl6VLbm1d1Ju9LX9L+jyJTwICpemX/dmPI/HGYoKr1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "picomatch": "^4.0.2" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hypercore": { - "version": "11.11.2", - "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-11.11.2.tgz", - "integrity": "sha512-KbbMcdxPkuCukDD9zUmKLoAX2wReyCGBHA+wjJ7lcs/UJQl1XzYnkOFlDdp+xV9wHc7WncxIgwsjgbwhxKiuBw==", - "license": "MIT", - "dependencies": { - "@hyperswarm/secret-stream": "^6.0.0", - "b4a": "^1.1.0", - "bare-events": "^2.2.0", - "big-sparse-array": "^1.0.3", - "compact-encoding": "^2.11.0", - "fast-fifo": "^1.3.0", - "flat-tree": "^1.9.0", - "hypercore-crypto": "^3.2.1", - "hypercore-errors": "^1.2.0", - "hypercore-id-encoding": "^1.2.0", - "hypercore-storage": "^1.0.0", - "is-options": "^1.0.1", - "nanoassert": "^2.0.0", - "protomux": "^3.5.0", - "quickbit-universal": "^2.2.0", - "random-array-iterator": "^1.0.0", - "safety-catch": "^1.0.1", - "sodium-universal": "^5.0.1", - "streamx": "^2.12.4", - "unslab": "^1.3.0", - "z32": "^1.0.0" - } - }, - "node_modules/hypercore-crypto": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-3.6.1.tgz", - "integrity": "sha512-ltIz2uDwy9pO/ZGTvqcjzyBkvt6O4cVm4r/nNxh0GFs/RbQtqP/i4wCvLEdmU7ptgtnw7fI67WYD1aHPuv4OVA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.6", - "compact-encoding": "^2.15.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/hypercore-errors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/hypercore-errors/-/hypercore-errors-1.4.0.tgz", - "integrity": "sha512-WoaT467lNbDCglxisthpoC1mpBOH/CoM5IADPQm6BvPzZqXca1S6N1uoflLnZOIre9klCr1SdUnLgDWXLalJ7A==", - "license": "Apache-2.0" - }, - "node_modules/hypercore-id-encoding": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/hypercore-id-encoding/-/hypercore-id-encoding-1.3.0.tgz", - "integrity": "sha512-W6sHdGo5h7LXEsoWfKf/KfuROZmZRQDlGqJF2EPHW+noCK66Vvr0+zE6cL0vqQi18s0kQPeN7Sq3QyR0Ytc2VQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.5.3", - "z32": "^1.0.0" - } - }, - "node_modules/hypercore-storage": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-1.14.0.tgz", - "integrity": "sha512-IkCRvDaBbZqR0nORvhtVN2h5NtJ/Of+dmxCy7tGzjW51cLrouBCJVBNJ005D6yIiEEvTMFogxPZIA+ZTFEP80Q==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.7", - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0", - "compact-encoding": "^2.16.0", - "device-file": "^1.2.2", - "flat-tree": "^1.12.1", - "hypercore-crypto": "^3.4.2", - "hyperschema": "^1.7.0", - "index-encoder": "^3.3.2", - "resolve-reject-promise": "^1.0.0", - "rocksdb-native": "^3.1.1", - "scope-lock": "^1.2.4", - "streamx": "^2.21.1" - } - }, - "node_modules/hyperschema": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/hyperschema/-/hyperschema-1.13.0.tgz", - "integrity": "sha512-cNbe7Ay2hSbQ1X/Yf1ch9kPPnKU78dq9LT7ppBE8l8LGZ0IKzIbVOWNIJYOXPr97hWHaoTvxIqhr5wb/R80Gmw==", - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.0.1", - "compact-encoding": "^2.15.0", - "generate-object-property": "^2.0.0", - "generate-string": "^1.0.1" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/index-encoder": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/index-encoder/-/index-encoder-3.4.0.tgz", - "integrity": "sha512-k3+ENtseFYI9ZPOIZzVH8LlONUvXAcd4jvCPo+Nob/T/2t5R5Rfh8XiFXBG++gHHuVby7HBDp/3YbyEmE481cg==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-options": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.2.tgz", - "integrity": "sha512-u+Ai74c8Q74aS8BuHwPdI1jptGOT1FQXgCq8/zv0xRuE+wRgSMEJLj8lVO8Zp9BeGb29BXY6AsNPinfqjkr7Fg==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=6" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoassert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", - "license": "ISC" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/noise-curve-ed": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/noise-curve-ed/-/noise-curve-ed-2.1.0.tgz", - "integrity": "sha512-zAzJx+VwZM3w6EA1hTmDhJfvAnCeBQn/1FAeZ0LtGxCcCtlAK/uJXQVF/eDVUOaAZ286lHlx77WJ+qj9SmsRRg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/noise-handshake": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/noise-handshake/-/noise-handshake-4.1.0.tgz", - "integrity": "sha512-ZHt2+mOXTvjtaWS2h/JPvQjmknfKrEld2xdSsRYWXnYiJmK/N+dtxrDVSt1cr9wGAlhH7Ek43lIZNsL5bVeX9A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/paparam": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/paparam/-/paparam-1.8.5.tgz", - "integrity": "sha512-LLsGJwf3bJuf32jAfQYIMbt7oXuY2TXG3aWVHGXrE8o9cwGYIj+r/4J/VBn5Sgo+mA5lXzNnfqPqfBGPBIvjvQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path": { - "name": "bare-path", - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "name": "bare-process", - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/protomux": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/protomux/-/protomux-3.10.1.tgz", - "integrity": "sha512-jgBqx8ZyaBWea/DFG4eOu1scOaeBwcnagiRC1XFVrjeGt7oAb0Pk5udPpBUpJ4DJBRjra50jD6YcZiQQTRqaaA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1", - "compact-encoding": "^2.5.1", - "queue-tick": "^1.0.0", - "safety-catch": "^1.0.1", - "unslab": "^1.3.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "license": "MIT" - }, - "node_modules/quickbit-native": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/quickbit-native/-/quickbit-native-2.4.6.tgz", - "integrity": "sha512-GXYG0vTLTknHs57qYpNzJO0e2dJpNFyIYZTnKTnOFG5mTUacJIRe7GssnyGJ273zG0iids0D0IOgmZUr0pLENg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "require-addon": "^1.1.0" - } - }, - "node_modules/quickbit-universal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/quickbit-universal/-/quickbit-universal-2.2.0.tgz", - "integrity": "sha512-w02i1R8n7+6pEKTud8DfF8zbFY9o7RtPlUc3jWbtCkDKvhbx/AvV7oNnz4/TcmsPGpSJS+fq5Ud6RH6+YPvSGg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.6.0", - "simdle-universal": "^1.1.0" - }, - "optionalDependencies": { - "quickbit-native": "^2.2.0" - } - }, - "node_modules/rache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rache/-/rache-1.0.0.tgz", - "integrity": "sha512-e0k0g0w/8jOCB+7YqCIlOa+OJ38k0wrYS4x18pMSmqOvLKoyhmMhmQyCcvfY6VaP8D75cqkEnlakXs+RYYLqNg==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/random-array-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-array-iterator/-/random-array-iterator-1.0.0.tgz", - "integrity": "sha512-u7xCM93XqKEvPTP6xZp2ehttcAemKnh73oKNf1FvzuVCfpt6dILDt1Kxl1LeBjm2iNIeR49VGFhy4Iz3yOun+Q==", - "license": "MIT" - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ready-resource": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ready-resource/-/ready-resource-1.1.2.tgz", - "integrity": "sha512-BN2Yfg/avHpozP+XSo+gsjHQ0AejnfbCJeJT4eamAHSf7dgYmNNWsZqTt5IEc06mjlLao+c2jlTbZvpZyRtRNQ==", - "license": "MIT", - "dependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/refcounter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/refcounter/-/refcounter-1.0.0.tgz", - "integrity": "sha512-1WosVzUy0kPUaPMEtlNDwm99UsteALIhXXR8rerELoa63WkYIXAl0hxgwPFrIYBRWZPGUyekQ04FRtPJ7dHk9w==", - "license": "Apache-2.0" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-addon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.1.0.tgz", - "integrity": "sha512-KbXAD5q2+v1GJnkzd8zzbOxchTkStSyJZ9QwoCq3QwEXAaIlG3wDYRZGzVD357jmwaGY7hr5VaoEAL0BkF0Kvg==", - "license": "Apache-2.0", - "dependencies": { - "bare-addon-resolve": "^1.3.0", - "bare-url": "^2.1.0" - }, - "engines": { - "bare": ">=1.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-reject-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-reject-promise/-/resolve-reject-promise-1.1.0.tgz", - "integrity": "sha512-LWsTOA91AqzBTjSGgX79Tc130pwcBK6xjpJEO+qRT5IKZ6bGnHKcc8QL3upUBcWuU8OTIDzKK2VNSwmmlqvAVg==", - "license": "MIT" - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rocksdb-native": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.6.4.tgz", - "integrity": "sha512-aeFHk3AjSwhWaUW3lQepyKus1NH0NXHXX4IAZDSYAcX+CacXyESFbxQlrMz9qsoRuX4QDYoBbawOU5jcXVbRZw==", - "license": "Apache-2.0", - "dependencies": { - "compact-encoding": "^2.15.0", - "ready-resource": "^1.0.0", - "refcounter": "^1.0.0", - "require-addon": "^1.0.2", - "resolve-reject-promise": "^1.1.0", - "streamx": "^2.16.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safety-catch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/safety-catch/-/safety-catch-1.0.2.tgz", - "integrity": "sha512-C1UYVZ4dtbBxEtvOcpjBaaD27nP8MlvyAQEp2fOTOEe6pfUpk1cDUxij6BR1jZup6rSyUTaBBplK7LanskrULA==", - "license": "MIT" - }, - "node_modules/same-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/same-object/-/same-object-1.0.2.tgz", - "integrity": "sha512-csHWhvUsLbIOHDM/nP+KHWM+BLPsIzWkFa8HbzaI0G7BqKXgx+7FJpKTGgLXyz5amfdY2OVBcmXTqYOMEk04og==", - "dev": true, - "license": "MIT" - }, - "node_modules/scope-lock": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/scope-lock/-/scope-lock-1.2.4.tgz", - "integrity": "sha512-BpSd8VCuCxW9ZitcdIC/vjs3gMaP9bRBL5nkHcyfX2VrS52n13/rHuBA2xJ/S/4DPuRdAO/Bk8pWd8eD/gHCIA==", - "license": "Apache-2.0" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/simdle-native": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/simdle-native/-/simdle-native-1.3.6.tgz", - "integrity": "sha512-WXb3AUnMVOgfMbrOlz0SVpL8pMpC9K2WX/wJ7k5alqza77tO/4vCF7pUtuiPJdMxEBIsX30joKRY7JWRJ4yHqQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "b4a": "^1.6.0", - "require-addon": "^1.1.0" - } - }, - "node_modules/simdle-universal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/simdle-universal/-/simdle-universal-1.1.2.tgz", - "integrity": "sha512-3n3w1bs+uwgHKQjt6arez83EywNlhZzYvNOhvAASTl/8KqNIcqr6aHyGt3JRlfuUC7iB0tomJRPlJ2cRGIpBzA==", - "license": "ISC", - "dependencies": { - "b4a": "^1.6.0" - }, - "optionalDependencies": { - "simdle-native": "^1.1.1" - } - }, - "node_modules/sodium-native": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-5.0.6.tgz", - "integrity": "sha512-lKSVfjJ867gb3LrnOZ0nuVxZ19//k/YhhYKVWQg4fklZ85YKtDHTxmEuWuk/s62IoiDbKC/DV50pcSd9tgaVew==", - "license": "MIT", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/sodium-secretstream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sodium-secretstream/-/sodium-secretstream-1.2.0.tgz", - "integrity": "sha512-q/DbraNFXm1KfCiiZvapmz5UC3OlpirYFIvBK2MhGaOFSb3gRyk8OXTi17UI9SGfshQNCpsVvlopogbzZNyW6Q==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/sodium-universal": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-5.0.1.tgz", - "integrity": "sha512-rv+aH+tnKB5H0MAc2UadHShLMslpJsc4wjdnHRtiSIEYpOetCgu8MS4ExQRia+GL/MK3uuCyZPeEsi+J3h+Q+Q==", - "license": "MIT", - "dependencies": { - "sodium-native": "^5.0.1" - }, - "peerDependencies": { - "sodium-javascript": "~0.8.0" - }, - "peerDependenciesMeta": { - "sodium-javascript": { - "optional": true - } - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/standard": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", - "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "eslint": "^8.41.0", - "eslint-config-standard": "17.1.0", - "eslint-config-standard-jsx": "^11.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^15.7.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-react": "^7.36.1", - "standard-engine": "^15.1.0", - "version-guard": "^1.1.1" - }, - "bin": { - "standard": "bin/cmd.cjs" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/standard-engine": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", - "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "get-stdin": "^8.0.0", - "minimist": "^1.2.6", - "pkg-conf": "^3.1.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/streamx": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", - "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/test-tmp": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/test-tmp/-/test-tmp-1.4.0.tgz", - "integrity": "sha512-GVggxGg+jXqP2Wbju50JVLo+9E+nIOPPyWqgr63EbOnNItIKu1cEbJpTWAJeflnyGqXOtcMI7ijHRp88GUkfDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bare-fs": "^4.0.1", - "bare-os": "^3.3.0", - "bare-path": "^3.0.0" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/timeout-refresh": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-2.0.1.tgz", - "integrity": "sha512-SVqEcMZBsZF9mA78rjzCrYrUs37LMJk3ShZ851ygZYW1cMeIjs9mL57KO6Iv5mmjSQnOe/29/VAfGXo+oRCiVw==", - "license": "MIT" - }, - "node_modules/tmatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-5.0.0.tgz", - "integrity": "sha512-Ib9OtBkpHn07tXP04SlN1SYRxFgTk6wSM2EBmjjxug4u5RXPRVLkdFJSS1PmrQidaSB8Lru9nRtViQBsbxzE5Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unslab": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/unslab/-/unslab-1.3.0.tgz", - "integrity": "sha512-YATkfKAFj47kTzmiQrWXMyRvaVrHsW6MEALa4bm+FhiA2YG4oira+Z3DXN6LrYOYn2Y8eO94Lwl9DOHjs1FpoQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.6" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "name": "bare-url", - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/util": { - "name": "bare-utils", - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.3.0.tgz", - "integrity": "sha512-s0wQMUw4tjaW5x+mknXPcmmX25v4D27+gqo5IavCpsjjgloA7ta7aXtt/tqlR4ADEUZe4ANzQiLRXrzuMxHdcA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^2.0.0", - "bare-encoding": "^1.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/version-guard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", - "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", - "dev": true, - "license": "0BSD", - "engines": { - "node": ">=0.10.48" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-runtime": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.3.0.tgz", - "integrity": "sha512-mQrEBUe15PdEuJvrBlvy3tika6sxQrkblI7JQ9kXeg8Lcby9FwmKvAYrCT3wLh91k6ltost7AVM7qYhjC8N0Zg==", - "license": "Apache-2.0" - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/z32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/z32/-/z32-1.1.0.tgz", - "integrity": "sha512-1WUHy+VS6d0HPNspDxvLssBbeQjXMjSnpv0vH82vRAUfg847NmX3OXozp/hRP5jPhxBbrVzrgvAt+UsGNzRFQQ==", - "license": "MIT", - "dependencies": { - "b4a": "^1.5.3" - } - } - } -} diff --git a/pkgs/by-name/co/corestore/package.nix b/pkgs/by-name/co/corestore/package.nix deleted file mode 100644 index d8824357fb81..000000000000 --- a/pkgs/by-name/co/corestore/package.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - buildNpmPackage, - fetchFromGitHub, - nix-update-script, -}: - -buildNpmPackage (finalAttrs: { - pname = "corestore"; - version = "7.4.7"; - - src = fetchFromGitHub { - owner = "holepunchto"; - repo = "corestore"; - tag = "v${finalAttrs.version}"; - hash = "sha256-/UhiuEBoAJc1U2/VYVWLyEGcXUndH0QmM++FN4KCTHo="; - }; - - npmDepsHash = "sha256-hQYvQeTwlIWImdNhgpnJjDC24Fx4G0eST7tptWV1Xgw="; - - dontNpmBuild = true; - - # ERROR: Missing package-lock.json from src - # Upstream doesn't want to maintain a lockfile in their repo: https://github.com/holepunchto/corestore/issues/119 - # Copy vendored package-lock.json to src via postPatch - postPatch = '' - cp ${./package-lock.json} ./package-lock.json - ''; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Simple corestore that wraps a random-access-storage module"; - homepage = "https://github.com/holepunchto/corestore"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ themadbit ]; - teams = with lib.teams; [ ngi ]; - }; -}) From b858099d1fbb0c7206c975df35aa312a85e6f761 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:51:44 +0200 Subject: [PATCH 0204/1216] hyperswarm: remove Same reasoning as with hypercore and autobase. --- pkgs/by-name/hy/hyperswarm/package-lock.json | 4969 ------------------ pkgs/by-name/hy/hyperswarm/package.nix | 41 - 2 files changed, 5010 deletions(-) delete mode 100644 pkgs/by-name/hy/hyperswarm/package-lock.json delete mode 100644 pkgs/by-name/hy/hyperswarm/package.nix diff --git a/pkgs/by-name/hy/hyperswarm/package-lock.json b/pkgs/by-name/hy/hyperswarm/package-lock.json deleted file mode 100644 index 30e80346e71e..000000000000 --- a/pkgs/by-name/hy/hyperswarm/package-lock.json +++ /dev/null @@ -1,4969 +0,0 @@ -{ - "name": "hyperswarm", - "version": "4.11.5", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "hyperswarm", - "version": "4.11.5", - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1", - "bare-events": "^2.2.0", - "hyperdht": "^6.11.0", - "safety-catch": "^1.0.2", - "shuffled-priority-queue": "^2.1.0", - "unslab": "^1.3.0" - }, - "devDependencies": { - "brittle": "^3.0.2", - "hypercore-crypto": "^3.4.0", - "standard": "^17.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", - "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@hyperswarm/secret-stream": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@hyperswarm/secret-stream/-/secret-stream-6.8.1.tgz", - "integrity": "sha512-F3fr8CKB6za9Ac7ifjgAe07qnnesl5kS0MtLsyKxA1Og8E+FZykdwLpgoLjnEa7G6E1L56lASLr42E4kd20sog==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "hypercore-crypto": "^3.3.1", - "noise-curve-ed": "^2.0.1", - "noise-handshake": "^4.0.0", - "sodium-secretstream": "^1.1.0", - "sodium-universal": "^5.0.0", - "streamx": "^2.14.0", - "timeout-refresh": "^2.0.0", - "unslab": "^1.3.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assert": { - "name": "bare-assert", - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", - "license": "Apache-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bare-addon-resolve": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/bare-addon-resolve/-/bare-addon-resolve-1.9.4.tgz", - "integrity": "sha512-unn6Vy/Yke6F99vg/7tcrvM2KUvIhTNniaSqDbam4AWkd4NhvDVSrQiRYVlNzUV2P7SPobkCK7JFVxrJk9btCg==", - "license": "Apache-2.0", - "dependencies": { - "bare-module-resolve": "^1.10.0", - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-ansi-escapes": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/bare-ansi-escapes/-/bare-ansi-escapes-2.2.3.tgz", - "integrity": "sha512-02ES4/E2RbrtZSnHJ9LntBhYkLA6lPpSEeP8iqS3MccBIVhVBlEmruF1I7HZqx5Q8aiTeYfQVeqmrU9YO2yYoQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.5" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bare-assert/-/bare-assert-1.0.2.tgz", - "integrity": "sha512-7AGTrUCz7OOWnMOp4hWnksAkFeZlvW7WMwvKQBANVJIOtjWa6RLSPyUN+zs3QBufRZwIYhYB3UpkAlDbBPp2/Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-cov": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bare-cov/-/bare-cov-1.1.0.tgz", - "integrity": "sha512-y5ik6JY3Gd1Eb0+9GDWOSHPQ+/Mgyj40du1fTlCiEklyMTPhgOJUMRwzAka1V+8KkvgQ8OEbkK/xL4XEfPYGQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-inspector": "^4.0.1", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-url": "^2.1.5", - "bare-v8-to-istanbul": "v1.0.0", - "picomatch": "^4.0.2", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-crypto": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/bare-crypto/-/bare-crypto-1.4.3.tgz", - "integrity": "sha512-XlIhSB+2ht2+Yli2Ic+HhOvdP0vd+TWWISxzYp50EwfsOwCI4TaeONj5hIr6aDWKhYn0FMsFec7U30QOIXMD4Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.3" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-debug-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-debug-log/-/bare-debug-log-1.0.0.tgz", - "integrity": "sha512-tN02RFk6yiS2s7DerJVLvE4W/xrRkNMiCilvS/3fQbu72tj1rteXcQMiztICX5Z3yYsTNJrBokUnAUPjfDU45A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^2.3.0" - } - }, - "node_modules/bare-debug-log/node_modules/bare-os": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.4.tgz", - "integrity": "sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-dns": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/bare-dns/-/bare-dns-2.0.5.tgz", - "integrity": "sha512-C8JF4f/nXXtzyyqyKaSs74HgYZCW3VcG836D0nmANQWGgZlKpw6VMHfpAZM7O4ljcyaNYxdq9pOKE+WXh3AOgA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-env": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz", - "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-events": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", - "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", - "license": "Apache-2.0" - }, - "node_modules/bare-format": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-format/-/bare-format-1.0.1.tgz", - "integrity": "sha512-1oS+LZrWK6tnYnvNSHDGljc2MPunRxwhpFriuCgzNF+oklrnwmBKD91tS0yt+jpl2j3UgcSDzBIMiVTvLs9A8w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.4.tgz", - "integrity": "sha512-r8+26Voz8dGX3AYpJdFb1ZPaUSM8XOLCZvy+YGpRTmwPHIxA7Z3Jov/oMPtV7hfRQbOnH8qGlLTzQAbgtdNN0Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-hrtime": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/bare-hrtime/-/bare-hrtime-2.0.11.tgz", - "integrity": "sha512-Mnb2rnGRSHzNHQwFrK8VVqD8Oob/CiSsBlgZGKQ1xTj25GPI19sXHjUPzrkHOU1DaoVj1ig1VO7rZGaYOfXPaw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bare-http1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-http1/-/bare-http1-4.0.2.tgz", - "integrity": "sha512-6Jns5oBG9LFz/U2PuFk2LHQbQ1ZuUgPyuahfbNikPL/HcjpSGdSl0xMiN3Qt852Xm1sLBsTGxl0OoM2cVCYzNQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.3.0", - "bare-tcp": "^2.0.0" - } - }, - "node_modules/bare-https": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bare-https/-/bare-https-2.0.0.tgz", - "integrity": "sha512-qmjNZmYQ4nn+k3CLlxVyOqWYamdBPqE7psR5/lFWG39fskAR4C2h29d1Ka5BeWOGDAWhXImFIwZUxwCE/7xeLA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-http1": "^4.0.0", - "bare-tcp": "^2.0.0", - "bare-tls": "^2.0.0" - } - }, - "node_modules/bare-inspect": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/bare-inspect/-/bare-inspect-3.0.8.tgz", - "integrity": "sha512-Z3McUtoM/saxTBtr7l4M9ADR1m5foXwtxJrO1OPaBLN25M4lNHVm7uwL9e0qlS8kuLXTI41TLEN4S9veJ3EJJA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-ansi-escapes": "^2.1.0", - "bare-type": "^1.0.0" - } - }, - "node_modules/bare-inspector": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bare-inspector/-/bare-inspector-4.0.1.tgz", - "integrity": "sha512-MZGIci2OFzwDNWlY/JUmEVtK/0xa+mbdggOB0jSI0WYkQpyxaiD4q/8xZ42k4kOoZNLKpYMI31wmllm6jS5w9g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.1.0", - "bare-http1": "^4.0.0", - "bare-stream": "^2.0.0", - "bare-url": "^2.0.0", - "bare-ws": "^2.0.0" - }, - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-module-resolve": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/bare-module-resolve/-/bare-module-resolve-1.10.2.tgz", - "integrity": "sha512-C9COe/GhWfVXKytW3DElTkiBU+Gb2OXeaVkdGdRB/lp26TVLESHkTGS876iceAGdvtPgohfp9nX8vXHGvN3++Q==", - "license": "Apache-2.0", - "dependencies": { - "bare-semver": "^1.0.0" - }, - "peerDependencies": { - "bare-url": "*" - }, - "peerDependenciesMeta": { - "bare-url": { - "optional": true - } - } - }, - "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", - "license": "Apache-2.0", - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-pipe": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.0.6.tgz", - "integrity": "sha512-S9kpDJq74gkceynfRqXCaED119k2jF2us4U9xZnTLX0GEduWQY29MNTpAMAf/ucEailW9SPLjGLzbfPCONz3Lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-process": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/bare-semver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bare-semver/-/bare-semver-1.0.1.tgz", - "integrity": "sha512-UtggzHLiTrmFOC/ogQ+Hy7VfoKoIwrP1UFcYtTxoCUdLtsIErT8+SWtOC2DH/snT9h+xDrcBEPcwKei1mzemgg==", - "license": "Apache-2.0" - }, - "node_modules/bare-signals": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-signals/-/bare-signals-4.0.2.tgz", - "integrity": "sha512-+V7ngZRbkQDN6OJj1/Evm725HeXvZ3onHI52jBi/LJAe2bSPn2sNZI1Y9xu0MlebhROdRTqa7lpN/OQVDMRt3g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.3", - "bare-os": "^3.3.1" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/bare-subprocess": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.0.3.tgz", - "integrity": "sha512-iCx8kfvqClPAQGsbL2RfMubB6EYoZ67ZhaEIpn6wIqIa60p4zLAlGJyEQQtXPo/5dclbpgzWre5hvJ7HzXC/aA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.5.4", - "bare-os": "^3.0.1", - "bare-pipe": "^4.0.0" - }, - "engines": { - "bare": ">=1.7.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-tcp": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/bare-tcp/-/bare-tcp-2.0.4.tgz", - "integrity": "sha512-Xv0DgOwG0zZwmckY43aRs2iOGewkgXlsBu0oWv3h7Y7sGl8a2tyNe4frxYWRRN3N09SwUJZtid1RSW315MDXmg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-dns": "^2.0.4", - "bare-events": "^2.5.4", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-tls": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/bare-tls/-/bare-tls-2.0.4.tgz", - "integrity": "sha512-mJK7CHoXhBEd+z7KIFf0e5GIJgkIp9b9kt7axTmFyUEyQlyzlAzTrQHCkw++PEwF0soNXgOYQtmb+KUqhpgK+g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.7.0" - } - }, - "node_modules/bare-tty": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/bare-tty/-/bare-tty-5.0.2.tgz", - "integrity": "sha512-xOHwI7zZl2Opm7Rul5O+okE32j7O14feJhgovJX2EghtQ2IWVfiC1oH0DmFruMvKthvhZY/Lpg8n5SVBaZhV1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.2.0", - "bare-signals": "^4.0.0", - "bare-stream": "^2.0.0" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/bare-type": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/bare-type/-/bare-type-1.0.6.tgz", - "integrity": "sha512-6QFeIIp1d06xU9BjDPkl8+QeHil3TKSDpIKUid6bQzwYvxFOnMVhAifRS3J0fvWirEMlWmqxDDKjHW8RPe6C3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.2.0" - } - }, - "node_modules/bare-url": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/bare-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.2.0.tgz", - "integrity": "sha512-Y9G5DbMUgcx078Etc7h9CD31aI9vYFZ/xl6JLnyvBX9+4lrlXw+5/6toNJGaNSylo4jJf8Cu3yBIDxMLviRFFw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^1.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/bare-v8-to-istanbul": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bare-v8-to-istanbul/-/bare-v8-to-istanbul-1.0.0.tgz", - "integrity": "sha512-5xm9ykzWrk7ntC0Ps2tnNwlFlEAMb3Rk0w/WlwJ/A1xboTQKa9f+NO/31PXB5LspMaz9Qv2pnIwiiHWEnk+kXQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "assert": "npm:bare-assert", - "bare-assert": "^1.0.2", - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.0", - "bare-url": "^2.1.5", - "bare-utils": "^1.2.0", - "fs": "npm:bare-fs", - "path": "npm:bare-path", - "process": "npm:bare-process", - "url": "npm:bare-url", - "util": "npm:bare-utils", - "v8-to-istanbul": "^9.3.0", - "which-runtime": "^1.2.1" - } - }, - "node_modules/bare-ws": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bare-ws/-/bare-ws-2.0.1.tgz", - "integrity": "sha512-ugewb5bmg3k4ICBe1Rkd6Z80/E082xDjyrVDMfk/4HJoTeqIiDZ+hJKJMEXsyfo482Gk6QpNq0ixRjIIumpubA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-crypto": "^1.2.0", - "bare-events": "^2.3.1", - "bare-http1": "^4.0.0", - "bare-https": "^2.0.0", - "bare-stream": "^2.1.2" - } - }, - "node_modules/bits-to-bytes": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bits-to-bytes/-/bits-to-bytes-1.3.0.tgz", - "integrity": "sha512-OJoHTpFXS9bXHBCekGTByf3MqM8CGblBDIduKQeeVVeiU9dDWywSSirXIBYGgg3d1zbVuvnMa1vD4r6PA0kOKg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.5.0" - } - }, - "node_modules/blind-relay": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/blind-relay/-/blind-relay-1.4.0.tgz", - "integrity": "sha512-6xt7fDfCs6eGmNNym6I9N42jmjcMQn2qwwOVnkP9ZnrkXFk6c4/tdO1xqRmDEzKzV8gigd+DVdCUG/RUYnen7Q==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4", - "bare-events": "^2.2.0", - "bits-to-bytes": "^1.3.0", - "compact-encoding": "^2.12.0", - "compact-encoding-bitfield": "^1.0.0", - "protomux": "^3.5.1", - "sodium-universal": "^5.0.0", - "streamx": "^2.15.1" - } - }, - "node_modules/bogon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bogon/-/bogon-1.1.0.tgz", - "integrity": "sha512-a6SnToksXHuUlgeMvI/txWmTcKz7c7iBa8f0HbXL4toN1Uza/CTQ4F7n9jSDX49TCpxv3KUP100q4sZfwLyLiw==", - "license": "MIT", - "dependencies": { - "compact-encoding": "^2.11.0", - "compact-encoding-net": "^1.2.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brittle": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/brittle/-/brittle-3.16.1.tgz", - "integrity": "sha512-1OONeI0lLvN6Atu4oMgvqilyXAE/a/aWqFuPdYaZOkkAXQMGb8fEowVcHJbZloZwdGaTDyNZzrdeGjC73M+rXQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.0", - "bare-cov": "^1.1.0", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "bare-subprocess": "^5.0.0", - "error-stack-parser": "^2.1.4", - "globbie": "^1.0.2", - "paparam": "^1.6.2", - "same-object": "^1.0.2", - "test-tmp": "^1.4.0", - "tmatch": "^5.0.0" - }, - "bin": { - "brittle": "bin/node.js", - "brittle-bare": "bin/bare.js", - "brittle-node": "bin/node.js", - "brittle-pear": "bin/pear.js" - } - }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/compact-encoding": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/compact-encoding/-/compact-encoding-2.16.1.tgz", - "integrity": "sha512-vP39X4nwtesmZucaAxDg4wnudOoaJTSR+fikzi8VLVxbwLmcWXf3t0LxY0n2H1AMpdoQZ08lmUf4GY3XiDPnMQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.3.0" - } - }, - "node_modules/compact-encoding-bitfield": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/compact-encoding-bitfield/-/compact-encoding-bitfield-1.0.0.tgz", - "integrity": "sha512-3nMVKUg+PF72UHfainmCL8uKvyWfxsjqOtUY+HiMPGLPCTjnwzoKfFAMo1Ad7nwTPdjBqtGK5b3BOFTFW4EBTg==", - "license": "ISC", - "dependencies": { - "compact-encoding": "^2.4.1" - } - }, - "node_modules/compact-encoding-net": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/compact-encoding-net/-/compact-encoding-net-1.2.0.tgz", - "integrity": "sha512-LVXpNpF7PGQeHRVVLGgYWzuVoYAaDZvKUsUxRioGfkotzvOh4AzoQF1HBH3zMNaSnx7gJXuUr3hkjnijaH/Eng==", - "license": "ISC", - "dependencies": { - "compact-encoding": "^2.4.1" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dht-rpc": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/dht-rpc/-/dht-rpc-6.18.1.tgz", - "integrity": "sha512-uTcHj8dERVjmoUsSxqAulQ+qo11Qy4pMK419tyF2cFpyf56Y09u1v9g8yWlay0KjUY5bvdybBQ/V8YWN/wyK5Q==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.1", - "bare-events": "^2.2.0", - "compact-encoding": "^2.11.0", - "compact-encoding-net": "^1.2.0", - "fast-fifo": "^1.1.0", - "kademlia-routing-table": "^1.0.1", - "nat-sampler": "^1.0.1", - "sodium-universal": "^5.0.0", - "streamx": "^2.13.2", - "time-ordered-set": "^2.0.0", - "udx-native": "^1.5.3" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-config-standard-jsx": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", - "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peerDependencies": { - "eslint": "^8.8.0", - "eslint-plugin-react": "^7.28.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fs": { - "name": "bare-fs", - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.4.tgz", - "integrity": "sha512-r8+26Voz8dGX3AYpJdFb1ZPaUSM8XOLCZvy+YGpRTmwPHIxA7Z3Jov/oMPtV7hfRQbOnH8qGlLTzQAbgtdNN0Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globbie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/globbie/-/globbie-1.0.2.tgz", - "integrity": "sha512-815R4zBxKIOnMuj9Qf0zlx3VeyDqqX9Oi2KIjRFtofyyUcZCmL8tGAamXG+VTGukLva8MFQDkmTDG8wvVTYF7Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-fs": "^4.1.2", - "bare-path": "^3.0.0", - "bare-process": "^4.2.1", - "brittle": "^3.6.0", - "picomatch": "^4.0.2" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hypercore-crypto": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-3.6.0.tgz", - "integrity": "sha512-0slkW1wzq4B95SD8Z5nt1Yf/3KrIcGsBWTJTsCjHzMXie+sZ5I2IkWcxX1mo4+c0xVESnKAKphKSpGf2kf2BGA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.6", - "compact-encoding": "^2.15.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/hypercore-id-encoding": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/hypercore-id-encoding/-/hypercore-id-encoding-1.3.0.tgz", - "integrity": "sha512-W6sHdGo5h7LXEsoWfKf/KfuROZmZRQDlGqJF2EPHW+noCK66Vvr0+zE6cL0vqQi18s0kQPeN7Sq3QyR0Ytc2VQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.5.3", - "z32": "^1.0.0" - } - }, - "node_modules/hyperdht": { - "version": "6.20.5", - "resolved": "https://registry.npmjs.org/hyperdht/-/hyperdht-6.20.5.tgz", - "integrity": "sha512-eDAwTmAtE9rjMivgqYtqHalTdBVhhCMBVHlCWRVhEcWtchpDonsd2dmX26lJ0raoF+l9djkXvPcN1/kb9/kykw==", - "license": "MIT", - "dependencies": { - "@hyperswarm/secret-stream": "^6.6.2", - "b4a": "^1.3.1", - "bare-events": "^2.2.0", - "blind-relay": "^1.3.0", - "bogon": "^1.0.0", - "compact-encoding": "^2.4.1", - "compact-encoding-net": "^1.0.1", - "dht-rpc": "^6.15.1", - "hypercore-crypto": "^3.3.0", - "hypercore-id-encoding": "^1.2.0", - "noise-curve-ed": "^2.0.0", - "noise-handshake": "^4.0.0", - "record-cache": "^1.1.1", - "safety-catch": "^1.0.1", - "signal-promise": "^1.0.3", - "sodium-universal": "^5.0.1", - "streamx": "^2.16.1", - "unslab": "^1.3.0", - "xache": "^1.1.0" - }, - "bin": { - "hyperdht": "bin.js" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kademlia-routing-table": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/kademlia-routing-table/-/kademlia-routing-table-1.0.6.tgz", - "integrity": "sha512-Ve6jwIlUCYvUzBnXnzVRHDZCFgXURW9gmF3r7n05kZs/2rNbLHXwGdcq0qIaSwdmJCvtosgR4JensnVU65hzNQ==", - "license": "MIT", - "dependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=6" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoassert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", - "license": "ISC" - }, - "node_modules/nat-sampler": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nat-sampler/-/nat-sampler-1.0.1.tgz", - "integrity": "sha512-yQvyNN7xbqR8crTKk3U8gRgpcV1Az+vfCEijiHu9oHHsnIl8n3x+yXNHl42M6L3czGynAVoOT9TqBfS87gDdcw==", - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/noise-curve-ed": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/noise-curve-ed/-/noise-curve-ed-2.1.0.tgz", - "integrity": "sha512-zAzJx+VwZM3w6EA1hTmDhJfvAnCeBQn/1FAeZ0LtGxCcCtlAK/uJXQVF/eDVUOaAZ286lHlx77WJ+qj9SmsRRg==", - "license": "ISC", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/noise-handshake": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/noise-handshake/-/noise-handshake-4.1.0.tgz", - "integrity": "sha512-ZHt2+mOXTvjtaWS2h/JPvQjmknfKrEld2xdSsRYWXnYiJmK/N+dtxrDVSt1cr9wGAlhH7Ek43lIZNsL5bVeX9A==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.1.0", - "nanoassert": "^2.0.0", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/paparam": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/paparam/-/paparam-1.8.3.tgz", - "integrity": "sha512-OLLDV8E+QoDGpHKW+7Fv7yLKJp7iMncaowH2s0oEuix6UXxHHxW8Tg0m0+IePR017UgyEg3CVlYSb1ON5BscVQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path": { - "name": "bare-path", - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "name": "bare-process", - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bare-process/-/bare-process-4.2.1.tgz", - "integrity": "sha512-wcmyQWTHxd2xRgeKUSY46ofmuEAJ9CLo/6swJTHOZFPYpBShMWNPVI2Ba8o0n/X/YE4as99M28x37saWZ1L1vQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-env": "^3.0.0", - "bare-events": "^2.3.1", - "bare-hrtime": "^2.0.0", - "bare-os": "^3.5.0", - "bare-pipe": "^4.0.0", - "bare-signals": "^4.0.0", - "bare-tty": "^5.0.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/protomux": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/protomux/-/protomux-3.10.1.tgz", - "integrity": "sha512-jgBqx8ZyaBWea/DFG4eOu1scOaeBwcnagiRC1XFVrjeGt7oAb0Pk5udPpBUpJ4DJBRjra50jD6YcZiQQTRqaaA==", - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1", - "compact-encoding": "^2.5.1", - "queue-tick": "^1.0.0", - "safety-catch": "^1.0.1", - "unslab": "^1.3.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "license": "MIT" - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/record-cache": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/record-cache/-/record-cache-1.2.0.tgz", - "integrity": "sha512-kyy3HWCez2WrotaL3O4fTn0rsIdfRKOdQQcEJ9KpvmKmbffKVvwsloX063EgRUlpJIXHiDQFhJcTbZequ2uTZw==", - "license": "MIT", - "dependencies": { - "b4a": "^1.3.1" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-addon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.1.0.tgz", - "integrity": "sha512-KbXAD5q2+v1GJnkzd8zzbOxchTkStSyJZ9QwoCq3QwEXAaIlG3wDYRZGzVD357jmwaGY7hr5VaoEAL0BkF0Kvg==", - "license": "Apache-2.0", - "dependencies": { - "bare-addon-resolve": "^1.3.0", - "bare-url": "^2.1.0" - }, - "engines": { - "bare": ">=1.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safety-catch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/safety-catch/-/safety-catch-1.0.2.tgz", - "integrity": "sha512-C1UYVZ4dtbBxEtvOcpjBaaD27nP8MlvyAQEp2fOTOEe6pfUpk1cDUxij6BR1jZup6rSyUTaBBplK7LanskrULA==", - "license": "MIT" - }, - "node_modules/same-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/same-object/-/same-object-1.0.2.tgz", - "integrity": "sha512-csHWhvUsLbIOHDM/nP+KHWM+BLPsIzWkFa8HbzaI0G7BqKXgx+7FJpKTGgLXyz5amfdY2OVBcmXTqYOMEk04og==", - "dev": true, - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shuffled-priority-queue": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/shuffled-priority-queue/-/shuffled-priority-queue-2.1.0.tgz", - "integrity": "sha512-xhdh7fHyMsr0m/w2kDfRJuBFRS96b9l8ZPNWGaQ+PMvnUnZ/Eh+gJJ9NsHBd7P9k0399WYlCLzsy18EaMfyadA==", - "license": "MIT", - "dependencies": { - "unordered-set": "^2.0.1" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-promise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/signal-promise/-/signal-promise-1.0.3.tgz", - "integrity": "sha512-WBgv0UnIq2C+Aeh0/n+IRpP6967eIx9WpynTUoiW3isPpfe1zu2LJzyfXdo9Tgef8yR/sGjcMvoUXD7EYdiz+g==", - "license": "MIT" - }, - "node_modules/sodium-native": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-5.0.1.tgz", - "integrity": "sha512-Q305aUXc0OzK7VVRvWkeEQJQIHs6slhFwWpyqLB5iJqhpyt2lYIVu96Y6PQ7TABIlWXVF3YiWDU3xS2Snkus+g==", - "license": "MIT", - "dependencies": { - "require-addon": "^1.1.0", - "which-runtime": "^1.2.1" - }, - "engines": { - "bare": ">=1.16.0" - } - }, - "node_modules/sodium-secretstream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sodium-secretstream/-/sodium-secretstream-1.2.0.tgz", - "integrity": "sha512-q/DbraNFXm1KfCiiZvapmz5UC3OlpirYFIvBK2MhGaOFSb3gRyk8OXTi17UI9SGfshQNCpsVvlopogbzZNyW6Q==", - "license": "MIT", - "dependencies": { - "b4a": "^1.1.1", - "sodium-universal": "^5.0.0" - } - }, - "node_modules/sodium-universal": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-5.0.1.tgz", - "integrity": "sha512-rv+aH+tnKB5H0MAc2UadHShLMslpJsc4wjdnHRtiSIEYpOetCgu8MS4ExQRia+GL/MK3uuCyZPeEsi+J3h+Q+Q==", - "license": "MIT", - "dependencies": { - "sodium-native": "^5.0.1" - }, - "peerDependencies": { - "sodium-javascript": "~0.8.0" - }, - "peerDependenciesMeta": { - "sodium-javascript": { - "optional": true - } - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/standard": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", - "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "eslint": "^8.41.0", - "eslint-config-standard": "17.1.0", - "eslint-config-standard-jsx": "^11.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-n": "^15.7.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-react": "^7.36.1", - "standard-engine": "^15.1.0", - "version-guard": "^1.1.1" - }, - "bin": { - "standard": "bin/cmd.cjs" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/standard-engine": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", - "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "get-stdin": "^8.0.0", - "minimist": "^1.2.6", - "pkg-conf": "^3.1.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/streamx": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", - "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/test-tmp": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/test-tmp/-/test-tmp-1.4.0.tgz", - "integrity": "sha512-GVggxGg+jXqP2Wbju50JVLo+9E+nIOPPyWqgr63EbOnNItIKu1cEbJpTWAJeflnyGqXOtcMI7ijHRp88GUkfDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bare-fs": "^4.0.1", - "bare-os": "^3.3.0", - "bare-path": "^3.0.0" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/time-ordered-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/time-ordered-set/-/time-ordered-set-2.0.1.tgz", - "integrity": "sha512-VJEKmgSN2UiOLB8BpN8Sh2b9LGMHTP5OPrQRpnKjvOheOyzk0mufbjzjKTIG2gO4A+Y+vDJ+0TcLbpUmMLsg8A==", - "license": "MIT" - }, - "node_modules/timeout-refresh": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-2.0.1.tgz", - "integrity": "sha512-SVqEcMZBsZF9mA78rjzCrYrUs37LMJk3ShZ851ygZYW1cMeIjs9mL57KO6Iv5mmjSQnOe/29/VAfGXo+oRCiVw==", - "license": "MIT" - }, - "node_modules/tmatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-5.0.0.tgz", - "integrity": "sha512-Ib9OtBkpHn07tXP04SlN1SYRxFgTk6wSM2EBmjjxug4u5RXPRVLkdFJSS1PmrQidaSB8Lru9nRtViQBsbxzE5Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/udx-native": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/udx-native/-/udx-native-1.17.8.tgz", - "integrity": "sha512-nB5SxTF9WzTNrxJnVSyEOtapoPjxAU1KboN/z1JWMtAVXArwtQ9Mxn+jJvlx4skINQHH6xUqQsQdSCL1Ja2h1Q==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.5.0", - "bare-events": "^2.2.0", - "require-addon": "^1.1.0", - "streamx": "^2.14.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unordered-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-2.0.1.tgz", - "integrity": "sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==", - "license": "MIT" - }, - "node_modules/unslab": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/unslab/-/unslab-1.3.0.tgz", - "integrity": "sha512-YATkfKAFj47kTzmiQrWXMyRvaVrHsW6MEALa4bm+FhiA2YG4oira+Z3DXN6LrYOYn2Y8eO94Lwl9DOHjs1FpoQ==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.6" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "name": "bare-url", - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.6.tgz", - "integrity": "sha512-FgjDeR+/yDH34By4I0qB5NxAoWv7dOTYcOXwn73kr+c93HyC2lU6tnjifqUe33LKMJcDyCYPQjEAqgOQiXkE2Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, - "node_modules/util": { - "name": "bare-utils", - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bare-utils/-/bare-utils-1.2.0.tgz", - "integrity": "sha512-Y9G5DbMUgcx078Etc7h9CD31aI9vYFZ/xl6JLnyvBX9+4lrlXw+5/6toNJGaNSylo4jJf8Cu3yBIDxMLviRFFw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-debug-log": "^1.0.0", - "bare-format": "^1.0.0", - "bare-inspect": "^3.0.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/version-guard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", - "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", - "dev": true, - "license": "0BSD", - "engines": { - "node": ">=0.10.48" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-runtime": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.2.1.tgz", - "integrity": "sha512-8feIHccQFH/whiA1fD1b4c5+Q7T4ry1g1oHYc2mHnFh81tTQFsCvy3zhS2geUapkFAVBddUT/AM1a3rbqJweFg==", - "license": "Apache-2.0" - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xache": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/xache/-/xache-1.2.1.tgz", - "integrity": "sha512-igRS6jPreJ54ABdzhh4mCDXcz+XMaWO2q1ABRV2yWYuk29jlp8VT7UBdCqNkX7rpYBbXsebVVKkwIuYZjyZNqA==", - "license": "MIT" - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/z32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/z32/-/z32-1.1.0.tgz", - "integrity": "sha512-1WUHy+VS6d0HPNspDxvLssBbeQjXMjSnpv0vH82vRAUfg847NmX3OXozp/hRP5jPhxBbrVzrgvAt+UsGNzRFQQ==", - "license": "MIT", - "dependencies": { - "b4a": "^1.5.3" - } - } - } -} diff --git a/pkgs/by-name/hy/hyperswarm/package.nix b/pkgs/by-name/hy/hyperswarm/package.nix deleted file mode 100644 index a516c5ae40b9..000000000000 --- a/pkgs/by-name/hy/hyperswarm/package.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - buildNpmPackage, - fetchFromGitHub, - nix-update-script, -}: - -buildNpmPackage (finalAttrs: { - pname = "hyperswarm"; - version = "4.12.1"; - - src = fetchFromGitHub { - owner = "holepunchto"; - repo = "hyperswarm"; - tag = "v${finalAttrs.version}"; - hash = "sha256-BQ1/kNJAFoxPJ2I3dyV7EHafKfbbDqCQw039VT4YLT8="; - }; - - npmDepsHash = "sha256-4ysUYFIFlzr57J7MdZit1yX3Dgpb2eY0rdYnwyppwK0="; - - dontNpmBuild = true; - - postPatch = '' - cp ${./package-lock.json} ./package-lock.json - ''; - - passthru.updateScript = nix-update-script { - extraArgs = [ - "--generate-lockfile" - ]; - }; - - meta = { - description = "Distributed Networking Stack for Connecting Peers"; - homepage = "https://github.com/holepunchto/hyperswarm"; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - teams = with lib.teams; [ ngi ]; - maintainers = [ ]; - }; -}) From 26bd98ad1d26d2d5d199e84e4b1479a18903959e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:18:41 +0200 Subject: [PATCH 0205/1216] hypershell: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/302187760 Sodium claims that the executable stack of this DSO is unnecessary[1], hence we just remove it instead of working with tunables. [1] https://github.com/holepunchto/sodium-native/issues/214 --- pkgs/by-name/hy/hypershell/package.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/by-name/hy/hypershell/package.nix b/pkgs/by-name/hy/hypershell/package.nix index 32a394eb7780..fad289f15744 100644 --- a/pkgs/by-name/hy/hypershell/package.nix +++ b/pkgs/by-name/hy/hypershell/package.nix @@ -3,6 +3,7 @@ lib, fetchurl, fetchFromGitHub, + patchelfUnstable, }: buildNpmPackage rec { @@ -28,8 +29,25 @@ buildNpmPackage rec { }) ]; + nativeBuildInputs = [ + patchelfUnstable # --clear-execstack is only available on 0.18 + ]; + doInstallCheck = true; + postInstall = '' + # glibc 2.41+ refuses to make the stack executable if it isn't executable, + # but a library loaded via `dlopen()` mandates it. + # According to https://github.com/holepunchto/sodium-native/issues/214 + # this isn't necessary in this case. + while IFS= read -r -d ''' file; do + # Skip PEs with the same name + if patchelf --print-rpath "$file" &>/dev/null; then + patchelf "$file" --clear-execstack + fi + done < <(find $out/lib/node_modules -name 'sodium-native.node' -print0) + ''; + installCheckPhase = '' $out/bin/hypershell --help ''; From f921dc552226470290aa5bfb368c9d0f4ea9776f Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:44:56 +0200 Subject: [PATCH 0206/1216] hyper-cmd-utils: fix runtime w/ glibc-2.42 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same issue as with hypershell, `sodium-native.node` wrongly requests an executable stack and is dlopened into a process with a non-executable stack. No smoke-test as install-check here since this beautiful piece of software returns a non-zero exit code on `--help` 🤡 --- pkgs/by-name/hy/hyper-cmd-utils/package.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/by-name/hy/hyper-cmd-utils/package.nix b/pkgs/by-name/hy/hyper-cmd-utils/package.nix index 41d922e864c3..d6df4ccfb14f 100644 --- a/pkgs/by-name/hy/hyper-cmd-utils/package.nix +++ b/pkgs/by-name/hy/hyper-cmd-utils/package.nix @@ -3,6 +3,7 @@ lib, fetchurl, fetchFromGitHub, + patchelfUnstable, }: buildNpmPackage { @@ -30,6 +31,23 @@ buildNpmPackage { }) ]; + nativeBuildInputs = [ + patchelfUnstable # --clear-execstack is only available on 0.18 + ]; + + postInstall = '' + # glibc 2.41+ refuses to make the stack executable if it isn't executable, + # but a library loaded via `dlopen()` mandates it. + # According to https://github.com/holepunchto/sodium-native/issues/214 + # this isn't necessary in this case. + while IFS= read -r -d ''' file; do + # Skip PEs with the same name + if patchelf --print-rpath "$file" &>/dev/null; then + patchelf "$file" --clear-execstack + fi + done < <(find $out/lib/node_modules -name 'sodium-native.node' -print0) + ''; + meta = { description = "HyperCmd Utils"; homepage = "https://github.com/holepunchto/hyper-cmd-utils"; From 91071733802a5cc4a41935b3d0ee39087c083a55 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 17:48:24 +0200 Subject: [PATCH 0207/1216] hyperssh: fix runtime w/ glibc-2.42 Same issue as with hypershell and hyper-cmd-utils. Also no smoke-test here because `--help` returns a non-zero exit code. --- pkgs/by-name/hy/hyperssh/package.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/by-name/hy/hyperssh/package.nix b/pkgs/by-name/hy/hyperssh/package.nix index 55217d2e19aa..7a37467517e2 100644 --- a/pkgs/by-name/hy/hyperssh/package.nix +++ b/pkgs/by-name/hy/hyperssh/package.nix @@ -3,6 +3,7 @@ fetchFromGitHub, fetchurl, lib, + patchelfUnstable, }: buildNpmPackage { @@ -30,6 +31,23 @@ buildNpmPackage { }) ]; + nativeBuildInputs = [ + patchelfUnstable # --clear-execstack is only available on 0.18 + ]; + + postInstall = '' + # glibc 2.41+ refuses to make the stack executable if it isn't executable, + # but a library loaded via `dlopen()` mandates it. + # According to https://github.com/holepunchto/sodium-native/issues/214 + # this isn't necessary in this case. + while IFS= read -r -d ''' file; do + # Skip PEs with the same name + if patchelf --print-rpath "$file" &>/dev/null; then + patchelf "$file" --clear-execstack + fi + done < <(find $out/lib/node_modules -name 'sodium-native.node' -print0) + ''; + meta = { description = "Run SSH over hyperswarm"; homepage = "https://github.com/mafintosh/hyperssh"; From ebb1e5959552cd88f1098565970eb3e490de2441 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 18:26:49 +0200 Subject: [PATCH 0208/1216] jdk8: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308320851 Upstream bug report: https://bugs.openjdk.org/browse/JDK-8354941 Only patching JDK8, newer versions received backports. --- pkgs/development/compilers/openjdk/generic.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/development/compilers/openjdk/generic.nix b/pkgs/development/compilers/openjdk/generic.nix index 1deaf765d57c..f4dac2209f92 100644 --- a/pkgs/development/compilers/openjdk/generic.nix +++ b/pkgs/development/compilers/openjdk/generic.nix @@ -481,6 +481,18 @@ stdenv.mkDerivation (finalAttrs: { + lib.optionalString atLeast25 '' chmod +x make/scripts/*.{template,sh,pl} patchShebangs --build make/scripts + '' + + lib.optionalString (!atLeast11) '' + # Fix build w/ glibc-2.42. Oldest backport target of this fix was + # JDK 11. + # See https://bugs.openjdk.org/browse/JDK-8354941 + substituteInPlace \ + hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp \ + hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp \ + hotspot/src/cpu/aarch64/vm/assembler_aarch64.cpp \ + hotspot/src/share/vm/opto/mulnode.cpp \ + hotspot/src/share/vm/utilities/globalDefinitions.hpp \ + --replace-fail "uabs" "g_uabs" ''; installPhase = '' From e69f759b53d4c118e808dd7749a7b2791778934e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 26 Sep 2025 19:14:06 +0200 Subject: [PATCH 0209/1216] llvmPackages_1{8,9}.compiler-rt: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308327424 --- .../compilers/llvm/common/compiler-rt/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix index a81e79aad26c..09f766b06e73 100644 --- a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix @@ -85,6 +85,11 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/llvm/llvm-project/pull/99837/commits/14ae0a660a38e1feb151928a14f35ff0f4487351.patch"; hash = "sha256-JykABCaNNhYhZQxCvKiBn54DZ5ZguksgCHnpdwWF2no="; relative = "compiler-rt"; + }) + ++ lib.optional (lib.strings.versionOlder (lib.versions.major release_version) "20") (fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/59978b21ad9c65276ee8e14f26759691b8a65763.patch"; + hash = "sha256-ys5SMLfO3Ay9nCX9GV5yRCQ6pLsseFu/ZY6Xd6OL4p0="; + relative = "compiler-rt"; }); nativeBuildInputs = [ From 516519fbec449377d63043c027d9702d557b5fa5 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 28 Sep 2025 12:53:10 +0200 Subject: [PATCH 0210/1216] libpisp: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308323206 --- pkgs/by-name/li/libpisp/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/li/libpisp/package.nix b/pkgs/by-name/li/libpisp/package.nix index b0d44498a5c1..6ee36b13ea8a 100644 --- a/pkgs/by-name/li/libpisp/package.nix +++ b/pkgs/by-name/li/libpisp/package.nix @@ -7,6 +7,7 @@ ninja, boost, nlohmann_json, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { @@ -20,6 +21,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YshU7G5Rov67CVwFbf5ENp2j5ptAvkVrlMu85KmnEpk="; }; + patches = [ + # fix build with glibc 2.42 & -Werror + (fetchpatch { + url = "https://github.com/raspberrypi/libpisp/commit/f2bbf7e000d3f11cac235b8ea1291722080a016c.patch"; + hash = "sha256-vrdmVadyjlAnZtmBahOs/hlKPrkh/BF3LvrTPM9D15Q="; + }) + ]; + nativeBuildInputs = [ pkg-config meson From 6585c8e80acdb8a2d195decc3cdf7763a96c549c Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 28 Sep 2025 12:56:10 +0200 Subject: [PATCH 0211/1216] glibc: make it easier to work with a dev shell Creating the build directory in `..` may be OK in a sandbox, but this makes it unnecessarily annoying when trying to work with this in a source-checkout. Hence, move the `build/` directory into the source tree. --- pkgs/development/libraries/glibc/common.nix | 6 +++--- pkgs/development/libraries/glibc/default.nix | 4 ++-- pkgs/development/libraries/glibc/locales.nix | 10 +++++----- pkgs/development/libraries/glibc/mtrace.nix | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 664c373caa2d..21cd780e19b2 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -290,10 +290,10 @@ stdenv.mkDerivation ( sed -i "$i" -e "s^/bin/pwd^$PWD_P^g" done - mkdir ../build - cd ../build + mkdir build + cd build - configureScript="`pwd`/../$sourceRoot/configure" + configureScript="`pwd`/../configure" '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig" diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 68ea0b1f0fb9..987c8dd7f199 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -119,7 +119,7 @@ in + ( if stdenv.buildPlatform.canExecute stdenv.hostPlatform then '' - echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED + echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../localedata/SUPPORTED # Don't install C.utf-8 into the archive, but into $out/lib/locale: on non-NixOS # systems with an empty /usr/lib/locale/locale-archive, glibc would fall back to # $libdir/locale/C.utf-8 instead of the locale archive of pkgs.glibc. See also #347965. @@ -139,7 +139,7 @@ in # evaluating buildPackages.glibc when glibc hasn't come from stdenv # (e.g. on musl)." https://github.com/NixOS/nixpkgs/pull/259964 '' - pushd ../glibc-2*/localedata + pushd ../localedata export I18NPATH=$PWD GCONV_PATH=$PWD/../iconvdata mkdir -p $NIX_BUILD_TOP/${pkgsBuildBuild.glibc}/lib/locale ${lib.getBin pkgsBuildBuild.glibc}/bin/localedef \ diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix index 98f04f22dbcd..9a812894dc40 100644 --- a/pkgs/development/libraries/glibc/locales.nix +++ b/pkgs/development/libraries/glibc/locales.nix @@ -64,17 +64,17 @@ export inst_complocaledir="$TMPDIR/"${buildPackages.glibc.out}/lib/locale mkdir -p "$inst_complocaledir" - echo 'C.UTF-8/UTF-8 \' >> ../glibc-2*/localedata/SUPPORTED + echo 'C.UTF-8/UTF-8 \' >> ../localedata/SUPPORTED # Hack to allow building of the locales (needed since glibc-2.12) - substituteInPlace ../glibc-2*/localedata/Makefile \ + substituteInPlace ../localedata/Makefile \ --replace-fail '$(rtld-prefix) $(common-objpfx)locale/localedef' 'localedef $(LOCALEDEF_FLAGS)' '' + lib.optionalString (!allLocales) '' # Check that all locales to be built are supported echo -n '${lib.concatMapStrings (s: s + " \\\n") locales}' \ | sort -u > locales-to-build.txt - cat ../glibc-2*/localedata/SUPPORTED | grep ' \\' \ + cat ../localedata/SUPPORTED | grep ' \\' \ | sort -u > locales-supported.txt comm -13 locales-supported.txt locales-to-build.txt \ > locales-unsupported.txt @@ -86,7 +86,7 @@ false fi - echo SUPPORTED-LOCALES='${toString locales}' > ../glibc-2*/localedata/SUPPORTED + echo SUPPORTED-LOCALES='${toString locales}' > ../localedata/SUPPORTED ''; makeFlags = (previousAttrs.makeFlags or [ ]) ++ [ @@ -97,7 +97,7 @@ installPhase = '' mkdir -p "$out/lib/locale" "$out/share/i18n" cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale" - cp -v ../glibc-2*/localedata/SUPPORTED "$out/share/i18n/SUPPORTED" + cp -v ../localedata/SUPPORTED "$out/share/i18n/SUPPORTED" ''; setupHook = writeText "locales-setup-hook.sh" '' diff --git a/pkgs/development/libraries/glibc/mtrace.nix b/pkgs/development/libraries/glibc/mtrace.nix index c9d5369e13c2..d8e7646d90df 100644 --- a/pkgs/development/libraries/glibc/mtrace.nix +++ b/pkgs/development/libraries/glibc/mtrace.nix @@ -15,7 +15,7 @@ glibc.overrideAttrs (oldAttrs: { runHook preBuild mkdir malloc - make -C ../glibc-${glibc.minorRelease}/malloc objdir=`pwd` `pwd`/malloc/mtrace; + make -C ../malloc objdir=`pwd` `pwd`/malloc/mtrace; runHook postBuild ''; From 96a5f202c4b7ae035f9aa355f90755554f7392ea Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 28 Sep 2025 14:03:41 +0200 Subject: [PATCH 0212/1216] chuck: 1.4.2.0 -> 1.5.5.5, fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308304933 ChangeLog: https://chuck.stanford.edu/release/VERSIONS --- pkgs/applications/audio/chuck/darwin-limits.patch | 13 ------------- pkgs/applications/audio/chuck/default.nix | 6 ++---- 2 files changed, 2 insertions(+), 17 deletions(-) delete mode 100644 pkgs/applications/audio/chuck/darwin-limits.patch diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/applications/audio/chuck/darwin-limits.patch deleted file mode 100644 index dc98a1726913..000000000000 --- a/pkgs/applications/audio/chuck/darwin-limits.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/core/util_string.cpp 2014-10-27 22:52:11.875981552 +0100 -+++ b/src/core/util_string.cpp 2014-10-27 22:54:18.613001994 +0100 -@@ -40,6 +40,10 @@ - #include - #endif // __PLATFORM_LINUX__ - -+#ifdef __PLATFORM_MACOSX__ -+#include -+#endif // __PLATFORM_MACOSX__ -+ - #include - using namespace std; - diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix index c8bac3d8d664..f8b1dad22672 100644 --- a/pkgs/applications/audio/chuck/default.nix +++ b/pkgs/applications/audio/chuck/default.nix @@ -12,12 +12,12 @@ }: stdenv.mkDerivation rec { - version = "1.4.2.0"; + version = "1.5.5.5"; pname = "chuck"; src = fetchurl { url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz"; - sha256 = "sha256-hIwsC9rYgXWSTFqUufKGqoT0Gnsf4nR4KQ0iSVbj8xg="; + sha256 = "sha256-fxbTW0wcKn1q6psRhhCe6pHFJTPFfZUTCmlGr7gFoRU="; }; nativeBuildInputs = [ @@ -32,8 +32,6 @@ stdenv.mkDerivation rec { buildInputs = [ libsndfile ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib; - patches = [ ./darwin-limits.patch ]; - makeFlags = [ "-C src" "DESTDIR=$(out)/bin" From 5d1a18dd0b0790f621241c6adae2efd4d06ad6a2 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 28 Sep 2025 14:11:42 +0200 Subject: [PATCH 0213/1216] xxgdb: remove Failing Hydra build: https://hydra.nixos.org/build/308374102 Considering how old this package seems to be according to the changelog[1], I'm not going to bother with patching it. [1] https://metadata.ftp-master.debian.org/changelogs//main/x/xxgdb/xxgdb_1.12-17_changelog --- pkgs/by-name/xx/xxgdb/package.nix | 67 --------------------- pkgs/by-name/xx/xxgdb/xxgdb-pty.patch | 84 --------------------------- pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 151 deletions(-) delete mode 100644 pkgs/by-name/xx/xxgdb/package.nix delete mode 100644 pkgs/by-name/xx/xxgdb/xxgdb-pty.patch diff --git a/pkgs/by-name/xx/xxgdb/package.nix b/pkgs/by-name/xx/xxgdb/package.nix deleted file mode 100644 index eac86bab9a54..000000000000 --- a/pkgs/by-name/xx/xxgdb/package.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - imake, - gccmakedep, - libX11, - libXaw, - libXext, - libXmu, - libXt, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "xxgdb"; - version = "1.12"; - - src = fetchurl { - url = "http://deb.debian.org/debian/pool/main/x/xxgdb/xxgdb_${finalAttrs.version}.orig.tar.gz"; - sha256 = "0jwazg99wk2l7r390ggw0yr8xipl07bp0qynni141xss530i6d1a"; - }; - - patches = [ - # http://zhu-qy.blogspot.com.es/2012/11/slackware-14-i-still-got-xxgdb-all-ptys.html - ./xxgdb-pty.patch - ]; - - env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration -Wno-error=implicit-int"; - - nativeBuildInputs = [ - imake - gccmakedep - ]; - buildInputs = [ - libX11 - libXaw - libXext - libXmu - libXt - ]; - - preConfigure = '' - mkdir build - xmkmf - ''; - - makeFlags = [ - "DESTDIR=build" - ]; - - postInstall = '' - # Fix up install paths - shopt -s globstar - mv build/**/bin $out/bin - - install -D xxgdb.1 $out/share/man/man1/xxgdb.1 - ''; - - meta = { - broken = stdenv.hostPlatform.isDarwin; - description = "Simple but powerful graphical interface to gdb"; - mainProgram = "xxgdb"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ emilytrau ]; - platforms = lib.platforms.all; - }; -}) diff --git a/pkgs/by-name/xx/xxgdb/xxgdb-pty.patch b/pkgs/by-name/xx/xxgdb/xxgdb-pty.patch deleted file mode 100644 index 735bb1b0b5fc..000000000000 --- a/pkgs/by-name/xx/xxgdb/xxgdb-pty.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- xxgdb-1.12-org/calldbx.c 2012-10-26 17:17:49.810750909 -0700 -+++ xxgdb-1.12/calldbx.c 2012-10-26 17:53:59.209918816 -0700 -@@ -69,6 +69,12 @@ - * create_io_window(): create an io window for gdb to use - */ - -+#ifdef linux -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE -+#endif -+#endif -+ - #include - #include - #include -@@ -126,6 +132,13 @@ - { - int master; - -+#ifdef _POSIX_SOURCE -+ if ((master = posix_openpt (O_RDWR|O_NOCTTY)) < 0) { -+ perror("posix_openpt failed:"); -+ } else { -+ return master; -+ } -+#else - #ifdef SVR4 /* (MJH) Use STREAMS */ - - if((master = open(MASTER_CLONE, O_RDWR)) < 0) -@@ -152,6 +165,7 @@ - } - #endif - #endif /* SVR4 */ -+#endif /* _POSIX_SOURCE */ - - #ifdef GDB - fprintf(stderr, "xxgdb: all ptys in use\n"); -@@ -167,7 +181,28 @@ - { - int slave; - --#ifdef SVR4 /* (MJH) */ -+#ifdef _POSIX_SOURCE -+ char *slave_name = ptsname (master); -+ if (slave_name == NULL) { -+ perror ("Pseudo-tty slave"); -+ exit (2); -+ } // end if -+ if (grantpt (master) < 0) { -+ perror ("grantpt error"); -+ exit (3); -+ } -+ if (unlockpt (master) < 0) { -+ perror ("unlockpt error"); -+ exit (4); -+ } -+ if ((slave = open (slave_name, O_RDWR)) < 0) { -+ perror (slave_name); -+ exit (5); -+ } // end if -+ return slave; -+#else -+#ifdef SVR4 -+ /* (MJH) */ - char *slave_name = "unknown"; - extern char *ptsname(int master); - void (*handler)(); -@@ -194,6 +229,7 @@ - } - return slave; - #endif /* SVR4 */ -+#endif /* _POSIX_SOURCE */ - } - - #ifdef CREATE_IO_WINDOW -@@ -230,7 +266,7 @@ - { - /* child */ - /* printf("xterm xterm -l -e xxgdbiowin\n");*/ -- if (execlp("xterm", "xterm", "-e", "xxgdbiowin", 0)) -+ if (execlp("xterm", "xterm", "-e", "xxgdbiowin", NULL)) - { - printf("exec of 'xterm -e xxgdbiowin' fails\n"); - unlink("/tmp/iowindowtty"); diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 01914bf96918..18605fe4dc7f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1755,6 +1755,7 @@ mapAliases { xorg-autoconf = util-macros; # Added 2025-08-18 xsw = throw "'xsw' has been removed due to lack of upstream maintenance"; # Added 2025-08-22 xulrunner = throw "'xulrunner' has been renamed to/replaced by 'firefox-unwrapped'"; # Converted to throw 2025-10-27 + xxgdb = throw "'xxgdb' seems inactive and doesn't compile with glibc 2.42"; # Added 2025-09-28 yabar = throw "'yabar' has been removed as the upstream project was archived"; # Added 2025-06-10 yabar-unstable = throw "'yabar' has been removed as the upstream project was archived"; # Added 2025-06-10 yafaray-core = throw "'yafaray-core' has been renamed to/replaced by 'libyafaray'"; # Converted to throw 2025-10-27 From 51d565afbf9621fe8a0b34e8b8f1ba3799f70b3b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 28 Sep 2025 14:19:00 +0200 Subject: [PATCH 0214/1216] powwow: remove Failing Hydra build: https://hydra.nixos.org/build/308340445 --- pkgs/by-name/po/powwow/package.nix | 29 ----------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 pkgs/by-name/po/powwow/package.nix diff --git a/pkgs/by-name/po/powwow/package.nix b/pkgs/by-name/po/powwow/package.nix deleted file mode 100644 index 91e51b624028..000000000000 --- a/pkgs/by-name/po/powwow/package.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - ncurses, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "powwow"; - version = "1.2.23"; - - src = fetchurl { - url = "https://www.hoopajoo.net/static/projects/powwow-${finalAttrs.version}.tar.gz"; - hash = "sha256-pnJu7zoEHcswJJo756pOBL9mF9jaQij0VYDcG5I0dPI="; - }; - - buildInputs = [ - ncurses - ]; - - meta = { - description = "Multi-user Dungeon Client"; - homepage = "https://www.hoopajoo.net/projects/powwow.html"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ ethancedwards8 ]; - mainProgram = "powwow"; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 18605fe4dc7f..45d5c0db3c7b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1349,6 +1349,7 @@ mapAliases { postgresqlJitPackages = throw "'postgresqlJitPackages' has been renamed to/replaced by 'postgresqlPackages'"; # Converted to throw 2025-10-27 pot = throw "'pot' has been removed as it requires libsoup 2.4 which is EOL"; # Added 2025-10-09 powerdns = throw "'powerdns' has been renamed to/replaced by 'pdns'"; # Converted to throw 2025-10-27 + powwow = throw "'powwow' has been removed, since it's unmaintained since 2021 and doesn't build with glibc 2.42"; # Added 2025-09-28 prboom-plus = throw "'prboom-plus' has been removed since it is unmaintained upstream."; # Added 2025-09-14 preload = throw "'preload' has been removed due to lack of usage and being broken since its introduction into nixpkgs"; # Added 2025-11-29 presage = throw "presage has been removed, as it has been unmaintained since 2018"; # Added 2025-06-19 From f9cc409c450ed934f0301a2534d6b1a01aa90c69 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 1 Oct 2025 14:15:13 +0200 Subject: [PATCH 0215/1216] rr: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308527220 --- pkgs/development/tools/analysis/rr/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix index eade75043d16..d704b9b9b8fb 100644 --- a/pkgs/development/tools/analysis/rr/default.nix +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, bash, capnproto, cmake, @@ -28,6 +29,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-o+HXrgGXdsvjlNh70qsXRtp2yXOiZIT30ejfs1KEaqE="; }; + patches = [ + # fix build w/ glibc-2.42 + (fetchpatch { + url = "https://github.com/rr-debugger/rr/commit/6251648873b9e1ed23536beebbaa5d6fead3d5be.patch"; + hash = "sha256-k+jeGUJyybYq3GF2zIhpDF8NT66Buq6nztUbh28qVD8="; + }) + ]; + postPatch = '' substituteInPlace src/Command.cc --replace '_BSD_SOURCE' '_DEFAULT_SOURCE' patchShebangs src From 823f64e01fbd6b005b177e31331d8262bdff3d4a Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 1 Oct 2025 14:40:21 +0200 Subject: [PATCH 0216/1216] gccNGPackages_15: 15.1.0 -> 15.2.0, fix build w/ glibc-2.42 To fix build with glibc-2.42. Failing Hydra build: https://hydra.nixos.org/build/308474067 --- pkgs/development/compilers/gcc/ng/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/ng/default.nix b/pkgs/development/compilers/gcc/ng/default.nix index a205ab6a055a..c849367aa1fc 100644 --- a/pkgs/development/compilers/gcc/ng/default.nix +++ b/pkgs/development/compilers/gcc/ng/default.nix @@ -14,7 +14,7 @@ }@packageSetArgs: let versions = { - "15.1.0".officialRelease.sha256 = "sha256-4rCewhZg8B/s/7cV4BICZSFpQ/A40OSKmGhxPlTwbOo="; + "15.2.0".officialRelease.sha256 = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; } // gccVersions; From 84a953fb035f518f79cc044e4b2b283864584c86 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 3 Oct 2025 13:10:52 +0200 Subject: [PATCH 0217/1216] ananicy-cpp: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308467284 --- pkgs/by-name/an/ananicy-cpp/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/an/ananicy-cpp/package.nix b/pkgs/by-name/an/ananicy-cpp/package.nix index d70de414965e..6f38f3577a6d 100644 --- a/pkgs/by-name/an/ananicy-cpp/package.nix +++ b/pkgs/by-name/an/ananicy-cpp/package.nix @@ -48,6 +48,12 @@ clangStdenv.mkDerivation (finalAttrs: { url = "https://gitlab.com/ananicy-cpp/ananicy-cpp/-/commit/b2589a9b1faa2ecf54aeede40ea781c33bfb09a8.patch"; hash = "sha256-nfyCdhvnWj446z5aPFCXGi79Xgja8W0Eopl6I30fOBM="; }) + + # fix build w/ glibc-2.42 (don't conflict with sched_* API from glibc 2.41) + (fetchpatch { + url = "https://gitlab.com/ananicy-cpp/ananicy-cpp/-/commit/99e64815bacaf3baa28ad89d022e33ebede94fa9.patch"; + hash = "sha256-V9yf0nUa91DXRufDYhufybQUTP6R1CUzF51SEBMdjmA="; + }) ]; strictDeps = true; From 094ddc36145a8e98354267e720a1a30fe159ad25 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 3 Oct 2025 13:27:31 +0200 Subject: [PATCH 0218/1216] rshim-user-space: mark as broken Failing Hydra build: https://hydra.nixos.org/build/308527236 Compat is being worked on, but the patch for glibc 2.42 seems to crash at runtime. --- pkgs/by-name/rs/rshim-user-space/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/rs/rshim-user-space/package.nix b/pkgs/by-name/rs/rshim-user-space/package.nix index bf6aa8541f39..07e6450858f5 100644 --- a/pkgs/by-name/rs/rshim-user-space/package.nix +++ b/pkgs/by-name/rs/rshim-user-space/package.nix @@ -107,5 +107,8 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ thillux ]; + # Requires https://github.com/Mellanox/rshim-user-space/pull/276 for glibc-2.42, + # patch appears broken though. + broken = true; }; } From 32ca2e4b89659258871170954208d60b327d8dac Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 3 Oct 2025 13:53:03 +0200 Subject: [PATCH 0219/1216] rocmPackages.llvm.llvm: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308526977 I'm not sure what exactly caused the failure here, but this patch from LLVM upstream seems to fix the problem and this regressed right after the glibc upgrade. --- pkgs/development/rocm-modules/6/llvm/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/rocm-modules/6/llvm/default.nix b/pkgs/development/rocm-modules/6/llvm/default.nix index c4ee2ce75d10..ab5dc49d7852 100644 --- a/pkgs/development/rocm-modules/6/llvm/default.nix +++ b/pkgs/development/rocm-modules/6/llvm/default.nix @@ -293,6 +293,13 @@ overrideLlvmPackagesRocm (s: { # TODO: consider reapplying "Don't include aliases in RegisterClassInfo::IgnoreCSRForAllocOrder" # it was reverted as it's a pessimization for non-GPU archs, but this compiler # is used mostly for amdgpu + + # fix build w/ glibc-2.42 + (fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/6ee49080e4bb43efe7ede10bed15935853bbd434.patch"; + hash = "sha256-DHEhTC3IWjWksMTD4RqsPQBTKKJOJcNCt16xsEe0QZs="; + relative = "llvm"; + }) ]; dontStrip = profilableStdenv; hardeningDisable = [ "all" ]; From b706c583d0fb3e6fc86e37d49db06d09488cf55e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 6 Oct 2025 17:30:53 +0200 Subject: [PATCH 0220/1216] onnxruntime,python3.pkgs.onnxruntime: fix runtime w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/308650242 The libraries require an execstack even though it's not necessary. This got fixed upstream already[1], but this doesn't apply cleanly on the version we have. [1] https://github.com/microsoft/onnxruntime/pull/25200 --- pkgs/by-name/on/onnxruntime/package.nix | 5 ++++- pkgs/development/python-modules/onnxruntime/default.nix | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index bd9e9242239b..41163653106a 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -262,7 +262,10 @@ effectiveStdenv.mkDerivation rec { (lib.cmakeBool "onnxruntime_USE_COMPOSABLE_KERNEL_CK_TILE" false) ]; - env = lib.optionalAttrs rocmSupport { + env = { + NIX_LDFLAGS = "-z,noexecstack"; + } + // lib.optionalAttrs rocmSupport { MIOPEN_PATH = rocmPackages.miopen; # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing # fatal error: 'rocrand/rocrand.h' file not found diff --git a/pkgs/development/python-modules/onnxruntime/default.nix b/pkgs/development/python-modules/onnxruntime/default.nix index 4d2ed826d456..9647657c0077 100644 --- a/pkgs/development/python-modules/onnxruntime/default.nix +++ b/pkgs/development/python-modules/onnxruntime/default.nix @@ -38,6 +38,10 @@ buildPythonPackage { chmod +w dist ''; + env = { + NIX_LDFLAGS = "-z,noexecstack"; + }; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; # This project requires fairly large dependencies such as sympy which we really don't always need. From 2dd6b7f739ca9064e8ecf2688400c21f3eb0fd87 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 6 Oct 2025 17:39:44 +0200 Subject: [PATCH 0221/1216] mrpeach: remove Doesn't build with glibc-2.42 anymore, didn't see a release in 10 years. Failing Hydra build: https://hydra.nixos.org/build/308670849 --- .../magnetophonDSP/VoiceOfFaust/default.nix | 2 - pkgs/by-name/mr/mrpeach/package.nix | 71 ------------------- pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 73 deletions(-) delete mode 100644 pkgs/by-name/mr/mrpeach/package.nix diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix index 220d3fe68d53..f1845e2a3279 100644 --- a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix @@ -5,7 +5,6 @@ faust2jack, faust2lv2, helmholtz, - mrpeach, puredata-with-plugins, jack-example-tools, }: @@ -22,7 +21,6 @@ stdenv.mkDerivation rec { plugins = [ helmholtz - mrpeach ]; pitchTracker = puredata-with-plugins plugins; diff --git a/pkgs/by-name/mr/mrpeach/package.nix b/pkgs/by-name/mr/mrpeach/package.nix deleted file mode 100644 index ef9194be5adc..000000000000 --- a/pkgs/by-name/mr/mrpeach/package.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - puredata, -}: - -stdenv.mkDerivation { - pname = "mrpeach"; - version = "1.1"; - - # this was to only usable url I could find: - # - The main url changes hash: http://pure-data.cvs.sourceforge.net/viewvc/pure-data/externals/mrpeach/?view=tar - # - There are lot's of places where this SW is available as part of a big pkg: pd-extended, pd-l2ork - # - It's just 211K - - src = fetchurl { - url = "http://slackonly.com/pub/korgie/sources/pd_mrpeach-2011.10.21.tar.gz"; - sha256 = "12jqba3jsdrk20ib9wc2wiivki88ypcd4mkzgsri9siywbbz9w8x"; - }; - - buildInputs = [ puredata ]; - - hardeningDisable = [ "format" ]; - - postPatch = '' - for D in net osc - do - sed -i "s@prefix = /usr/local@prefix = $out@g" $D/Makefile - for i in ${puredata}/include/pd/*; do - ln -s $i $D/ - done - done - ''; - - buildPhase = '' - runHook preBuild - for D in net osc - do - cd $D - make - cd .. - done - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - for D in net osc - do - cd $D - make install - cd .. - done - runHook postInstall - ''; - - preFixup = '' - mv $out/lib/pd-externals/net $out - mv $out/lib/pd-externals/osc $out - rm -rf $out/lib - ''; - - meta = { - description = "Collection of Pd objectclasses for OSC-messages"; - homepage = "http://puredata.info/downloads/osc"; - license = lib.licenses.gpl2; - maintainers = [ lib.maintainers.magnetophon ]; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 45d5c0db3c7b..ebd0745bc3e4 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1121,6 +1121,7 @@ mapAliases { mpdWithFeatures = warnAlias "mpdWithFeatures has been replaced by mpd.override" mpd.override; # Added 2025-08-08 mpris-discord-rpc = throw "'mpris-discord-rpc' has been renamed to 'music-discord-rpc'."; # Added 2025-09-14 mpw = throw "'mpw' has been removed, as upstream development has moved to Spectre, which is packaged as 'spectre-cli'"; # Added 2025-10-26 + mrpeach = throw "'mrpeach' has been removed as it is unmaintained"; # Added 2025-10-06 mrxvt = throw "'mrxvt' has been removed due to lack of maintainence upstream"; # Added 2025-09-25 msgpack = throw "msgpack has been split into msgpack-c and msgpack-cxx"; # Added 2025-09-14 msp430NewlibCross = throw "'msp430NewlibCross' has been renamed to/replaced by 'msp430Newlib'"; # Converted to throw 2025-10-27 From 3604e3ae9d333cd7d468a8be4b277adfd9427f1b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 30 Dec 2025 15:45:33 +0100 Subject: [PATCH 0222/1216] nixos/doc/release-notes: document glibc execstack change --- .../manual/release-notes/rl-2605.section.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 9d4f926dc718..d382e528525e 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -90,3 +90,41 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - `services.openssh` now supports generating host SSH keys by setting `services.openssh.generateHostKeys = true` while leaving `services.openssh.enable` disabled. This is particularly useful for systems that have no need of an SSH daemon but want SSH host keys for other purposes such as using agenix or sops-nix. - `services.slurm` now supports slurmrestd usage through the `services.slurm.rest` NixOS options. + +- `glibc` has been updated to version 2.42. + + This version no longer makes the stack executable when a shared library requires this. A symptom + is an error like + + > cannot enable executable stack as shared object requires: Invalid argument + + This is usually a bug. Please consider reporting it to the software maintainers. + + In a lot of cases, the library requires the execstack by mistake only. The following workarounds exist: + + * When building the shared library in question from source, use the following linker flags to force turning off the + executable flag: + + ```nix + mkDerivation { + # … + + env.NIX_LDFLAGS = "-z,noexecstack"; + } + ``` + + * If the sources are not available, the execstack-flag can be cleared with `patchelf`: + + ``` + patchelf --clear-execstack binary-only.so + ``` + + * If the shared library to be loaded actually requires an executable stack and it isn't turned + on by the application loading it, you may force allowing that behavior by setting the + following environment variable: + + ``` + GLIBC_TUNABLES=glibc.rtld.execstack=2 + ``` + + **Do not set this globally!** This makes your setup inherently less secure. From 8f0cddcc9d6e8b579bb31f32fc6512f1ab7eb278 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 3 Jan 2026 17:29:55 +0100 Subject: [PATCH 0223/1216] openvi: fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/317772107 --- pkgs/by-name/op/openvi/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/op/openvi/package.nix b/pkgs/by-name/op/openvi/package.nix index cad4277a4777..f2689ab60824 100644 --- a/pkgs/by-name/op/openvi/package.nix +++ b/pkgs/by-name/op/openvi/package.nix @@ -5,6 +5,7 @@ pkg-config, ncurses, perl, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { @@ -18,6 +19,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-kLULaKEefMpNLANnVdWAZeH+2KY5gEWGce6vJ/R7HAI="; }; + patches = [ + # fix build w/ glibc 2.42 (https://github.com/johnsonjh/OpenVi/pull/46) + (fetchpatch { + url = "https://github.com/johnsonjh/OpenVi/commit/67c76961f512bfe95616fe25b32928db0aab9326.patch"; + hash = "sha256-GOair/unxROEPvtTekGuKacKwOctPyoRdvilqdVLjrY="; + excludes = [ "ChangeLog" ]; + }) + ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ From 1efc1c0d02609e23f090dff7a03ef0ae70cd3c83 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 3 Jan 2026 17:59:40 +0100 Subject: [PATCH 0224/1216] rt-tests: 2.8 -> 2.9, fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/317799900 This turns of a warning about a potential format overflow, but I consider it sufficiently unlikely to have enough threads[1] such that this actually causes an overflow. [1] https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/pmqtest/pmqtest.c#n546 --- pkgs/by-name/rt/rt-tests/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/rt/rt-tests/package.nix b/pkgs/by-name/rt/rt-tests/package.nix index c9f78c1fe6bd..6d0b3036e094 100644 --- a/pkgs/by-name/rt/rt-tests/package.nix +++ b/pkgs/by-name/rt/rt-tests/package.nix @@ -9,13 +9,15 @@ stdenv.mkDerivation rec { pname = "rt-tests"; - version = "2.8"; + version = "2.9"; src = fetchurl { url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/${pname}-${version}.tar.gz"; - sha256 = "sha256-iBpd7K9VpvUH5wXBKypyQl8NAHN3Om5/PcoJ8RH37mI="; + sha256 = "sha256-Zmb0RqGvS4bHy+6Krs3of1WUWOqJMOH0FHAXIqlteys="; }; + env.NIX_CFLAGS_COMPILE = "-Wno-error=format-overflow"; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ numactl From 2fb78891aeaa6255b279ec8ad93b826799d0cefa Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 3 Jan 2026 18:43:12 +0100 Subject: [PATCH 0225/1216] jdk11: 11.0.29+7 -> 11.0.31+0, fix build w/ glibc-2.42 Failing Hydra build: https://hydra.nixos.org/build/317760066 --- pkgs/development/compilers/openjdk/11/source.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/openjdk/11/source.json b/pkgs/development/compilers/openjdk/11/source.json index 04380496e601..46f9910dd5a1 100644 --- a/pkgs/development/compilers/openjdk/11/source.json +++ b/pkgs/development/compilers/openjdk/11/source.json @@ -1,6 +1,6 @@ { - "hash": "sha256-nFRxcL9fkh9NhDVTUwwOXhmFRBVPTq79zeUsWBdmIfk=", + "hash": "sha256-yu0EDwgisr8r/eR/tSb+3vCK722ou0N+vPSArMcEqcA=", "owner": "openjdk", "repo": "jdk11u", - "rev": "refs/tags/jdk-11.0.29+7" + "rev": "refs/tags/jdk-11.0.31+0" } From 12fced4f0ebb159fa2b382bb6f863bb40916169b Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Sat, 3 Jan 2026 12:15:19 -0800 Subject: [PATCH 0226/1216] fltrator: move to by-name/ --- .../default.nix => by-name/fl/fltrator/package.nix} | 10 +++++----- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 5 insertions(+), 9 deletions(-) rename pkgs/{games/fltrator/default.nix => by-name/fl/fltrator/package.nix} (91%) diff --git a/pkgs/games/fltrator/default.nix b/pkgs/by-name/fl/fltrator/package.nix similarity index 91% rename from pkgs/games/fltrator/default.nix rename to pkgs/by-name/fl/fltrator/package.nix index 63d80f7b34f2..2550702f516c 100644 --- a/pkgs/games/fltrator/default.nix +++ b/pkgs/by-name/fl/fltrator/package.nix @@ -3,22 +3,22 @@ stdenv, fetchurl, unzip, - fltk, + fltk-minimal, which, libjpeg, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "fltrator"; version = "2.3"; src = fetchurl { - url = "mirror://sourceforge/fltrator/fltrator-${version}-code.zip"; + url = "mirror://sourceforge/fltrator/fltrator-${finalAttrs.version}-code.zip"; sha256 = "125aqq1sfrm0c9cm6gyylwdmc8xrb0rjf563xvw7q28sdbl6ayp7"; }; buildInputs = [ - fltk + fltk-minimal libjpeg ]; nativeBuildInputs = [ @@ -61,4 +61,4 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e641a167e423..eb10719e81a7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12595,10 +12595,6 @@ with pkgs; d2x-rebirth-full ; - fltrator = callPackage ../games/fltrator { - fltk = fltk-minimal; - }; - factorio = callPackage ../by-name/fa/factorio/package.nix { releaseType = "alpha"; }; factorio-experimental = factorio.override { From c23e6c3d969e926476016f5eceef0c0690607b67 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Sat, 3 Jan 2026 12:19:23 -0800 Subject: [PATCH 0227/1216] gscrabble: drop --- pkgs/games/gscrabble/default.nix | 64 -------------------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 3 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 pkgs/games/gscrabble/default.nix diff --git a/pkgs/games/gscrabble/default.nix b/pkgs/games/gscrabble/default.nix deleted file mode 100644 index fe4a5a0b8dd4..000000000000 --- a/pkgs/games/gscrabble/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - lib, - buildPythonApplication, - fetchFromGitHub, - gtk3, - wrapGAppsHook3, - gst_all_1, - gobject-introspection, - gst-python, - pygobject3, - adwaita-icon-theme, -}: - -buildPythonApplication { - pname = "gscrabble"; - version = "unstable-2020-04-21"; - format = "setuptools"; - - src = fetchFromGitHub { - owner = "RaaH"; - repo = "gscrabble"; - rev = "aba37f062a6b183dcc084c453f395af1dc437ec8"; - sha256 = "sha256-rYpPHgOlPRnlA+Nkvo/J+/8/vl24/Ssk55fTq9oNCz4="; - }; - - doCheck = false; - - nativeBuildInputs = [ - wrapGAppsHook3 - gobject-introspection - ]; - - buildInputs = with gst_all_1; [ - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gst-plugins-bad - adwaita-icon-theme - gtk3 - ]; - - propagatedBuildInputs = [ - gst-python - pygobject3 - ]; - - preFixup = '' - gappsWrapperArgs+=( - --prefix PYTHONPATH : "$out/share/GScrabble/modules" - ) - ''; - - meta = { - # Fails to build, probably incompatible with latest Python - # error: Multiple top-level packages discovered in a flat-layout - # https://github.com/RaaH/gscrabble/issues/13 - broken = true; - description = "Golden Scrabble crossword puzzle game"; - homepage = "https://github.com/RaaH/gscrabble/"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ onny ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 274d6d29b018..fc0a98c2a0c3 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -731,6 +731,7 @@ mapAliases { graphite-kde-theme = throw "'graphite-kde-theme' has been removed, as it is only compatible with Plasma 5, which is EOL"; # Added 2025-08-20 gringo = throw "'gringo' has been renamed to/replaced by 'clingo'"; # Converted to throw 2025-10-27 grub2_full = throw "'grub2_full' has been renamed to/replaced by 'grub2'"; # Converted to throw 2025-10-27 + gscrabble = throw "'gscrabble' has been removed, as it is unmaintained upstream, and broken in nixpkgs"; # Added 2026-01-03 gsettings-qt = lomiri.gsettings-qt; # Added 2025-12-06 gtkcord4 = throw "'gtkcord4' has been renamed to/replaced by 'dissent'"; # Converted to throw 2025-10-27 gtkextra = throw "'gtkextra' has been removed due to lack of maintenance upstream."; # Added 2025-06-10 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eb10719e81a7..5aeb8d1a48de 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12645,8 +12645,6 @@ with pkgs; freeciv_gtk = freeciv; - gscrabble = python3Packages.callPackage ../games/gscrabble { }; - ibmcloud-cli = callPackage ../tools/admin/ibmcloud-cli { stdenv = stdenvNoCC; }; # used as base package for iortcw forks From 9e75aec4c536f2012366717dc7250690e1418585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lima?= Date: Sat, 3 Jan 2026 02:18:21 +0000 Subject: [PATCH 0228/1216] xdg-user-dirs-gtk: 0.14 -> 0.16 --- pkgs/by-name/xd/xdg-user-dirs-gtk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xd/xdg-user-dirs-gtk/package.nix b/pkgs/by-name/xd/xdg-user-dirs-gtk/package.nix index 383b36d71b90..b13967cb7888 100644 --- a/pkgs/by-name/xd/xdg-user-dirs-gtk/package.nix +++ b/pkgs/by-name/xd/xdg-user-dirs-gtk/package.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "xdg-user-dirs-gtk"; - version = "0.14"; + version = "0.16"; src = fetchurl { url = "mirror://gnome/sources/xdg-user-dirs-gtk/${lib.versions.majorMinor finalAttrs.version}/xdg-user-dirs-gtk-${finalAttrs.version}.tar.xz"; - hash = "sha256-U3++FCskc27XiU5KAfaf11jLbHpnejgoeVKdIX9KKHM="; + hash = "sha256-voJd5/iRddterQzTdE0nYRCccJQyUahwkiWRYwJVIKk="; }; nativeBuildInputs = [ From b105341eb4b00cc398a6eb7f70e0900daaaf480f Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Fri, 26 Dec 2025 12:06:38 +0100 Subject: [PATCH 0229/1216] python3Packages.fastapi-cli: 0.0.8 -> 0.0.20 --- .../development/python-modules/fastapi-cli/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/fastapi-cli/default.nix b/pkgs/development/python-modules/fastapi-cli/default.nix index aee604b738df..b13bcff26a20 100644 --- a/pkgs/development/python-modules/fastapi-cli/default.nix +++ b/pkgs/development/python-modules/fastapi-cli/default.nix @@ -15,14 +15,14 @@ let self = buildPythonPackage rec { pname = "fastapi-cli"; - version = "0.0.8"; + version = "0.0.20"; pyproject = true; src = fetchFromGitHub { - owner = "tiangolo"; + owner = "fastapi"; repo = "fastapi-cli"; tag = version; - hash = "sha256-7SYsIgRSFZgtIHBC5Ic9Nlh+LtGJDz0Xx1yxMarAuYY="; + hash = "sha256-RTxu6WmKmGMVsQ2izd8j8P+gGbXV91gVjb95JC52e8Q="; }; build-system = [ pdm-backend ]; @@ -58,8 +58,8 @@ let meta = { description = "Run and manage FastAPI apps from the command line with FastAPI CLI"; - homepage = "https://github.com/tiangolo/fastapi-cli"; - changelog = "https://github.com/tiangolo/fastapi-cli/releases/tag/${src.tag}"; + homepage = "https://github.com/fastapi/fastapi-cli"; + changelog = "https://github.com/fastapi/fastapi-cli/releases/tag/${src.tag}"; mainProgram = "fastapi"; license = lib.licenses.mit; maintainers = [ ]; From 90fcca4c19ffdb10c2096d32cd9651bbf68bf3f8 Mon Sep 17 00:00:00 2001 From: Povl Filip Sonne-Frederiksen <22501790+pfmephisto@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:30:19 +0100 Subject: [PATCH 0230/1216] python3Packages.regex: 2025.9.18 -> 2025.11.3 Signed-off-by: Povl Filip Sonne-Frederiksen <22501790+pfmephisto@users.noreply.github.com> --- pkgs/development/python-modules/regex/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix index 7a581c682ceb..ab9091e13fc5 100644 --- a/pkgs/development/python-modules/regex/default.nix +++ b/pkgs/development/python-modules/regex/default.nix @@ -7,7 +7,7 @@ }: let - version = "2025.9.18"; + version = "2025.11.3"; in buildPythonPackage { pname = "regex"; @@ -18,13 +18,21 @@ buildPythonPackage { owner = "mrabarnett"; repo = "mrab-regex"; tag = version; - hash = "sha256-s/jaRbQffd1DmGribk8gwTraKEhWfvFZboWXUduhM8A="; + hash = "sha256-KEn+8DoAAq2OBqnl7vluqn1UPBpIfmO1v4wxKUZrcyA="; }; build-system = [ setuptools ]; + preCheck = '' + rm regex/__init__.py + ''; + checkPhase = '' - ${python.interpreter} -m unittest + runHook preCheck + + ${python.interpreter} -m unittest ./regex/tests/test_regex.py + + runHook postCheck ''; pythonImportsCheck = [ "regex" ]; From 752d0519893c94bbf81ac4f7faed7a79605c188c Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 4 Jan 2026 14:47:29 +0100 Subject: [PATCH 0231/1216] gnutls: Fix gnulib test failure on ppc64 --- pkgs/development/libraries/gnutls/default.nix | 5 + ...loat-h-tests-port-to-C23-PowerPC-GCC.patch | 351 ++++++++++++++++++ 2 files changed, 356 insertions(+) create mode 100644 pkgs/development/libraries/gnutls/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index 2cce91e8115d..49e5bdcea649 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -82,6 +82,11 @@ stdenv.mkDerivation rec { patches = [ ./nix-ssl-cert-file.patch + + # Fixes test-float failure on ppc64 with C23 + # https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00021.html + # Multiple upstream commits squashed with adjustments, see header + ./gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch ]; # Skip some tests: diff --git a/pkgs/development/libraries/gnutls/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch b/pkgs/development/libraries/gnutls/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch new file mode 100644 index 000000000000..1764c4e3bff3 --- /dev/null +++ b/pkgs/development/libraries/gnutls/gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch @@ -0,0 +1,351 @@ +Applied the following incremental gnulib commits: + +- 55a366a06fbd98bf13adc531579e3513cee97a32 +- 65ed9d3b24ad09fd61d326c83e7f1b05f6e9d65f +- ce8e9de0bf34bc63dffc67ab384334c509175f64 +- 6164b4cb0887b5331a4e64449107decd37d32735 + +With adjustments specific to the structure & differences in gnutls: + +- The gnulib version included in the gnutls 3.8.11 release tarball is older than the one in the 3.8.11 tag on GitLab, necessitating this patching. + Maybe an issue with their release making process. +- gnulib code is duplicated across gl and src/gl, with the tests only existing the latter. + Unsure why this is duplicated, but applied to both versions. +- A Makefile.in is used for the test flags instead of the fancy automake modules + in the upstream gnulib project, so we add -lm to the float test there. + Surrounding texts in this file are slightly different in every project. +diff '--color=auto' -ruN a/gl/float.c b/gl/float.c +--- a/gl/float.c 2025-11-20 03:09:15.000000000 +0100 ++++ b/gl/float.c 2026-01-04 14:19:05.770105827 +0100 +@@ -23,7 +23,7 @@ + #if GNULIB_defined_long_double_union + # if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + const union gl_long_double_union gl_LDBL_MAX = +- { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; ++ { { DBL_MAX, DBL_MAX / 0x1p53 } }; + # elif defined __i386__ + const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +diff '--color=auto' -ruN a/gl/float.in.h b/gl/float.in.h +--- a/gl/float.in.h 2025-11-20 03:09:15.000000000 +0100 ++++ b/gl/float.in.h 2026-01-04 14:22:50.690169887 +0100 +@@ -113,44 +113,38 @@ + # define LDBL_MAX_10_EXP 4932 + #endif + +-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are +- wrong. +- On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ ++/* On PowerPC with gcc 15 when using __ibm128 long double, the value of ++ LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX, and LDBL_NORM_MAX are wrong. */ ++#if ((defined _ARCH_PPC || defined _POWER) && LDBL_MANT_DIG == 106 \ ++ && defined __GNUC__) + # undef LDBL_MIN_EXP + # define LDBL_MIN_EXP DBL_MIN_EXP + # undef LDBL_MIN_10_EXP + # define LDBL_MIN_10_EXP DBL_MIN_10_EXP + # undef LDBL_MIN + # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +-#endif +-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + # undef LDBL_MAX +-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. +- It is not easy to define: +- #define LDBL_MAX 1.79769313486231580793728971405302307166e308L +- is too small, whereas +- #define LDBL_MAX 1.79769313486231580793728971405302307167e308L +- is too large. Apparently a bug in GCC decimal-to-binary conversion. +- Also, I can't get values larger than +- #define LDBL63 ((long double) (1ULL << 63)) +- #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) +- which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. +- So, define it like this through a reference to an external variable ++/* LDBL_MAX is 2**1024 - 2**918, represented as: { 0x7FEFFFFF, 0xFFFFFFFF, ++ 0x7C9FFFFF, 0xFFFFFFFF }. ++ ++ Do not write it as a constant expression, as GCC would likely treat ++ that as infinity due to the vagaries of this platform's funky arithmetic. ++ Instead, define it through a reference to an external variable. ++ Like the following, but using a union to avoid type mismatches: + +- const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; ++ const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / 0x1p53 }; + extern const long double LDBL_MAX; + +- or through a pointer cast ++ The following alternative would not work as well when GCC is optimizing: ++ ++ #define LDBL_MAX (*(long double const *) (double[]) ++ { DBL_MAX, DBL_MAX / 0x1p53 }) + +- #define LDBL_MAX \ +- (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) ++ The following alternative would require GCC 6 or later: + +- Unfortunately, this is not a constant expression, and the latter expression +- does not work well when GCC is optimizing.. */ ++ #define LDBL_MAX __builtin_pack_longdouble (DBL_MAX, DBL_MAX / 0x1p53) ++ ++ Unfortunately none of the alternatives are constant expressions. */ + # if !GNULIB_defined_long_double_union + union gl_long_double_union + { +@@ -161,6 +155,8 @@ + # endif + extern const union gl_long_double_union gl_LDBL_MAX; + # define LDBL_MAX (gl_LDBL_MAX.ld) ++# undef LDBL_NORM_MAX ++# define LDBL_NORM_MAX LDBL_MAX + #endif + + /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. +@@ -181,6 +177,21 @@ + # endif + #endif + ++/* On PowerPC platforms, 'long double' has a double-double representation. ++ Up to ISO C 17, this was outside the scope of ISO C because it can represent ++ numbers with mantissas of the form 1.<52 bits><52 bits>, such as ++ 1.0L + 4.94065645841246544176568792868221e-324L = 1 + 2^-1074; see ++ ISO C 17 § 5.2.4.2.2.(3). ++ In ISO C 23, wording has been included that makes this 'long double' ++ representation compliant; see ISO C 23 § 5.2.5.3.3.(8)-(9). In this setting, ++ numbers with mantissas of the form 1.<52 bits><52 bits> are ++ called "unnormalized". And since LDBL_EPSILON must be normalized (per ++ ISO C 23 § 5.2.5.3.3.(33)), it must be 2^-105. */ ++#if defined __powerpc__ && LDBL_MANT_DIG == 106 ++# undef LDBL_EPSILON ++# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ ++#endif ++ + /* ============================ ISO C11 support ============================ */ + + /* 'float' properties */ +@@ -309,7 +320,11 @@ + # endif + #endif + #ifndef LDBL_NORM_MAX +-# define LDBL_NORM_MAX LDBL_MAX ++# ifdef __LDBL_NORM_MAX__ ++# define LDBL_NORM_MAX __LDBL_NORM_MAX__ ++# else ++# define LDBL_NORM_MAX LDBL_MAX ++# endif + #endif + #ifndef LDBL_SNAN + /* For sh, beware of . */ +diff '--color=auto' -ruN a/src/gl/float.c b/src/gl/float.c +--- a/src/gl/float.c 2025-11-20 03:09:15.000000000 +0100 ++++ b/src/gl/float.c 2026-01-04 14:19:23.234252595 +0100 +@@ -23,7 +23,7 @@ + #if GNULIB_defined_long_double_union + # if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + const union gl_long_double_union gl_LDBL_MAX = +- { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; ++ { { DBL_MAX, DBL_MAX / 0x1p53 } }; + # elif defined __i386__ + const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +diff '--color=auto' -ruN a/src/gl/float.in.h b/src/gl/float.in.h +--- a/src/gl/float.in.h 2025-11-20 03:09:15.000000000 +0100 ++++ b/src/gl/float.in.h 2026-01-04 14:24:52.632412768 +0100 +@@ -113,44 +113,38 @@ + # define LDBL_MAX_10_EXP 4932 + #endif + +-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are +- wrong. +- On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ ++/* On PowerPC with gcc 15 when using __ibm128 long double, the value of ++ LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX, and LDBL_NORM_MAX are wrong. */ ++#if ((defined _ARCH_PPC || defined _POWER) && LDBL_MANT_DIG == 106 \ ++ && defined __GNUC__) + # undef LDBL_MIN_EXP + # define LDBL_MIN_EXP DBL_MIN_EXP + # undef LDBL_MIN_10_EXP + # define LDBL_MIN_10_EXP DBL_MIN_10_EXP + # undef LDBL_MIN + # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +-#endif +-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ + # undef LDBL_MAX +-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. +- It is not easy to define: +- #define LDBL_MAX 1.79769313486231580793728971405302307166e308L +- is too small, whereas +- #define LDBL_MAX 1.79769313486231580793728971405302307167e308L +- is too large. Apparently a bug in GCC decimal-to-binary conversion. +- Also, I can't get values larger than +- #define LDBL63 ((long double) (1ULL << 63)) +- #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) +- #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) +- which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. +- So, define it like this through a reference to an external variable ++/* LDBL_MAX is 2**1024 - 2**918, represented as: { 0x7FEFFFFF, 0xFFFFFFFF, ++ 0x7C9FFFFF, 0xFFFFFFFF }. ++ ++ Do not write it as a constant expression, as GCC would likely treat ++ that as infinity due to the vagaries of this platform's funky arithmetic. ++ Instead, define it through a reference to an external variable. ++ Like the following, but using a union to avoid type mismatches: + +- const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; ++ const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / 0x1p53 }; + extern const long double LDBL_MAX; + +- or through a pointer cast ++ The following alternative would not work as well when GCC is optimizing: ++ ++ #define LDBL_MAX (*(long double const *) (double[]) ++ { DBL_MAX, DBL_MAX / 0x1p53 }) + +- #define LDBL_MAX \ +- (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) ++ The following alternative would require GCC 6 or later: + +- Unfortunately, this is not a constant expression, and the latter expression +- does not work well when GCC is optimizing.. */ ++ #define LDBL_MAX __builtin_pack_longdouble (DBL_MAX, DBL_MAX / 0x1p53) ++ ++ Unfortunately none of the alternatives are constant expressions. */ + # if !GNULIB_defined_long_double_union + union gl_long_double_union + { +@@ -161,6 +155,8 @@ + # endif + extern const union gl_long_double_union gl_LDBL_MAX; + # define LDBL_MAX (gl_LDBL_MAX.ld) ++# undef LDBL_NORM_MAX ++# define LDBL_NORM_MAX LDBL_MAX + #endif + + /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. +@@ -181,6 +177,21 @@ + # endif + #endif + ++/* On PowerPC platforms, 'long double' has a double-double representation. ++ Up to ISO C 17, this was outside the scope of ISO C because it can represent ++ numbers with mantissas of the form 1.<52 bits><52 bits>, such as ++ 1.0L + 4.94065645841246544176568792868221e-324L = 1 + 2^-1074; see ++ ISO C 17 § 5.2.4.2.2.(3). ++ In ISO C 23, wording has been included that makes this 'long double' ++ representation compliant; see ISO C 23 § 5.2.5.3.3.(8)-(9). In this setting, ++ numbers with mantissas of the form 1.<52 bits><52 bits> are ++ called "unnormalized". And since LDBL_EPSILON must be normalized (per ++ ISO C 23 § 5.2.5.3.3.(33)), it must be 2^-105. */ ++#if defined __powerpc__ && LDBL_MANT_DIG == 106 ++# undef LDBL_EPSILON ++# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ ++#endif ++ + /* ============================ ISO C11 support ============================ */ + + /* 'float' properties */ +@@ -309,7 +320,11 @@ + # endif + #endif + #ifndef LDBL_NORM_MAX +-# define LDBL_NORM_MAX LDBL_MAX ++# ifdef __LDBL_NORM_MAX__ ++# define LDBL_NORM_MAX __LDBL_NORM_MAX__ ++# else ++# define LDBL_NORM_MAX LDBL_MAX ++# endif + #endif + #ifndef LDBL_SNAN + /* For sh, beware of . */ +diff '--color=auto' -ruN a/src/gl/tests/Makefile.in b/src/gl/tests/Makefile.in +--- a/src/gl/tests/Makefile.in 2025-11-20 03:09:50.000000000 +0100 ++++ b/src/gl/tests/Makefile.in 2026-01-04 14:10:49.765136843 +0100 +@@ -821,7 +821,7 @@ + $(am__DEPENDENCIES_1) + test_float_h_SOURCES = test-float-h.c + test_float_h_OBJECTS = test-float-h.$(OBJEXT) +-test_float_h_LDADD = $(LDADD) ++test_float_h_LDADD = $(LDADD) -lm + test_float_h_DEPENDENCIES = libtests.a ../../../src/gl/libgnu_gpl.la \ + libtests.a ../../../src/gl/libgnu_gpl.la libtests.a \ + $(am__DEPENDENCIES_1) +diff '--color=auto' -ruN a/src/gl/tests/test-float-h.c b/src/gl/tests/test-float-h.c +--- a/src/gl/tests/test-float-h.c 2025-11-20 03:09:15.000000000 +0100 ++++ b/src/gl/tests/test-float-h.c 2026-01-04 14:26:11.677858229 +0100 +@@ -101,6 +101,8 @@ + + /* ------------------------------------------------------------------------- */ + ++#include ++ + #include "fpucw.h" + #include "isnanf-nolibm.h" + #include "isnand-nolibm.h" +@@ -396,6 +398,44 @@ + + /* -------------------- Check macros for 'long double' -------------------- */ + ++static int ++test_isfinitel (long double volatile x) ++{ ++ if (x != x) ++ return 0; ++ long double volatile zero = x * 0; ++ return zero == 0; ++} ++ ++/* Return X after normalization. This makes a difference on platforms ++ where long double can represent unnormalized values. For example, ++ suppose x = 1 + 2**-106 on PowerPC with IBM long double where ++ FLT_RADIX = 2, LDBL_MANT_DIG = 106, and LDBL_EPSILON = 2**-105. ++ Then 1 < x < 1 + LDBL_EPSILON, and normalize_long_double (x) returns 1. */ ++static long double ++normalize_long_double (long double volatile x) ++{ ++ if (FLT_RADIX == 2 && test_isfinitel (x)) ++ { ++ int xexp; ++ long double volatile ++ frac = frexpl (x, &xexp), ++ significand = frac * pow2l (LDBL_MANT_DIG), ++ normalized_significand = truncl (significand), ++ normalized_x = normalized_significand * pow2l (xexp - LDBL_MANT_DIG); ++ ++ /* The test_isfinitel defends against PowerPC with IBM long double, ++ which fritzes out near LDBL_MAX. */ ++ if (test_isfinitel (normalized_x)) ++ x = normalized_x; ++ } ++ else ++ { ++ /* Hope that X is already normalized. */ ++ } ++ return x; ++} ++ + static void + test_long_double (void) + { +@@ -455,7 +495,7 @@ + for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) + { + volatile long double half_n = pow2l (- n); /* 2^-n */ +- volatile long double x = me - half_n; ++ volatile long double x = normalize_long_double (me - half_n); + if (x < me) + ASSERT (x <= 1.0L); + } +@@ -484,7 +524,7 @@ + #endif + + /* Check the value of LDBL_NORM_MAX. */ +- ASSERT (LDBL_NORM_MAX == LDBL_MAX); ++ ASSERT (LDBL_NORM_MAX == normalize_long_double (LDBL_MAX)); + + /* Check the value of LDBL_SNAN. */ + ASSERT (isnanl (LDBL_SNAN)); From 514ae4ea8e12028e44d1679aad11acc2cf5aa007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lima?= Date: Sat, 3 Jan 2026 02:09:40 +0000 Subject: [PATCH 0232/1216] xdg-user-dirs: 0.18 -> 0.19 --- .../xd/xdg-user-dirs/gettext-0.25.patch | 20 ---------- pkgs/by-name/xd/xdg-user-dirs/package.nix | 40 ++++++++++--------- 2 files changed, 21 insertions(+), 39 deletions(-) delete mode 100644 pkgs/by-name/xd/xdg-user-dirs/gettext-0.25.patch diff --git a/pkgs/by-name/xd/xdg-user-dirs/gettext-0.25.patch b/pkgs/by-name/xd/xdg-user-dirs/gettext-0.25.patch deleted file mode 100644 index f292da934d59..000000000000 --- a/pkgs/by-name/xd/xdg-user-dirs/gettext-0.25.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index dc389db..45a35df 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2,6 +2,7 @@ AC_INIT(xdg-user-dirs-update.c) - - AM_INIT_AUTOMAKE(xdg-user-dirs, 0.18) - AM_CONFIG_HEADER(config.h) -+AC_CONFIG_MACRO_DIRS([m4]) - - AM_SANITY_CHECK - AM_MAINTAINER_MODE -@@ -20,6 +21,7 @@ GETTEXT_PACKAGE=xdg-user-dirs - AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The gettext domain name]) - AC_SUBST(GETTEXT_PACKAGE) - -+AM_GNU_GETTEXT_REQUIRE_VERSION([0.14.4]) - AM_GNU_GETTEXT([external]) - - dnl ========================================================================== diff --git a/pkgs/by-name/xd/xdg-user-dirs/package.nix b/pkgs/by-name/xd/xdg-user-dirs/package.nix index 1a77506ccf0a..c0423a044442 100644 --- a/pkgs/by-name/xd/xdg-user-dirs/package.nix +++ b/pkgs/by-name/xd/xdg-user-dirs/package.nix @@ -1,42 +1,41 @@ { lib, stdenv, - autoreconfHook, + meson, + ninja, fetchurl, libxslt, docbook_xsl, docbook_xml_dtd_43, gettext, - makeWrapper, + makeBinaryWrapper, + libiconv, + libintl, }: stdenv.mkDerivation (finalAttrs: { pname = "xdg-user-dirs"; - version = "0.18"; + version = "0.19"; src = fetchurl { - url = "https://user-dirs.freedesktop.org/releases/xdg-user-dirs-${finalAttrs.version}.tar.gz"; - hash = "sha256-7G8G10lc26N6cyA5+bXhV4vLKWV2/eDaQO2y9SIg3zw="; + url = "https://user-dirs.freedesktop.org/releases/xdg-user-dirs-${finalAttrs.version}.tar.xz"; + hash = "sha256-6S3rkpwQ1LKTKTl6+KJYUQEkf35hd6xvHSjoITDtjBk="; }; - patches = [ - # https://gitlab.freedesktop.org/xdg/xdg-user-dirs/-/merge_requests/16 - ./gettext-0.25.patch - ]; - - postPatch = '' - substituteInPlace Makefile.am \ - --replace-fail 'libraries = $(LIBINTL)' 'libraries = $(LIBICONV) $(LIBINTL)' - ''; - nativeBuildInputs = [ - autoreconfHook - makeWrapper + meson + ninja + makeBinaryWrapper libxslt docbook_xsl docbook_xml_dtd_43 - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ gettext ]; + gettext + ]; + + buildInputs = [ + libiconv + libintl + ]; NIX_LDFLAGS = if stdenv.isDarwin then "-liconv" else null; @@ -44,6 +43,9 @@ stdenv.mkDerivation (finalAttrs: { # fallback values need to be last wrapProgram "$out/bin/xdg-user-dirs-update" \ --suffix XDG_CONFIG_DIRS : "$out/etc/xdg" + + substituteInPlace "$out/lib/systemd/user/xdg-user-dirs.service" \ + --replace-fail "/usr/bin/xdg-user-dirs-update" "$out/bin/xdg-user-dirs-update" ''; meta = { From 60b18f536321a2b92d51ace582011b0db4c14903 Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Tue, 23 Dec 2025 18:38:22 +1100 Subject: [PATCH 0233/1216] python3Packages.pip: 25.0.1 -> 25.3 https://pip.pypa.io/en/stable/news/#v25-3 --- pkgs/development/python-modules/pip/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix index dd789fdb9727..2fa740aadd04 100644 --- a/pkgs/development/python-modules/pip/default.nix +++ b/pkgs/development/python-modules/pip/default.nix @@ -5,9 +5,8 @@ pythonAtLeast, # build-system + flit-core, installShellFiles, - wheel, - setuptools, # docs sphinx, @@ -32,14 +31,14 @@ let self = buildPythonPackage rec { pname = "pip"; - version = "25.0.1"; + version = "25.3"; format = "pyproject"; src = fetchFromGitHub { owner = "pypa"; repo = "pip"; tag = version; - hash = "sha256-V069rAL6U5KBnSc09LRCu0M7qQCH5NbMghVttlmIoRY="; + hash = "sha256-aHV4j9OMLD6I6Fe6A04bE7xk6eS5CxeUEw4Psqj7xz0="; }; postPatch = '' @@ -49,9 +48,8 @@ let ''; nativeBuildInputs = [ + flit-core installShellFiles - setuptools - wheel ] ++ lib.optionals (pythonAtLeast "3.11") [ # docs From 90296b1ed2b090583bfb1fbca831970a8c12667f Mon Sep 17 00:00:00 2001 From: Jhony Elmer Angulo Fabian Date: Mon, 5 Jan 2026 00:00:37 -0500 Subject: [PATCH 0234/1216] just: 1.45.0 -> 1.46.0 --- pkgs/by-name/ju/just/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ju/just/package.nix b/pkgs/by-name/ju/just/package.nix index 1182233cdd95..9be4d7dfc50a 100644 --- a/pkgs/by-name/ju/just/package.nix +++ b/pkgs/by-name/ju/just/package.nix @@ -17,7 +17,7 @@ withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: let - version = "1.45.0"; + version = "1.46.0"; in rustPlatform.buildRustPackage { inherit version; @@ -34,10 +34,10 @@ rustPlatform.buildRustPackage { owner = "casey"; repo = "just"; tag = version; - hash = "sha256-D+xMPpn8JLX88eIO9zY051K81KPGBhcFvhBIwuTDymk="; + hash = "sha256-NE54LKS2bYBfQL+yLJPaG4iF7EiJfDqBfnsrlPo1+OE="; }; - cargoHash = "sha256-zokI+mWyI/HmzP7GuO59usEsscl3tpeyhNT2tXmLny8="; + cargoHash = "sha256-yyaJAWp6luizA/aQuUGhdxRX2Ofri4CeLIO3/ndSCzc="; nativeBuildInputs = lib.optionals (installShellCompletions || installManPages) [ installShellFiles ] From 928965cd5524d8e9cda0c5ee16460d2d6071141a Mon Sep 17 00:00:00 2001 From: chansuke Date: Thu, 25 Dec 2025 02:00:27 +0900 Subject: [PATCH 0235/1216] maintainers: add chansuke --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c972ea8a2618..e508492fb786 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4577,6 +4577,12 @@ githubId = 52875777; name = "Channing He"; }; + chansuke = { + email = "chansuke0@gmail.com"; + github = "chansuke"; + githubId = 501052; + name = "chansuke"; + }; chaoflow = { email = "flo@chaoflow.net"; github = "chaoflow"; From 28a7d239f858e22377c84b573d0bf192a4fa0286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 5 Jan 2026 02:22:36 -0800 Subject: [PATCH 0236/1216] python3Packages.aiohttp: 3.13.2 -> 3.13.3 Diff: https://github.com/aio-libs/aiohttp/compare/v3.13.2...v3.13.3 Changelog: https://docs.aiohttp.org/en/v3.13.3/changes.html --- pkgs/development/python-modules/aiohttp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index ccbf466cf16f..11c3ded60602 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -51,14 +51,14 @@ buildPythonPackage rec { pname = "aiohttp"; - version = "3.13.2"; + version = "3.13.3"; pyproject = true; src = fetchFromGitHub { owner = "aio-libs"; repo = "aiohttp"; tag = "v${version}"; - hash = "sha256-LqYGrrWgSZazk0hjQvTFwqtU/PtMEaPi+m1Ya8Ds+pU="; + hash = "sha256-V+digrfigdA3hwd2xW47BACh3r07j6pGE8WFAGivZnA="; }; postPatch = '' From 6d3005392d0a01d0ba67a8dec69e2f264259952a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 5 Jan 2026 02:21:20 -0800 Subject: [PATCH 0237/1216] libadwaita: 1.8.2 -> 1.8.3 Diff: https://gitlab.gnome.org/GNOME/libadwaita/-/compare/1.8.2...1.8.3 Changelog: https://gitlab.gnome.org/GNOME/libadwaita/-/blob/1.8.3/NEWS --- pkgs/by-name/li/libadwaita/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libadwaita/package.nix b/pkgs/by-name/li/libadwaita/package.nix index 27e4948d74e7..15eb730ff1fd 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.8.2"; + version = "1.8.3"; outputs = [ "out" @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "GNOME"; repo = "libadwaita"; tag = finalAttrs.version; - hash = "sha256-bymC3B5mY4r7oteA6WRViWIyazt0YE6T+P+RHrYifyY="; + hash = "sha256-IrniaMcsM1ZADNNgAmT3ELbkcwPTpYIBf8lOY4TaLd0="; }; depsBuildBuild = [ From 8f4706a48c984229a4ff81aeb6541ad25eb16d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 1 Dec 2025 09:57:18 -0800 Subject: [PATCH 0238/1216] python3Packages.markdown-it-py: 3.0.0 -> 4.0.0 Diff: https://github.com/executablebooks/markdown-it-py/compare/v3.0.0...v4.0.0 Changelog: https://github.com/executablebooks/markdown-it-py/blob/v4.0.0/CHANGELOG.md --- .../python-modules/markdown-it-py/default.nix | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/markdown-it-py/default.nix b/pkgs/development/python-modules/markdown-it-py/default.nix index e62866961867..4fbe2e0380ce 100644 --- a/pkgs/development/python-modules/markdown-it-py/default.nix +++ b/pkgs/development/python-modules/markdown-it-py/default.nix @@ -1,10 +1,11 @@ { lib, - attrs, buildPythonPackage, commonmark, fetchFromGitHub, flit-core, + ipykernel, + jupyter-sphinx, linkify-it-py, markdown, mdit-py-plugins, @@ -21,31 +22,28 @@ stdenv, pytest-regressions, pytestCheckHook, - pythonOlder, }: buildPythonPackage rec { pname = "markdown-it-py"; - version = "3.0.0"; - format = "pyproject"; - - disabled = pythonOlder "3.6"; + version = "4.0.0"; + pyproject = true; src = fetchFromGitHub { owner = "executablebooks"; repo = "markdown-it-py"; tag = "v${version}"; - hash = "sha256-cmjLElJA61EysTUFMVY++Kw0pI4wOIXOyCY3To9fpQc="; + hash = "sha256-92J9cMit2zwyjoE8G1YpwDxj+wiApQW2eUHxUOUt3as="; }; # fix downstrem usage of markdown-it-py[linkify] pythonRelaxDeps = [ "linkify-it-py" ]; - nativeBuildInputs = [ + build-system = [ flit-core ]; - propagatedBuildInputs = [ mdurl ]; + dependencies = [ mdurl ]; nativeCheckInputs = [ pytest-regressions @@ -68,24 +66,27 @@ buildPythonPackage rec { mistletoe mistune panflute + # FIXME package markdown-it-pyrs ]; linkify = [ linkify-it-py ]; plugins = [ mdit-py-plugins ]; rtd = [ - attrs + mdit-py-plugins myst-parser pyyaml sphinx sphinx-copybutton sphinx-design sphinx-book-theme + jupyter-sphinx + ipykernel ]; }; meta = { description = "Markdown parser in Python"; homepage = "https://markdown-it-py.readthedocs.io/"; - changelog = "https://github.com/executablebooks/markdown-it-py/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/executablebooks/markdown-it-py/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.mit; mainProgram = "markdown-it"; }; From 0b512997e54b2808848d89dca77309106f872896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 1 Dec 2025 12:40:09 -0800 Subject: [PATCH 0239/1216] python3Packages.mdit-py-plugins: 0.4.2 -> 0.5.0 Diff: https://github.com/executablebooks/mdit-py-plugins/compare/v0.4.2...v0.5.0 Changelog: https://github.com/executablebooks/mdit-py-plugins/blob/v0.5.0/CHANGELOG.md --- .../python-modules/mdit-py-plugins/default.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/mdit-py-plugins/default.nix b/pkgs/development/python-modules/mdit-py-plugins/default.nix index 840737850357..f77a94c05afe 100644 --- a/pkgs/development/python-modules/mdit-py-plugins/default.nix +++ b/pkgs/development/python-modules/mdit-py-plugins/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - pythonOlder, flit-core, markdown-it-py, pytest-regressions, @@ -11,21 +10,19 @@ buildPythonPackage rec { pname = "mdit-py-plugins"; - version = "0.4.2"; - format = "pyproject"; - - disabled = pythonOlder "3.6"; + version = "0.5.0"; + pyproject = true; src = fetchFromGitHub { owner = "executablebooks"; repo = "mdit-py-plugins"; tag = "v${version}"; - hash = "sha256-aY2DMLh1OkWVcN6A29FLba1ETerf/EOqSjHVpsdE21M="; + hash = "sha256-MQU6u49KsWGaKeWU5v066kZidcfCoubqClxAapAZb9A="; }; - nativeBuildInputs = [ flit-core ]; + build-system = [ flit-core ]; - propagatedBuildInputs = [ markdown-it-py ]; + dependencies = [ markdown-it-py ]; nativeCheckInputs = [ pytestCheckHook @@ -37,7 +34,7 @@ buildPythonPackage rec { meta = { description = "Collection of core plugins for markdown-it-py"; homepage = "https://github.com/executablebooks/mdit-py-plugins"; - changelog = "https://github.com/executablebooks/mdit-py-plugins/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/executablebooks/mdit-py-plugins/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = [ ]; }; From 250ed83ed8a7b05d7827b936e1d98d6f220fe35e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 5 Jan 2026 03:36:34 -0800 Subject: [PATCH 0240/1216] python3Packages.pikepdf: 10.0.2 -> 10.1.0 Diff: https://github.com/pikepdf/pikepdf/compare/v10.0.2...v10.1.0 Changelog: https://github.com/pikepdf/pikepdf/blob/v10.1.0/docs/releasenotes/version10.md --- pkgs/development/python-modules/pikepdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index ba5b0106353a..eb1817e99b9c 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "pikepdf"; - version = "10.0.2"; + version = "10.1.0"; pyproject = true; src = fetchFromGitHub { @@ -38,7 +38,7 @@ buildPythonPackage rec { postFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-ncWgIcQp6/GOrNwIvwJ4nvf+SUfr0N53MXYq9LpfiB4="; + hash = "sha256-bNRzdG5oNj+653Tr2A9JGrABWNH8ZAWDOfhOafGZOjQ="; }; patches = [ From f9c27d12ca4774b74135c7f0a5f222d7e52f4325 Mon Sep 17 00:00:00 2001 From: Patryk Wychowaniec Date: Fri, 2 Jan 2026 19:22:12 +0100 Subject: [PATCH 0241/1216] clang-tools: add support for --query-driver --- .../llvm/common/clang-tools/default.nix | 38 +++++++++---------- .../compilers/llvm/common/clang-tools/wrapper | 25 +++++++++--- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/clang-tools/default.nix b/pkgs/development/compilers/llvm/common/clang-tools/default.nix index 7ecf0c5c431d..8f07cacfe522 100644 --- a/pkgs/development/compilers/llvm/common/clang-tools/default.nix +++ b/pkgs/development/compilers/llvm/common/clang-tools/default.nix @@ -11,8 +11,6 @@ }: stdenv.mkDerivation { - unwrapped = clang-unwrapped; - pname = "clang-tools"; version = lib.getVersion clang-unwrapped; dontUnpack = true; @@ -23,31 +21,29 @@ stdenv.mkDerivation { mkdir -p $out/bin - for tool in $unwrapped/bin/clang-*; do - tool=$(basename "$tool") + for toolPath in ${clang-unwrapped}/bin/clangd ${clang-unwrapped}/bin/clang-*; do + toolName=$(basename "$toolPath") - # Compilers have their own derivation, no need to include them here: - if [[ $tool == "clang-cl" || $tool == "clang-cpp" ]]; then + # Compilers have their own derivations, no need to include them here + if [[ $toolName == "clang-cl" || $toolName == "clang-cpp" || $toolName =~ ^clang\-[0-9]+$ ]]; then continue fi - # Clang's derivation produces a lot of binaries, but the tools we are - # interested in follow the `clang-something` naming convention - except - # for clang-$version (e.g. clang-13), which is the compiler again: - if [[ ! $tool =~ ^clang\-[a-zA-Z_\-]+$ ]]; then - continue - fi - - ln -s $out/bin/clangd $out/bin/$tool + cp $toolPath $out/bin/$toolName-unwrapped + substituteAll ${./wrapper} $out/bin/$toolName + chmod +x $out/bin/$toolName done - if [[ -z "$(ls -A $out/bin)" ]]; then - echo "Found no binaries - maybe their location or naming convention changed?" - exit 1 - fi - - substituteAll ${./wrapper} $out/bin/clangd - chmod +x $out/bin/clangd + # clangd etc. find standard header files by looking at the directory the + # tool is located in and appending `../lib` to the search path. Since we + # are copying the binaries, they expect to find `$out/lib` present right + # within this derivation, containing `stddef.h` and so on. + # + # Note that using `ln -s` instead of `cp` in the loop above wouldn't avoid + # this problem, since it's `clang-unwrapped` which separates libs into a + # different output in the first place - here we are merely "merging" the + # directories back together, as expected by the tools. + ln -s ${clang-unwrapped.lib}/lib $out/lib runHook postInstall ''; diff --git a/pkgs/development/compilers/llvm/common/clang-tools/wrapper b/pkgs/development/compilers/llvm/common/clang-tools/wrapper index 2cb84ece693b..fa74a18b3c9f 100755 --- a/pkgs/development/compilers/llvm/common/clang-tools/wrapper +++ b/pkgs/development/compilers/llvm/common/clang-tools/wrapper @@ -18,10 +18,23 @@ buildcpath() { echo $path${after:+':'}$after } -export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \ - $(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include -export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}${CPLUS_INCLUDE_PATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \ - $(<@clang@/nix-support/libcxx-cxxflags) \ - $(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include +# When user passes `--query-driver`, avoid extending `CPATH` et al, since we +# don't want to infect user-specified toolchain and headers with our stuff. +extendcpath=true -exec -a "$0" @unwrapped@/bin/$(basename $0) "$@" +for arg in "$@"; do + if [[ "${arg}" == \-\-query\-driver* ]]; then + extendcpath=false + fi +done + +if [ "$extendcpath" = true ]; then + export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \ + $(<@clang@/nix-support/libc-cflags)) + + export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}${CPLUS_INCLUDE_PATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \ + $(<@clang@/nix-support/libcxx-cxxflags) \ + $(<@clang@/nix-support/libc-cflags)) +fi + +@out@/bin/$(basename $0)-unwrapped "$@" From 09519744f1ba37fa16d170e61e51645d2b0c9a41 Mon Sep 17 00:00:00 2001 From: Patryk Wychowaniec Date: Fri, 2 Jan 2026 19:24:44 +0100 Subject: [PATCH 0242/1216] clang-tools: add tests --- .../llvm/common/clang-tools/default.nix | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/clang-tools/default.nix b/pkgs/development/compilers/llvm/common/clang-tools/default.nix index 8f07cacfe522..cae95a4a33ea 100644 --- a/pkgs/development/compilers/llvm/common/clang-tools/default.nix +++ b/pkgs/development/compilers/llvm/common/clang-tools/default.nix @@ -1,6 +1,8 @@ { lib, stdenv, + runCommand, + writeText, clang-unwrapped, clang, libcxxClang, @@ -10,7 +12,7 @@ enableLibcxx ? false, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "clang-tools"; version = lib.getVersion clang-unwrapped; dontUnpack = true; @@ -48,8 +50,42 @@ stdenv.mkDerivation { runHook postInstall ''; + passthru.tests.smokeOk = + let + src = writeText "main.cpp" '' + #include + + int main() { + std::cout << "Hi!"; + } + ''; + + in + runCommand "clang-tools-test-smoke-ok" { } '' + ${finalAttrs.finalPackage}/bin/clangd --check=${src} + touch $out + ''; + + passthru.tests.smokeErr = + let + src = writeText "main.cpp" '' + #include + + int main() { + std::cout << "Hi!"; + } + ''; + + in + runCommand "clang-tools-test-smoke-err" { } '' + (${finalAttrs.finalPackage}/bin/clangd --query-driver='**' --check=${src} 2>&1 || true) \ + | grep 'use of undeclared identifier' + + touch $out + ''; + meta = llvm_meta // { description = "Standalone command line tools for C++ development"; maintainers = with lib.maintainers; [ patryk27 ]; }; -} +}) From 06fe45782ba0941a1d5fadec6d75b5a75b852923 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 13:55:51 +0000 Subject: [PATCH 0243/1216] hwdata: 0.402 -> 0.403 --- pkgs/by-name/hw/hwdata/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/hw/hwdata/package.nix b/pkgs/by-name/hw/hwdata/package.nix index e5b1cecf12ff..a523b6ac82d2 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.402"; + version = "0.403"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${finalAttrs.version}"; - hash = "sha256-akLI2MdF6BDwvSoKt1jhlMyhKQv4TWxLFZWF7ivIezA="; + hash = "sha256-90Op2armm7Fg0Eyj5+Md0IMos915wqjv8cqTYVJF/NA="; }; doCheck = false; # this does build machine-specific checks (e.g. enumerates PCI bus) From e9d9ad55f67aa11cfdeb6c4b200f568d07f91d26 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 5 Jan 2026 15:59:55 +0100 Subject: [PATCH 0244/1216] onnxruntime: enable separate debug info This requires enabling structured attrs due to the use of disallowedRequisites. --- pkgs/by-name/on/onnxruntime/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index bd9e9242239b..f376bd903847 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -211,6 +211,8 @@ effectiveStdenv.mkDerivation rec { ] ++ lib.optionals pythonSupport [ "dist" ]; + separateDebugInfo = true; + enableParallelBuilding = true; cmakeDir = "../cmake"; @@ -333,6 +335,8 @@ effectiveStdenv.mkDerivation rec { ''; disallowedRequisites = lib.optionals cudaSupport [ (lib.getBin cuda_nvcc) ]; + __structuredAttrs = true; + passthru = { inherit cudaSupport cudaPackages ncclSupport; # for the python module inherit protobuf; From 63eeed098d091431e341a82540c27d2f3b0624bc Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 5 Jan 2026 16:30:17 +0100 Subject: [PATCH 0245/1216] protobuf: enable separate debug info --- pkgs/development/libraries/protobuf/generic.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix index 45b8fc5565c9..e75a9c4cb926 100644 --- a/pkgs/development/libraries/protobuf/generic.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -83,6 +83,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; + separateDebugInfo = true; + cmakeDir = if lib.versionOlder version "22" then "../cmake" else null; cmakeFlags = [ "-Dprotobuf_USE_EXTERNAL_GTEST=ON" From 2fe0aea20b614595f66044e5a534f29bed0d7a3d Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 5 Jan 2026 17:42:57 +0100 Subject: [PATCH 0246/1216] abseil-cpp: add dev output Shaves off around 5 MiBs from the main output. Signed-off-by: Marcin Serwin --- pkgs/by-name/ab/abseil-cpp/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ab/abseil-cpp/package.nix b/pkgs/by-name/ab/abseil-cpp/package.nix index a264041af441..5419ae381c67 100644 --- a/pkgs/by-name/ab/abseil-cpp/package.nix +++ b/pkgs/by-name/ab/abseil-cpp/package.nix @@ -19,6 +19,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-SCQDORhmJmTb0CYm15zjEa7dkwc+lpW2s1d4DsMRovI="; }; + outputs = [ + "out" + "dev" + ]; + cmakeFlags = [ (lib.cmakeBool "ABSL_BUILD_TEST_HELPERS" true) (lib.cmakeBool "ABSL_USE_EXTERNAL_GOOGLETEST" true) From cab2dd30f6405232cd3de811165baea3b7bf2fad Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 4 Jan 2026 20:53:43 +0000 Subject: [PATCH 0247/1216] python3Packages.astroid: 4.0.1 -> 4.0.3 Diff: https://github.com/PyCQA/astroid/compare/v4.0.1...v4.0.3 Changelog: https://github.com/PyCQA/astroid/blob/v4.0.3/ChangeLog --- .../python-modules/astroid/default.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix index 265e045d832f..16293f1b8a6a 100644 --- a/pkgs/development/python-modules/astroid/default.nix +++ b/pkgs/development/python-modules/astroid/default.nix @@ -10,23 +10,21 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "astroid"; - version = "4.0.1"; # Check whether the version is compatible with pylint + version = "4.0.3"; # Check whether the version is compatible with pylint pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "PyCQA"; repo = "astroid"; - tag = "v${version}"; - hash = "sha256-Ulifj+ym0j0LqhmKPfM8vVCjz71Gwd483ke3PkMnHb8="; + tag = "v${finalAttrs.version}"; + hash = "sha256-5p1xY6EWviSgmrLVOx3w7RcG/Vpx+sUtVndoxXrIFTQ="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [ typing-extensions ]; + dependencies = lib.optionals (pythonOlder "3.11") [ typing-extensions ]; nativeCheckInputs = [ pip @@ -48,10 +46,10 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/PyCQA/astroid/blob/v${version}/ChangeLog"; + changelog = "https://github.com/PyCQA/astroid/blob/${finalAttrs.src.tag}/ChangeLog"; description = "Abstract syntax tree for Python with inference support"; homepage = "https://github.com/PyCQA/astroid"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) From 3768d6bebd83aef6b63af2f387d9ac5fefaefda9 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 4 Jan 2026 20:52:07 +0000 Subject: [PATCH 0248/1216] python3Packages.pylint: 4.0.2 -> 4.0.4 Diff: https://github.com/pylint-dev/pylint/compare/v4.0.2...v4.0.4 Changelog: https://github.com/pylint-dev/pylint/releases/tag/v4.0.4 --- .../python-modules/pylint/default.nix | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index b53e0011d383..e8b0eed334f2 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -20,20 +20,19 @@ tomli, tomlkit, typing-extensions, + writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pylint"; - version = "4.0.2"; + version = "4.0.4"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "pylint-dev"; repo = "pylint"; - tag = "v${version}"; - hash = "sha256-DzS5ORhFWmA+eEhGDdpXdHLgWTfw198S7pQueBk44Cw="; + tag = "v${finalAttrs.version}"; + hash = "sha256-mKI/sRYl2ZwZ3JklmqBTs7vRG9EA4zDHaW61d/Xozb4="; }; build-system = [ setuptools ]; @@ -58,6 +57,7 @@ buildPythonPackage rec { pytest7CheckHook requests typing-extensions + writableTmpDirAsHomeHook ]; pytestFlags = [ @@ -69,10 +69,6 @@ buildPythonPackage rec { "-v" ]; - preCheck = '' - export HOME=$TEMPDIR - ''; - disabledTestPaths = [ "tests/benchmark" # tests miss multiple input files @@ -109,7 +105,7 @@ buildPythonPackage rec { meta = { description = "Bug and style checker for Python"; homepage = "https://pylint.readthedocs.io/en/stable/"; - changelog = "https://github.com/pylint-dev/pylint/releases/tag/v${version}"; + changelog = "https://github.com/pylint-dev/pylint/releases/tag/${finalAttrs.src.tag}"; longDescription = '' Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple @@ -123,4 +119,4 @@ buildPythonPackage rec { maintainers = [ ]; mainProgram = "pylint"; }; -} +}) From cd3604f63a9b869beaf08421274369da09bb892f Mon Sep 17 00:00:00 2001 From: lzcunt Date: Tue, 9 Dec 2025 20:25:20 +0300 Subject: [PATCH 0249/1216] gcc: reconfigure build system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split from #371092. See and for some rationale. Co-Authored-By: Arsen Arsenović --- .../compilers/gcc/common/dependencies.nix | 2 ++ .../compilers/gcc/common/pre-configure.nix | 13 +++++++++++++ pkgs/development/compilers/gcc/default.nix | 2 ++ 3 files changed, 17 insertions(+) diff --git a/pkgs/development/compilers/gcc/common/dependencies.nix b/pkgs/development/compilers/gcc/common/dependencies.nix index 7438cb64f8ea..c9e85c0d99fb 100644 --- a/pkgs/development/compilers/gcc/common/dependencies.nix +++ b/pkgs/development/compilers/gcc/common/dependencies.nix @@ -7,6 +7,7 @@ texinfo, which, gettext, + autoconf269, gnused, patchelf, gmp, @@ -41,6 +42,7 @@ in texinfo which gettext + autoconf269 ] ++ optionals (perl != null) [ perl ] ++ optionals (with stdenv.targetPlatform; isVc4 || isRedox || isSnapshot && flex != null) [ flex ] diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix index d04aadd8729d..806cbfc5b115 100644 --- a/pkgs/development/compilers/gcc/common/pre-configure.nix +++ b/pkgs/development/compilers/gcc/common/pre-configure.nix @@ -80,6 +80,19 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export inhibit_libc=true '' +# We need to reconfigure the build system in case it has been patched. Since +# gcc is patched quite often, reconfiguring it unconditionally makes sense. +# This is also good practice for a couple other reasons. +# See . ++ '' + for i in */configure.ac; do + pushd "$(dirname "$i")" + echo "Running autoreconf in $PWD" + autoconf -f + popd + done +'' + + lib.optionalString ( (!lib.systems.equals targetPlatform hostPlatform) && withoutTargetLibc && enableShared ) (import ./libgcc-buildstuff.nix { inherit lib stdenv; }) diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix index 7f5ba5aa8bf1..f7a19a73673b 100644 --- a/pkgs/development/compilers/gcc/default.nix +++ b/pkgs/development/compilers/gcc/default.nix @@ -30,6 +30,7 @@ which, patchelf, binutils, + autoconf269, isl ? null, # optional, for the Graphite optimization framework. zlib ? null, libucontext ? null, @@ -131,6 +132,7 @@ let # inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc${majorVersion}.cc.override)" | jq '.[]' --raw-output' inherit apple-sdk + autoconf269 binutils buildPackages cargo From 22d8a9fdc070c43054e9c2ca4051272ade33a056 Mon Sep 17 00:00:00 2001 From: Jasi Date: Mon, 5 Jan 2026 23:20:26 -0500 Subject: [PATCH 0250/1216] libpng: 1.6.52 -> 1.6.53 - https://raw.githubusercontent.com/pnggroup/libpng/refs/tags/v1.6.53/CHANGES --- pkgs/development/libraries/libpng/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index 7af29dedd1ac..c16b6d4a17a2 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "libpng" + whenPatched "-apng"; - version = "1.6.52"; + version = "1.6.53"; src = fetchurl { url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz"; - hash = "sha256-Nr1yYijsk6O2wi/bSelKZ7FvL+mzm3i3y2V3KWZmHMw="; + hash = "sha256-HT+4zMKTLQSqNmPiLvXvSQJENw9OVo14UBZQaHeNmNQ="; }; postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1" From 21477a04d0d8352b7b06b8f6407aacd941283623 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 6 Jan 2026 09:53:57 +0000 Subject: [PATCH 0251/1216] python3Packages.myst-parser: fix build --- pkgs/development/python-modules/myst-parser/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/myst-parser/default.nix b/pkgs/development/python-modules/myst-parser/default.nix index bd992cb1713c..238aa69094d4 100644 --- a/pkgs/development/python-modules/myst-parser/default.nix +++ b/pkgs/development/python-modules/myst-parser/default.nix @@ -34,6 +34,9 @@ buildPythonPackage rec { build-system = [ flit-core ]; + pythonRelaxDeps = [ + "markdown-it-py" + ]; dependencies = [ docutils jinja2 @@ -62,12 +65,11 @@ buildPythonPackage rec { "test_extended_syntaxes" "test_fieldlist_extension" "test_includes" + "test_commonmark" ]; pythonImportsCheck = [ "myst_parser" ]; - pythonRelaxDeps = [ "docutils" ]; - meta = { description = "Sphinx and Docutils extension to parse MyST"; homepage = "https://myst-parser.readthedocs.io/"; From fe701ec4b91310291953dfc4f413ebde75fefd49 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 6 Jan 2026 09:55:20 +0000 Subject: [PATCH 0252/1216] python3Packages.myst-parser: cleanup --- .../python-modules/myst-parser/default.nix | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/myst-parser/default.nix b/pkgs/development/python-modules/myst-parser/default.nix index 238aa69094d4..b79a05db5375 100644 --- a/pkgs/development/python-modules/myst-parser/default.nix +++ b/pkgs/development/python-modules/myst-parser/default.nix @@ -2,9 +2,11 @@ lib, buildPythonPackage, fetchFromGitHub, + + # build-system flit-core, - pythonOlder, - defusedxml, + + # dependencies docutils, jinja2, markdown-it-py, @@ -12,23 +14,24 @@ pyyaml, sphinx, typing-extensions, + + # tests beautifulsoup4, + defusedxml, pytest-param-files, pytest-regressions, - sphinx-pytest, pytestCheckHook, + sphinx-pytest, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "myst-parser"; version = "4.0.1"; pyproject = true; - disabled = pythonOlder "3.10"; - src = fetchFromGitHub { owner = "executablebooks"; repo = "myst-parser"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-/Prauz4zuJY39EK2BmgBbH1uwjF4K38e5X5hPYwRBl0="; }; @@ -40,8 +43,8 @@ buildPythonPackage rec { dependencies = [ docutils jinja2 - mdit-py-plugins markdown-it-py + mdit-py-plugins pyyaml sphinx typing-extensions @@ -52,20 +55,20 @@ buildPythonPackage rec { defusedxml pytest-param-files pytest-regressions - sphinx-pytest pytestCheckHook + sphinx-pytest ] ++ markdown-it-py.optional-dependencies.linkify; disabledTests = [ # sphinx 8.2 compat # https://github.com/executablebooks/MyST-Parser/issues/1030 - "test_sphinx_directives" - "test_references_singlehtml" + "test_commonmark" "test_extended_syntaxes" "test_fieldlist_extension" "test_includes" - "test_commonmark" + "test_references_singlehtml" + "test_sphinx_directives" ]; pythonImportsCheck = [ "myst_parser" ]; @@ -73,8 +76,8 @@ buildPythonPackage rec { meta = { description = "Sphinx and Docutils extension to parse MyST"; homepage = "https://myst-parser.readthedocs.io/"; - changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/v${version}/CHANGELOG.md"; + changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ loicreynier ]; }; -} +}) From c4d4a899bf70067c72708deefe9049b3cef52521 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 11:42:51 +0100 Subject: [PATCH 0253/1216] glslang: only enable shared builds for non-static hosts Signed-off-by: Marcin Serwin --- pkgs/by-name/gl/glslang/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index e62d8596d31c..ea9cbc57b14a 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -39,7 +39,9 @@ stdenv.mkDerivation rec { jq ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; + cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + ]; postPatch = '' cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools From c110fbdba85eba5ba211f4e47222e8113c2bb01b Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 11:42:51 +0100 Subject: [PATCH 0254/1216] glslang: use spirv-tools from nixpkgs Signed-off-by: Marcin Serwin --- pkgs/by-name/gl/glslang/package.nix | 32 ++++++++--------------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index ea9cbc57b14a..09d650f67660 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -26,12 +26,6 @@ stdenv.mkDerivation rec { "dev" ]; - # These get set at all-packages, keep onto them for child drvs - passthru = { - spirv-tools = spirv-tools; - spirv-headers = spirv-headers; - }; - nativeBuildInputs = [ cmake python3 @@ -39,28 +33,18 @@ stdenv.mkDerivation rec { jq ]; - cmakeFlags = [ - (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + propagatedBuildInputs = [ + spirv-tools + spirv-headers ]; - postPatch = '' - cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools - ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers - ''; + cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "BUILD_EXTERNAL" false) + (lib.cmakeBool "ALLOW_EXTERNAL_SPIRV_TOOLS" true) + ]; - # This is a dirty fix for lib/cmake/SPIRVTargets.cmake:51 which includes this directory postInstall = '' - mkdir -p $dev/include/External - moveToOutput lib/pkgconfig "''${!outputDev}" - moveToOutput lib/cmake "''${!outputDev}" - ''; - - # Fix the paths in .pc, even though it's unclear if these .pc are really useful. - postFixup = '' - substituteInPlace $dev/lib/pkgconfig/*.pc \ - --replace-fail '=''${prefix}//' '=/' \ - --replace-fail "includedir=$dev/$dev" "includedir=$dev" - # add a symlink for backwards compatibility ln -s $bin/bin/glslang $bin/bin/glslangValidator ''; From 8f18ecfe81e1fa1a9cbd0c5b363fffa8975069df Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 12:04:05 +0100 Subject: [PATCH 0255/1216] glslang: switch to finalAttrs pattern --- pkgs/by-name/gl/glslang/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index 09d650f67660..7a6bc8db8f66 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -9,14 +9,14 @@ spirv-headers, spirv-tools, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "glslang"; version = "16.1.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = version; + rev = finalAttrs.version; hash = "sha256-cEREniYgSd62mnvKaQkgs69ETL5pLl5Gyv3hKOtSv3w="; }; @@ -50,10 +50,10 @@ stdenv.mkDerivation rec { ''; meta = { - inherit (src.meta) homepage; + inherit (finalAttrs.src.meta) homepage; description = "Khronos reference front-end for GLSL and ESSL"; license = lib.licenses.asl20; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.ralith ]; }; -} +}) From 9ab760a94fe7ed28e9e20275b0bf6df30685985d Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 12:04:05 +0100 Subject: [PATCH 0256/1216] glslang: drop unused nativeBuildInputs Signed-off-by: Marcin Serwin --- pkgs/by-name/gl/glslang/package.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index 7a6bc8db8f66..0e1da5e5a81d 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -2,9 +2,7 @@ lib, stdenv, fetchFromGitHub, - bison, cmake, - jq, python3, spirv-headers, spirv-tools, @@ -29,8 +27,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake python3 - bison - jq ]; propagatedBuildInputs = [ From 1358848933851395cc6ae81c6931e7f1532f78fb Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 12:54:38 +0100 Subject: [PATCH 0257/1216] glslang: change rev to tag Signed-off-by: Marcin Serwin --- pkgs/by-name/gl/glslang/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index 0e1da5e5a81d..5eadb09b215f 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = finalAttrs.version; + tag = finalAttrs.version; hash = "sha256-cEREniYgSd62mnvKaQkgs69ETL5pLl5Gyv3hKOtSv3w="; }; From 9e4a546ad109450684c31081cc4b7e4a1b6b71d0 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 16:22:19 -0800 Subject: [PATCH 0258/1216] ncurses: 6.5 -> 6.6 Remove gnuabielfv patch as upstream simplified their host pattern matching from explicit variants to `linux*gnu*` wildcard, which now covers `linux*gnuabielfv{1,2}` automatically. Announcements & Release Notes: - https://invisible-island.net/ncurses/announce.html#h2-release-notes - https://lists.gnu.org/archive/html/info-gnu/2025-12/msg00010.html --- .../1001-ncurses-Support-gnuabielfv1-2.patch | 72 ------------------- .../development/libraries/ncurses/default.nix | 12 +--- 2 files changed, 2 insertions(+), 82 deletions(-) delete mode 100644 pkgs/development/libraries/ncurses/1001-ncurses-Support-gnuabielfv1-2.patch diff --git a/pkgs/development/libraries/ncurses/1001-ncurses-Support-gnuabielfv1-2.patch b/pkgs/development/libraries/ncurses/1001-ncurses-Support-gnuabielfv1-2.patch deleted file mode 100644 index 6ce69e6846cb..000000000000 --- a/pkgs/development/libraries/ncurses/1001-ncurses-Support-gnuabielfv1-2.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff '--color=auto' -ruN a/aclocal.m4 b/aclocal.m4 ---- a/aclocal.m4 2025-07-19 18:19:51.000000000 +0200 -+++ b/aclocal.m4 2025-07-25 14:11:19.900876172 +0200 -@@ -10290,7 +10290,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) -+(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnuabielfv*|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) - CF_GNU_SOURCE($cf_XOPEN_SOURCE) - ;; - linux*musl) -diff '--color=auto' -ruN a/Ada95/aclocal.m4 b/Ada95/aclocal.m4 ---- a/Ada95/aclocal.m4 2025-07-19 18:38:31.000000000 +0200 -+++ b/Ada95/aclocal.m4 2025-07-25 14:11:57.495783459 +0200 -@@ -5430,7 +5430,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) -+(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnuabielfv*|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) - CF_GNU_SOURCE($cf_XOPEN_SOURCE) - ;; - linux*musl) -diff '--color=auto' -ruN a/Ada95/configure b/Ada95/configure ---- a/Ada95/configure 2025-07-19 18:40:05.000000000 +0200 -+++ b/Ada95/configure 2025-07-25 14:11:49.981449762 +0200 -@@ -13955,7 +13955,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) -+(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnuabielfv*|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) - - cf_gnu_xopen_source=$cf_XOPEN_SOURCE - -diff '--color=auto' -ruN a/configure b/configure ---- a/configure 2025-07-19 19:00:40.000000000 +0200 -+++ b/configure 2025-07-25 14:11:02.884551699 +0200 -@@ -10737,7 +10737,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) -+(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnuabielfv*|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) - - cf_gnu_xopen_source=$cf_XOPEN_SOURCE - -diff '--color=auto' -ruN a/test/aclocal.m4 b/test/aclocal.m4 ---- a/test/aclocal.m4 2025-07-19 18:42:37.000000000 +0200 -+++ b/test/aclocal.m4 2025-07-25 14:11:41.551475534 +0200 -@@ -4658,7 +4658,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) -+(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnuabielfv*|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) - CF_GNU_SOURCE($cf_XOPEN_SOURCE) - ;; - linux*musl) -diff '--color=auto' -ruN a/test/configure b/test/configure ---- a/test/configure 2025-06-14 15:40:22.000000000 +0200 -+++ b/test/configure 2025-07-25 14:11:34.529155110 +0200 -@@ -4183,7 +4183,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) -+(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnuabielfv*|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc) - - cf_gnu_xopen_source=$cf_XOPEN_SOURCE - diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 54859b14d021..42f603449222 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -18,12 +18,12 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "6.5"; + version = "6.6"; pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat"; src = fetchurl { url = "https://invisible-island.net/archives/ncurses/ncurses-${finalAttrs.version}.tar.gz"; - hash = "sha256-E22RvCaamleF5fnpgLx2q1dCj2BM4+WlqQzrx2eXHMY="; + hash = "sha256-NVtMu+2ICwOBoExGYXt2VuNiWF1S6c+Epn4gCbdJ/xE="; }; outputs = [ @@ -34,14 +34,6 @@ stdenv.mkDerivation (finalAttrs: { setOutputFlags = false; # some aren't supported separateDebugInfo = false; - patches = [ - # linux-gnuabielfv{1,2} is not in ncurses' list of GNU-ish targets (or smth like that?). - # Causes some defines (_XOPEN_SOURCE=600, _DEFAULT_SOURCE) to not get set, so wcwidth is not exposed by system headers, which causes a FTBFS. - # Reported and fix submitted to upstream in https://lists.gnu.org/archive/html/bug-ncurses/2025-07/msg00040.html - # Backported to the 6.5 release (dropped some hunks for code that isn't in this release yet) - ./1001-ncurses-Support-gnuabielfv1-2.patch - ]; - postPatch = '' sed -i '1i #include ' include/curses.h.in ''; From a5417bb95e0971d72bc1023a0eb67226a6d87171 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 15:15:23 +0100 Subject: [PATCH 0259/1216] shaderc: move to by-name Signed-off-by: Marcin Serwin --- .../shaderc/default.nix => by-name/sh/shaderc/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) rename pkgs/{development/compilers/shaderc/default.nix => by-name/sh/shaderc/package.nix} (97%) diff --git a/pkgs/development/compilers/shaderc/default.nix b/pkgs/by-name/sh/shaderc/package.nix similarity index 97% rename from pkgs/development/compilers/shaderc/default.nix rename to pkgs/by-name/sh/shaderc/package.nix index d8ef7d21f543..0f5d7d3b5b56 100644 --- a/pkgs/development/compilers/shaderc/default.nix +++ b/pkgs/by-name/sh/shaderc/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, cmake, python3, - autoSignDarwinBinariesHook, + darwin, cctools, }: # Like many google projects, shaderc doesn't gracefully support separately @@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook + darwin.autoSignDarwinBinariesHook ]; postInstall = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 45fda231747f..694061e2fa95 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10187,10 +10187,6 @@ with pkgs; protobuf = protobuf_21; # https://github.com/blueprint-freespeech/ricochet-refresh/issues/178 }; - shaderc = callPackage ../development/compilers/shaderc { - inherit (darwin) autoSignDarwinBinariesHook; - }; - scheherazade-new = scheherazade.override { version = "4.400"; }; From 5a47b12dfcd1b909ba35778a866394430054319a Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 15:17:37 +0100 Subject: [PATCH 0260/1216] shaderc: unvendor glslang Signed-off-by: Marcin Serwin --- pkgs/by-name/sh/shaderc/package.nix | 57 ++++++------------- .../by-name/sh/shaderc/unvendor-glslang.patch | 49 ++++++++++++++++ 2 files changed, 67 insertions(+), 39 deletions(-) create mode 100644 pkgs/by-name/sh/shaderc/unvendor-glslang.patch diff --git a/pkgs/by-name/sh/shaderc/package.nix b/pkgs/by-name/sh/shaderc/package.nix index 0f5d7d3b5b56..40f66f9e0e64 100644 --- a/pkgs/by-name/sh/shaderc/package.nix +++ b/pkgs/by-name/sh/shaderc/package.nix @@ -2,40 +2,14 @@ lib, stdenv, fetchFromGitHub, + replaceVars, cmake, python3, darwin, cctools, + glslang, + spirv-tools, }: -# Like many google projects, shaderc doesn't gracefully support separately -# compiled dependencies, so we can't easily use the versions of glslang and -# spirv-tools used by vulkan-loader. Exact revisions are taken from -# https://github.com/google/shaderc/blob/known-good/known_good.json - -# Future work: extract and fetch all revisions automatically based on a revision -# of shaderc's known-good branch. -let - glslang = fetchFromGitHub { - owner = "KhronosGroup"; - repo = "glslang"; - # No corresponding tag for efd24d75bcbc55620e759f6bf42c45a32abac5f8 on 2025-06-23 - rev = "efd24d75bcbc55620e759f6bf42c45a32abac5f8"; - hash = "sha256-wMd1ylwDOM/uBbhpyMAduM9X7ao08TNq3HdoNGfSjcQ="; - }; - spirv-tools = fetchFromGitHub { - owner = "KhronosGroup"; - repo = "SPIRV-Tools"; - rev = "v2025.3.rc1"; - hash = "sha256-yAdd/mXY8EJnE0vCu0n/aVxMH9059T/7cAdB9nP1vQQ="; - }; - spirv-headers = fetchFromGitHub { - owner = "KhronosGroup"; - repo = "SPIRV-Headers"; - # No corresponding tag for 2a611a970fdbc41ac2e3e328802aed9985352dca on 2025-06-19 - rev = "2a611a970fdbc41ac2e3e328802aed9985352dca"; - hash = "sha256-LRjMy9xtOErbJbMh+g2IKXfmo/hWpegZM72F8E122oY="; - }; -in stdenv.mkDerivation (finalAttrs: { pname = "shaderc"; version = "2025.3"; @@ -55,11 +29,19 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-q5Z0wER8DbkmfT/MNrmnn9J9rzur2YjzAncaO1aRNXA="; }; + patches = [ + (replaceVars ./unvendor-glslang.patch { + shaderc-version = finalAttrs.version; + spirv-tools-version = spirv-tools.version; + glslang-version = glslang.version; + }) + ]; + postPatch = '' - cp -r --no-preserve=mode ${glslang} third_party/glslang - cp -r --no-preserve=mode ${spirv-tools} third_party/spirv-tools - ln -s ${spirv-headers} third_party/spirv-tools/external/spirv-headers patchShebangs --build utils/ + + substituteInPlace cmake/*.pc.in \ + --replace-fail $'{prefix}/@CMAKE_INSTALL_' '@CMAKE_INSTALL_FULL_' ''; nativeBuildInputs = [ @@ -71,19 +53,16 @@ stdenv.mkDerivation (finalAttrs: { darwin.autoSignDarwinBinariesHook ]; + propagatedBuildInputs = [ + glslang + ]; + postInstall = '' moveToOutput "lib/*.a" $static ''; cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ]; - # Fix the paths in .pc, even though it's unclear if all these .pc are really useful. - postFixup = '' - substituteInPlace "$dev"/lib/pkgconfig/*.pc \ - --replace-fail '=''${prefix}//' '=/' \ - --replace-fail "$dev/$dev/" "$dev/" - ''; - meta = { description = "Collection of tools, libraries and tests for shader compilation"; inherit (finalAttrs.src.meta) homepage; diff --git a/pkgs/by-name/sh/shaderc/unvendor-glslang.patch b/pkgs/by-name/sh/shaderc/unvendor-glslang.patch new file mode 100644 index 000000000000..5e8ee0ff570f --- /dev/null +++ b/pkgs/by-name/sh/shaderc/unvendor-glslang.patch @@ -0,0 +1,49 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06f5395..a23a573 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -130,7 +130,9 @@ endif(MSVC) + + # Configure subdirectories. + # We depend on these for later projects, so they should come first. +-add_subdirectory(third_party) ++find_package(glslang REQUIRED CONFIG) ++get_target_property(glslang_includes glslang::glslang INTERFACE_INCLUDE_DIRECTORIES) ++set(glslang_SOURCE_DIR "${glslang_includes}/glslang") + + add_subdirectory(libshaderc_util) + add_subdirectory(libshaderc) +@@ -142,7 +144,7 @@ endif() + add_custom_target(build-version + ${Python_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py +- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ++ dummy dummy dummy ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc + COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") + + function(define_pkg_config_file NAME LIBS) +diff --git a/utils/update_build_version.py b/utils/update_build_version.py +index b7ce5b8..fcb0432 100755 +--- a/utils/update_build_version.py ++++ b/utils/update_build_version.py +@@ -120,11 +120,15 @@ def get_version_string(project, directory): + """Returns a detailed version string for a given project with its + directory, which consists of software version string and git description + string.""" +- detailed_version_string_lst = [project] +- if project != 'glslang': +- detailed_version_string_lst.append(deduce_software_version(directory)) +- detailed_version_string_lst.append(describe(directory).replace('"', '\\"')) +- return ' '.join(detailed_version_string_lst) ++ match project: ++ case "shaderc": ++ return "shaderc v@shaderc-version@" ++ case "spirv-tools": ++ return "spirv-tools v@spirv-tools-version@" ++ case "glslang": ++ return "glslang v@glslang-version@" ++ case _: ++ sys.exit(1) + + + def main(): From 4f24c25cdffc0faf850a67003efb545b046aa664 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 16:14:31 +0100 Subject: [PATCH 0261/1216] shaderc: add versionCheckHook --- pkgs/by-name/sh/shaderc/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/sh/shaderc/package.nix b/pkgs/by-name/sh/shaderc/package.nix index 40f66f9e0e64..8e60f4868256 100644 --- a/pkgs/by-name/sh/shaderc/package.nix +++ b/pkgs/by-name/sh/shaderc/package.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, replaceVars, + versionCheckHook, cmake, python3, darwin, @@ -63,10 +64,17 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ]; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + meta = { description = "Collection of tools, libraries and tests for shader compilation"; inherit (finalAttrs.src.meta) homepage; license = lib.licenses.asl20; platforms = lib.platforms.all; + mainProgram = "glslc"; }; }) From 401c6239203fcf984b57e0b0002c90f297d39476 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 16:14:31 +0100 Subject: [PATCH 0262/1216] shaderc: 2025.3 -> 2025.5 Signed-off-by: Marcin Serwin --- pkgs/by-name/sh/shaderc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sh/shaderc/package.nix b/pkgs/by-name/sh/shaderc/package.nix index 8e60f4868256..b9e2e157f7d3 100644 --- a/pkgs/by-name/sh/shaderc/package.nix +++ b/pkgs/by-name/sh/shaderc/package.nix @@ -13,7 +13,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "shaderc"; - version = "2025.3"; + version = "2025.5"; outputs = [ "out" @@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "google"; repo = "shaderc"; rev = "v${finalAttrs.version}"; - hash = "sha256-q5Z0wER8DbkmfT/MNrmnn9J9rzur2YjzAncaO1aRNXA="; + hash = "sha256-PmGRZDXblrBhZe16QfpHfRdsRhXnGsN7o+qh14nlOUQ="; }; patches = [ From 6df9ec335e2eb59abb9130adb7e805e9090275b3 Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Tue, 6 Jan 2026 18:42:57 +0100 Subject: [PATCH 0263/1216] mdbook: 0.5.1 -> 0.5.2 --- pkgs/by-name/md/mdbook/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/md/mdbook/package.nix b/pkgs/by-name/md/mdbook/package.nix index 010aabc320d4..66c14abfb130 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.1"; + version = "0.5.2"; in rustPlatform.buildRustPackage rec { inherit version; @@ -18,10 +18,10 @@ rustPlatform.buildRustPackage rec { owner = "rust-lang"; repo = "mdBook"; tag = "v${version}"; - hash = "sha256-t7Qou3H6dlO97puWQGkPlyb0jjpGoYCrz041iZWWL/s="; + hash = "sha256-gyjD47ZR9o2lIxipzesyJ6mxb9J9W+WS77TNWhKHP6U="; }; - cargoHash = "sha256-bJr0u025syrP/LGgIbXD0mRvQrvnnOntiaAfr/9tQ90="; + cargoHash = "sha256-230KljOUSrDy8QCQki7jvJvdAsjVlUEjKDNVyTF4tWs="; nativeBuildInputs = [ installShellFiles ]; From a743aaee0054c9c2e81d435880243c50f71db7f0 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 5 Jan 2026 22:54:40 +0000 Subject: [PATCH 0264/1216] ed: 1.22.3 -> 1.22.4 Changes: https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00002.html --- pkgs/by-name/ed/ed/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ed/ed/package.nix b/pkgs/by-name/ed/ed/package.nix index a541f87ea020..e8b781af7ffd 100644 --- a/pkgs/by-name/ed/ed/package.nix +++ b/pkgs/by-name/ed/ed/package.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "ed"; - version = "1.22.3"; # Check if Darwin tests were fixed before updating. + version = "1.22.4"; src = fetchurl { url = "mirror://gnu/ed/ed-${finalAttrs.version}.tar.lz"; - hash = "sha256-R6Vd38UtSh/291WfvQDPlIoWts8VHsUgOSdhrq5Ol74="; + hash = "sha256-mHoeu7rT/PY6H/qeKbP6feBlFQ0WMZ0KSd2LV/gdPpw="; }; nativeBuildInputs = [ lzip ]; @@ -31,8 +31,7 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - # https://github.com/NixOS/nixpkgs/pull/471828 - doCheck = !stdenv.buildPlatform.isDarwin; + doCheck = true; passthru = { tests.version = testers.testVersion { From 77ea24c325569e50ca9b17574e02d95ceda59260 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 18:53:40 +0100 Subject: [PATCH 0265/1216] glslang: add throwing aliases for removed passthru packages Signed-off-by: Marcin Serwin --- pkgs/by-name/gl/glslang/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index 5eadb09b215f..b0fcf1bf56f5 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -6,6 +6,7 @@ python3, spirv-headers, spirv-tools, + config, }: stdenv.mkDerivation (finalAttrs: { pname = "glslang"; @@ -45,6 +46,14 @@ stdenv.mkDerivation (finalAttrs: { ln -s $bin/bin/glslang $bin/bin/glslangValidator ''; + passthru = lib.optionalAttrs config.allowAliases { + # Added 2026-01-06, https://github.com/NixOS/nixpkgs/pull/477412 + spirv-tools = throw "'glslang' no longer pins to specific 'spirv-tools'"; + + # Added 2026-01-06, https://github.com/NixOS/nixpkgs/pull/477412 + spirv-headers = throw "'glslang' no longer pins to specific 'spirv-headers'"; + }; + meta = { inherit (finalAttrs.src.meta) homepage; description = "Khronos reference front-end for GLSL and ESSL"; From 56917caa5bfc6011573f4dc66446faaf67f5caab Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 29 Sep 2025 16:00:59 -0300 Subject: [PATCH 0266/1216] libxcrypt: fix cygwin build --- .../libraries/libxcrypt/default.nix | 11 ++++++-- .../libxcrypt/fix-symver-on-non-elf.patch | 26 +++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/libxcrypt/fix-symver-on-non-elf.patch diff --git a/pkgs/development/libraries/libxcrypt/default.nix b/pkgs/development/libraries/libxcrypt/default.nix index 532ed09b5942..4387d24a61e4 100644 --- a/pkgs/development/libraries/libxcrypt/default.nix +++ b/pkgs/development/libraries/libxcrypt/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, perl, # Update the enabled crypt scheme ids in passthru when the enabled hashes change enableHashes ? "strong", @@ -19,6 +20,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cVE6McAaQovM1TZ6Mv2V8RXW2sUPtbYMd51ceUKuwHE="; }; + patches = [ + # https://github.com/besser82/libxcrypt/pull/221 + ./fix-symver-on-non-elf.patch + ]; + # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion # necessary for FreeBSD code path in configure postPatch = '' @@ -36,7 +42,8 @@ stdenv.mkDerivation (finalAttrs: { "--disable-failure-tokens" # required for musl, android, march=native "--disable-werror" - ]; + ] + ++ lib.optional stdenv.hostPlatform.isCygwin "--disable-symvers"; makeFlags = let @@ -44,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: { in [ ] # fixes: can't build x86_64-w64-mingw32 shared library unless -no-undefined is specified - ++ lib.optionals stdenv.hostPlatform.isWindows [ "LDFLAGS+=-no-undefined" ] + ++ lib.optionals stdenv.hostPlatform.isPE [ "LDFLAGS+=-no-undefined" ] # lld 17 sets `--no-undefined-version` by default and `libxcrypt`'s # version script unconditionally lists legacy compatibility symbols, even diff --git a/pkgs/development/libraries/libxcrypt/fix-symver-on-non-elf.patch b/pkgs/development/libraries/libxcrypt/fix-symver-on-non-elf.patch new file mode 100644 index 000000000000..0f5f298d3380 --- /dev/null +++ b/pkgs/development/libraries/libxcrypt/fix-symver-on-non-elf.patch @@ -0,0 +1,26 @@ +From 2806cc84abb7bf6aa9d9ff062944d664ab644127 Mon Sep 17 00:00:00 2001 +From: David McFarland +Date: Fri, 2 Jan 2026 13:09:02 -0400 +Subject: [PATCH] Fix compilation on Cygwin + +Cygwin uses COFF like Windows, so it needs the symver stub. +--- + lib/crypt-port.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/crypt-port.h b/lib/crypt-port.h +index 23c7efa..0c90ade 100644 +--- a/lib/crypt-port.h ++++ b/lib/crypt-port.h +@@ -205,7 +205,7 @@ extern size_t strcpy_or_abort (void *dst, size_t d_size, const void *src); + __asm__(".globl _" extstr); \ + __asm__(".set _" extstr ", _" #intname) + +-#elif defined _WIN32 ++#elif defined _WIN32 || defined __CYGWIN__ + + /* .symver is only supported for ELF format, Windows uses COFF/PE */ + # define symver_set(extstr, intname, version, mode) +-- +2.51.2 + From 45b1bbef701502130d1e97ecd681dd0909365bfe Mon Sep 17 00:00:00 2001 From: Yureka Date: Tue, 6 Jan 2026 23:38:11 +0100 Subject: [PATCH 0267/1216] pkgsMusl.which: fix build --- pkgs/by-name/wh/which/gcc15.patch | 44 +++++++++++++++++++++++++++++++ pkgs/by-name/wh/which/package.nix | 3 +++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/by-name/wh/which/gcc15.patch diff --git a/pkgs/by-name/wh/which/gcc15.patch b/pkgs/by-name/wh/which/gcc15.patch new file mode 100644 index 000000000000..13708c5b3646 --- /dev/null +++ b/pkgs/by-name/wh/which/gcc15.patch @@ -0,0 +1,44 @@ +From 16a1647fc26953fab659de5f55d4c0defdfb894f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Mar 2025 17:56:19 -0700 +Subject: [PATCH] getopt: Fix signature of getenv function + +This happens on musl systems using GCC 15 + +../which-2.21/getopt.h:106:12: error: conflicting types for 'getopt'; have +'int(void)' + 106 | extern int getopt (); + | ^~~~~~ +--- +Link: https://lists.gnu.org/archive/html/which-bugs/2025-03/msg00000.html + getopt.c | 2 +- + getopt.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/getopt.c b/getopt.c +index 9ac2ed6..7e14270 100644 +--- a/getopt.c ++++ b/getopt.c +@@ -205,7 +205,7 @@ static char *posixly_correct; + /* Avoid depending on library functions or files + whose names are inconsistent. */ + +-char *getenv(); ++char *getenv(const char*); + + static char *my_index(str, chr) const char *str; + int chr; +diff --git a/getopt.h b/getopt.h +index f080053..635fc46 100644 +--- a/getopt.h ++++ b/getopt.h +@@ -102,7 +102,7 @@ struct option { + errors, only prototype getopt for the GNU C library. */ + extern int getopt(int argc, char *const *argv, const char *shortopts); + #else /* not __GNU_LIBRARY__ */ +-extern int getopt(); ++extern int getopt(int, char * const [], const char *); + #endif /* __GNU_LIBRARY__ */ + extern int getopt_long(int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); + extern int getopt_long_only(int argc, char *const *argv, const char *shortopts, const struct option *longopts, + diff --git a/pkgs/by-name/wh/which/package.nix b/pkgs/by-name/wh/which/package.nix index c03d7a711da9..dc4442577ce8 100644 --- a/pkgs/by-name/wh/which/package.nix +++ b/pkgs/by-name/wh/which/package.nix @@ -13,6 +13,9 @@ stdenv.mkDerivation (finalAttrs: { url = "mirror://gnu/which/which-${finalAttrs.version}.tar.gz"; hash = "sha256-osVYIm/E2eTOMxvS/Tw/F/lVEV0sAORHYYpO+ZeKKnM="; }; + patches = [ + ./gcc15.patch + ]; strictDeps = true; enableParallelBuilding = true; From b975cf986388172f04e05a122e1e4e6f7e3ec0f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 7 Jan 2026 08:41:46 +0000 Subject: [PATCH 0268/1216] python3Packages.galois: 0.4.7 -> 0.4.10 --- pkgs/development/python-modules/galois/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/galois/default.nix b/pkgs/development/python-modules/galois/default.nix index 4931d8b2e7b1..1c2f3b3f30c7 100644 --- a/pkgs/development/python-modules/galois/default.nix +++ b/pkgs/development/python-modules/galois/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "galois"; - version = "0.4.7"; + version = "0.4.10"; pyproject = true; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "mhostetter"; repo = "galois"; tag = "v${version}"; - hash = "sha256-YVAmjmkAhU518x+eCCgA6RY99XPQ5s+xvonkaoc5t8A="; + hash = "sha256-0Fj/KYfR6SVfG7/uTo0mNrU1mv/QkKD8ja1dyDYVG/0="; }; pythonRelaxDeps = [ From 1611ba4873fee8965a30e8bee26fd8c9364366f8 Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 29 Dec 2025 17:13:13 +0100 Subject: [PATCH 0269/1216] Revert "gnumake: fix build with musl" This reverts commit 893e5e74d2d6f6828299a3dfa78868a7e9d48aee. The change is re-introduced in the following commit without gating patches to musl. --- .../tools/build-managers/gnumake/default.nix | 4 +- ...004-Fix-signatures-for-getenv-getopt.patch | 50 ------------------- ...005-Fix-signatures-for-getenv-getopt.patch | 34 ------------- 3 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 pkgs/development/tools/build-managers/gnumake/musl-patches/0004-Fix-signatures-for-getenv-getopt.patch delete mode 100644 pkgs/development/tools/build-managers/gnumake/musl-patches/0005-Fix-signatures-for-getenv-getopt.patch diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index 6c02cf3a21bf..c6840241c609 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -37,9 +37,7 @@ stdenv.mkDerivation (finalAttrs: { # TODO: stdenv’s setup.sh should be aware of patch directories. It’s very # convenient to keep them in a separate directory but we can defer listing the # directory until derivation realization to avoid unnecessary Nix evaluations. - patches = - lib.filesystem.listFilesRecursive ./patches - ++ lib.optionals stdenv.hostPlatform.isMusl (lib.filesystem.listFilesRecursive ./musl-patches); + patches = lib.filesystem.listFilesRecursive ./patches; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/development/tools/build-managers/gnumake/musl-patches/0004-Fix-signatures-for-getenv-getopt.patch b/pkgs/development/tools/build-managers/gnumake/musl-patches/0004-Fix-signatures-for-getenv-getopt.patch deleted file mode 100644 index f37b7a49e341..000000000000 --- a/pkgs/development/tools/build-managers/gnumake/musl-patches/0004-Fix-signatures-for-getenv-getopt.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 776f707b5bb67d4c0c15f981b5a1b6d7f3a9cebc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 22 Mar 2025 14:24:57 -0700 -Subject: [PATCH 4/5] Fix signatures for getenv/getopt - -GCC-15 complains about missing parameters, this gets found -out when using non-glibc ( e.g. musl ) C library - -Fixes -lib/fnmatch.c:124:14: error: conflicting types for 'getenv'; have 'char *(void)' -| 124 | extern char *getenv (); -| | ^~~~~~ - -src/getopt.c: Define parameters of getenv() and getopt(). -src/getopt.h: Ditto. ---- -Link: https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html - src/getopt.c | 2 +- - src/getopt.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/getopt.c b/src/getopt.c -index 7a792de8..76251ccb 100644 ---- a/src/getopt.c -+++ b/src/getopt.c -@@ -202,7 +202,7 @@ static char *posixly_correct; - whose names are inconsistent. */ - - #ifndef getenv --extern char *getenv (); -+extern char *getenv (const char *); - #endif - - static char * -diff --git a/src/getopt.h b/src/getopt.h -index df18ceeb..d8bb2263 100644 ---- a/src/getopt.h -+++ b/src/getopt.h -@@ -102,7 +102,7 @@ struct option - errors, only prototype getopt for the GNU C library. */ - extern int getopt (int argc, char *const *argv, const char *shortopts); - #else /* not __GNU_LIBRARY__ */ --extern int getopt (); -+extern int getopt (int, char * const*, const char *); - #endif /* __GNU_LIBRARY__ */ - extern int getopt_long (int argc, char *const *argv, const char *shortopts, - const struct option *longopts, int *longind); --- -2.51.2 - diff --git a/pkgs/development/tools/build-managers/gnumake/musl-patches/0005-Fix-signatures-for-getenv-getopt.patch b/pkgs/development/tools/build-managers/gnumake/musl-patches/0005-Fix-signatures-for-getenv-getopt.patch deleted file mode 100644 index c594ba27c2a9..000000000000 --- a/pkgs/development/tools/build-managers/gnumake/musl-patches/0005-Fix-signatures-for-getenv-getopt.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a4169ae60a7cb2c2bc788daa2c91441cc807acbc Mon Sep 17 00:00:00 2001 -From: Yureka -Date: Mon, 22 Dec 2025 20:53:31 +0100 -Subject: [PATCH 5/5] Fix signatures for getenv/getopt - -As the previous commit, this fixes GCC-15 complaining about mismatching -definitions with non-glibc (musl) C library. - -Fixes -lib/fnmatch.c:124:14: error: conflicting types for 'getenv'; have 'char *(void)' -| 124 | extern char *getenv (); -| | ^~~~~~ - -lib/fnmatch.c: Define parameters of getenv() ---- - lib/fnmatch.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/fnmatch.c b/lib/fnmatch.c -index 01da376b..cb1c856b 100644 ---- a/lib/fnmatch.c -+++ b/lib/fnmatch.c -@@ -121,7 +121,7 @@ USA. */ - whose names are inconsistent. */ - - # if !defined _LIBC && !defined getenv --extern char *getenv (); -+extern char *getenv (const char *); - # endif - - # ifndef errno --- -2.51.2 - From cc060436285ded4b51b99f653ef1769c58021f10 Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 22 Dec 2025 20:50:58 +0100 Subject: [PATCH 0270/1216] gnumake: fix build with musl The patch for getopt.{c,h} was sent to the mailing list in March and did not get any replies: https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html I added the second patch fixing the same issue in lib/fnmatch.c. --- .../patches/0001-No-impure-bin-sh.patch | 2 +- .../patches/0002-Remove-impure-dirs.patch | 6 +-- ...ch-for-a-C-compiler-and-set-MAKE_CXX.patch | 6 +-- ...004-Fix-signatures-for-getenv-getopt.patch | 50 +++++++++++++++++++ ...005-Fix-signatures-for-getenv-getopt.patch | 34 +++++++++++++ 5 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/tools/build-managers/gnumake/patches/0004-Fix-signatures-for-getenv-getopt.patch create mode 100644 pkgs/development/tools/build-managers/gnumake/patches/0005-Fix-signatures-for-getenv-getopt.patch diff --git a/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch b/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch index b553b31d997d..cd30fd38be02 100644 --- a/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch +++ b/pkgs/development/tools/build-managers/gnumake/patches/0001-No-impure-bin-sh.patch @@ -1,7 +1,7 @@ From 532276a537fbfc08c946c9f808f1b0bb54e16523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 24 Apr 2021 10:11:40 +0200 -Subject: [PATCH 1/3] No impure bin sh +Subject: [PATCH 1/5] No impure bin sh default_shell is used to populuate default shell used to execute jobs. Unless SHELL is set to a different value this would be /bin/sh. diff --git a/pkgs/development/tools/build-managers/gnumake/patches/0002-Remove-impure-dirs.patch b/pkgs/development/tools/build-managers/gnumake/patches/0002-Remove-impure-dirs.patch index 8ba6b743176f..49f6e3543e7a 100644 --- a/pkgs/development/tools/build-managers/gnumake/patches/0002-Remove-impure-dirs.patch +++ b/pkgs/development/tools/build-managers/gnumake/patches/0002-Remove-impure-dirs.patch @@ -1,7 +1,7 @@ -From 2db52008be2e2d504889f4f19318c2ba5a2a4797 Mon Sep 17 00:00:00 2001 +From 99dcf18f8c66c25e17e0b84c005b03000312eb8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 24 Apr 2021 10:20:16 +0200 -Subject: [PATCH 2/3] Remove impure dirs +Subject: [PATCH 2/5] Remove impure dirs Purity: don't look for library dependencies (of the form `-lfoo') in /lib and /usr/lib. It's a stupid feature anyway. Likewise, when @@ -40,5 +40,5 @@ index fe67ab28..1b76560c 100644 #if defined(WINDOWS32) && !defined(LIBDIR) /* -- -2.44.1 +2.51.2 diff --git a/pkgs/development/tools/build-managers/gnumake/patches/0003-Do-not-search-for-a-C-compiler-and-set-MAKE_CXX.patch b/pkgs/development/tools/build-managers/gnumake/patches/0003-Do-not-search-for-a-C-compiler-and-set-MAKE_CXX.patch index cb0ce4defb45..a48b6192d2b1 100644 --- a/pkgs/development/tools/build-managers/gnumake/patches/0003-Do-not-search-for-a-C-compiler-and-set-MAKE_CXX.patch +++ b/pkgs/development/tools/build-managers/gnumake/patches/0003-Do-not-search-for-a-C-compiler-and-set-MAKE_CXX.patch @@ -1,7 +1,7 @@ -From 3317b3a78666e6073c63f62a322176e3dc680461 Mon Sep 17 00:00:00 2001 +From e63470a43889be3f61c71ca31e57b4e3c3da5961 Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Sat, 17 Aug 2024 22:35:03 +0300 -Subject: [PATCH 3/3] Do not search for a C++ compiler and set MAKE_CXX +Subject: [PATCH 3/5] Do not search for a C++ compiler and set MAKE_CXX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -79,5 +79,5 @@ index e396269b..78ba402f 100644 /* This expands to $(CO) $(COFLAGS) $< $@ if $@ does not exist, and to the empty string if $@ does exist. */ -- -2.44.1 +2.51.2 diff --git a/pkgs/development/tools/build-managers/gnumake/patches/0004-Fix-signatures-for-getenv-getopt.patch b/pkgs/development/tools/build-managers/gnumake/patches/0004-Fix-signatures-for-getenv-getopt.patch new file mode 100644 index 000000000000..f37b7a49e341 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/patches/0004-Fix-signatures-for-getenv-getopt.patch @@ -0,0 +1,50 @@ +From 776f707b5bb67d4c0c15f981b5a1b6d7f3a9cebc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Mar 2025 14:24:57 -0700 +Subject: [PATCH 4/5] Fix signatures for getenv/getopt + +GCC-15 complains about missing parameters, this gets found +out when using non-glibc ( e.g. musl ) C library + +Fixes +lib/fnmatch.c:124:14: error: conflicting types for 'getenv'; have 'char *(void)' +| 124 | extern char *getenv (); +| | ^~~~~~ + +src/getopt.c: Define parameters of getenv() and getopt(). +src/getopt.h: Ditto. +--- +Link: https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html + src/getopt.c | 2 +- + src/getopt.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/getopt.c b/src/getopt.c +index 7a792de8..76251ccb 100644 +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -202,7 +202,7 @@ static char *posixly_correct; + whose names are inconsistent. */ + + #ifndef getenv +-extern char *getenv (); ++extern char *getenv (const char *); + #endif + + static char * +diff --git a/src/getopt.h b/src/getopt.h +index df18ceeb..d8bb2263 100644 +--- a/src/getopt.h ++++ b/src/getopt.h +@@ -102,7 +102,7 @@ struct option + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int argc, char *const *argv, const char *shortopts); + #else /* not __GNU_LIBRARY__ */ +-extern int getopt (); ++extern int getopt (int, char * const*, const char *); + #endif /* __GNU_LIBRARY__ */ + extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); +-- +2.51.2 + diff --git a/pkgs/development/tools/build-managers/gnumake/patches/0005-Fix-signatures-for-getenv-getopt.patch b/pkgs/development/tools/build-managers/gnumake/patches/0005-Fix-signatures-for-getenv-getopt.patch new file mode 100644 index 000000000000..c594ba27c2a9 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/patches/0005-Fix-signatures-for-getenv-getopt.patch @@ -0,0 +1,34 @@ +From a4169ae60a7cb2c2bc788daa2c91441cc807acbc Mon Sep 17 00:00:00 2001 +From: Yureka +Date: Mon, 22 Dec 2025 20:53:31 +0100 +Subject: [PATCH 5/5] Fix signatures for getenv/getopt + +As the previous commit, this fixes GCC-15 complaining about mismatching +definitions with non-glibc (musl) C library. + +Fixes +lib/fnmatch.c:124:14: error: conflicting types for 'getenv'; have 'char *(void)' +| 124 | extern char *getenv (); +| | ^~~~~~ + +lib/fnmatch.c: Define parameters of getenv() +--- + lib/fnmatch.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/fnmatch.c b/lib/fnmatch.c +index 01da376b..cb1c856b 100644 +--- a/lib/fnmatch.c ++++ b/lib/fnmatch.c +@@ -121,7 +121,7 @@ USA. */ + whose names are inconsistent. */ + + # if !defined _LIBC && !defined getenv +-extern char *getenv (); ++extern char *getenv (const char *); + # endif + + # ifndef errno +-- +2.51.2 + From dcee31cff11e0558548bc5b04a984c03589694a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 23 Dec 2025 07:32:13 +0000 Subject: [PATCH 0271/1216] bootstrap-files: improve docs for infra team members for uploading tarballs --- maintainers/scripts/bootstrap-files/README.md | 47 ++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/maintainers/scripts/bootstrap-files/README.md b/maintainers/scripts/bootstrap-files/README.md index 9abc4402a414..a353be6e3f60 100644 --- a/maintainers/scripts/bootstrap-files/README.md +++ b/maintainers/scripts/bootstrap-files/README.md @@ -11,10 +11,53 @@ These are called "bootstrap files". Bootstrap files should always be fetched from hydra and uploaded to `tarballs.nixos.org` to guarantee that all the binaries were built from the code committed into `nixpkgs` repository. -The uploads to `tarballs.nixos.org` are done by `@lovesegfault` today. +The uploads to `tarballs.nixos.org` are done by `@NixOS/infra` team members who have S3 write access. This document describes the procedure of updating bootstrap files in `nixpkgs`. +## How to upload bootstrap files (for infra team) + +When a PR updates bootstrap files, the commit message contains the upload commands. +Infra team members with S3 access can upload as follows: + +1. Clone or navigate to the [nixos-infra](https://github.com/NixOS/nixos-infra) repository and enter the `terraform` directory: + + ``` + $ cd nixos-infra/terraform + ``` + +2. Authenticate with AWS SSO: + + ``` + $ aws sso login + ``` + +3. Realize the build output locally (fetch from hydra cache): + + ``` + $ nix-store --realize /nix/store/-stdenv-bootstrap-tools + ``` + +4. Upload to S3 with public-read ACL: + + ``` + $ aws s3 cp --recursive --acl public-read \ + /nix/store/-stdenv-bootstrap-tools/on-server/ \ + s3://nixpkgs-tarballs/stdenv/// + ``` + +5. Verify the upload by downloading and checking hashes: + + ``` + $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/// ./ + $ sha256sum bootstrap-tools.tar.xz busybox + $ sha256sum /nix/store/-stdenv-bootstrap-tools/on-server/* + ``` + + Compare these hashes with those shown in the PR's commit message. + +The exact paths and hashes are provided in each bootstrap update commit message generated by `refresh-tarballs.bash`. + ## How to request the bootstrap seed update To get the tarballs updated let's use an example `i686-unknown-linux-gnu` target: @@ -34,7 +77,7 @@ To get the tarballs updated let's use an example `i686-unknown-linux-gnu` target To validate cross-targets `binfmt` `NixOS` helper can be useful. For `riscv64-unknown-linux-gnu` the `/etc/nixos/configuration.nix` entry would be `boot.binfmt.emulatedSystems = [ "riscv64-linux" ]`. -3. Propose the commit as a PR to update bootstrap tarballs, tag people who can help you test the updated architecture and once reviewed tag `@lovesegfault` to upload the tarballs. +3. Propose the commit as a PR to update bootstrap tarballs, tag people who can help you test the updated architecture and once reviewed tag `@NixOS/infra-build` to upload the tarballs. ## How to add bootstrap files for a new target From 2844dcd1a54026491ee751b6c8ae759ac33c0633 Mon Sep 17 00:00:00 2001 From: Soup of the tomato kind <43444191+Soup-64@users.noreply.github.com> Date: Wed, 7 Jan 2026 12:30:36 -0500 Subject: [PATCH 0272/1216] speechd: fix generic synth with upstream patch --- pkgs/by-name/sp/speechd/package.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/sp/speechd/package.nix b/pkgs/by-name/sp/speechd/package.nix index 361304524ec1..cb10fc36fa1f 100644 --- a/pkgs/by-name/sp/speechd/package.nix +++ b/pkgs/by-name/sp/speechd/package.nix @@ -4,6 +4,7 @@ replaceVars, pkg-config, fetchurl, + fetchpatch, python3Packages, gettext, itstool, @@ -53,6 +54,11 @@ stdenv.mkDerivation (finalAttrs: { # patch context bindir = null; }) + (fetchpatch { + name = "use-binsh.patch"; + url = "https://github.com/brailcom/speechd/commit/66d5fe65cffd4c0ce9cfb4c6d292866ed8726999.diff?full_index=1"; + hash = "sha256-7R5BH6QmxovvtXoH/T76qu6YMfm1HE+CA0eB0mzwmfY="; + }) ] ++ lib.optionals (withEspeak && espeak.mbrolaSupport) [ # Replace FHS paths. @@ -129,7 +135,6 @@ stdenv.mkDerivation (finalAttrs: { postPatch = lib.optionalString withPico '' substituteInPlace src/modules/pico.c --replace "/usr/share/pico/lang" "${svox}/share/pico/lang" - substituteInPlace src/modules/generic.c --replace-fail "/bin/bash" "${runtimeShell}" ''; installFlags = [ From a46c0676118a011612ff6ff2fca51c85734ce8b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lima?= Date: Sun, 4 Jan 2026 15:37:38 +0000 Subject: [PATCH 0273/1216] nixos/gnome: install xdg-user-dirs{,-gtk} systemd units GNOME 49 has completely removed the built-in service manager, which allowed .desktop files to be used for launching services. This mechanism was used by xdg-user-dirs and xdg-user-dirs-gtk to update the xdg user directories. In recent versions of xdg-user-dirs and xdg-user-dirs-gtk, systemd units are included in the installation to work around that. This commit installs those units when gnome-shell is enabled. Link: https://gitlab.gnome.org/GNOME/gnome-session/-/blob/49.2/NEWS?ref_type=tags#L51-54 Link: https://gitlab.freedesktop.org/xdg/xdg-user-dirs/-/commit/2a63d3f0ffb76135790bb1168a3270a599904380 --- nixos/modules/services/desktop-managers/gnome.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/services/desktop-managers/gnome.nix b/nixos/modules/services/desktop-managers/gnome.nix index ac0431411341..33290b8f2033 100644 --- a/nixos/modules/services/desktop-managers/gnome.nix +++ b/nixos/modules/services/desktop-managers/gnome.nix @@ -390,6 +390,10 @@ in systemd.packages = [ pkgs.gnome-session pkgs.gnome-shell + ] + ++ removeExcluded [ + pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ + pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks ]; services.udev.packages = [ From 02ddb0ff00fdc665606c1a51d9cd6a832bbd43a2 Mon Sep 17 00:00:00 2001 From: teto <886074+teto@users.noreply.github.com> Date: Wed, 7 Jan 2026 16:43:29 +0100 Subject: [PATCH 0274/1216] neovim-unwrapped: enable strictDeps to avoid cross-compile regressions --- pkgs/applications/editors/neovim/wrapper.nix | 2 ++ pkgs/by-name/ne/neovim-unwrapped/package.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index ef2372c54f34..80cbca5e6cbe 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -198,6 +198,8 @@ let inherit pname version; inherit plugins; + strictDeps = true; + __structuredAttrs = true; dontUnpack = true; inherit diff --git a/pkgs/by-name/ne/neovim-unwrapped/package.nix b/pkgs/by-name/ne/neovim-unwrapped/package.nix index 43546f509ff6..b794713dc0d3 100644 --- a/pkgs/by-name/ne/neovim-unwrapped/package.nix +++ b/pkgs/by-name/ne/neovim-unwrapped/package.nix @@ -106,6 +106,8 @@ stdenv.mkDerivation ( hash = "sha256-OsvLB9kynCbQ8PDQ2VQ+L56iy7pZ0ZP69J2cEG8Ad8A="; }; + strictDeps = true; + patches = [ # introduce a system-wide rplugin.vim in addition to the user one # necessary so that nix can handle `UpdateRemotePlugins` for the plugins From 82466af8ca9f189cbbdc98c6eb273055bb1700ff Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Wed, 7 Jan 2026 20:23:31 +0100 Subject: [PATCH 0275/1216] llhttp: improve pkg-config integration --- pkgs/by-name/ll/llhttp/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ll/llhttp/package.nix b/pkgs/by-name/ll/llhttp/package.nix index aea923e4c1b0..58cdee506f16 100644 --- a/pkgs/by-name/ll/llhttp/package.nix +++ b/pkgs/by-name/ll/llhttp/package.nix @@ -6,6 +6,7 @@ nix-update-script, testers, python3, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -26,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake + validatePkgConfig ]; cmakeFlags = [ @@ -41,7 +43,6 @@ stdenv.mkDerivation (finalAttrs: { pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; - moduleNames = [ "libllhttp" ]; }; }; @@ -52,5 +53,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ aduh95 ]; platforms = lib.platforms.all; + pkgConfigModules = [ "libllhttp" ]; }; }) From 7d59736e284f08c86a8196512b71dc50dde3d668 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 24 Apr 2025 15:23:36 +0200 Subject: [PATCH 0276/1216] nodejs: use more shared libs --- .../deprecate-http2-priority-signaling.patch | 113 ++++++++++++++++++ pkgs/development/web/nodejs/nodejs.nix | 87 +++++++++++--- pkgs/development/web/nodejs/v20.nix | 16 +++ pkgs/development/web/nodejs/v22.nix | 14 +++ 4 files changed, 216 insertions(+), 14 deletions(-) create mode 100644 pkgs/development/web/nodejs/deprecate-http2-priority-signaling.patch diff --git a/pkgs/development/web/nodejs/deprecate-http2-priority-signaling.patch b/pkgs/development/web/nodejs/deprecate-http2-priority-signaling.patch new file mode 100644 index 000000000000..efcf74cdb26c --- /dev/null +++ b/pkgs/development/web/nodejs/deprecate-http2-priority-signaling.patch @@ -0,0 +1,113 @@ +Adapted from https://github.com/nodejs/node/pull/58293 for 22.x and 20.x lines. + +diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js +index cf7b06d987..369133dafb 100644 +--- a/lib/internal/http2/core.js ++++ b/lib/internal/http2/core.js +@@ -30,2 +30,4 @@ const { + promisify, ++ deprecate, ++ deprecateProperty, + SymbolAsyncDispose, +@@ -713,2 +715,7 @@ function onGoawayData(code, lastStreamID, buf) { + ++// TODO(aduh95): remove this in future semver-major ++const deprecateWeight = deprecateProperty('weight', ++ 'Priority signaling has been deprecated as of RFC 1993.', ++ 'DEP0194'); ++ + // When a ClientHttp2Session is first created, the socket may not yet be +@@ -741,2 +748,4 @@ function requestOnConnect(headers, options) { + ++ deprecateWeight(options); ++ + // `ret` will be either the reserved stream ID (if positive) +@@ -746,3 +755,3 @@ function requestOnConnect(headers, options) { + options.parent | 0, +- options.weight | 0, ++ NGHTTP2_DEFAULT_WEIGHT, + !!options.exclusive); +@@ -785,7 +794,3 @@ function requestOnConnect(headers, options) { + const setAndValidatePriorityOptions = hideStackFrames((options) => { +- if (options.weight === undefined) { +- options.weight = NGHTTP2_DEFAULT_WEIGHT; +- } else { +- validateNumber.withoutStackTrace(options.weight, 'options.weight'); +- } ++ deprecateWeight(options); + +@@ -845,21 +850,2 @@ function submitSettings(settings, callback) { + +-// Submits a PRIORITY frame to be sent to the remote peer +-// Note: If the silent option is true, the change will be made +-// locally with no PRIORITY frame sent. +-function submitPriority(options) { +- if (this.destroyed) +- return; +- this[kUpdateTimer](); +- +- // If the parent is the id, do nothing because a +- // stream cannot be made to depend on itself. +- if (options.parent === this[kID]) +- return; +- +- this[kHandle].priority(options.parent | 0, +- options.weight | 0, +- !!options.exclusive, +- !!options.silent); +-} +- + // Submit a GOAWAY frame to be sent to the remote peer. +@@ -2255,21 +2241,2 @@ class Http2Stream extends Duplex { + +- priority(options) { +- if (this.destroyed) +- throw new ERR_HTTP2_INVALID_STREAM(); +- +- assertIsObject(options, 'options'); +- options = { ...options }; +- setAndValidatePriorityOptions(options); +- +- const priorityFn = submitPriority.bind(this, options); +- +- // If the handle has not yet been assigned, queue up the priority +- // frame to be sent as soon as the ready event is emitted. +- if (this.pending) { +- this.once('ready', priorityFn); +- return; +- } +- priorityFn(); +- } +- + sendTrailers(headers) { +@@ -2431,2 +2398,8 @@ class Http2Stream extends Duplex { + ++// TODO(aduh95): remove this in future semver-major ++Http2Stream.prototype.priority = deprecate(function priority(options) { ++ if (this.destroyed) ++ throw new ERR_HTTP2_INVALID_STREAM(); ++}, 'http2Stream.priority is longer supported after priority signalling was deprecated in RFC 1993', 'DEP0194'); ++ + function callTimeout(self, session) { +diff --git a/lib/internal/util.js b/lib/internal/util.js +index 254791eb48..2f12f5a3f1 100644 +--- a/lib/internal/util.js ++++ b/lib/internal/util.js +@@ -135,2 +135,13 @@ function isPendingDeprecation() { + ++function deprecateProperty(key, msg, code, isPendingDeprecation) { ++ const emitDeprecationWarning = getDeprecationWarningEmitter( ++ code, msg, undefined, false, isPendingDeprecation, ++ ); ++ return (options) => { ++ if (key in options) { ++ emitDeprecationWarning(); ++ } ++ }; ++} ++ + // Internal deprecator for pending --pending-deprecation. This can be invoked +@@ -911,2 +922,3 @@ module.exports = { + deprecate, ++ deprecateProperty, + emitExperimentalWarning, diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 03d8cbb0dac6..77a237432e71 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -2,11 +2,36 @@ lib, stdenv, fetchurl, - openssl, + fetchpatch2, + fetchFromGitHub, python, - zlib, + ada, + brotli, + c-ares, libuv, + llhttp, + nghttp2, + nghttp3, + ngtcp2, + openssl, + simdjson, + simdutf, + simdutf_6 ? ( + simdutf.overrideAttrs { + version = "6.5.0"; + + src = fetchFromGitHub { + owner = "simdutf"; + repo = "simdutf"; + rev = "v6.5.0"; + hash = "sha256-bZ4r62GMz2Dkd3fKTJhelitaA8jUBaDjG6jOysEg8Nk="; + }; + } + ), sqlite, + uvwasi, + zlib, + zstd, icu, bash, ninja, @@ -98,14 +123,47 @@ let null; # TODO: also handle MIPS flags (mips_arch, mips_fpu, mips_float_abi). - useSharedSQLite = lib.versionAtLeast version "22.5"; + useSharedAdaAndSimd = !stdenv.hostPlatform.isStatic && lib.versionAtLeast version "22.2"; + useSharedSQLite = !stdenv.hostPlatform.isStatic && lib.versionAtLeast version "22.5"; + useSharedZstd = !stdenv.hostPlatform.isStatic && lib.versionAtLeast version "22.15"; - sharedLibDeps = { - inherit openssl zlib libuv; - } - // (lib.optionalAttrs useSharedSQLite { - inherit sqlite; - }); + sharedLibDeps = + (lib.optionalAttrs (!stdenv.hostPlatform.isStatic) { + inherit + brotli + libuv + nghttp3 + ngtcp2 + openssl + uvwasi + zlib + ; + cares = c-ares; + http-parser = llhttp; + nghttp2 = nghttp2.overrideAttrs { + patches = [ + (fetchpatch2 { + url = "https://github.com/nghttp2/nghttp2/commit/7784fa979d0bcf801a35f1afbb25fb048d815cd7.patch?full_index=1"; + hash = "sha256-RG87Qifjpl7HTP9ac2JwHj2XAbDlFgOpAnpZX3ET6gU="; + excludes = [ "lib/includes/nghttp2/nghttp2.h" ]; + revert = true; + }) + ]; + }; + }) + // (lib.optionalAttrs useSharedAdaAndSimd { + inherit + ada + simdjson + ; + simdutf = if lib.versionAtLeast version "25" then simdutf else simdutf_6; + }) + // (lib.optionalAttrs useSharedSQLite { + inherit sqlite; + }) + // (lib.optionalAttrs useSharedZstd { + inherit zstd; + }); copyLibHeaders = map (name: "${lib.getDev sharedLibDeps.${name}}/include/*") ( builtins.attrNames sharedLibDeps @@ -182,13 +240,10 @@ let # wrappers over the corresponding JS scripts. There are some packages though # that use bash wrappers, e.g. polaris-web. buildInputs = [ - zlib - libuv - openssl - icu bash + icu ] - ++ lib.optionals useSharedSQLite [ sqlite ]; + ++ builtins.attrValues sharedLibDeps; nativeBuildInputs = [ installShellFiles @@ -388,6 +443,10 @@ let ++ lib.optionals (!lib.versionAtLeast version "22") [ "test-tls-multi-key" ] + ++ lib.optionals useSharedAdaAndSimd [ + # Different versions of Ada affect the WPT tests + "test-url" + ] ++ lib.optionals stdenv.hostPlatform.is32bit [ # utime (actually utimensat) fails with EINVAL on 2038 timestamp "test-fs-utimes-y2K38" diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix index a71eb5ce3f28..9c5104b72367 100644 --- a/pkgs/development/web/nodejs/v20.nix +++ b/pkgs/development/web/nodejs/v20.nix @@ -1,4 +1,6 @@ { + lib, + stdenv, callPackage, fetchpatch2, openssl, @@ -54,5 +56,19 @@ buildNodejs { 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/*" ]; + }) + ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index a9be2fdad4b3..e696eef7fecb 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -57,5 +57,19 @@ buildNodejs { ./use-correct-env-in-tests.patch ./bin-sh-node-run-v22.patch ./use-nix-codesign.patch + ] + ++ 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/*" ]; + }) ]; } From a01faf3a70fc64a44b66536d8551b31d12c4d5a6 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Thu, 25 Dec 2025 16:03:52 +0100 Subject: [PATCH 0277/1216] python3Modules.meson-python: prepare for structuredAttrs Eventually this variable should be quoted, but this is backwards compatible for now. --- .../python-modules/meson-python/add-build-flags.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/meson-python/add-build-flags.sh b/pkgs/development/python-modules/meson-python/add-build-flags.sh index dd31fc453656..8604ba9ebe7c 100644 --- a/pkgs/development/python-modules/meson-python/add-build-flags.sh +++ b/pkgs/development/python-modules/meson-python/add-build-flags.sh @@ -1,6 +1,8 @@ mesonPythonBuildFlagsHook() { # Add all of mesonFlags to -Csetup-args for pypa builds - for f in $mesonFlags "${mesonFlagsArray[@]}"; do + local flagsArray=() + concatTo flagsArray mesonFlags mesonFlagsArray + for f in "${flagsArray[@]}"; do appendToVar pypaBuildFlags "-Csetup-args=$f" # This requires pip>23.0.1, see: https://meson-python.readthedocs.io/en/latest/how-to-guides/config-settings.html appendToVar pipBuildFlags "--config-settings=setup-args=$f" From 0164b8be49743f6aded818263995f9232c7b28c5 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:07:47 +0100 Subject: [PATCH 0278/1216] gifsicle: move LDFLAGS into env for structuredAttrs --- pkgs/by-name/gi/gifsicle/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/gi/gifsicle/package.nix b/pkgs/by-name/gi/gifsicle/package.nix index 7290e8f086eb..17149ea57fd5 100644 --- a/pkgs/by-name/gi/gifsicle/package.nix +++ b/pkgs/by-name/gi/gifsicle/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { configureFlags = lib.optional (!gifview) "--disable-gifview"; - LDFLAGS = lib.optionalString static "-static"; + env.LDFLAGS = lib.optionalString static "-static"; doCheck = true; checkPhase = '' From 7f0c9b07e9d3936834cd014671e6071a06d7a661 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:07:47 +0100 Subject: [PATCH 0279/1216] iftop: move LDFLAGS into env for structuredAttrs --- pkgs/by-name/if/iftop/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/if/iftop/package.nix b/pkgs/by-name/if/iftop/package.nix index c795c91f6ca4..c6ffaabd4ac0 100644 --- a/pkgs/by-name/if/iftop/package.nix +++ b/pkgs/by-name/if/iftop/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { # Explicitly link against libgcc_s, to work around the infamous # "libgcc_s.so.1 must be installed for pthread_cancel to work". - LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-lgcc_s"; + env.LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-lgcc_s"; buildInputs = [ ncurses From 28d8286a15e87fbddcd3750d038707ce4545070f Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:07:48 +0100 Subject: [PATCH 0280/1216] lcms2: move LDFLAGS into env for structuredAttrs --- pkgs/by-name/lc/lcms2/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/lc/lcms2/package.nix b/pkgs/by-name/lc/lcms2/package.nix index 89b0d2434e4c..bdb1ba358a73 100644 --- a/pkgs/by-name/lc/lcms2/package.nix +++ b/pkgs/by-name/lc/lcms2/package.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ]; # See https://trac.macports.org/ticket/60656 - LDFLAGS = if stdenv.hostPlatform.isDarwin then "-Wl,-w" else null; + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { LDFLAGS = "-Wl,-w"; }; meta = { description = "Color management engine"; From 1557a916a6464b90d52b0fd8a2d2a3d6f15ddd18 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:07:48 +0100 Subject: [PATCH 0281/1216] libax25: move LDFLAGS into env for structuredAttrs --- pkgs/by-name/li/libax25/package.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/li/libax25/package.nix b/pkgs/by-name/li/libax25/package.nix index 0248e8f70d79..c15baf540496 100644 --- a/pkgs/by-name/li/libax25/package.nix +++ b/pkgs/by-name/li/libax25/package.nix @@ -29,10 +29,12 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--sysconfdir=/etc" ]; - LDFLAGS = lib.optionals stdenv.hostPlatform.isStatic [ - "-static-libgcc" - "-static" - ]; + env = lib.optionalAttrs stdenv.hostPlatform.isStatic { + LDFLAGS = toString [ + "-static-libgcc" + "-static" + ]; + }; meta = { description = "AX.25 library for hamradio applications"; From 5d35cfadb132dbe9c18833beec32c1b71e76c7ac Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:07:48 +0100 Subject: [PATCH 0282/1216] spral: move LDFLAGS into env for structuredAttrs --- pkgs/by-name/sp/spral/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index e8f7a940e61c..bbe93f52aec5 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -67,7 +67,9 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ (lib.mesonBool "tests" true) ]; - LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin [ "-lomp" ]; + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { + LDFLAGS = "-lomp"; + }; doCheck = true; From c47cabffc69e13279608304a89a4ae64523422aa Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:08:45 +0100 Subject: [PATCH 0283/1216] rocmPackages: move LDFLAGS into env for structuredAttrs --- pkgs/development/rocm-modules/6/migraphx/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/rocm-modules/6/migraphx/default.nix b/pkgs/development/rocm-modules/6/migraphx/default.nix index 723e987c829b..84e70a9bf406 100644 --- a/pkgs/development/rocm-modules/6/migraphx/default.nix +++ b/pkgs/development/rocm-modules/6/migraphx/default.nix @@ -119,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.onnx ]; - LDFLAGS = "-Wl,--allow-shlib-undefined"; + env.LDFLAGS = "-Wl,--allow-shlib-undefined"; cmakeFlags = [ "-DMIGRAPHX_ENABLE_GPU=ON" From 32f133b65bd1abe5c66804174f472bc3b61ed15b Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:09:00 +0100 Subject: [PATCH 0284/1216] python3Packages.google-crc32c: move LDFLAGS into env for structuredAttrs --- pkgs/development/python-modules/google-crc32c/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-crc32c/default.nix b/pkgs/development/python-modules/google-crc32c/default.nix index 282cb7d325c6..64e2b4bdfae2 100644 --- a/pkgs/development/python-modules/google-crc32c/default.nix +++ b/pkgs/development/python-modules/google-crc32c/default.nix @@ -29,8 +29,10 @@ buildPythonPackage rec { dependencies = [ cffi ]; - LDFLAGS = "-L${crc32c}/lib"; - CFLAGS = "-I${crc32c}/include"; + env = { + LDFLAGS = "-L${crc32c}/lib"; + CFLAGS = "-I${crc32c}/include"; + }; nativeCheckInputs = [ pytestCheckHook From f3ff9c641319c984ee2da292055e4b5a7fca4f7f Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:09:12 +0100 Subject: [PATCH 0285/1216] gettext: move LDFLAGS into env for structuredAttrs --- pkgs/development/libraries/gettext/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 20edb670b8a0..3f0f44a189fc 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -35,8 +35,6 @@ stdenv.mkDerivation rec { "info" ]; - LDFLAGS = lib.optionalString stdenv.hostPlatform.isSunOS "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec"; - configureFlags = [ "--disable-csharp" ] @@ -102,6 +100,9 @@ stdenv.mkDerivation rec { # https://github.com/Homebrew/homebrew-core/pull/199639 # https://savannah.gnu.org/bugs/index.php?66541 am_cv_func_iconv_works = "yes"; + } + // lib.optionalAttrs stdenv.hostPlatform.isSunOS { + LDFLAGS = "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec"; }; enableParallelBuilding = true; From 099b2748245262bf9ddf3ad702e9f27d93d4fc71 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:09:29 +0100 Subject: [PATCH 0286/1216] llvm: move LDFLAGS into env for structuredAttrs --- pkgs/development/compilers/llvm/common/lld/default.nix | 4 +++- pkgs/development/compilers/llvm/common/llvm/default.nix | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/lld/default.nix b/pkgs/development/compilers/llvm/common/lld/default.nix index b9c9152ec98d..1940724ff1d7 100644 --- a/pkgs/development/compilers/llvm/common/lld/default.nix +++ b/pkgs/development/compilers/llvm/common/lld/default.nix @@ -64,7 +64,9 @@ stdenv.mkDerivation (finalAttrs: { ++ devExtraCmakeFlags; # Musl's default stack size is too small for lld to be able to link Firefox. - LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152"; + env = lib.optionalAttrs stdenv.hostPlatform.isMusl { + LDFLAGS = "-Wl,-z,stack-size=2097152"; + }; outputs = [ "out" diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index 00171a97068e..2ad683977328 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -453,9 +453,9 @@ stdenv.mkDerivation ( ''; # E.g. Mesa uses the build-id as a cache key (see #93946): - LDFLAGS = optionalString ( - enableSharedLibraries && !stdenv.hostPlatform.isDarwin - ) "-Wl,--build-id=sha1"; + env = lib.optionalAttrs (enableSharedLibraries && !stdenv.hostPlatform.isDarwin) { + LDFLAGS = "-Wl,--build-id=sha1"; + }; cmakeBuildType = "Release"; From 44aa31bee707f782f3b5f63a5642129fe806a639 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:09:43 +0100 Subject: [PATCH 0287/1216] rxvt-unicode: move LDFLAGS into env for structuredAttrs --- .../terminal-emulators/rxvt-unicode/default.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix index 7d0be835b33b..dada6d1e8545 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix @@ -135,12 +135,16 @@ stdenv.mkDerivation { ] ++ lib.optional emojiSupport "--enable-wide-glyphs"; - LDFLAGS = [ - "-lfontconfig" - "-lXrender" - "-lpthread" - ]; - CFLAGS = [ "-I${freetype.dev}/include/freetype2" ]; + env = { + LDFLAGS = toString [ + "-lfontconfig" + "-lXrender" + "-lpthread" + ]; + CFLAGS = toString [ + "-I${freetype.dev}/include/freetype2" + ]; + }; preConfigure = '' # without this the terminfo won't be compiled by tic, see man tic From e6865860d1456943af77d65bdebbcfa7bf9a8172 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 24 Dec 2025 21:09:55 +0100 Subject: [PATCH 0288/1216] guile: move LDFLAGS into env for structuredAttrs --- pkgs/development/interpreters/guile/2.0.nix | 14 ++++++-------- pkgs/development/interpreters/guile/2.2.nix | 4 +++- pkgs/development/interpreters/guile/3.0.nix | 18 ++++++++++-------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix index ef473214c324..9d207f70c0c7 100644 --- a/pkgs/development/interpreters/guile/2.0.nix +++ b/pkgs/development/interpreters/guile/2.0.nix @@ -90,14 +90,6 @@ builder rec { }) ]; - # Explicitly link against libgcc_s, to work around the infamous - # "libgcc_s.so.1 must be installed for pthread_cancel to work". - - # don't have "libgcc_s.so.1" on darwin - LDFLAGS = lib.optionalString ( - !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl - ) "-lgcc_s"; - configureFlags = [ "--with-libreadline-prefix" ] @@ -118,6 +110,12 @@ builder rec { env = { NIX_CFLAGS_COMPILE = "-std=gnu17"; + } + // lib.optionalAttrs (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) { + # Explicitly link against libgcc_s, to work around the infamous + # "libgcc_s.so.1 must be installed for pthread_cancel to work". + # don't have "libgcc_s.so.1" on darwin + LDFLAGS = "-lgcc_s"; }; postInstall = '' diff --git a/pkgs/development/interpreters/guile/2.2.nix b/pkgs/development/interpreters/guile/2.2.nix index 146b29407b30..c48fa78594bd 100644 --- a/pkgs/development/interpreters/guile/2.2.nix +++ b/pkgs/development/interpreters/guile/2.2.nix @@ -85,7 +85,9 @@ builder rec { # "libgcc_s.so.1 must be installed for pthread_cancel to work". # don't have "libgcc_s.so.1" on clang - LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; + env = lib.optionalAttrs (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) { + LDFLAGS = "-lgcc_s"; + }; configureFlags = [ "--with-libreadline-prefix=${lib.getDev readline}" diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix index b0ff7ae3af26..d400a4059cec 100644 --- a/pkgs/development/interpreters/guile/3.0.nix +++ b/pkgs/development/interpreters/guile/3.0.nix @@ -100,11 +100,16 @@ builder rec { sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; }); - # Explicitly link against libgcc_s, to work around the infamous - # "libgcc_s.so.1 must be installed for pthread_cancel to work". - - # don't have "libgcc_s.so.1" on clang - LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; + env = { + # Fix build with gcc15 + NIX_CFLAGS_COMPILE = toString [ "-std=gnu17" ]; + } + // lib.optionalAttrs (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) { + # Explicitly link against libgcc_s, to work around the infamous + # "libgcc_s.so.1 must be installed for pthread_cancel to work". + # don't have "libgcc_s.so.1" on clang + LDFLAGS = "-lgcc_s"; + }; configureFlags = [ "--with-libreadline-prefix=${lib.getDev readline}" @@ -126,9 +131,6 @@ builder rec { # https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046193028 ++ lib.optional (stdenv.hostPlatform.isDarwin) "--disable-lto"; - # Fix build with gcc15 - env.NIX_CFLAGS_COMPILE = toString [ "-std=gnu17" ]; - postInstall = '' wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" '' From 1c3e8d2cb8d2eaead339140f26c632e20fb3c4cc Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Wed, 7 Jan 2026 22:12:03 +0100 Subject: [PATCH 0289/1216] lua5_5: update tests --- .../interpreters/lua-5/tests/default.nix | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/development/interpreters/lua-5/tests/default.nix b/pkgs/development/interpreters/lua-5/tests/default.nix index 8a14d9b34ec9..331d27d283c3 100644 --- a/pkgs/development/interpreters/lua-5/tests/default.nix +++ b/pkgs/development/interpreters/lua-5/tests/default.nix @@ -47,9 +47,11 @@ let ";${lua}/share/lua/5.2/?.lua;${lua}/share/lua/5.2/?/init.lua;${lua}/lib/lua/5.2/?.lua;${lua}/lib/lua/5.2/?/init.lua;./?.lua;"; "5.3" = ";${lua}/share/lua/5.3/?.lua;${lua}/share/lua/5.3/?/init.lua;${lua}/lib/lua/5.3/?.lua;${lua}/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua;"; - # lua5.4 seems to be smarter about it and dont add the lua separators when nothing left or right + # lua > 5.4 seems to be smarter about it and dont add the lua separators when nothing left or right "5.4" = "${lua}/share/lua/5.4/?.lua;${lua}/share/lua/5.4/?/init.lua;${lua}/lib/lua/5.4/?.lua;${lua}/lib/lua/5.4/?/init.lua;./?.lua;./?/init.lua"; + "5.5" = + "${lua}/share/lua/5.5/?.lua;${lua}/share/lua/5.5/?/init.lua;${lua}/lib/lua/5.5/?.lua;${lua}/lib/lua/5.5/?/init.lua;./?.lua;./?/init.lua"; # luajit versions "2.0" = @@ -80,19 +82,19 @@ lib.recurseIntoAttrs { # checks that lua's setup-hook adds dependencies to LUA_PATH # Prevents the following regressions - # $ env NIX_PATH=nixpkgs=. nix-shell --pure -Q -p luajitPackages.lua luajitPackages.http + # $ env NIX_PATH=nixpkgs=. nix-shell --pure -Q -p luajitPackages.lua luajitPackages.alt-getopt # nix-shell$ luajit - # > require('http.request') - # stdin:1: module 'http.request' not found: + # > require('alt-getopt') + # stdin:1: module 'alt-getopt' not found: checkSetupHook = pkgs.runCommandLocal "test-${lua.name}-setup-hook" { nativeBuildInputs = [ lua ]; - buildInputs = [ lua.pkgs.http ]; + buildInputs = [ lua.pkgs.alt-getopt ]; meta.platforms = lua.meta.platforms; } '' - ${lua}/bin/lua -e "require'http.request'" + ${lua}/bin/lua -e "require'alt_getopt'" touch $out ''; @@ -115,11 +117,11 @@ lib.recurseIntoAttrs { checkPropagatedBuildInputs = pkgs.runCommandLocal "test-${lua.name}-setup-hook" { - buildInputs = [ lua.pkgs.rest-nvim ]; + buildInputs = [ lua.pkgs.luacov ]; } - # `xml2lua` is a propagatedBuildInput of rest-nvim + # `datafile` is a propagatedBuildInput of luacov '' - ${lua}/bin/lua -e "require'xml2lua'" + ${lua}/bin/lua -e "require'datafile'" touch $out ''; From b836497f2e93dfd6bcb646ad295fcc9b560ccf26 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Wed, 7 Jan 2026 16:05:25 -0600 Subject: [PATCH 0290/1216] neovim-unwrapped: add gettext for non glibc libintl dependency not provided with strictDeps enabled, providing libintl for non glibc platforms Signed-off-by: Austin Horstman --- pkgs/by-name/ne/neovim-unwrapped/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/ne/neovim-unwrapped/package.nix b/pkgs/by-name/ne/neovim-unwrapped/package.nix index b794713dc0d3..5f64508fae60 100644 --- a/pkgs/by-name/ne/neovim-unwrapped/package.nix +++ b/pkgs/by-name/ne/neovim-unwrapped/package.nix @@ -145,6 +145,10 @@ stdenv.mkDerivation ( ++ lib.optionals finalAttrs.finalPackage.doCheck [ glibcLocales procps + ] + ++ lib.optionals (stdenv.hostPlatform.libc != "glibc") [ + # Provide libintl for non-glibc platforms + gettext ]; doCheck = false; From c0f0033702fb67e99900d1a6d0c12d52ea87fc9b Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 7 Jan 2026 17:34:17 -0800 Subject: [PATCH 0291/1216] bacula: fix build with ncurses 6.6 ncurses 6.6 moved the termios.h include inside `#ifdef NCURSES_INTERNALS` in term.h, so applications can no longer rely on term.h to provide termios symbols. Include termios.h explicitly in conio.c. Thanks to @trofi for the report. --- ...console-include-termios.h-explicitly.patch | 24 +++++++++++++++++++ pkgs/by-name/ba/bacula/package.nix | 6 +++++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/by-name/ba/bacula/0001-console-include-termios.h-explicitly.patch diff --git a/pkgs/by-name/ba/bacula/0001-console-include-termios.h-explicitly.patch b/pkgs/by-name/ba/bacula/0001-console-include-termios.h-explicitly.patch new file mode 100644 index 000000000000..e4fbca7dff61 --- /dev/null +++ b/pkgs/by-name/ba/bacula/0001-console-include-termios.h-explicitly.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Philip Taron +Date: Wed, 7 Jan 2026 17:30:51 -0800 +Subject: [PATCH] console: include termios.h explicitly + +ncurses 6.6 moved the termios.h include inside #ifdef NCURSES_INTERNALS +in term.h, so applications can no longer rely on term.h to provide +termios symbols. Include termios.h explicitly. +--- + src/console/conio.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/console/conio.c b/src/console/conio.c +index 2bea887..7ac61d6 100755 +--- a/src/console/conio.c ++++ b/src/console/conio.c +@@ -56,6 +56,7 @@ + + #include + #include ++#include + + #ifdef HAVE_SUN_OS + #ifndef _TERM_H diff --git a/pkgs/by-name/ba/bacula/package.nix b/pkgs/by-name/ba/bacula/package.nix index 73e550554a97..ee2bbb35e098 100644 --- a/pkgs/by-name/ba/bacula/package.nix +++ b/pkgs/by-name/ba/bacula/package.nix @@ -21,6 +21,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-KUr9PS651bccPQ6I/fGetRO/24Q7KNNcBVLkrgYoJ6E="; }; + patches = [ + # ncurses 6.6 moved the termios.h include inside #ifdef NCURSES_INTERNALS in term.h, + # so applications can no longer rely on term.h to provide termios symbols. + ./0001-console-include-termios.h-explicitly.patch + ]; + # libtool.m4 only matches macOS 10.* postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' substituteInPlace configure \ From 6c35e1bdfd1ac45a38c9e5e6476d6b9ec701cac7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Jan 2026 02:32:14 +0100 Subject: [PATCH 0292/1216] python3Packages.anyio: 4.12.0 -> 4.12.1 https://github.com/agronholm/anyio/blob/4.12.1/docs/versionhistory.rst --- pkgs/development/python-modules/anyio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix index 7ab4bb888177..c56097e4324e 100644 --- a/pkgs/development/python-modules/anyio/default.nix +++ b/pkgs/development/python-modules/anyio/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "anyio"; - version = "4.12.0"; + version = "4.12.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -42,7 +42,7 @@ buildPythonPackage rec { owner = "agronholm"; repo = "anyio"; tag = version; - hash = "sha256-zFVvAK06HG40numRihLHBMKCI3d1wQvmEKk+EaBFVVU="; + hash = "sha256-7rfQ6mwB2sNKc28ZPMZNgVs7TFgBUBzH6xGXmtfzX9k="; }; build-system = [ setuptools-scm ]; From 902251dec70d3d7b597096865d9789b62e72cc14 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Thu, 8 Jan 2026 08:56:23 +0100 Subject: [PATCH 0293/1216] git: Apply patch to fix uninitialised memory & t8020 test on big-endian --- pkgs/by-name/gi/git/package.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gi/git/package.nix b/pkgs/by-name/gi/git/package.nix index fd9a5f2f5179..a1bc5aca526c 100644 --- a/pkgs/by-name/gi/git/package.nix +++ b/pkgs/by-name/gi/git/package.nix @@ -130,7 +130,12 @@ stdenv.mkDerivation (finalAttrs: { url = "https://lore.kernel.org/git/20251201031040.1120091-1-brianmlyles@gmail.com/raw"; hash = "sha256-vvhbvg74OIMzfksHiErSnjOZ+W0M/T9J8GOQ4E4wKbU="; }) - + # Fixes t8020 test on big-endian + (fetchurl { + name = "last-modified-fix-bug-caused-by-inproper-initialized-memory.patch"; + url = "https://lore.kernel.org/git/20251128-toon-big-endian-ci-v1-1-80da0f629c1e@iotcl.com/raw"; + hash = "sha256-WdewOwD7hMhnahhUUEYAlM58tT3MkxUlBa3n8IwrESU="; + }) ] ++ lib.optionals withSsh [ # Hard-code the ssh executable to ${pkgs.openssh}/bin/ssh instead of From b2e35ab78256222e9473013882d0791118794b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 8 Jan 2026 02:48:42 -0800 Subject: [PATCH 0294/1216] python3Packages.brotlicffi: 1.1.0.0 -> 1.2.0.0 Diff: https://github.com/python-hyper/brotlicffi/compare/v1.1.0.0...v1.2.0.0 Changelog: https://github.com/python-hyper/brotlicffi/blob/v1.2.0.0/HISTORY.rst --- pkgs/development/python-modules/brotlicffi/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/brotlicffi/default.nix b/pkgs/development/python-modules/brotlicffi/default.nix index 7f7171a6ebb9..618bffa99933 100644 --- a/pkgs/development/python-modules/brotlicffi/default.nix +++ b/pkgs/development/python-modules/brotlicffi/default.nix @@ -2,7 +2,6 @@ lib, fetchFromGitHub, buildPythonPackage, - pythonOlder, cffi, # overridden as pkgs.brotli brotli, @@ -13,15 +12,14 @@ buildPythonPackage rec { pname = "brotlicffi"; - version = "1.1.0.0"; + version = "1.2.0.0"; pyproject = true; - disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "python-hyper"; repo = "brotlicffi"; - rev = "v${version}"; - sha256 = "sha256-oW4y1WBJ7+4XwNwwSSR0qUqN03cZYXUYQ6EAwce9dzI="; + tag = "v${version}"; + hash = "sha256-3/68qBfsFtH+7h3gPxUdkyHwG6qLbh+bVLrxzsb3bc4="; }; build-system = [ setuptools ]; @@ -49,6 +47,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "brotlicffi" ]; meta = { + changelog = "https://github.com/python-hyper/brotlicffi/blob/${src.tag}/HISTORY.rst"; description = "Python CFFI bindings to the Brotli library"; homepage = "https://github.com/python-hyper/brotlicffi"; license = lib.licenses.mit; From 2a8f3d8f7a963fbade745b6ab1bd31506cb7fa19 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Fri, 19 Dec 2025 13:50:24 +0100 Subject: [PATCH 0295/1216] cargo: fix for structuredAttrs --- pkgs/development/compilers/rust/cargo.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 42dd8bc59971..4cd12db0b152 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -55,19 +55,19 @@ rustPlatform.buildRustPackage.override zlib ]; - # cargo uses git-rs which is made for a version of libgit2 from recent master that - # is not compatible with the current version in nixpkgs. - #LIBGIT2_SYS_USE_PKG_CONFIG = 1; + env = { + # cargo uses git-rs which is made for a version of libgit2 from recent master that + # is not compatible with the current version in nixpkgs. + #LIBGIT2_SYS_USE_PKG_CONFIG = 1; - # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel - RUSTC_BOOTSTRAP = 1; + # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel + RUSTC_BOOTSTRAP = 1; - RUSTFLAGS = - if stdenv.hostPlatform.rust.rustcTargetSpec == "x86_64-unknown-linux-gnu" then - # Upstream defaults to lld on x86_64-unknown-linux-gnu, we want to use our linker - "-Clinker-features=-lld -Clink-self-contained=-linker" - else - null; + } + // lib.optionalAttrs (stdenv.hostPlatform.rust.rustcTargetSpec == "x86_64-unknown-linux-gnu") { + # Upstream defaults to lld on x86_64-unknown-linux-gnu, we want to use our linker + RUSTFLAGS = "-Clinker-features=-lld -Clink-self-contained=-linker"; + }; postInstall = '' wrapProgram "$out/bin/cargo" --suffix PATH : "${rustc}/bin" From fdaf831e7073073c848b717a4488958983d13bd3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Jan 2026 13:57:54 +0000 Subject: [PATCH 0296/1216] ocamlPackages.smtml: 0.18.0 -> 0.19.0 --- pkgs/development/ocaml-modules/smtml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/smtml/default.nix b/pkgs/development/ocaml-modules/smtml/default.nix index d628399608cf..612c0c442520 100644 --- a/pkgs/development/ocaml-modules/smtml/default.nix +++ b/pkgs/development/ocaml-modules/smtml/default.nix @@ -27,13 +27,13 @@ buildDunePackage (finalAttrs: { pname = "smtml"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "formalsec"; repo = "smtml"; tag = "v${finalAttrs.version}"; - hash = "sha256-s72m7N9Ovd2Vl4F+hb2MsNmnF1hFQGkf2s7TrJ9IWI8="; + hash = "sha256-ZS+SVmpmvUP2V3DTQ5+QNjFWgj3O3vFIST5c7CifIos="; }; minimalOCamlVersion = "4.14"; From a57d1a836760237c47d19fb8baeb7bcd2b27fa9b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Jan 2026 14:13:52 +0000 Subject: [PATCH 0297/1216] llvmPackages.lldbPlugins.llef: 2.2.1 -> 2.2.2 --- pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix b/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix index 94a6528a8a9d..b6a77af56b4e 100644 --- a/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix +++ b/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "llef"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "foundryzero"; repo = "llef"; rev = "v${finalAttrs.version}"; - hash = "sha256-PqPsZNLiKW1czxfpJMNnQbdak37WbGc7Otq1uU6wXqc="; + hash = "sha256-w1Chaq/rGv1amvpJqiyKFxK0dQdsyplgFmBKj/Xmtqg="; }; dontBuild = true; From 8b91f725c2e219f1631a775a415eaeb7bbdea771 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Jan 2026 17:58:48 +0100 Subject: [PATCH 0298/1216] libtasn1: 4.20.0 -> 4.21.0 https://gitlab.com/gnutls/libtasn1/-/blob/v4.21.0/NEWS.md https://www.openwall.com/lists/oss-security/2026/01/08/5 Fixes: CVE-2025-13151 --- pkgs/by-name/li/libtasn1/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/li/libtasn1/package.nix b/pkgs/by-name/li/libtasn1/package.nix index c8e506d2bd53..7de5f9bc2b74 100644 --- a/pkgs/by-name/li/libtasn1/package.nix +++ b/pkgs/by-name/li/libtasn1/package.nix @@ -11,13 +11,13 @@ qemu, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libtasn1"; - version = "4.20.0"; + version = "4.21.0"; src = fetchurl { - url = "mirror://gnu/libtasn1/libtasn1-${version}.tar.gz"; - sha256 = "sha256-kuDjvUwC1K7udgNrLd2D8McyukzaXLcdWDJysjWHp2w="; + url = "mirror://gnu/libtasn1/libtasn1-${finalAttrs.version}.tar.gz"; + hash = "sha256-HYpESiI8xUZCQHdzRuEl3lHY5qvwuLrHQqyEYJFn3Ic="; }; outputs = [ @@ -50,6 +50,6 @@ stdenv.mkDerivation rec { ''; license = lib.licenses.lgpl2Plus; platforms = lib.platforms.all; - changelog = "https://gitlab.com/gnutls/libtasn1/-/blob/v${version}/NEWS"; + changelog = "https://gitlab.com/gnutls/libtasn1/-/blob/v${finalAttrs.version}/NEWS.md"; }; -} +}) From 902bfe15d6eb200114d541956fd43e9293ccf957 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 9 Jan 2026 00:40:56 +0000 Subject: [PATCH 0299/1216] gdmap: 1.3.1 -> 1.4.0 --- pkgs/by-name/gd/gdmap/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gd/gdmap/package.nix b/pkgs/by-name/gd/gdmap/package.nix index 37e26d4f4ada..4d7d64d989b4 100644 --- a/pkgs/by-name/gd/gdmap/package.nix +++ b/pkgs/by-name/gd/gdmap/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation { pname = "gdmap"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitLab { owner = "sjohannes"; repo = "gdmap"; - tag = "v1.3.1"; - sha256 = "sha256-dgZ+EDk7O+nuqrBsTPVW7BHufvkqLnWbXrIOOn7YlW4="; + tag = "v1.4.0"; + sha256 = "sha256-yqrlxmMxtcJqUe9xgs01d1AAc2gkPBPsQbzQfffZET0="; }; nativeBuildInputs = [ From 3a945370b3d63ff5f2e8679d99ae2fcc627dd76a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 9 Jan 2026 08:59:31 +0000 Subject: [PATCH 0300/1216] grafanaPlugins.ventura-psychrometric-panel: 5.0.4 -> 5.1.0 --- .../grafana/plugins/ventura-psychrometric-panel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/plugins/ventura-psychrometric-panel/default.nix b/pkgs/servers/monitoring/grafana/plugins/ventura-psychrometric-panel/default.nix index 96a1d4e2a1fe..ad46b902a980 100644 --- a/pkgs/servers/monitoring/grafana/plugins/ventura-psychrometric-panel/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/ventura-psychrometric-panel/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "ventura-psychrometric-panel"; - version = "5.0.4"; - zipHash = "sha256-bBPESByCux0X711UjmT5bQrJDz1BC9+9EGOOJ4jqcj0="; + version = "5.1.0"; + zipHash = "sha256-FMoWOXyMZoVU9b2iG81RbEldrr5Hb3WaWIwzXn7qn4A="; meta = { description = "Grafana plugin to display air conditions on a psychrometric chart"; license = lib.licenses.bsd3Lbnl; From 9f65344b42c076705feb0517ae1af958eb47ffd0 Mon Sep 17 00:00:00 2001 From: qbisi Date: Fri, 9 Jan 2026 11:19:36 +0800 Subject: [PATCH 0301/1216] python3Packages.py-cpuinfo: 9.0.0 -> 9.0.0-unstable-2022-11-20 --- .../python-modules/py-cpuinfo/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/py-cpuinfo/default.nix b/pkgs/development/python-modules/py-cpuinfo/default.nix index 662ea8453ff1..e67b9c3486ea 100644 --- a/pkgs/development/python-modules/py-cpuinfo/default.nix +++ b/pkgs/development/python-modules/py-cpuinfo/default.nix @@ -3,6 +3,7 @@ stdenv, buildPythonPackage, fetchFromGitHub, + setuptools, pytestCheckHook, pythonOlder, sysctl, @@ -10,20 +11,18 @@ buildPythonPackage rec { pname = "py-cpuinfo"; - version = "9.0.0"; - format = "setuptools"; + version = "9.0.0-unstable-2022-11-20"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "workhorsy"; repo = "py-cpuinfo"; - rev = "v${version}"; - hash = "sha256-Q5u0guAqDVhf6bvJTzNvCpWbIzjxxAjE7s0OuXj9T4Q="; + rev = "f3f0fec58335b9699b9b294267c15f516045b1fe"; + hash = "sha256-oORoJNnbKLNmdqoyVhW6WbI4p2G7oMDhtTqeDvaDiGQ="; }; - nativeCheckInputs = [ pytestCheckHook ]; - # On Darwin sysctl is used to read CPU information. postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace cpuinfo/cpuinfo.py \ @@ -31,6 +30,10 @@ buildPythonPackage rec { --replace "_run_and_get_stdout(['sysctl'" "_run_and_get_stdout(['${sysctl}/bin/sysctl'" ''; + build-system = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "cpuinfo" ]; meta = { From bb7f1f35bd32403c2baa1b69f64cf05952053bcd Mon Sep 17 00:00:00 2001 From: Jan Kleine Date: Fri, 9 Jan 2026 12:05:14 +0100 Subject: [PATCH 0302/1216] operator-sdk: 1.39.2 -> 1.42.0 --- pkgs/by-name/op/operator-sdk/package.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/operator-sdk/package.nix b/pkgs/by-name/op/operator-sdk/package.nix index 6650daf86c61..231420aee5c3 100644 --- a/pkgs/by-name/op/operator-sdk/package.nix +++ b/pkgs/by-name/op/operator-sdk/package.nix @@ -4,27 +4,31 @@ go, fetchFromGitHub, makeWrapper, + pkg-config, + gpgme, }: buildGoModule rec { pname = "operator-sdk"; - version = "1.39.2"; + version = "1.42.0"; src = fetchFromGitHub { owner = "operator-framework"; repo = "operator-sdk"; tag = "v${version}"; - hash = "sha256-2Kv6mDC1MndUgttRYODnI8DZ84RVz8jn3+RpXmOemq0="; + hash = "sha256-iXLAFFO7PCxA8QuQ9pMmQ/GBbVM5wBy9cVzSQRHHPrg="; }; - vendorHash = "sha256-W+q9K2003dJfcjyoN4YMoY98cwBy+nfZCi3tHNLbm1w="; + vendorHash = "sha256-F2ZYEEFG8hqCcy16DUmP9ilG6e20nXBiJnB6U+wezAo="; nativeBuildInputs = [ makeWrapper + pkg-config ]; buildInputs = [ go + gpgme ]; doCheck = false; From cc9d8b8cc109e1aa40a9896366e0510654f89267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 9 Jan 2026 07:49:45 -0800 Subject: [PATCH 0303/1216] python3Packages.backports-zstd: 1.2.0 -> 1.3.0 Diff: https://github.com/rogdham/backports.zstd/compare/v1.2.0...v1.3.0 Changelog: https://github.com/rogdham/backports.zstd/blob/v1.3.0/CHANGELOG.md --- pkgs/development/python-modules/backports-zstd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/backports-zstd/default.nix b/pkgs/development/python-modules/backports-zstd/default.nix index 8d29cfcf48bd..e8567cb41465 100644 --- a/pkgs/development/python-modules/backports-zstd/default.nix +++ b/pkgs/development/python-modules/backports-zstd/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "backports-zstd"; - version = "1.2.0"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { @@ -20,7 +20,7 @@ buildPythonPackage rec { postFetch = '' rm -r "$out/src/c/zstd" ''; - hash = "sha256-qKobd0TSdZhaBJlitWkRF4zj3Td8fk97GhXp2gZM1Ic="; + hash = "sha256-AF2Id4U2++RMCFICxz0E3DrgEVgGNsph4sIZ9YC87fE="; }; postPatch = '' From 0042376cfccba8cb9c6584dd76a68fc2626e8cf1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 9 Jan 2026 19:34:21 +0000 Subject: [PATCH 0304/1216] mcphost: 0.32.0 -> 0.33.2 --- pkgs/by-name/mc/mcphost/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mc/mcphost/package.nix b/pkgs/by-name/mc/mcphost/package.nix index 6d823e8d0fad..44c15231ba31 100644 --- a/pkgs/by-name/mc/mcphost/package.nix +++ b/pkgs/by-name/mc/mcphost/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "mcphost"; - version = "0.32.0"; + version = "0.33.2"; src = fetchFromGitHub { owner = "mark3labs"; repo = "mcphost"; tag = "v${finalAttrs.version}"; - hash = "sha256-zTSU7phEvoiw64V9QQI3IrHA9seStjOZadWaYwjlY9w="; + hash = "sha256-AQ+qKbvi3TywDrvc2xnw3gTwEi/Qxb3EJdT+1TWjVpM="; }; - vendorHash = "sha256-NBxJim9Abm9dHADXita5NHQf4hbR/IUz4VyeYpHYN2I="; + vendorHash = "sha256-oQEMrd1Lp9oMUCoQc674AyftMx7Tb+1rUoEGhu/ck7U="; doCheck = false; From 21a6fe80c249f50b6dff541a5f1b2bf9b92646ff Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Fri, 9 Jan 2026 19:51:20 +0100 Subject: [PATCH 0305/1216] tpm2-tss: fix tests with cmocka 2 Related to: https://github.com/NixOS/nixpkgs/pull/467954 Signed-off-by: Marcin Serwin --- pkgs/development/libraries/tpm2-tss/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix index 41b61f053528..bde0f5da0f73 100644 --- a/pkgs/development/libraries/tpm2-tss/default.nix +++ b/pkgs/development/libraries/tpm2-tss/default.nix @@ -115,6 +115,11 @@ stdenv.mkDerivation (finalAttrs: { done substituteInPlace src/tss2-fapi/ifapi_config.c \ --replace-fail 'SYSCONFDIR' '"/etc"' + + # https://github.com/tpm2-software/tpm2-tss/pull/3041 + substituteInPlace test/unit/tcti-libtpms.c \ + --replace-fail 'check_expected_ptr(st);' 'check_expected(st);' \ + --replace-fail 'check_expected_ptr(buf_len);' 'check_expected(buf_len);' '' # tcti tests rely on mocking function calls, which appears not to be supported # on clang From 77ce28421597cd2853142b09a3ec3b8c9b6fd1cd Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 9 Jan 2026 22:16:37 +0000 Subject: [PATCH 0306/1216] sqlite, sqlite-analyzer: 3.51.1 -> 3.51.2 Changes: https://sqlite.org/releaselog/3_51_2.html --- pkgs/development/libraries/sqlite/default.nix | 10 +++++----- pkgs/development/libraries/sqlite/tools.nix | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 471c427cbd8c..ff46657680fd 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -27,17 +27,17 @@ in stdenv.mkDerivation rec { pname = "sqlite${lib.optionalString interactive "-interactive"}"; - version = "3.51.1"; + version = "3.51.2"; # nixpkgs-update: no auto update # NB! Make sure to update ./tools.nix src (in the same directory). src = fetchurl { - url = "https://sqlite.org/2025/sqlite-autoconf-${archiveVersion version}.tar.gz"; - hash = "sha256-TyRFzXBHlyTTKtAV7H/Tf7tvYTABO9S/vIDDK+tCt+A="; + url = "https://sqlite.org/2026/sqlite-autoconf-${archiveVersion version}.tar.gz"; + hash = "sha256-+9ifhmsUA7tmoUMGVEAInddhAPIjgxTZInSggtTyt7s="; }; docsrc = fetchurl { - url = "https://sqlite.org/2025/sqlite-doc-${archiveVersion version}.zip"; - hash = "sha256-cygHoBzJ/K8ftBxw5Bam7dUVlXeI89Wud/7J2BtuIns="; + url = "https://sqlite.org/2026/sqlite-doc-${archiveVersion version}.zip"; + hash = "sha256-xuMNB8XpwSaQHFTY18kKnBo3B4JFUX8GCzxpxN5Dv10="; }; outputs = [ diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix index 1669bbd25334..932366a1b595 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.51.1"; + version = "3.51.2"; # nixpkgs-update: no auto update src = assert version == sqlite.version; fetchurl { - url = "https://sqlite.org/2025/sqlite-src-${archiveVersion version}.zip"; - hash = "sha256-D452WsjqfDbPjqm//dXBA1ZPSopjXyFfn3g7M4oT2XE="; + url = "https://sqlite.org/2026/sqlite-src-${archiveVersion version}.zip"; + hash = "sha256-hREPdi1QeUFNmd1deRe8P/fgWHbmzL0T2ElqOBfyCCk="; }; nativeBuildInputs = [ unzip ]; From 469d5981afaa00e87cfabbea837e676dbde3ff71 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 9 Jan 2026 20:05:13 -0500 Subject: [PATCH 0307/1216] coreutils: use finalAttrs --- pkgs/tools/misc/coreutils/default.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 41d22d5bef22..d8ef264a0c92 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -2,14 +2,11 @@ lib, stdenv, fetchurl, - autoreconfHook, buildPackages, libiconv, perl, - texinfo, xz, binlore, - coreutils, gmpSupport ? true, gmp, aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, @@ -46,12 +43,12 @@ let ; isCross = (stdenv.hostPlatform != stdenv.buildPlatform); in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "coreutils" + (optionalString (!minimal) "-full"); version = "9.9"; src = fetchurl { - url = "mirror://gnu/coreutils/coreutils-${version}.tar.xz"; + url = "mirror://gnu/coreutils/coreutils-${finalAttrs.version}.tar.xz"; hash = "sha256-Gby2yoZxg8V9dxVerpRsXs7YgYMUO0XKUa19JsYoynU="; }; @@ -232,7 +229,7 @@ stdenv.mkDerivation rec { # # binlore only spots exec in runcon on some platforms (i.e., not # darwin; see comment on inverse case below) - binlore.out = binlore.synthesize coreutils '' + binlore.out = binlore.synthesize finalAttrs.finalPackage '' execer can bin/{chroot,env,install,nice,nohup,runcon,sort,split,stdbuf,timeout} execer cannot bin/{[,b2sum,base32,base64,basename,basenc,cat,chcon,chgrp,chmod,chown,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,expand,expr,factor,false,fmt,fold,groups,head,hostid,id,join,kill,link,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nl,nproc,numfmt,od,paste,pathchk,pinky,pr,printenv,printf,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stty,sum,sync,tac,tail,tee,test,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,uptime,users,vdir,wc,who,whoami,yes} ''; @@ -242,7 +239,7 @@ stdenv.mkDerivation rec { # darwin; I have a note that the behavior may need selinux?). # hard-set it so people working on macOS don't miss cases of # runcon until ofBorg fails. - binlore.out = binlore.synthesize coreutils '' + binlore.out = binlore.synthesize finalAttrs.finalPackage '' execer can bin/runcon ''; }; @@ -263,4 +260,4 @@ stdenv.mkDerivation rec { platforms = with lib.platforms; unix ++ windows; priority = 10; }; -} +}) From 929d40a173c9a7e65845f2ea0dce6d04a0251653 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 10 Jan 2026 01:11:23 +0000 Subject: [PATCH 0308/1216] python3Packages.libapparmor: 4.1.2 -> 4.1.3 --- pkgs/by-name/li/libapparmor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libapparmor/package.nix b/pkgs/by-name/li/libapparmor/package.nix index d549f7a83074..b7f0df5cbed0 100644 --- a/pkgs/by-name/li/libapparmor/package.nix +++ b/pkgs/by-name/li/libapparmor/package.nix @@ -32,13 +32,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "libapparmor"; - version = "4.1.2"; + version = "4.1.3"; src = fetchFromGitLab { owner = "apparmor"; repo = "apparmor"; tag = "v${finalAttrs.version}"; - hash = "sha256-CwWNfH2Ykv4e+8ONytdM7J+aItAMVrq0yYrYzRXAe1w="; + hash = "sha256-8L4skun873OMZISpGm25Ana4RzTzCmKhhK5tfyEmbd8="; }; sourceRoot = "${finalAttrs.src.name}/libraries/libapparmor"; From 213240c7e48251dfa7716c197617c668f4c24da9 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 9 Jan 2026 20:15:48 -0500 Subject: [PATCH 0309/1216] coreutils.passthru.binlore: fix chcon/runcon coreutils 9.9 stopped building these by default if SELinux support is not present. --- pkgs/tools/misc/coreutils/default.nix | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index d8ef264a0c92..998050399cda 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -229,19 +229,27 @@ stdenv.mkDerivation (finalAttrs: { # # binlore only spots exec in runcon on some platforms (i.e., not # darwin; see comment on inverse case below) - binlore.out = binlore.synthesize finalAttrs.finalPackage '' - execer can bin/{chroot,env,install,nice,nohup,runcon,sort,split,stdbuf,timeout} - execer cannot bin/{[,b2sum,base32,base64,basename,basenc,cat,chcon,chgrp,chmod,chown,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,expand,expr,factor,false,fmt,fold,groups,head,hostid,id,join,kill,link,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nl,nproc,numfmt,od,paste,pathchk,pinky,pr,printenv,printf,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stty,sum,sync,tac,tail,tee,test,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,uptime,users,vdir,wc,who,whoami,yes} - ''; + binlore.out = binlore.synthesize finalAttrs.finalPackage ( + '' + execer can bin/{chroot,env,install,nice,nohup,sort,split,stdbuf,timeout} + execer cannot bin/{[,b2sum,base32,base64,basename,basenc,cat,chgrp,chmod,chown,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,expand,expr,factor,false,fmt,fold,groups,head,hostid,id,join,kill,link,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nl,nproc,numfmt,od,paste,pathchk,pinky,pr,printenv,printf,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stty,sum,sync,tac,tail,tee,test,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,uptime,users,vdir,wc,who,whoami,yes} + '' + + optionalString selinuxSupport '' + execer can bin/runcon + execer cannot bin/chcon + '' + ); } // optionalAttrs (singleBinary == false) { # binlore only spots exec in runcon on some platforms (i.e., not # darwin; I have a note that the behavior may need selinux?). # hard-set it so people working on macOS don't miss cases of # runcon until ofBorg fails. - binlore.out = binlore.synthesize finalAttrs.finalPackage '' - execer can bin/runcon - ''; + binlore.out = binlore.synthesize finalAttrs.finalPackage ( + optionalString selinuxSupport '' + execer can bin/runcon + '' + ); }; meta = { From 5a95ffa9f16c910cf6caa458e3a4e3157d934b01 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 13 Dec 2025 14:36:48 +0100 Subject: [PATCH 0310/1216] xinit: refactor & move to pkgs/by-name from xorg namespace relevant changes: - switch to GitLab source instead of release tarball - remove the outdated postPatch subtituteInPlace - I would have needed to go into postConfigure when using GitLab source, however swapping --replace with --replace-fail made it fail. - change the postFixup sed command to a somewhat equivalent substituteInPlace - remove the stdenv = clangStdenv override for darwin since stdenv is using clang on darwin anyway --- pkgs/by-name/xi/xinit/package.nix | 85 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 38 +-------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 36 -------- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 89 insertions(+), 73 deletions(-) create mode 100644 pkgs/by-name/xi/xinit/package.nix diff --git a/pkgs/by-name/xi/xinit/package.nix b/pkgs/by-name/xi/xinit/package.nix new file mode 100644 index 000000000000..cd1b7eb26009 --- /dev/null +++ b/pkgs/by-name/xi/xinit/package.nix @@ -0,0 +1,85 @@ +{ + lib, + stdenv, + fetchFromGitLab, + buildPackages, + autoreconfHook, + pkg-config, + util-macros, + darwin, + libx11, + xorgproto, + xauth, + xorg-server, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xinit"; + version = "1.4.4"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "app"; + repo = "xinit"; + tag = "xinit-${finalAttrs.version}"; + hash = "sha256-1GL0xJ/l9BnhoUyD5m1Ch86hjcRdBnys366qM4Lj84U="; + }; + + strictDeps = true; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.bootstrap_cmds + ]; + + buildInputs = [ + libx11 + xorgproto + ]; + + propagatedBuildInputs = [ + xauth + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libx11 + xorgproto + ]; + + configureFlags = [ + "--with-xserver=${xorg-server.out}/bin/X" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--with-bundle-id-prefix=org.nixos.xquartz" + "--with-launchdaemons-dir=${placeholder "out"}/LaunchDaemons" + "--with-launchagents-dir=${placeholder "out"}/LaunchAgents" + ]; + + postFixup = '' + substituteInPlace $out/bin/startx \ + --replace-fail '"''${prefix}/etc/X11/xinit/xinitrc"' '/etc/X11/xinit/xinitrc' \ + --replace-fail '"$xinitdir/xserverrc"' '/etc/X11/xinit/xserverrc' + ''; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xinit-(.*)" ]; }; + }; + + meta = { + description = "X server & client startup utilities (includes startx)"; + homepage = "https://gitlab.freedesktop.org/xorg/app/xinit"; + license = with lib.licenses; [ + mitOpenGroup + x11 + ]; + mainProgram = "xinit"; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 79141d56bf1e..b62e8afb1f99 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -134,6 +134,7 @@ xgamma, xgc, xhost, + xinit, xkbevd, xkbprint, xkbutils, @@ -221,6 +222,7 @@ self: with self; { xgamma xgc xhost + xinit xkbevd xkbprint xkbutils @@ -2124,42 +2126,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xinit = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - libX11, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xinit"; - version = "1.4.4"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/xinit-1.4.4.tar.xz"; - sha256 = "1ygymifhg500sx1ybk8x4d1zn4g4ywvlnyvqwcf9hzsc2rx7r920"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libX11 - xorgproto - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xinput = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 9c2c32c17c80..4d3895a46e2c 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -466,6 +466,7 @@ print OUT < Date: Sat, 13 Dec 2025 14:49:21 +0100 Subject: [PATCH 0311/1216] xinput: refactor & move to pkgs/by-name from xorg namespace relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xi/xinput/package.nix | 61 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 46 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 2 - pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 65 insertions(+), 47 deletions(-) create mode 100644 pkgs/by-name/xi/xinput/package.nix diff --git a/pkgs/by-name/xi/xinput/package.nix b/pkgs/by-name/xi/xinput/package.nix new file mode 100644 index 000000000000..e382442bdd42 --- /dev/null +++ b/pkgs/by-name/xi/xinput/package.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + libx11, + libxext, + libxi, + libxinerama, + libxrandr, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xinput"; + version = "1.6.4"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "app"; + repo = "xinput"; + tag = "xinput-${finalAttrs.version}"; + hash = "sha256-EsSytLzwAHMwseW4pD/c+/J1MaCWPsE7RPoMIwT96yk="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ]; + + buildInputs = [ + xorgproto + libx11 + libxext + libxi + libxinerama + libxrandr + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xinput-(.*)" ]; }; + }; + + meta = { + description = "Utility to configure and test XInput devices"; + homepage = "https://gitlab.freedesktop.org/xorg/app/xinput"; + license = with lib.licenses; [ + hpndSellVariant + mit + ]; + mainProgram = "xinput"; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index b62e8afb1f99..78643f2538d1 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -135,6 +135,7 @@ xgc, xhost, xinit, + xinput, xkbevd, xkbprint, xkbutils, @@ -223,6 +224,7 @@ self: with self; { xgc xhost xinit + xinput xkbevd xkbprint xkbutils @@ -2126,50 +2128,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xinput = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libX11, - libXext, - libXi, - libXinerama, - libXrandr, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xinput"; - version = "1.6.4"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/xinput-1.6.4.tar.xz"; - sha256 = "1j2pf28c54apr56v1fmvprp657n6x4sdrv8f24rx3138cl6x015d"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libX11 - libXext - libXi - libXinerama - libXrandr - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xkbcomp = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 4d3895a46e2c..f90a8f5252d7 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -467,6 +467,7 @@ print OUT < Date: Fri, 12 Dec 2025 21:44:46 +0100 Subject: [PATCH 0312/1216] xwd: refactor & move to pkgs/by-name from xorg namespace relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xw/xwd/package.nix | 53 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 13 ----- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 57 insertions(+), 52 deletions(-) create mode 100644 pkgs/by-name/xw/xwd/package.nix diff --git a/pkgs/by-name/xw/xwd/package.nix b/pkgs/by-name/xw/xwd/package.nix new file mode 100644 index 000000000000..0dc9ed5425ad --- /dev/null +++ b/pkgs/by-name/xw/xwd/package.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + libxkbfile, + libx11, + xorgproto, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xwd"; + version = "1.0.9"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "app"; + repo = "xwd"; + tag = "xwd-${finalAttrs.version}"; + hash = "sha256-cEKm0c50qwWzGSkH1sdovNfN3dW1hmnaEDwuJKwxGdo="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ]; + + buildInputs = [ + libxkbfile + libx11 + xorgproto + ]; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xwd-(.*)" ]; }; + + meta = { + description = "Utility to dump an image of an X window in XWD format"; + homepage = "https://gitlab.freedesktop.org/xorg/app/xwd"; + license = with lib.licenses; [ + mitOpenGroup + hpndSellVariant + ]; + mainProgram = "xwd"; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 78643f2538d1..5dc79021c38b 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -166,6 +166,7 @@ xtrans, xvfb, xvinfo, + xwd, xwininfo, xwud, }: @@ -250,6 +251,7 @@ self: with self; { xtrans xvfb xvinfo + xwd xwininfo xwud ; @@ -2204,42 +2206,4 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xwd = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - libxkbfile, - libX11, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xwd"; - version = "1.0.9"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/xwd-1.0.9.tar.xz"; - sha256 = "0gxx3y9zlh13jgwkayxljm6i58ng8jc1xzqv2g8s7d3yjj21n4nw"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libxkbfile - libX11 - xorgproto - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - } diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index f90a8f5252d7..fdaad80937a1 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -498,6 +498,7 @@ print OUT < Date: Sat, 13 Dec 2025 15:06:42 +0100 Subject: [PATCH 0313/1216] xorg.{libXrap,xtrap}: drop --- pkgs/servers/x11/xorg/default.nix | 78 ----------------------------- pkgs/servers/x11/xorg/overrides.nix | 2 + pkgs/servers/x11/xorg/tarballs.list | 2 - 3 files changed, 2 insertions(+), 80 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 5dc79021c38b..8214510a6daf 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -344,46 +344,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - libXTrap = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libX11, - libXext, - libXt, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "libXTrap"; - version = "1.0.1"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2"; - sha256 = "0bi5wxj6avim61yidh9fd3j4n8czxias5m8vss9vhxjnk1aksdwg"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libX11 - libXext - libXt - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xtrap" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86inputevdev = callPackage ( { @@ -2168,42 +2128,4 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xtrap = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - libX11, - libXt, - libXTrap, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xtrap"; - version = "1.0.3"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2"; - sha256 = "0sqm4j1zflk1s94iq4waa70hna1xcys88v9a70w0vdw66czhvj2j"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libX11 - libXt - libXTrap - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - } diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 88d6934c8a18..a1a7565a5c2d 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -378,6 +378,8 @@ self: super: # deprecate some packages // lib.optionalAttrs config.allowAliases { fontbitstreamspeedo = throw "Bitstream Speedo is an obsolete font format that hasn't been supported by Xorg since 2005"; # added 2025-09-24 + libXtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 + xtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 xf86videoglide = throw "The Xorg Glide video driver has been archived upstream due to being obsolete"; # added 2025-12-13 xf86videoglint = throw '' The Xorg GLINT/Permedia video driver has been broken since xorg 21. diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 48a7c4d49414..84c515c34b26 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -1,5 +1,4 @@ mirror://xorg/individual/app/xkbcomp-1.5.0.tar.xz -mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2 mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz mirror://xorg/individual/driver/xf86-input-joystick-1.6.4.tar.xz mirror://xorg/individual/driver/xf86-input-keyboard-2.1.0.tar.xz @@ -44,4 +43,3 @@ mirror://xorg/individual/driver/xf86-video-vboxvideo-1.0.1.tar.xz mirror://xorg/individual/driver/xf86-video-vesa-2.6.0.tar.xz mirror://xorg/individual/driver/xf86-video-vmware-13.4.0.tar.xz mirror://xorg/individual/driver/xf86-video-voodoo-1.2.6.tar.xz -mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2 From e896fd011f1d128bd5bf622ddb5bd92daa793c32 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Fri, 12 Dec 2025 22:52:46 +0100 Subject: [PATCH 0314/1216] xkbcomp: refactor & move to pkgs/by-name from xorg namespace relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xk/xkbcomp/package.nix | 65 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +----------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 7 -- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 69 insertions(+), 46 deletions(-) create mode 100644 pkgs/by-name/xk/xkbcomp/package.nix diff --git a/pkgs/by-name/xk/xkbcomp/package.nix b/pkgs/by-name/xk/xkbcomp/package.nix new file mode 100644 index 000000000000..24cf1311e7b1 --- /dev/null +++ b/pkgs/by-name/xk/xkbcomp/package.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + bison, + libx11, + libxkbfile, + xorgproto, + xkeyboard-config, + nix-update-script, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xkbcomp"; + version = "1.5.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "app"; + repo = "xkbcomp"; + tag = "xkbcomp-${finalAttrs.version}"; + hash = "sha256-nkyBjIOX9Qr0K+R0JcvJ7egI0a8Zh/tyhZvG7E+VlZU="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + bison + ]; + + buildInputs = [ + util-macros # unused dependency but the build fails if pkg-config can't find it + libx11 + libxkbfile + xorgproto + ]; + + configureFlags = [ "--with-xkb-config-root=${xkeyboard-config}/share/X11/xkb" ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xkbcomp-(.*)" ]; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + description = "XKB keyboard description compiler"; + homepage = "https://gitlab.freedesktop.org/xorg/app/xkbcomp"; + license = with lib.licenses; [ + hpnd + mitOpenGroup + hpndDec + ]; + mainProgram = "xkbcomp"; + maintainers = [ ]; + pkgConfigModules = [ "xkbcomp" ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 8214510a6daf..6585dcb56a07 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -136,6 +136,7 @@ xhost, xinit, xinput, + xkbcomp, xkbevd, xkbprint, xkbutils, @@ -226,6 +227,7 @@ self: with self; { xhost xinit xinput + xkbcomp xkbevd xkbprint xkbutils @@ -2090,42 +2092,4 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xkbcomp = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - libX11, - libxkbfile, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xkbcomp"; - version = "1.5.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/xkbcomp-1.5.0.tar.xz"; - sha256 = "0q3092w42w9wyfr5zf3ymkmzlqr24z6kz6ypkinxnxh7c0k1zhra"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libX11 - libxkbfile - xorgproto - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xkbcomp" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - } diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index fdaad80937a1..4c0f28afa380 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -468,6 +468,7 @@ print OUT < Date: Sat, 10 Jan 2026 02:58:20 +0000 Subject: [PATCH 0315/1216] linuxhw-edid-fetcher: 0-unstable-2025-01-06 -> 0-unstable-2026-01-08 --- pkgs/by-name/li/linuxhw-edid-fetcher/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix b/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix index 47ed98ddba28..2a76567b1dc1 100644 --- a/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix +++ b/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix @@ -21,13 +21,13 @@ # "${edids}/lib/firmware/edid/PG278Q_2014.bin"; stdenv.mkDerivation rec { pname = "linuxhw-edid-fetcher"; - version = "0-unstable-2025-01-06"; + version = "0-unstable-2026-01-08"; src = fetchFromGitHub { owner = "linuxhw"; repo = "EDID"; - rev = "cc83e52221a9a6d98632f00b54be64fd0bee0394"; - hash = "sha256-qwTHQOEeFG7SOM2JG9mNpJEoPI8M7GHuwYPWWfU/ID4="; + rev = "9c0c1bffc9c0f1cb2044115149a5ecb1652803f8"; + hash = "sha256-kdGUAbdlS736iB9oGo46HLK3ne3BV4LmUv/3fliyQBA="; }; fetch = lib.getExe (writeShellApplication { From dbeb49919ef8b76cdfcf4b0c9dc80f33097ca029 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 13 Dec 2025 00:14:10 +0100 Subject: [PATCH 0316/1216] xf86-input-evdev: refactor, move to pkgs/by-name & rename from xorg.xf86inputevdev relevant changes: - switch to GitLab source instead of release tarball - remove the preBuild because it didn't do anything --- pkgs/by-name/xf/xf86-input-evdev/package.nix | 71 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 44 +----------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 11 --- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 75 insertions(+), 54 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-input-evdev/package.nix diff --git a/pkgs/by-name/xf/xf86-input-evdev/package.nix b/pkgs/by-name/xf/xf86-input-evdev/package.nix new file mode 100644 index 000000000000..df15fa63733c --- /dev/null +++ b/pkgs/by-name/xf/xf86-input-evdev/package.nix @@ -0,0 +1,71 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + libevdev, + udev, + mtdev, + xorg-server, + nix-update-script, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-input-evdev"; + version = "2.11.0"; + + # to get rid of xorgserver.dev; man is tiny + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-input-evdev"; + tag = "xf86-input-evdev-${finalAttrs.version}"; + hash = "sha256-tXB50laCJcLoBbwM/hE+qEiHzmN7Q+r8uu6NPlRmpTM="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ]; + + buildInputs = [ + xorgproto + libevdev + udev + mtdev + xorg-server + ]; + + configureFlags = [ + "--with-sdkdir=${placeholder "dev"}/include/xorg" + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-input-evdev-(.*)" ]; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + description = "Generic Linux input driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-input-evdev"; + license = with lib.licenses; [ + hpndSellVariant + mit + ]; + maintainers = [ ]; + pkgConfigModules = [ "xorg-evdev" ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 89061fcc7148..08cc1d578ff4 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -128,6 +128,7 @@ xdriinfo, xev, xeyes, + xf86-input-evdev, xf86-input-mouse, xf86-input-synaptics, xf86-input-vmmouse, @@ -346,6 +347,7 @@ self: with self; { xcbutilrenderutil = libxcb-render-util; xcbutilwm = libxcb-wm; xcursorthemes = xcursor-themes; + xf86inputevdev = xf86-input-evdev; xf86inputmouse = xf86-input-mouse; xf86inputsynaptics = xf86-input-synaptics; xf86inputvmmouse = xf86-input-vmmouse; @@ -356,48 +358,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86inputevdev = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libevdev, - udev, - mtdev, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-input-evdev"; - version = "2.11.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz"; - sha256 = "058k0xdf4hkn8lz5gx4c08mgbzvv58haz7a32axndhscjgg2403k"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libevdev - udev - mtdev - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xorg-evdev" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86inputjoystick = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 71850e8ad294..35917dd23273 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -460,6 +460,7 @@ print OUT < Date: Sat, 13 Dec 2025 04:09:21 +0100 Subject: [PATCH 0317/1216] xf86-input-joystick: refactor, move to pkgs/by-name & rename from xorg.xf86inputjoystick relevant changes: - switch to GitLab source instead of release tarball --- .../xf/xf86-input-joystick/package.nix | 57 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 38 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 9 --- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 61 insertions(+), 46 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-input-joystick/package.nix diff --git a/pkgs/by-name/xf/xf86-input-joystick/package.nix b/pkgs/by-name/xf/xf86-input-joystick/package.nix new file mode 100644 index 000000000000..d0cb2023196d --- /dev/null +++ b/pkgs/by-name/xf/xf86-input-joystick/package.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + xorg-server, + nix-update-script, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-input-joystick"; + version = "1.6.4"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-input-joystick"; + tag = "xf86-input-joystick-${finalAttrs.version}"; + hash = "sha256-JxSnhWx5V3/pdlu3mwRNrgicdfaUK5nIwBK3reqchQs="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # xorg-server defines autoconf macros that we need + ]; + + buildInputs = [ + util-macros # unused dependency but the build fails if pkg-config can't find it + xorgproto + xorg-server + ]; + + configureFlags = [ "--with-sdkdir=${placeholder "out"}/include/xorg" ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-input-joystick-(.*)" ]; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + description = "Joystick input driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-input-joystick"; + license = lib.licenses.hpndSellVariant; + maintainers = [ ]; + pkgConfigModules = [ "xorg-joystick" ]; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isDarwin; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputjoystick.x86_64-darwin + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 08cc1d578ff4..0e9d6e49a228 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -129,6 +129,7 @@ xev, xeyes, xf86-input-evdev, + xf86-input-joystick, xf86-input-mouse, xf86-input-synaptics, xf86-input-vmmouse, @@ -348,6 +349,7 @@ self: with self; { xcbutilwm = libxcb-wm; xcursorthemes = xcursor-themes; xf86inputevdev = xf86-input-evdev; + xf86inputjoystick = xf86-input-joystick; xf86inputmouse = xf86-input-mouse; xf86inputsynaptics = xf86-input-synaptics; xf86inputvmmouse = xf86-input-vmmouse; @@ -358,42 +360,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86inputjoystick = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-input-joystick"; - version = "1.6.4"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-input-joystick-1.6.4.tar.xz"; - sha256 = "1lnc6cvrg81chb2hj3jphgx7crr4ab8wn60mn8f9nsdwza2w8plh"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xorg-joystick" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86inputkeyboard = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 35917dd23273..8c607cad0033 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -461,6 +461,7 @@ print OUT < Date: Sat, 13 Dec 2025 16:31:33 +0100 Subject: [PATCH 0318/1216] xf86-input-keyboard: refactor, move to pkgs/by-name & rename from xorg.xf86inputkeyboard relevant changes: - switch to GitLab source instead of release tarball the package is strictly non-linux only so i tested the build of pkgsCross.x86_64-freebsd on x86_64-linux --- .../xf/xf86-input-keyboard/package.nix | 56 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 38 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 6 -- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 60 insertions(+), 43 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-input-keyboard/package.nix diff --git a/pkgs/by-name/xf/xf86-input-keyboard/package.nix b/pkgs/by-name/xf/xf86-input-keyboard/package.nix new file mode 100644 index 000000000000..d3802e40a865 --- /dev/null +++ b/pkgs/by-name/xf/xf86-input-keyboard/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + xorg-server, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-input-keyboard"; + version = "2.1.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-input-keyboard"; + tag = "xf86-input-keyboard-${finalAttrs.version}"; + hash = "sha256-M0D6oTAhnADI7pgWKt4ueHGbdMVDTVOXy3w07DGcCSg="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ]; + + buildInputs = [ + xorgproto + xorg-server + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-input-keyboard-(.*)" ]; }; + }; + + meta = { + description = "Keyboard input driver for non-Linux platforms for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-input-keyboard"; + license = [ + lib.licenses.x11 + lib.licenses.hpndSellVariant + ] + # only solaris part is MIT + ++ lib.optional stdenv.hostPlatform.isSunOS lib.licenses.mit; + maintainers = [ ]; + # platforms according to the readme: + # BSD, GNU Hurd, illumos & Solaris + platforms = with lib.platforms; freebsd ++ netbsd ++ openbsd ++ illumos; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 0e9d6e49a228..d9a880d46bd9 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -130,6 +130,7 @@ xeyes, xf86-input-evdev, xf86-input-joystick, + xf86-input-keyboard, xf86-input-mouse, xf86-input-synaptics, xf86-input-vmmouse, @@ -350,6 +351,7 @@ self: with self; { xcursorthemes = xcursor-themes; xf86inputevdev = xf86-input-evdev; xf86inputjoystick = xf86-input-joystick; + xf86inputkeyboard = xf86-input-keyboard; xf86inputmouse = xf86-input-mouse; xf86inputsynaptics = xf86-input-synaptics; xf86inputvmmouse = xf86-input-vmmouse; @@ -360,42 +362,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86inputkeyboard = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-input-keyboard"; - version = "2.1.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-input-keyboard-2.1.0.tar.xz"; - sha256 = "0mvwxrnkq0lzhjr894p420zxffdn34nc2scinmp7qd1hikr51kkp"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86inputlibinput = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 8c607cad0033..0959a27f60ff 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -462,6 +462,7 @@ print OUT < Date: Sat, 13 Dec 2025 16:44:08 +0100 Subject: [PATCH 0319/1216] xf86-input-libinput: refactor, move to pkgs/by-name & rename from xorg.xf86inputlibinput relevant changes: - switch to GitLab source instead of release tarball --- .../xf/xf86-input-libinput/package.nix | 67 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +---------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 10 --- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 71 insertions(+), 49 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-input-libinput/package.nix diff --git a/pkgs/by-name/xf/xf86-input-libinput/package.nix b/pkgs/by-name/xf/xf86-input-libinput/package.nix new file mode 100644 index 000000000000..f3852ab9ad9a --- /dev/null +++ b/pkgs/by-name/xf/xf86-input-libinput/package.nix @@ -0,0 +1,67 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + libinput, + xorg-server, + nix-update-script, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-input-libinput"; + version = "1.5.0"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-input-libinput"; + tag = "xf86-input-libinput-${finalAttrs.version}"; + hash = "sha256-yZi5h3k6cwunucLhmH/wNchA0M11U3KBwrRuY/oATh8="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ]; + + buildInputs = [ + xorgproto + libinput + xorg-server + ]; + + configureFlags = [ + "--with-sdkdir=${placeholder "dev"}/include/xorg" + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-input-libinput-(.*)" ]; }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + description = "libinput-based input driver for the Xorg X server"; + longDescription = '' + This is an X driver based on libinput. It is a thin wrapper around libinput, so while it does + provide all features that libinput supports it does little beyond. + ''; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput"; + license = lib.licenses.mit; + maintainers = [ ]; + pkgConfigModules = [ "xorg-libinput" ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index d9a880d46bd9..ba97b8b90c84 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -131,6 +131,7 @@ xf86-input-evdev, xf86-input-joystick, xf86-input-keyboard, + xf86-input-libinput, xf86-input-mouse, xf86-input-synaptics, xf86-input-vmmouse, @@ -352,6 +353,7 @@ self: with self; { xf86inputevdev = xf86-input-evdev; xf86inputjoystick = xf86-input-joystick; xf86inputkeyboard = xf86-input-keyboard; + xf86inputlibinput = xf86-input-libinput; xf86inputmouse = xf86-input-mouse; xf86inputsynaptics = xf86-input-synaptics; xf86inputvmmouse = xf86-input-vmmouse; @@ -362,44 +364,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86inputlibinput = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libinput, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-input-libinput"; - version = "1.5.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-input-libinput-1.5.0.tar.xz"; - sha256 = "1rl06l0gdqmc4v08mya93m74ana76b7s3fzkmq8ylm3535gw6915"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libinput - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xorg-libinput" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videoamdgpu = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 0959a27f60ff..db515e165448 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -463,6 +463,7 @@ print OUT < Date: Sat, 10 Jan 2026 11:09:42 +0000 Subject: [PATCH 0320/1216] protobuf_33: 33.2 -> 33.3 --- pkgs/development/libraries/protobuf/33.nix | 4 ++-- pkgs/development/python-modules/protobuf/6.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/protobuf/33.nix b/pkgs/development/libraries/protobuf/33.nix index dec1aa836ed8..3945cf75cc8a 100644 --- a/pkgs/development/libraries/protobuf/33.nix +++ b/pkgs/development/libraries/protobuf/33.nix @@ -2,8 +2,8 @@ callPackage ./generic.nix ( { - version = "33.2"; - hash = "sha256-SguWBa9VlE15C+eLzcqqusVLgx9kDyPXwYImSE75HCM="; + version = "33.3"; + hash = "sha256-why+EKsH19jSj6LmlUySidx6shbvpItVjWq5deH3EXw="; } // args ) diff --git a/pkgs/development/python-modules/protobuf/6.nix b/pkgs/development/python-modules/protobuf/6.nix index 16e959977440..5c601b531683 100644 --- a/pkgs/development/python-modules/protobuf/6.nix +++ b/pkgs/development/python-modules/protobuf/6.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "protobuf"; - version = "6.33.2"; + version = "6.33.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Vtw3DJH7uKyFvBNYLJ43NWlmiikKouZqWQwqDTXdueQ="; + hash = "sha256-yHlN6+tAKWP93/QaWV4fZJvNdmFrpWyDVkXKtFOegQ4="; }; build-system = [ setuptools ]; From 055c416bca76a1de2caa10ee5ccf23085ddb564e Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 10 Jan 2026 07:04:12 +0100 Subject: [PATCH 0321/1216] xf86-video-amdgpu: 23.0.0 -> 25.0.0, refactor, move to pkgs/by-name & rename from xorg.xf86videoamdgpu relevant changes: - switch to GitLab source instead of release tarball - switch to meson build system - remove useless configureFlag (this is already the default) - set platforms to linux since udev is linux only - https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/84 --- pkgs/by-name/xf/xf86-video-amdgpu/package.nix | 61 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 46 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 4 -- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 65 insertions(+), 49 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-amdgpu/package.nix diff --git a/pkgs/by-name/xf/xf86-video-amdgpu/package.nix b/pkgs/by-name/xf/xf86-video-amdgpu/package.nix new file mode 100644 index 000000000000..a2eef5f5729b --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-amdgpu/package.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + libdrm, + libgbm, + libGL, + udev, + xorgproto, + xorg-server, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-amdgpu"; + version = "25.0.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-amdgpu"; + tag = "xf86-video-amdgpu-${finalAttrs.version}"; + hash = "sha256-7dLoKxBbE98FjADTYjjwj6OafJdecAkOCMRcYUYuYV4="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + libdrm + libgbm + libGL + udev + xorgproto + xorg-server + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-amdgpu-(.*)" ]; }; + }; + + meta = { + description = "Xorg driver for AMD Radeon GPUs using the amdgpu kernel driver"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu"; + license = with lib.licenses; [ + hpndSellVariant + mit + x11 + ]; + maintainers = [ ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index df56945b4ffd..c7ffb39bbb9e 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -136,6 +136,7 @@ xf86-input-synaptics, xf86-input-vmmouse, xf86-input-void, + xf86-video-amdgpu, xf86-video-apm, xf86-video-ark, xf86-video-ast, @@ -382,6 +383,7 @@ self: with self; { xf86inputsynaptics = xf86-input-synaptics; xf86inputvmmouse = xf86-input-vmmouse; xf86inputvoid = xf86-input-void; + xf86videoamdgpu = xf86-video-amdgpu; xf86videoapm = xf86-video-apm; xf86videoark = xf86-video-ark; xf86videoast = xf86-video-ast; @@ -412,50 +414,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videoamdgpu = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libgbm, - libGL, - libdrm, - udev, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-amdgpu"; - version = "23.0.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-amdgpu-23.0.0.tar.xz"; - sha256 = "0qf0kjh6pww5abxmqa4c9sfa2qq1hq4p8qcgqpfd1kpkcvmg012g"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libgbm - libGL - libdrm - udev - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videodummy = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index acc1b7a0f865..40b7a5a65c80 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -468,6 +468,7 @@ print OUT < Date: Thu, 8 Jan 2026 21:25:15 +0100 Subject: [PATCH 0322/1216] xf86-video-dummy: refactor, move to pkgs/by-name & rename from xorg.xf86videodummy relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xf/xf86-video-dummy/package.nix | 52 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 38 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 14 ----- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 56 insertions(+), 51 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-dummy/package.nix diff --git a/pkgs/by-name/xf/xf86-video-dummy/package.nix b/pkgs/by-name/xf/xf86-video-dummy/package.nix new file mode 100644 index 000000000000..6bf910666a12 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-dummy/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + xorg-server, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-dummy"; + version = "0.4.1"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-dummy"; + tag = "xf86-video-dummy-${finalAttrs.version}"; + hash = "sha256-lEqA716pg1mjTLEkHLITXJMZY9Vj8VByEs49ONNxpHs="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorgproto + xorg-server + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-dummy-(.*)" ]; }; + }; + + meta = { + description = "Virtual/offscreen frame buffer driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-dummy"; + # dummy driver was imported from XFree86 which was under the x11 license + license = lib.licenses.x11; + maintainers = [ ]; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isDarwin; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index c7ffb39bbb9e..30e0913286d5 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -143,6 +143,7 @@ xf86-video-ati, xf86-video-chips, xf86-video-cirrus, + xf86-video-dummy, xf86-video-geode, xf86-video-i128, xf86-video-i740, @@ -390,6 +391,7 @@ self: with self; { xf86videoati = xf86-video-ati; xf86videochips = xf86-video-chips; xf86videocirrus = xf86-video-cirrus; + xf86videodummy = xf86-video-dummy; xf86videogeode = xf86-video-geode; xf86videoi128 = xf86-video-i128; xf86videoi740 = xf86-video-i740; @@ -414,42 +416,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videodummy = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-dummy"; - version = "0.4.1"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-dummy-0.4.1.tar.xz"; - sha256 = "1byzsdcnlnzvkcqrzaajzc3nzm7y7ydrk9bjr4x9lx8gznkj069m"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videofbdev = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 40b7a5a65c80..04abce81b889 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -475,6 +475,7 @@ print OUT < Date: Sat, 10 Jan 2026 07:36:13 +0100 Subject: [PATCH 0323/1216] xf86-video-fbdev: refactor, move to pkgs/by-name & rename from xorg.xf86videofbdev relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xf/xf86-video-fbdev/package.nix | 52 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 4 files changed, 56 insertions(+), 39 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-fbdev/package.nix diff --git a/pkgs/by-name/xf/xf86-video-fbdev/package.nix b/pkgs/by-name/xf/xf86-video-fbdev/package.nix new file mode 100644 index 000000000000..b060c14cabb9 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-fbdev/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-fbdev"; + version = "0.5.1"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-fbdev"; + tag = "xf86-video-fbdev-${finalAttrs.version}"; + hash = "sha256-JlSTosvQCiNeWbveYdj4+Ulgd/guc37xYUMaAhyS7K8="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libpciaccess + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-fbdev-(.*)" ]; }; + }; + + meta = { + description = "Framebuffer device video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-fbdev"; + license = lib.licenses.x11; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 30e0913286d5..87f6b644995f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -144,6 +144,7 @@ xf86-video-chips, xf86-video-cirrus, xf86-video-dummy, + xf86-video-fbdev, xf86-video-geode, xf86-video-i128, xf86-video-i740, @@ -392,6 +393,7 @@ self: with self; { xf86videochips = xf86-video-chips; xf86videocirrus = xf86-video-cirrus; xf86videodummy = xf86-video-dummy; + xf86videofbdev = xf86-video-fbdev; xf86videogeode = xf86-video-geode; xf86videoi128 = xf86-video-i128; xf86videoi740 = xf86-video-i740; @@ -416,44 +418,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videofbdev = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-fbdev"; - version = "0.5.1"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-fbdev-0.5.1.tar.xz"; - sha256 = "11zk8whari4m99ad3w30xwcjkgya4xbcpmg8710q14phkbxw0aww"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videointel = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 04abce81b889..918b297f21cd 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -476,6 +476,7 @@ print OUT < Date: Fri, 9 Jan 2026 00:33:49 +0100 Subject: [PATCH 0324/1216] xf86-video-intel: 2024-05-06 -> 2025-03-21, refactor, move to pkgs/by-name & rename from xorg.xf86videointel relevant changes: - switch to GitLab source instead of release tarball - switch to meson build system --- pkgs/by-name/xf/xf86-video-intel/package.nix | 111 ++++++++++++++++++ .../use_crocus_and_iris.patch | 0 pkgs/servers/x11/xorg/default.nix | 72 +----------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 35 ------ pkgs/servers/x11/xorg/tarballs.list | 1 - 6 files changed, 115 insertions(+), 106 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-intel/package.nix rename pkgs/{servers/x11/xorg => by-name/xf/xf86-video-intel}/use_crocus_and_iris.patch (100%) diff --git a/pkgs/by-name/xf/xf86-video-intel/package.nix b/pkgs/by-name/xf/xf86-video-intel/package.nix new file mode 100644 index 000000000000..27064ca6ea71 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-intel/package.nix @@ -0,0 +1,111 @@ +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + dri-pkgconfig-stub, + libdrm, + libpciaccess, + libpng, + libx11, + libxcb, + libxcb-util, + libxcursor, + libxdamage, + libxfixes, + libxinerama, + libxrandr, + libxrender, + libxscrnsaver, + libxshmfence, + libxtst, + libxv, + libxvmc, + libxxf86vm, + pixman, + valgrind, + xorgproto, + xorg-server, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-intel"; + version = "unstable-2025-03-21"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-intel"; + rev = "4a64400ec6a7d8c0aba0e6a39b16a5e86d0af843"; + hash = "sha256-bwyNVHSTnbyxU6059nITk4TNBEly39xPB67gGOPkmYU="; + }; + + patches = [ + # Comment from 037167ae17fefe6b5dc86dc05f0dd168031c3c68: + # + # The i965 driver was removed in Mesa 22, but the xf86videointel driver + # hasn't been updated to reflect this. This leads to the following error + # when used with the affected hardware: + # + # (EE) AIGLX error: dlopen of /run/opengl-driver/lib/dri/i965_dri.so failed + # (/run/opengl-driver/lib/dri/i965_dri.so: cannot open + # shared object file: No such file or directory) + # (EE) AIGLX error: unable to load driver i965 + ./use_crocus_and_iris.patch + ]; + + strictDeps = true; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + dri-pkgconfig-stub + libdrm + libpciaccess + libpng + libx11 + libxcb + libxcb-util + libxcursor + libxdamage + libxfixes + libxinerama + libxrandr + libxrender + libxscrnsaver + libxshmfence + libxtst + libxv + libxvmc + libxxf86vm + pixman + valgrind + xorgproto + xorg-server + ]; + + configureFlags = [ + "--with-default-dri=3" + "--enable-tools" + ]; + + meta = { + description = "Open-source Xorg graphics driver for Intel graphics"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel"; + license = with lib.licenses; [ + mit + hpndSellVariant + ]; + maintainers = [ ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; + }; +}) diff --git a/pkgs/servers/x11/xorg/use_crocus_and_iris.patch b/pkgs/by-name/xf/xf86-video-intel/use_crocus_and_iris.patch similarity index 100% rename from pkgs/servers/x11/xorg/use_crocus_and_iris.patch rename to pkgs/by-name/xf/xf86-video-intel/use_crocus_and_iris.patch diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 87f6b644995f..cfb3e2a1b99e 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -148,6 +148,7 @@ xf86-video-geode, xf86-video-i128, xf86-video-i740, + xf86-video-intel, xf86-video-mga, xf86-video-neomagic, xf86-video-nouveau, @@ -397,6 +398,7 @@ self: with self; { xf86videogeode = xf86-video-geode; xf86videoi128 = xf86-video-i128; xf86videoi740 = xf86-video-i740; + xf86videointel = xf86-video-intel; xf86videomga = xf86-video-mga; xf86videoneomagic = xf86-video-neomagic; xf86videonouveau = xf86-video-nouveau; @@ -418,76 +420,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videointel = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - cairo, - xorgproto, - libdrm, - libpng, - udev, - libpciaccess, - libX11, - xcbutil, - libxcb, - libXcursor, - libXdamage, - libXext, - libXfixes, - xorgserver, - libXrandr, - libXrender, - libxshmfence, - libXtst, - libXvMC, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-intel"; - version = "2.99.917"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2"; - sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - cairo - xorgproto - libdrm - libpng - udev - libpciaccess - libX11 - xcbutil - libxcb - libXcursor - libXdamage - libXext - libXfixes - xorgserver - libXrandr - libXrender - libxshmfence - libXtst - libXvMC - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videonv = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 918b297f21cd..9e73f3ab5542 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -480,6 +480,7 @@ print OUT < Date: Sat, 10 Jan 2026 07:43:16 +0100 Subject: [PATCH 0325/1216] xf86-video-nv: refactor, move to pkgs/by-name & rename from xorg.xf86videonv relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xf/xf86-video-nv/package.nix | 55 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 4 files changed, 59 insertions(+), 39 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-nv/package.nix diff --git a/pkgs/by-name/xf/xf86-video-nv/package.nix b/pkgs/by-name/xf/xf86-video-nv/package.nix new file mode 100644 index 000000000000..f06b600aab25 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-nv/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorgproto, + xorg-server, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-nv"; + version = "2.1.23"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-nv"; + tag = "xf86-video-nv-${finalAttrs.version}"; + hash = "sha256-8I7PnxOPXrUv0Ezj1H2qgUQdRDE99znSqUaieP6Pu8s="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libpciaccess + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-nv-(.*)" ]; }; + }; + + meta = { + description = "Minimal NVIDIA video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-nv"; + license = with lib.licenses; [ + mit + hpndSellVariant + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index cfb3e2a1b99e..49f2b9b0b545 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -152,6 +152,7 @@ xf86-video-mga, xf86-video-neomagic, xf86-video-nouveau, + xf86-video-nv, xf86-video-qxl, xf86-video-r128, xf86-video-s3virge, @@ -402,6 +403,7 @@ self: with self; { xf86videomga = xf86-video-mga; xf86videoneomagic = xf86-video-neomagic; xf86videonouveau = xf86-video-nouveau; + xf86videonv = xf86-video-nv; xf86videoqxl = xf86-video-qxl; xf86videor128 = xf86-video-r128; xf86videos3virge = xf86-video-s3virge; @@ -420,44 +422,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videonv = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-nv"; - version = "2.1.23"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-nv-2.1.23.tar.xz"; - sha256 = "1jlap6xjn4pfwg9ab8fxm5mwf4dqfywp70bgc0071m7k66jbv3f6"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videoomap = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 9e73f3ab5542..17b1be682d00 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -484,6 +484,7 @@ print OUT < Date: Sat, 10 Jan 2026 07:53:30 +0100 Subject: [PATCH 0326/1216] xf86-video-omap: refactor, move to pkgs/by-name & rename from xorg.xf86videoomap relevant changes: - switch to GitLab source instead of release tarball - change meta.platforms to only linux because xf86-video-omap depends on libdrm_omap, a part of libdrm which is only available on linux --- pkgs/by-name/xf/xf86-video-omap/package.nix | 55 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 4 -- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 59 insertions(+), 43 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-omap/package.nix diff --git a/pkgs/by-name/xf/xf86-video-omap/package.nix b/pkgs/by-name/xf/xf86-video-omap/package.nix new file mode 100644 index 000000000000..5c501140d302 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-omap/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libdrm, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-omap"; + version = "0.4.5"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-omap"; + tag = "xf86-video-omap-${finalAttrs.version}"; + hash = "sha256-5IffoBuSqSs0bQVCJHva/465KK0njrJyvG51dZX/rnM="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libdrm + ]; + + env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=format-overflow" ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-omap-(.*)" ]; }; + }; + + meta = { + description = "Open-source X.org graphics driver for TI OMAP graphics"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-omap"; + license = lib.licenses.mit; + maintainers = [ ]; + # libdrm_omap is only available on linux + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 49f2b9b0b545..bfd83389cfb0 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -153,6 +153,7 @@ xf86-video-neomagic, xf86-video-nouveau, xf86-video-nv, + xf86-video-omap, xf86-video-qxl, xf86-video-r128, xf86-video-s3virge, @@ -404,6 +405,7 @@ self: with self; { xf86videoneomagic = xf86-video-neomagic; xf86videonouveau = xf86-video-nouveau; xf86videonv = xf86-video-nv; + xf86videoomap = xf86-video-omap; xf86videoqxl = xf86-video-qxl; xf86videor128 = xf86-video-r128; xf86videos3virge = xf86-video-s3virge; @@ -422,44 +424,6 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videoomap = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libdrm, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-omap"; - version = "0.4.5"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-omap-0.4.5.tar.bz2"; - sha256 = "0nmbrx6913dc724y8wj2p6vqfbj5zdjfmsl037v627jj0whx9rwk"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libdrm - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videoopenchrome = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 17b1be682d00..da4e061be95c 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -485,6 +485,7 @@ print OUT < Date: Sat, 10 Jan 2026 09:29:00 -0500 Subject: [PATCH 0327/1216] libbluray: fix withJava JAVA_HOME was always broken, it should have been JDK_HOME (however a fix for that has been needing review for more than a year). With libbluray 1.4.0, this is now set via the Meson flag `jdk_home`. Additionally, headless JDK is no longer sufficient as it requires `java.awt.Toolkit` at runtime. --- pkgs/by-name/li/libbluray/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libbluray/package.nix b/pkgs/by-name/li/libbluray/package.nix index fe6f8feb611f..c7186f8a8ccb 100644 --- a/pkgs/by-name/li/libbluray/package.nix +++ b/pkgs/by-name/li/libbluray/package.nix @@ -8,7 +8,7 @@ meson, ninja, withJava ? false, - jdk21_headless, # Newer JDK's depend on a release with a fix for https://code.videolan.org/videolan/libbluray/-/issues/46 + jdk21, # Newer JDK's depend on a release with a fix for https://code.videolan.org/videolan/libbluray/-/issues/46 ant, stripJavaArchivesHook, withAACS ? false, @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { pkg-config ] ++ lib.optionals withJava [ - jdk21_headless + jdk21 ant stripJavaArchivesHook ]; @@ -53,13 +53,13 @@ stdenv.mkDerivation rec { propagatedBuildInputs = lib.optional withAACS libaacs; - env.JAVA_HOME = lib.optionalString withJava jdk21_headless.home; # Fails at runtime without this env.NIX_LDFLAGS = lib.optionalString withAACS "-L${libaacs}/lib -laacs" + lib.optionalString withBDplus " -L${libbdplus}/lib -lbdplus"; mesonFlags = lib.optional (!withJava) "-Dbdj_jar=disabled" + ++ lib.optional withJava "-Djdk_home=${jdk21.home}" ++ lib.optional (!withMetadata) "-dlibxml2=disabled" ++ lib.optional (!withFonts) "-Dfreetype=disabled"; From 455e209f662fb99fd6ff07c4e9bcd899712fe901 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Sat, 10 Jan 2026 09:35:14 -0500 Subject: [PATCH 0328/1216] libbluray: fix withAACS & withBDplus It will try to dynamically load these libs from non-Nix paths. So replace with the correct paths. --- pkgs/by-name/li/libbluray/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/li/libbluray/package.nix b/pkgs/by-name/li/libbluray/package.nix index c7186f8a8ccb..5b5bbec797de 100644 --- a/pkgs/by-name/li/libbluray/package.nix +++ b/pkgs/by-name/li/libbluray/package.nix @@ -34,6 +34,14 @@ stdenv.mkDerivation rec { hash = "sha256-d5N7rwfq3aSysxHPOvTFAmnS6jFlBB9YQ9lkdsTJJ3c="; }; + postPatch = + lib.optionalString withAACS '' + substituteInPlace src/libbluray/disc/aacs.c --replace-fail 'getenv("LIBAACS_PATH")' '"${libaacs}/lib/libaacs"' + '' + + lib.optionalString withBDplus '' + substituteInPlace src/libbluray/disc/bdplus.c --replace-fail 'getenv("LIBBDPLUS_PATH")' '"${libbdplus}/lib/libbdplus"' + ''; + nativeBuildInputs = [ meson ninja From 0cf7d1a86c5ee73813a4958eaec188cd50def0a5 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Sat, 10 Jan 2026 09:37:23 -0500 Subject: [PATCH 0329/1216] libbluray: adopt maintainership --- pkgs/by-name/li/libbluray/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libbluray/package.nix b/pkgs/by-name/li/libbluray/package.nix index 5b5bbec797de..7139008ec761 100644 --- a/pkgs/by-name/li/libbluray/package.nix +++ b/pkgs/by-name/li/libbluray/package.nix @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { homepage = "http://www.videolan.org/developers/libbluray.html"; description = "Library to access Blu-Ray disks for video playback"; license = lib.licenses.lgpl21; - maintainers = [ ]; + maintainers = [ lib.maintainers.amarshall ]; platforms = lib.platforms.unix; }; From cab53706906a956302428c825c6b4e71af48b7fc Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Sat, 10 Jan 2026 17:54:43 +0100 Subject: [PATCH 0330/1216] python3Packages.python-cstruct: 6.1 -> 6.2 --- .../python-modules/cstruct/default.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/cstruct/default.nix b/pkgs/development/python-modules/cstruct/default.nix index d30f702ce6b5..fb14a65d31fc 100644 --- a/pkgs/development/python-modules/cstruct/default.nix +++ b/pkgs/development/python-modules/cstruct/default.nix @@ -3,18 +3,21 @@ buildPythonPackage, fetchFromGitHub, pytestCheckHook, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cstruct"; - version = "6.1"; - format = "setuptools"; + version = "6.2"; + pyproject = true; + + build-system = [ setuptools ]; src = fetchFromGitHub { owner = "andreax79"; repo = "python-cstruct"; - tag = "v${version}"; - hash = "sha256-9MC6f8U++vJkglBmGMTmiamE8XqUNKTzKOz7TA148Ys="; + tag = "v${finalAttrs.version}"; + hash = "sha256-jLpuvApEP8Acva/OV3ulwl4+dOy8t/cD/LFJWWnD3BM="; }; pythonImportsCheck = [ "cstruct" ]; @@ -24,8 +27,8 @@ buildPythonPackage rec { meta = { description = "C-style structs for Python"; homepage = "https://github.com/andreax79/python-cstruct"; - changelog = "https://github.com/andreax79/python-cstruct/blob/${src.tag}/changelog.txt"; + changelog = "https://github.com/andreax79/python-cstruct/blob/${finalAttrs.src.tag}/changelog.txt"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ tnias ]; }; -} +}) From 1865ae4be0e7e046172c287c805a7581224a1f41 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 10 Jan 2026 18:15:54 +0000 Subject: [PATCH 0331/1216] llvmPackages.libllvm: deduplicate Darwin patches --- pkgs/development/compilers/llvm/common/llvm/default.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index 00171a97068e..65322e5ac3af 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -293,21 +293,14 @@ stdenv.mkDerivation ( '' + # fails when run in sandbox - optionalString (!stdenv.hostPlatform.isx86) '' + '' substituteInPlace unittests/Support/VirtualFileSystemTest.cpp \ --replace-fail "PhysicalFileSystemWorkingDirFailure" "DISABLED_PhysicalFileSystemWorkingDirFailure" '' ) + - # dup of above patch with different conditions optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86) - # fails when run in sandbox ( - '' - substituteInPlace unittests/Support/VirtualFileSystemTest.cpp \ - --replace-fail "PhysicalFileSystemWorkingDirFailure" "DISABLED_PhysicalFileSystemWorkingDirFailure" - '' - + # This test fails on darwin x86_64 because `sw_vers` reports a different # macOS version than what LLVM finds by reading # `/System/Library/CoreServices/SystemVersion.plist` (which is passed into From e44c4915d887b5b99a7181b5ccae5a2e703d8d7d Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 10 Jan 2026 18:15:54 +0000 Subject: [PATCH 0332/1216] llvmPackages.libllvm: disable `getMacOSHostVersion` on LLVM < 21 This is breaking Hydra builds. The old comment about the CoreFoundation framework is no longer relevant now that we always use the system frameworks. --- .../compilers/llvm/common/llvm/default.nix | 65 +++++++------------ 1 file changed, 23 insertions(+), 42 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index 65322e5ac3af..4cab9595a10c 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -297,49 +297,30 @@ stdenv.mkDerivation ( substituteInPlace unittests/Support/VirtualFileSystemTest.cpp \ --replace-fail "PhysicalFileSystemWorkingDirFailure" "DISABLED_PhysicalFileSystemWorkingDirFailure" '' + + + # Fails on macOS ≥ 26 due to the changed OS version scheme. + # + # This was fixed upstream in LLVM 21 with + # 88f041f3e05e26617856cc096d2e2864dfaa1c7b, but it’s too + # painful to backport all the way. + lib.optionalString + ( + lib.versionOlder release_version "21" + || + # Rebuild avoidance; TODO: clean up on `staging`. + stdenv.hostPlatform.isx86 + ) + '' + substituteInPlace unittests/TargetParser/Host.cpp \ + --replace-fail "getMacOSHostVersion" "DISABLED_getMacOSHostVersion" + '' + + + # This test fails with a `dysmutil` crash; have not yet dug into what's + # going on here (TODO(@rrbutani)). + lib.optionalString (stdenv.hostPlatform.isx86 && lib.versionOlder release_version "19") '' + rm test/tools/dsymutil/ARM/obfuscated.test + '' ) - + - optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86) - ( - # This test fails on darwin x86_64 because `sw_vers` reports a different - # macOS version than what LLVM finds by reading - # `/System/Library/CoreServices/SystemVersion.plist` (which is passed into - # the sandbox on macOS). - # - # The `sw_vers` provided by nixpkgs reports the macOS version associated - # with the `CoreFoundation` framework with which it was built. Because - # nixpkgs pins the SDK for `aarch64-darwin` and `x86_64-darwin` what - # `sw_vers` reports is not guaranteed to match the macOS version of the host - # that's building this derivation. - # - # Astute readers will note that we only _patch_ this test on aarch64-darwin - # (to use the nixpkgs provided `sw_vers`) instead of disabling it outright. - # So why does this test pass on aarch64? - # - # Well, it seems that `sw_vers` on aarch64 actually links against the _host_ - # CoreFoundation framework instead of the nixpkgs provided one. - # - # Not entirely sure what the right fix is here. I'm assuming aarch64 - # `sw_vers` doesn't intentionally link against the host `CoreFoundation` - # (still digging into how this ends up happening, will follow up) but that - # aside I think the more pertinent question is: should we be patching LLVM's - # macOS version detection logic to use `sw_vers` instead of reading host - # paths? This *is* a way in which details about builder machines can creep - # into the artifacts that are produced, affecting reproducibility, but it's - # not clear to me when/where/for what this even gets used in LLVM. - # - # TODO(@rrbutani): fix/follow-up - '' - substituteInPlace unittests/TargetParser/Host.cpp \ - --replace-fail "getMacOSHostVersion" "DISABLED_getMacOSHostVersion" - '' - + - # This test fails with a `dysmutil` crash; have not yet dug into what's - # going on here (TODO(@rrbutani)). - lib.optionalString (lib.versionOlder release_version "19") '' - rm test/tools/dsymutil/ARM/obfuscated.test - '' - ) + # FileSystem permissions tests fail with various special bits From ca471fb815386e079d7fafa12a672714bd7843b7 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 10 Jan 2026 17:56:24 +0100 Subject: [PATCH 0333/1216] xf86-video-savage: refactor, move to pkgs/by-name & rename from xorg.xf86videosavage relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xf/xf86-video-savage/package.nix | 57 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 42 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 4 files changed, 61 insertions(+), 41 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-savage/package.nix diff --git a/pkgs/by-name/xf/xf86-video-savage/package.nix b/pkgs/by-name/xf/xf86-video-savage/package.nix new file mode 100644 index 000000000000..de223b0f77af --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-savage/package.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libpciaccess, + libdrm, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-savage"; + version = "2.4.1"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-savage"; + tag = "xf86-video-savage-${finalAttrs.version}"; + hash = "sha256-MimTtOPSVQ0uEREYNJDqwDOF2RaNxv/pWmhxcqVfSqA="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libdrm + libpciaccess + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-savage-(.*)" ]; }; + }; + + meta = { + description = "S3 Savage video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-savage"; + license = with lib.licenses; [ + x11 + mit + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index bfd83389cfb0..c701d554fb6e 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -157,6 +157,7 @@ xf86-video-qxl, xf86-video-r128, xf86-video-s3virge, + xf86-video-savage, xf86-video-sis, xf86-video-sisusb, xf86-video-suncg6, @@ -409,6 +410,7 @@ self: with self; { xf86videoqxl = xf86-video-qxl; xf86videor128 = xf86-video-r128; xf86videos3virge = xf86-video-s3virge; + xf86videosavage = xf86-video-savage; xf86videosis = xf86-video-sis; xf86videosisusb = xf86-video-sisusb; xf86videosuncg6 = xf86-video-suncg6; @@ -472,46 +474,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videosavage = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libdrm, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-savage"; - version = "2.4.1"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-savage-2.4.1.tar.xz"; - sha256 = "1bqhgldb6yahpgav7g7cyc4kl5pm3mgkq8w2qncj36311hb92hb7"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libdrm - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videosiliconmotion = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index da4e061be95c..5927b5d59a24 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -489,6 +489,7 @@ print OUT < Date: Sat, 10 Jan 2026 18:09:18 +0100 Subject: [PATCH 0334/1216] xf86-video-siliconmotion: refactor, move to pkgs/by-name & rename from xorg.xf86videosiliconmotion relevant changes: - switch to GitLab source instead of release tarball --- .../xf/xf86-video-siliconmotion/package.nix | 56 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 9 --- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 60 insertions(+), 48 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-siliconmotion/package.nix diff --git a/pkgs/by-name/xf/xf86-video-siliconmotion/package.nix b/pkgs/by-name/xf/xf86-video-siliconmotion/package.nix new file mode 100644 index 000000000000..ad3a3ac6d169 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-siliconmotion/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-siliconmotion"; + version = "1.7.10"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-siliconmotion"; + tag = "xf86-video-siliconmotion-${finalAttrs.version}"; + hash = "sha256-CRuzdxlES6TFMDGIKk5sBAXF2Pa781jmTzlVT+A2Muk="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libpciaccess + ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=xf86-video-siliconmotion-(.*)" ]; + }; + + meta = { + description = "Silicon Motion video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-siliconmotion"; + license = with lib.licenses; [ + x11 + mit + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isAarch64; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index c701d554fb6e..d74d6419a765 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -158,6 +158,7 @@ xf86-video-r128, xf86-video-s3virge, xf86-video-savage, + xf86-video-siliconmotion, xf86-video-sis, xf86-video-sisusb, xf86-video-suncg6, @@ -411,6 +412,7 @@ self: with self; { xf86videor128 = xf86-video-r128; xf86videos3virge = xf86-video-s3virge; xf86videosavage = xf86-video-savage; + xf86videosiliconmotion = xf86-video-siliconmotion; xf86videosis = xf86-video-sis; xf86videosisusb = xf86-video-sisusb; xf86videosuncg6 = xf86-video-suncg6; @@ -474,44 +476,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videosiliconmotion = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-siliconmotion"; - version = "1.7.10"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.10.tar.xz"; - sha256 = "1h4g2mqxshaxii416ldw0aqy6cxnsbnzayfin51xm2526dw9q18n"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videotrident = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 5927b5d59a24..2d5079b541b7 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -490,6 +490,7 @@ print OUT < Date: Sat, 10 Jan 2026 18:39:59 +0100 Subject: [PATCH 0335/1216] xf86-video-trident: refactor, move to pkgs/by-name & rename from xorg.xf86videotrident relevant changes: - switch to GitLab source instead of release tarball - mark broken on aarch64 (missing I/O port functions https://stackoverflow.com/a/70538833) --- .../by-name/xf/xf86-video-trident/package.nix | 56 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 4 files changed, 60 insertions(+), 39 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-trident/package.nix diff --git a/pkgs/by-name/xf/xf86-video-trident/package.nix b/pkgs/by-name/xf/xf86-video-trident/package.nix new file mode 100644 index 000000000000..6b1c6ea28317 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-trident/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-trident"; + version = "1.4.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-trident"; + tag = "xf86-video-trident-${finalAttrs.version}"; + hash = "sha256-xTBktn813s8Dy3gPScEHVlWMzSRx7oIymbFUpkvYAhE="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libpciaccess + ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=xf86-video-trident-(.*)" ]; + }; + + meta = { + description = "Trident video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-trident"; + license = with lib.licenses; [ + hpndSellVariant + mit + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.aarch64; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index d74d6419a765..6173cb24c123 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -165,6 +165,7 @@ xf86-video-sunffb, xf86-video-sunleo, xf86-video-tdfx, + xf86-video-trident, xf86-video-v4l, xf86-video-vbox, xf86-video-vesa, @@ -419,6 +420,7 @@ self: with self; { xf86videosunffb = xf86-video-sunffb; xf86videosunleo = xf86-video-sunleo; xf86videotdfx = xf86-video-tdfx; + xf86videotrident = xf86-video-trident; xf86videov4l = xf86-video-v4l; xf86videovboxvideo = xf86-video-vbox; xf86videovesa = xf86-video-vesa; @@ -476,44 +478,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videotrident = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-trident"; - version = "1.4.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-trident-1.4.0.tar.xz"; - sha256 = "16qqn1brz50mwcy42zi1wsw9af56qadsaaiwm9hn1p6plyf22xkz"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videovmware = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 2d5079b541b7..bddae7768ac1 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -497,6 +497,7 @@ print OUT < Date: Sat, 10 Jan 2026 18:49:14 +0100 Subject: [PATCH 0336/1216] xf86-video-vmware: refactor, move to pkgs/by-name & rename from xorg.xf86videovmware relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xf/xf86-video-vmware/package.nix | 65 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 48 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 10 --- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 69 insertions(+), 57 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-vmware/package.nix diff --git a/pkgs/by-name/xf/xf86-video-vmware/package.nix b/pkgs/by-name/xf/xf86-video-vmware/package.nix new file mode 100644 index 000000000000..1cb6008d1eb3 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-vmware/package.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libdrm, + libpciaccess, + libx11, + libxext, + udev, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-vmware"; + version = "13.4.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-vmware"; + tag = "xf86-video-vmware-${finalAttrs.version}"; + hash = "sha256-aC/LsAvrVtG+2SrMaB7ROJTUIleZTcLydmt5cQf0dHc="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libdrm + libpciaccess + libx11 + libxext + udev + ]; + + env.NIX_CFLAGS_COMPILE = "-Wno-error=address"; # gcc12 + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=xf86-video-vmware-(.*)" ]; + }; + + meta = { + description = "VMware guest video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-vmware"; + license = with lib.licenses; [ + x11 + mit + ]; + maintainers = [ ]; + platforms = lib.intersectLists lib.platforms.linux lib.platforms.x86; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 6173cb24c123..df2201766ad5 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -169,6 +169,7 @@ xf86-video-v4l, xf86-video-vbox, xf86-video-vesa, + xf86-video-vmware, xfd, xfontsel, xfs, @@ -424,6 +425,7 @@ self: with self; { xf86videov4l = xf86-video-v4l; xf86videovboxvideo = xf86-video-vbox; xf86videovesa = xf86-video-vesa; + xf86videovmware = xf86-video-vmware; xkeyboardconfig = xkeyboard-config; xorgcffiles = xorg-cf-files; xorgdocs = xorg-docs; @@ -478,52 +480,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videovmware = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libdrm, - udev, - libpciaccess, - libX11, - libXext, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-vmware"; - version = "13.4.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-vmware-13.4.0.tar.xz"; - sha256 = "06mq7spifsrpbwq9b8kn2cn61xq6mpkq6lvh4qi6xk2yxpjixlxf"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libdrm - udev - libpciaccess - libX11 - libXext - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videovoodoo = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index bddae7768ac1..8ebb8c655666 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -501,6 +501,7 @@ print OUT < Date: Sat, 10 Jan 2026 19:21:39 +0100 Subject: [PATCH 0337/1216] xf86-video-voodoo: refactor, move to pkgs/by-name & rename from xorg.xf86videovoodoo relevant changes: - switch to GitLab source instead of release tarball --- lib/licenses.nix | 12 ++++ pkgs/by-name/xf/xf86-video-voodoo/package.nix | 57 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 73 insertions(+), 39 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-voodoo/package.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index 63fc954d50a6..7a594d9d26f0 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -742,6 +742,18 @@ lib.mapAttrs mkLicense ( fullName = "Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer"; }; + hpndSellVariantSafetyClause = { + fullName = "HPND - sell variant with safety critical systems clause"; + url = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/blob/68a5b6d98ae34749cca889f4373b4043d00bfe6a/src/voodoo_dga.c#L12-33"; + # TODO: if the license gets accepted to spdx then + # add spdxId + # else + # remove license + # && replace reference with whatever this license is supposed to be then + # https://github.com/spdx/license-list-XML/issues/2922 + # spdxId = "HPND-sell-variant-safety-clause"; + }; + hpndDec = { fullName = "Historical Permission Notice and Disclaimer - DEC variant"; spdxId = "HPND-DEC"; diff --git a/pkgs/by-name/xf/xf86-video-voodoo/package.nix b/pkgs/by-name/xf/xf86-video-voodoo/package.nix new file mode 100644 index 000000000000..3b067f3ec227 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-voodoo/package.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-voodoo"; + version = "1.2.6"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-voodoo"; + tag = "xf86-video-voodoo-${finalAttrs.version}"; + hash = "sha256-OuKGgrdGIIUF6CHD1BwO7ZQgvcbhGHQETExv+Ra0X2E="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libpciaccess + ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=xf86-video-voodoo-(.*)" ]; + }; + + meta = { + description = "Voodoo video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo"; + license = with lib.licenses; [ + # "Relicensed from GPL to the X license by consent of the author" + x11 + hpndSellVariantSafetyClause + mit + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index df2201766ad5..1249e05ee808 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -170,6 +170,7 @@ xf86-video-vbox, xf86-video-vesa, xf86-video-vmware, + xf86-video-voodoo, xfd, xfontsel, xfs, @@ -426,6 +427,7 @@ self: with self; { xf86videovboxvideo = xf86-video-vbox; xf86videovesa = xf86-video-vesa; xf86videovmware = xf86-video-vmware; + xf86videovoodoo = xf86-video-voodoo; xkeyboardconfig = xkeyboard-config; xorgcffiles = xorg-cf-files; xorgdocs = xorg-docs; @@ -480,42 +482,4 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videovoodoo = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-voodoo"; - version = "1.2.6"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-voodoo-1.2.6.tar.xz"; - sha256 = "00pn5826aazsdipf7ny03s1lypzid31fmswl8y2hrgf07bq76ab2"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - } diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 8ebb8c655666..ab31d4f787db 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -502,6 +502,7 @@ print OUT < Date: Sat, 10 Jan 2026 13:27:51 +0100 Subject: [PATCH 0338/1216] xf86-video-openchrome: 0.6.0 -> 0.6.225, refactor, move to pkgs/by-name & rename from xorg.xf86videoopenchrome relevant changes: - the version bump also fixes the build that broke somewhere in 2025-12 - switch to direct source (weirdly not openchrome is not on the freedesktop gitlab) - this is also required for the version bump because new releases are have not been tagged and tarballed. suse has them, so we should too https://packagehub.suse.com/packages/xf86-video-openchrome/ --- .../xf/xf86-video-openchrome/package.nix | 64 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 50 +-------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 12 ---- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 68 insertions(+), 61 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-openchrome/package.nix diff --git a/pkgs/by-name/xf/xf86-video-openchrome/package.nix b/pkgs/by-name/xf/xf86-video-openchrome/package.nix new file mode 100644 index 000000000000..9e227ff23d34 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-openchrome/package.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + util-macros, + libdrm, + libpciaccess, + libx11, + libxext, + libxv, + libxvmc, + udev, + xorgproto, + xorg-server, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-openchrome"; + version = "0.6.225"; + + src = fetchgit { + url = "https://anongit.freedesktop.org/git/openchrome/xf86-video-openchrome.git"; + # release is unfortunately not tagged so also no automatic updates + rev = "ab03de703b91c7e0fd3e4d1ca06ad5add7f077a1"; + hash = "sha256-Aa0Mhb6miSakAEZKCZ5/+n9oyCp4y4srq9ljRNqP7F4="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + ]; + + buildInputs = [ + libdrm + libpciaccess + libx11 + libxext + libxv + libxvmc + xorgproto + xorg-server + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + udev + ]; + + meta = { + description = "VIA Technologies UniChrome and Chrome9 IGP video driver for the Xorg X server"; + longDescription = '' + OpenChrome DDX is an open source implementation of X.Org Server DDX (Device Dependent X) + graphics device driver for VIA Technologies UniChrome and Chrome9 IGPs. (Integrated Graphics + Processor) OpenChrome DDX handles only 2D and video acceleration. + ''; + homepage = "http://www.freedesktop.org/wiki/Openchrome"; + license = lib.licenses.mit; + maintainers = [ ]; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isAarch64; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 1249e05ee808..6ed053db16bc 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -154,6 +154,7 @@ xf86-video-nouveau, xf86-video-nv, xf86-video-omap, + xf86-video-openchrome, xf86-video-qxl, xf86-video-r128, xf86-video-s3virge, @@ -411,6 +412,7 @@ self: with self; { xf86videonouveau = xf86-video-nouveau; xf86videonv = xf86-video-nv; xf86videoomap = xf86-video-omap; + xf86videoopenchrome = xf86-video-openchrome; xf86videoqxl = xf86-video-qxl; xf86videor128 = xf86-video-r128; xf86videos3virge = xf86-video-s3virge; @@ -434,52 +436,4 @@ self: with self; { xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videoopenchrome = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libdrm, - udev, - libpciaccess, - libX11, - libXext, - xorgserver, - libXvMC, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-openchrome"; - version = "0.6.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2"; - sha256 = "0x9gq3hw6k661k82ikd1y2kkk4dmgv310xr5q59dwn4k6z37aafs"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libdrm - udev - libpciaccess - libX11 - libXext - xorgserver - libXvMC - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - } diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index ab31d4f787db..755f489112c5 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -486,6 +486,7 @@ print OUT < Date: Sat, 10 Jan 2026 21:08:27 +0100 Subject: [PATCH 0339/1216] xkeyboard-config_custom: move to pkgs/by-name & rename from xorg.xkeyboardconfig_custom --- pkgs/by-name/xk/xkeyboard-config/custom.nix | 64 +++++++++++++++++++++ pkgs/servers/x11/xorg/overrides.nix | 58 ------------------- pkgs/top-level/all-packages.nix | 1 + 3 files changed, 65 insertions(+), 58 deletions(-) create mode 100644 pkgs/by-name/xk/xkeyboard-config/custom.nix diff --git a/pkgs/by-name/xk/xkeyboard-config/custom.nix b/pkgs/by-name/xk/xkeyboard-config/custom.nix new file mode 100644 index 000000000000..374112f51b08 --- /dev/null +++ b/pkgs/by-name/xk/xkeyboard-config/custom.nix @@ -0,0 +1,64 @@ +# xkeyboardconfig variant extensible with custom layouts. +# See nixos/modules/services/x11/extra-layouts.nix +{ + lib, + xkeyboard-config, + automake, + ed, +}: +{ + layouts ? { }, +}: +let + patchIn = name: layout: '' + # install layout files + ${lib.optionalString (layout.compatFile != null) "cp '${layout.compatFile}' 'compat/${name}'"} + ${lib.optionalString (layout.geometryFile != null) "cp '${layout.geometryFile}' 'geometry/${name}'"} + ${lib.optionalString (layout.keycodesFile != null) "cp '${layout.keycodesFile}' 'keycodes/${name}'"} + ${lib.optionalString (layout.symbolsFile != null) "cp '${layout.symbolsFile}' 'symbols/${name}'"} + ${lib.optionalString (layout.typesFile != null) "cp '${layout.typesFile}' 'types/${name}'"} + + # add model description + ${ed}/bin/ed -v rules/base.xml < + - + a + + + ${name} + ${layout.description} + ${layout.description} + + + . + w + EOF + + # add layout description + ed -v rules/base.xml < + - + a + + + ${name} + ${name} + ${layout.description} + + ${lib.concatMapStrings (lang: "${lang}\n") layout.languages} + + + + + . + w + EOF + ''; +in +xkeyboard-config.overrideAttrs (old: { + nativeBuildInputs = old.nativeBuildInputs ++ [ + automake + ed + ]; + postPatch = lib.concatStrings (lib.mapAttrsToList patchIn layouts); +}) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 3bcb71760ab3..8ae25cca55fb 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -58,65 +58,7 @@ self: super: { mkfontdir = xorg.mkfontscale; - - # xkeyboardconfig variant extensible with custom layouts. - # See nixos/modules/services/x11/extra-layouts.nix - xkeyboardconfig_custom = - { - layouts ? { }, - }: - let - patchIn = name: layout: '' - # install layout files - ${lib.optionalString (layout.compatFile != null) "cp '${layout.compatFile}' 'compat/${name}'"} - ${lib.optionalString (layout.geometryFile != null) "cp '${layout.geometryFile}' 'geometry/${name}'"} - ${lib.optionalString (layout.keycodesFile != null) "cp '${layout.keycodesFile}' 'keycodes/${name}'"} - ${lib.optionalString (layout.symbolsFile != null) "cp '${layout.symbolsFile}' 'symbols/${name}'"} - ${lib.optionalString (layout.typesFile != null) "cp '${layout.typesFile}' 'types/${name}'"} - - # add model description - ${ed}/bin/ed -v rules/base.xml < - - - a - - - ${name} - ${layout.description} - ${layout.description} - - - . - w - EOF - - # add layout description - ${ed}/bin/ed -v rules/base.xml < - - - a - - - ${name} - ${name} - ${layout.description} - - ${lib.concatMapStrings (lang: "${lang}\n") layout.languages} - - - - - . - w - EOF - ''; - in - xorg.xkeyboardconfig.overrideAttrs (old: { - nativeBuildInputs = old.nativeBuildInputs ++ [ automake ]; - postPatch = lib.concatStrings (lib.mapAttrsToList patchIn layouts); - }); } - # deprecate some packages // lib.optionalAttrs config.allowAliases { fontbitstreamspeedo = throw "Bitstream Speedo is an obsolete font format that hasn't been supported by Xorg since 2005"; # added 2025-09-24 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a14ad2814a34..1902a0b75c07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10188,6 +10188,7 @@ with pkgs; tex-gyre-math = recurseIntoAttrs (callPackages ../data/fonts/tex-gyre-math { }); xkeyboard_config = xkeyboard-config; + xkeyboard-config_custom = callPackage ../by-name/xk/xkeyboard-config/custom.nix { }; xlsx2csv = with python3Packages; toPythonApplication xlsx2csv; From 3a99675817746938546ebfd106550817601ebc9d Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 10 Jan 2026 20:30:32 +0100 Subject: [PATCH 0340/1216] xorg: clean up --- pkgs/servers/x11/xorg/builder.sh | 39 - pkgs/servers/x11/xorg/default.nix | 44 +- .../x11/xorg/generate-expr-from-tarballs.pl | 862 ------------------ pkgs/servers/x11/xorg/overrides.nix | 75 -- pkgs/servers/x11/xorg/tarballs.list | 0 pkgs/servers/x11/xorg/update.py | 103 --- pkgs/top-level/all-packages.nix | 27 +- 7 files changed, 42 insertions(+), 1108 deletions(-) delete mode 100644 pkgs/servers/x11/xorg/builder.sh delete mode 100755 pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl delete mode 100644 pkgs/servers/x11/xorg/overrides.nix delete mode 100644 pkgs/servers/x11/xorg/tarballs.list delete mode 100755 pkgs/servers/x11/xorg/update.py diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh deleted file mode 100644 index 99a753301d7e..000000000000 --- a/pkgs/servers/x11/xorg/builder.sh +++ /dev/null @@ -1,39 +0,0 @@ -# This is the builder for all X.org components. - -# After installation, automatically add all "Requires" fields in the -# pkgconfig files (*.pc) to the propagated build inputs. -origPostInstall=$postInstall -postInstall() { - if test -n "$origPostInstall"; then eval "$origPostInstall"; fi - - local r p requires - set +o pipefail - requires=$(grep "Requires:" ${!outputDev}/lib/pkgconfig/*.pc | \ - sed "s/Requires://" | sed "s/,/ /g") - set -o pipefail - - echo "propagating requisites $requires" - - for r in $requires; do - for p in "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}"; do - if test -e $p/lib/pkgconfig/$r.pc; then - echo " found requisite $r in $p" - appendToVar propagatedBuildInputs "$p" - fi - done - done -} - - -prependToVar installFlags "appdefaultdir=$out/share/X11/app-defaults" - - -if test -n "$x11BuildHook"; then - source $x11BuildHook -fi - - -enableParallelBuilding=1 -enableParallelInstalling=1 - -genericBuild diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 6ed053db16bc..0c1225237ba7 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1,9 +1,12 @@ -# THIS IS A GENERATED FILE. DO NOT EDIT! { lib, + config, + # keep-sorted start case=no numeric=no block=yes appres, + automake, bdftopcf, bitmap, + ed, editres, font-adobe-100dpi, font-adobe-75dpi, @@ -39,10 +42,10 @@ font-screen-cyrillic, font-sony-misc, font-sun-misc, - fonttosfnt, font-util, font-winitzki-cyrillic, font-xfree86-type1, + fonttosfnt, gccmakedep, iceauth, ico, @@ -121,8 +124,8 @@ xcmsdb, xcompmgr, xconsole, - xcursorgen, xcursor-themes, + xcursorgen, xdm, xdpyinfo, xdriinfo, @@ -186,6 +189,7 @@ xkbprint, xkbutils, xkeyboard-config, + xkeyboard-config_custom, xkill, xload, xlsatoms, @@ -197,9 +201,9 @@ xmore, xorg-cf-files, xorg-docs, - xorgproto, xorg-server, xorg-sgml-doctools, + xorgproto, xpr, xprop, xrandr, @@ -215,11 +219,12 @@ xwd, xwininfo, xwud, +# keep-sorted end }: - -self: with self; { - +_: +{ inherit + # keep-sorted start case=no numeric=no block=yes appres bdftopcf bitmap @@ -302,7 +307,10 @@ self: with self; { xwd xwininfo xwud + # keep-sorted end ; + + # keep-sorted start case=no numeric=no block=yes encodings = font-encodings; fontadobe100dpi = font-adobe-100dpi; fontadobe75dpi = font-adobe-75dpi; @@ -355,8 +363,8 @@ self: with self; { libXdmcp = libxdmcp; libXext = libxext; libXfixes = libxfixes; - libXfont2 = libxfont_2; libXfont = libxfont_1; + libXfont2 = libxfont_2; libXft = libxft; libXi = libxi; libXinerama = libxinerama; @@ -375,14 +383,15 @@ self: with self; { libXxf86dga = libxxf86dga; libXxf86misc = libxxf86misc; libXxf86vm = libxxf86vm; + mkfontdir = mkfontscale; twm = tab-window-manager; utilmacros = util-macros; xcbproto = xcb-proto; + xcbutil = libxcb-util; xcbutilcursor = libxcb-cursor; xcbutilerrors = libxcb-errors; xcbutilimage = libxcb-image; xcbutilkeysyms = libxcb-keysyms; - xcbutil = libxcb-util; xcbutilrenderutil = libxcb-render-util; xcbutilwm = libxcb-wm; xcursorthemes = xcursor-themes; @@ -431,9 +440,26 @@ self: with self; { xf86videovmware = xf86-video-vmware; xf86videovoodoo = xf86-video-voodoo; xkeyboardconfig = xkeyboard-config; + xkeyboardconfig_custom = xkeyboard-config_custom; xorgcffiles = xorg-cf-files; xorgdocs = xorg-docs; xorgserver = xorg-server; xorgsgmldoctools = xorg-sgml-doctools; + # keep-sorted end +} +# deprecate some packages +// lib.optionalAttrs config.allowAliases { + # keep-sorted start case=no numeric=no block=yes + fontbitstreamspeedo = throw "Bitstream Speedo is an obsolete font format that hasn't been supported by Xorg since 2005"; # added 2025-09-24 + libXtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 + xf86videoglide = throw "The Xorg Glide video driver has been archived upstream due to being obsolete"; # added 2025-12-13 + xf86videoglint = throw '' + The Xorg GLINT/Permedia video driver has been broken since xorg 21. + see https://gitlab.freedesktop.org/xorg/driver/xf86-video-glint/-/issues/1''; # added 2025-12-13 + xf86videonewport = throw "The Xorg Newport video driver is broken and hasn't had a release since 2012"; # added 2025-12-13 + xf86videotga = throw "The Xorg TGA (aka DEC 21030) video driver is broken and hasn't had a release since 2012"; # added 2025-12-13 + xf86videowsfb = throw "The Xorg BSD wsdisplay framebuffer video driver is broken and hasn't had a release since 2012"; # added 2025-12-13 + xtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 + # keep-sorted end } diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl deleted file mode 100755 index 755f489112c5..000000000000 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ /dev/null @@ -1,862 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell --pure --keep NIX_PATH -i perl -p cacert nix perl - -# Usage: manually update tarballs.list then run: ./generate-expr-from-tarballs.pl tarballs.list - -use strict; -use warnings; - -use File::Basename; -use File::Spec::Functions; -use File::Temp; - - -my %pkgURLs; -my %pkgHashes; -my %pkgNames; -my %pkgVersions; -my %pkgRequires; -my %pkgNativeRequires; - -my %pcProvides; -my %pcMap; - -my %extraAttrs; - - -my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python3", "mkfontscale", "bdftopcf", "libxslt", "openssl", "gperf", "m4", "libinput", "libevdev", "mtdev", "xorgproto", "cairo", "gettext", "meson", "ninja", "wrapWithXFileSearchPathHook" ); -$pcMap{$_} = $_ foreach @missingPCs; -$pcMap{"freetype2"} = "freetype"; -$pcMap{"libpng12"} = "libpng"; -$pcMap{"libpng"} = "libpng"; -$pcMap{"dbus-1"} = "dbus"; -$pcMap{"uuid"} = "libuuid"; -$pcMap{"libudev"} = "udev"; -$pcMap{"gl"} = "libGL"; -$pcMap{"GL"} = "libGL"; -$pcMap{"gbm"} = "libgbm"; -$pcMap{"hwdata"} = "hwdata"; -$pcMap{"dmx"} = "libdmx"; -$pcMap{"fontenc"} = "libfontenc"; -$pcMap{"fontutil"} = "fontutil"; -$pcMap{"ice"} = "libICE"; -$pcMap{"libfs"} = "libFS"; -$pcMap{"pciaccess"} = "libpciaccess"; -$pcMap{"pthread-stubs"} = "libpthreadstubs"; -$pcMap{"sm"} = "libSM"; -$pcMap{"x11"} = "libX11"; -$pcMap{"x11-xcb"} = "libX11"; -$pcMap{"xau"} = "libXau"; -$pcMap{"xaw6"} = "libXaw"; -$pcMap{"xaw7"} = "libXaw"; -$pcMap{"xbitmaps"} = "xbitmaps"; -$pcMap{"xcb-atom"} = "xcbutil"; -$pcMap{"xcb-aux"} = "xcbutil"; -$pcMap{"xcb-errors"} = "xcbutilerrors"; -$pcMap{"xcb-event"} = "xcbutil"; -$pcMap{"xcb-ewmh"} = "xcbutilwm"; -$pcMap{"xcb-icccm"} = "xcbutilwm"; -$pcMap{"xcb-image"} = "xcbutilimage"; -$pcMap{"xcb-keysyms"} = "xcbutilkeysyms"; -$pcMap{"xcb-cursor"} = "xcbutilcursor"; -$pcMap{"xcb-proto"} = "xcbproto"; -$pcMap{"xcb-renderutil"} = "xcbutilrenderutil"; -$pcMap{"xcb-util"} = "xcbutil"; -$pcMap{"xcomposite"} = "libXcomposite"; -$pcMap{"xcursor"} = "libXcursor"; -$pcMap{"xdamage"} = "libXdamage"; -$pcMap{"xdmcp"} = "libXdmcp"; -$pcMap{"xext"} = "libXext"; -$pcMap{"xfixes"} = "libXfixes"; -$pcMap{"xfont"} = "libXfont"; -$pcMap{"xfont2"} = "libXfont2"; -$pcMap{"xft"} = "libXft"; -$pcMap{"xi"} = "libXi"; -$pcMap{"xinerama"} = "libXinerama"; -$pcMap{"xkbfile"} = "libxkbfile"; -$pcMap{"xmu"} = "libXmu"; -$pcMap{"xmuu"} = "libXmu"; -$pcMap{"xorg-server"} = "xorgserver"; -$pcMap{"xp"} = "libXp"; -$pcMap{"xpm"} = "libXpm"; -$pcMap{"xpresent"} = "libXpresent"; -$pcMap{"xrandr"} = "libXrandr"; -$pcMap{"xrender"} = "libXrender"; -$pcMap{"xres"} = "libXres"; -$pcMap{"xscrnsaver"} = "libXScrnSaver"; -$pcMap{"xshmfence"} = "libxshmfence"; -$pcMap{"xt"} = "libXt"; -$pcMap{"xtrans"} = "xtrans"; -$pcMap{"xtst"} = "libXtst"; -$pcMap{"xv"} = "libXv"; -$pcMap{"xvmc"} = "libXvMC"; -$pcMap{"xvmc-wrapper"} = "libXvMC"; -$pcMap{"xxf86dga"} = "libXxf86dga"; -$pcMap{"xxf86misc"} = "libXxf86misc"; -$pcMap{"xxf86vm"} = "libXxf86vm"; -$pcMap{"\$PIXMAN"} = "pixman"; -$pcMap{"\$RENDERPROTO"} = "xorgproto"; -$pcMap{"\$DRI3PROTO"} = "xorgproto"; -$pcMap{"\$DRI2PROTO"} = "xorgproto"; -$pcMap{"\${XKBMODULE}"} = "libxkbfile"; -foreach my $mod ("xcb", "xcb-composite", "xcb-damage", "xcb-dpms", "xcb-dri2", "xcb-dri3", - "xcb-glx", "xcb-present", "xcb-randr", "xcb-record", "xcb-render", "xcb-res", "xcb-screensaver", - "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xf86dri", "xcb-xfixes", "xcb-xinerama", "xcb-xinput", - "xcb-xkb", "xcb-xtest", "xcb-xv", "xcb-xvmc") { - $pcMap{$mod} = "libxcb"; -} -foreach my $mod ("applewmproto", "bigreqsproto", "compositeproto", "damageproto", "dmxproto", - "dpmsproto", "dri2proto", "dri3proto", "evieproto", "fixesproto", "fontcacheproto", - "fontsproto", "glproto", "inputproto", "kbproto", "lg3dproto", "presentproto", - "printproto", "randrproto", "recordproto", "renderproto", "resourceproto", "scrnsaverproto", - "trapproto", "videoproto", "windowswmproto", "xcalibrateproto", "xcmiscproto", "xextproto", - "xf86bigfontproto", "xf86dgaproto", "xf86driproto", "xf86miscproto", "xf86rushproto", - "xf86vidmodeproto", "xineramaproto", "xproto", "xproxymngproto", "xwaylandproto") { - $pcMap{$mod} = "xorgproto"; -} - - -my $downloadCache = "./download-cache"; -mkdir $downloadCache, 0755; - - -while (<>) { - chomp; - my $tarball = "$_"; - print "\nDOING TARBALL $tarball\n"; - - my $pkg; - if ($tarball =~ s/:([a-zA-Z0-9_]+)$//) { - $pkg = $1; - } else { - $tarball =~ /\/((?:(?:[A-Za-z0-9]|(?:-[^0-9])|(?:-[0-9]*[a-z]))+))[^\/]*$/; - die unless defined $1; - $pkg = $1; - $pkg =~ s/(-|[a-f0-9]{40})//g; # Remove hyphen-minus and SHA-1 - #next unless $pkg eq "xcbutil"; - } - - $tarball =~ /\/([^\/]*)\.(tar\.(bz2|gz|xz)|tgz)$/; - my $pkgName = $1; - - print " $pkg $pkgName\n"; - - if (defined $pkgNames{$pkg}) { - print " SKIPPING\n"; - next; - } - - # Split by first occurrence of hyphen followed by only numbers, ends line, another hyphen follows, or SHA-1 - my ($name, $version) = split(/-(?=[.0-9]+(?:$|-)|[a-f0-9]{40})/, $pkgName, 2); - - $pkgURLs{$pkg} = $tarball; - $pkgNames{$pkg} = $name; - $pkgVersions{$pkg} = $version; - - my $cachePath = catdir($downloadCache, basename($tarball)); - my $hash; - my $path; - if (-e $cachePath) { - $path = readlink($cachePath); - $hash = `nix-hash --type sha256 --base32 --flat $cachePath`; - } - else { - ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`; - `nix-store --realise --add-root $cachePath --indirect $path`; - } - chomp $hash; - chomp $path; - $pkgHashes{$pkg} = $hash; - - print "\nunpacking $path\n"; - my $tmpDir = File::Temp->newdir(); - system "cd '$tmpDir' && tar xf '$path'"; - die "cannot unpack `$path'" if $? != 0; - print "\n"; - - my $pkgDir = `echo $tmpDir/*`; - chomp $pkgDir; - - my $provides = `find $pkgDir -name "*.pc.in"`; - my @provides2 = split '\n', $provides; - my @requires = (); - my @nativeRequires = (); - - foreach my $pcFile (@provides2) { - my $pc = $pcFile; - $pc =~ s/.*\///; - $pc =~ s/.pc.in//; - push @{$pcProvides{$pkg}}, $pc; - print "PROVIDES $pc\n"; - die "collision with $pcMap{$pc}" if defined $pcMap{$pc}; - $pcMap{$pc} = $pkg; - - open FOO, "<$pcFile" or die; - while () { - if (/Requires:(.*)/) { - my @reqs = split ' ', $1; - foreach my $req (@reqs) { - next unless $req =~ /^[a-z]+$/; - print "REQUIRE (from $pc): $req\n"; - push @requires, $req; - } - } - } - close FOO; - - } - - my $file; - { - local $/; - open FOO, "cd '$tmpDir'/* && grep -v '^ *#' configure.ac |"; - $file = ; - close FOO; - } - - if ($file =~ /XAW_CHECK_XPRINT_SUPPORT/) { - push @requires, "libXaw"; - } - - if ($file =~ /zlib is required/ || $file =~ /AC_CHECK_LIB\(z\,/) { - push @requires, "zlib"; - } - - if ($file =~ /Perl is required/) { - push @requires, "perl"; - } - - if ($file =~ /AC_PATH_PROG\(BDFTOPCF/) { - push @nativeRequires, "bdftopcf"; - } - - if ($file =~ /AC_PATH_PROG\(MKFONTSCALE/ || $file =~ /XORG_FONT_REQUIRED_PROG\(MKFONTSCALE/) { - push @nativeRequires, "mkfontscale"; - } - - if ($file =~ /AC_PATH_PROG\(MKFONTDIR/) { - push @nativeRequires, "mkfontscale"; - } - - if ($file =~ /AM_PATH_PYTHON/) { - push @nativeRequires, "python3"; - } - - if ($file =~ /AC_PATH_PROG\(FCCACHE/) { - # Don't run fc-cache. - die if defined $extraAttrs{$pkg}; - push @{$extraAttrs{$pkg}}, "preInstall = \"installFlags=(FCCACHE=true)\";"; - } - - my $isFont; - - if ($file =~ /XORG_FONT_BDF_UTILS/) { - push @nativeRequires, "bdftopcf", "mkfontscale"; - $isFont = 1; - } - - if ($file =~ /XORG_FONT_SCALED_UTILS/) { - push @nativeRequires, "mkfontscale"; - $isFont = 1; - } - - if ($file =~ /XORG_FONT_UCS2ANY/) { - push @nativeRequires, "fontutil", "mkfontscale"; - $isFont = 1; - } - - if ($isFont) { - push @requires, "fontutil"; - push @{$extraAttrs{$pkg}}, "configureFlags = [ \"--with-fontrootdir=\$(out)/lib/X11/fonts\" ];"; - push @{$extraAttrs{$pkg}}, "postPatch = ''substituteInPlace configure --replace 'MAPFILES_PATH=`pkg-config' 'MAPFILES_PATH=`\$PKG_CONFIG' '';"; - } - - if (@@ = glob("$tmpDir/*/app-defaults/")) { - push @nativeRequires, "wrapWithXFileSearchPathHook"; - } - - sub process { - my $requires = shift; - my $s = shift; - $s =~ s/\[/\ /g; - $s =~ s/\]/\ /g; - $s =~ s/\,/\ /g; - foreach my $req (split / /, $s) { - next if $req eq ">="; - #next if $req =~ /^\$/; - next if $req =~ /^[0-9]/; - next if $req =~ /^\s*$/; - next if $req eq '$REQUIRED_MODULES'; - next if $req eq '$REQUIRED_LIBS'; - next if $req eq '$XDMCP_MODULES'; - next if $req eq '$XORG_MODULES'; - print "REQUIRE: $req\n"; - push @{$requires}, $req; - } - } - - #process \@requires, $1 while $file =~ /PKG_CHECK_MODULES\([^,]*,\s*[\[]?([^\)\[]*)/g; - process \@requires, $1 while $file =~ /PKG_CHECK_MODULES\([^,]*,([^\)\,]*)/g; - process \@requires, $1 while $file =~ /AC_SEARCH_LIBS\([^,]*,([^\)\,]*)/g; - process \@requires, $1 while $file =~ /MODULES=\"(.*)\"/g; - process \@requires, $1 while $file =~ /REQUIRED_LIBS=\"(.*)\"/g; - process \@requires, $1 while $file =~ /REQUIRED_MODULES=\"(.*)\"/g; - process \@requires, $1 while $file =~ /REQUIRES=\"(.*)\"/g; - process \@requires, $1 while $file =~ /X11_REQUIRES=\'(.*)\'/g; - process \@requires, $1 while $file =~ /XDMCP_MODULES=\"(.*)\"/g; - process \@requires, $1 while $file =~ /XORG_MODULES=\"(.*)\"/g; - process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g; - process \@requires, $1 while $file =~ /ivo_requires=\"(.*)\"/g; - process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g; - - push @nativeRequires, "gettext" if $file =~ /USE_GETTEXT/; - push @requires, "libxslt" if $pkg =~ /libxcb/; - push @nativeRequires, "meson", "ninja" if $pkg =~ /libxcvt/; - push @nativeRequires, "m4" if $pkg =~ /xcbutil/; - push @requires, "gperf", "xorgproto" if $pkg =~ /xcbutil/; - - print "REQUIRES $pkg => @requires\n"; - print "NATIVE_REQUIRES $pkg => @nativeRequires\n"; - $pkgRequires{$pkg} = \@requires; - $pkgNativeRequires{$pkg} = \@nativeRequires; - - print "done\n"; -} - - -print "\nWRITE OUT\n"; - -open OUT, ">default.nix"; - -print OUT ""; -print OUT < version.parse(ver): - line = allversions[pname][1][str(highest)] - text = f"{pname.split('/')[-1]}: {ver} -> {str(highest)}" - print(f" Updating {text}") - changes[pname] = line - changes_text.append(text) - - updated_tarballs.append(line) - -if len(changes) == 0: - print("No updates found") - exit() - -print("Updating tarballs.list...") - -with open("./tarballs.list", "w") as f: - f.writelines(f'{tarball}\n' for tarball in updated_tarballs) - -print("Generating updated expr (slow)...") - -subprocess.run(["./generate-expr-from-tarballs.pl", "tarballs.list"], check=True) - -print("Formatting generated expr...") - -subprocess.run(["nixfmt", "default.nix"], check=True) - -print("Committing...") - -subprocess.run(["git", "add", "default.nix", "tarballs.list"], check=True) -subprocess.run(["git", "commit", "-mxorg.*: update\n\n%s" % "\n".join(changes_text)], check=True) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1902a0b75c07..c08a146ed9c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9402,26 +9402,13 @@ with pkgs; virtualenv-clone = with python3Packages; toPythonApplication virtualenv-clone; - xorg = - let - # Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage` - # so as not to have the newly bound xorg items already in scope, which would - # have created a cycle. - overrides = lib.callPackageWith __splicedPackages ../servers/x11/xorg/overrides.nix { - inherit (buildPackages.darwin) bootstrap_cmds; - udev = if stdenv.hostPlatform.isLinux then udev else null; - libdrm = if stdenv.hostPlatform.isLinux then libdrm else null; - }; - - generatedPackages = lib.callPackageWith __splicedPackages ../servers/x11/xorg/default.nix { }; - - xorgPackages = makeScopeWithSplicing' { - otherSplices = generateSplicesForMkScope "xorg"; - f = lib.extends overrides generatedPackages; - }; - - in - recurseIntoAttrs xorgPackages; + xorg = recurseIntoAttrs (makeScopeWithSplicing' { + otherSplices = generateSplicesForMkScope "xorg"; + # Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage` + # so as not to have the newly bound xorg items already in scope, which would + # have created a cycle. + f = lib.callPackageWith __splicedPackages ../servers/x11/xorg { }; + }); zabbixFor = version: rec { agent = (callPackages ../servers/monitoring/zabbix/agent.nix { }).${version}; From a91804cbc4288efeec8f8a52b2c3550b62c1f331 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 11 Jan 2026 10:48:16 +0200 Subject: [PATCH 0341/1216] python3.pkgs.uncertainties: 3.2.3 -> 3.2.4 Diff: https://github.com/lmfit/uncertainties/compare/3.2.3...3.2.4 --- .../python-modules/uncertainties/default.nix | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix index d03fa46dab17..346885fdbe14 100644 --- a/pkgs/development/python-modules/uncertainties/default.nix +++ b/pkgs/development/python-modules/uncertainties/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch, # build-system setuptools, @@ -13,28 +12,21 @@ # tests pytestCheckHook, + scipy, }: buildPythonPackage rec { pname = "uncertainties"; - version = "3.2.3"; + version = "3.2.4"; pyproject = true; src = fetchFromGitHub { owner = "lmfit"; repo = "uncertainties"; tag = version; - hash = "sha256-YapujmwTlmUfTQwHsuh01V+jqsBbTd0Q9adGNiE8Go0="; + hash = "sha256-XfEiE27azEBNCZ6sIBncJI1cYocoXwgxEkclVgR5O34="; }; - patches = [ - (fetchpatch { - # python 3.14 compat - url = "https://github.com/lmfit/uncertainties/commit/633da70494ae6570cc69a910e1f6231538acf374.patch"; - hash = "sha256-P1LiIqA2p58bjupJaf18A6YxBeu+PNpueHACry24OwQ="; - }) - ]; - build-system = [ setuptools setuptools-scm @@ -44,6 +36,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + scipy ] ++ optional-dependencies.arrays; From 194ca807f40bc8b34ab3ea4867590b498d495fb5 Mon Sep 17 00:00:00 2001 From: mefengl <71683364+mefengl@users.noreply.github.com> Date: Sun, 11 Jan 2026 19:52:29 +0800 Subject: [PATCH 0342/1216] kamal: 2.8.2 -> 2.10.1 --- pkgs/by-name/ka/kamal/Gemfile.lock | 36 ++++++++-------- pkgs/by-name/ka/kamal/gemset.nix | 67 +++++++++++++++++------------- 2 files changed, 58 insertions(+), 45 deletions(-) diff --git a/pkgs/by-name/ka/kamal/Gemfile.lock b/pkgs/by-name/ka/kamal/Gemfile.lock index 2978804b7ad0..e02dd12e0d51 100644 --- a/pkgs/by-name/ka/kamal/Gemfile.lock +++ b/pkgs/by-name/ka/kamal/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (8.1.1) + activesupport (8.1.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) @@ -15,19 +15,19 @@ GEM tzinfo (~> 2.0, >= 2.0.5) uri (>= 0.13.1) base64 (0.3.0) - bcrypt_pbkdf (1.1.1) - bcrypt_pbkdf (1.1.1-arm64-darwin) - bcrypt_pbkdf (1.1.1-x86_64-darwin) - bigdecimal (3.3.1) - concurrent-ruby (1.3.5) - connection_pool (2.5.4) - dotenv (3.1.8) + bcrypt_pbkdf (1.1.2) + bcrypt_pbkdf (1.1.2-arm64-darwin) + bcrypt_pbkdf (1.1.2-x86_64-darwin) + bigdecimal (4.0.1) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) + dotenv (3.2.0) drb (2.2.3) ed25519 (1.4.0) - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) - json (2.15.2) - kamal (2.8.2) + json (2.18.0) + kamal (2.10.1) activesupport (>= 7.0) base64 (~> 0.2) bcrypt_pbkdf (~> 1.0) @@ -39,26 +39,28 @@ GEM thor (~> 1.3) zeitwerk (>= 2.6.18, < 3.0) logger (1.7.0) - minitest (5.26.0) + minitest (6.0.1) + prism (~> 1.5) net-scp (4.1.0) net-ssh (>= 2.6.5, < 8.0.0) net-sftp (4.0.0) net-ssh (>= 5.0.0, < 8.0.0) net-ssh (7.3.0) ostruct (0.6.3) + prism (1.7.0) securerandom (0.4.1) - sshkit (1.24.0) + sshkit (1.25.0) base64 logger net-scp (>= 1.1.2) net-sftp (>= 2.1.2) net-ssh (>= 2.8.0) ostruct - thor (1.4.0) + thor (1.5.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - uri (1.1.0) - zeitwerk (2.7.3) + uri (1.1.1) + zeitwerk (2.7.4) PLATFORMS arm64-darwin @@ -69,4 +71,4 @@ DEPENDENCIES kamal BUNDLED WITH - 2.6.9 + 2.7.2 diff --git a/pkgs/by-name/ka/kamal/gemset.nix b/pkgs/by-name/ka/kamal/gemset.nix index 0e8be28100ba..c45208ba7ece 100644 --- a/pkgs/by-name/ka/kamal/gemset.nix +++ b/pkgs/by-name/ka/kamal/gemset.nix @@ -18,10 +18,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0rzadiafj8llldqry9jjnzbw2rgavdlrqy0nddg8p2qcim7574jy"; + sha256 = "1bpxnr83z1x78h3jxvmga7vrmzmc8b4fic49h9jhzm6hriw2b148"; type = "gem"; }; - version = "8.1.1"; + version = "8.1.2"; }; base64 = { groups = [ "default" ]; @@ -38,50 +38,50 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "04rb3rp9bdxn1y3qiflfpj7ccwb8ghrfbydh5vfz1l9px3fpg41g"; + sha256 = "1xjcp484qc4j4z42b087npgj50sd6yixchznp4z9p1k6rqilqhf2"; type = "gem"; }; - version = "1.1.1"; + version = "1.1.2"; }; bigdecimal = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0612spks81fvpv2zrrv3371lbs6mwd7w6g5zafglyk75ici1x87a"; + sha256 = "19y406nx17arzsbc515mjmr6k5p59afprspa1k423yd9cp8d61wb"; type = "gem"; }; - version = "3.3.1"; + version = "4.0.1"; }; concurrent-ruby = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1"; + sha256 = "1aymcakhzl83k77g2f2krz07bg1cbafbcd2ghvwr4lky3rz86mkb"; type = "gem"; }; - version = "1.3.5"; + version = "1.3.6"; }; connection_pool = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "02p7l47gvchbvnbag6kb4x2hg8n28r25ybslyvrr2q214wir5qg9"; + sha256 = "02ifws3c4x7b54fv17sm4cca18d2pfw1saxpdji2lbd1f6xgbzrk"; type = "gem"; }; - version = "2.5.4"; + version = "3.0.2"; }; dotenv = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hwjsddv666wpp42bip3fqx7c5qq6s8lwf74dj71yn7d1h37c4cy"; + sha256 = "17b1zr9kih0i3wb7h4yq9i8vi6hjfq07857j437a8z7a44qvhxg3"; type = "gem"; }; - version = "3.1.8"; + version = "3.2.0"; }; drb = { groups = [ "default" ]; @@ -109,20 +109,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf"; + sha256 = "1994i044vdmzzkyr76g8rpl1fq1532wf0sb21xg5r1ilj5iphmr8"; type = "gem"; }; - version = "1.14.7"; + version = "1.14.8"; }; json = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "09zss44bw5sx8c619qy1ci611r1h5nfd1biyjnpxrl6jcvcy2s0h"; + sha256 = "01fmiz052cvnxgdnhb3qwcy88xbv7l3liz0fkvs5qgqqwjp0c1di"; type = "gem"; }; - version = "2.15.2"; + version = "2.18.0"; }; kamal = { dependencies = [ @@ -141,10 +141,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1j22m04xhrpbqlqaf658x401b3qj96ml7ai719xypj45pskdg4si"; + sha256 = "0h335ginqk2q1pbm59aq6ackby2rq38sqypwxld3pn1xqfsfrdsk"; type = "gem"; }; - version = "2.8.2"; + version = "2.10.1"; }; logger = { groups = [ "default" ]; @@ -157,14 +157,15 @@ version = "1.7.0"; }; minitest = { + dependencies = [ "prism" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0c1c9lr7h0bnf48xj5sylg2cs2awrb0hfxwimiz4yfl6kz87m0gm"; + sha256 = "1fslin1vyh60snwygx8jnaj4kwhk83f3m0v2j2b7bsg2917wfm3q"; type = "gem"; }; - version = "5.26.0"; + version = "6.0.1"; }; net-scp = { dependencies = [ "net-ssh" ]; @@ -208,6 +209,16 @@ }; version = "0.6.3"; }; + prism = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00silqnlzzm97gn21lm39q95hjn058waqky44j25r67p9drjy1hh"; + type = "gem"; + }; + version = "1.7.0"; + }; securerandom = { groups = [ "default" ]; platforms = [ ]; @@ -231,20 +242,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0v4fc9yaqljwax370438p3ps59jpimvkkj1d5xsfk2kphkww35wm"; + sha256 = "0i37z4gk3r1752bv1sj4rdja1dhivn2xa1kk4wfizyb0vcy59in8"; type = "gem"; }; - version = "1.24.0"; + version = "1.25.0"; }; thor = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7"; + sha256 = "0wsy88vg2mazl039392hqrcwvs5nb9kq8jhhrrclir2px1gybag3"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; tzinfo = { dependencies = [ "concurrent-ruby" ]; @@ -262,19 +273,19 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "09g6p7r8kl6ybhgm7xnpq1kcirw8z0bza5ihrjify979q5hj0fp2"; + sha256 = "1ijpbj7mdrq7rhpq2kb51yykhrs2s54wfs6sm9z3icgz4y6sb7rp"; type = "gem"; }; - version = "1.1.0"; + version = "1.1.1"; }; zeitwerk = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j"; + sha256 = "12zcvhzfnlghzw03czy2ifdlyfpq0kcbqcmxqakfkbxxavrr1vrb"; type = "gem"; }; - version = "2.7.3"; + version = "2.7.4"; }; } From f91cf267f2f2a1d9a9bcdc1107a81485e76c745d Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sun, 11 Jan 2026 13:31:43 +0100 Subject: [PATCH 0343/1216] sdl3: fix dynamic loading of vulkan Vulkan support broke after https://github.com/NixOS/nixpkgs/pull/439652 due to https://github.com/libsdl-org/SDL/issues/14805. Fixes: https://github.com/NixOS/nixpkgs/issues/478908 Signed-off-by: Marcin Serwin --- pkgs/by-name/sd/sdl3/package.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index bd3962dbc574..607380908ffd 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -95,6 +95,20 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '"zenity"' '"${lib.getExe zenity}"' substituteInPlace src/dialog/unix/SDL_zenitydialog.c \ --replace-fail '"zenity"' '"${lib.getExe zenity}"' + '' + # https://github.com/libsdl-org/SDL/issues/14805 + + '' + substituteInPlace src/video/x11/SDL_x11vulkan.c \ + src/video/wayland/SDL_waylandvulkan.c \ + src/video/offscreen/SDL_offscreenvulkan.c \ + src/video/kmsdrm/SDL_kmsdrmvulkan.c \ + src/video/vivante/SDL_vivantevulkan.c \ + src/video/android/SDL_androidvulkan.c \ + --replace-fail 'libvulkan.so' '${lib.getLib vulkan-loader}/lib/libvulkan.so' + '' + + lib.optionalString x11Support '' + substituteInPlace src/video/x11/SDL_x11vulkan.c \ + --replace-fail 'libX11-xcb.so' '${lib.getLib libX11}/lib/libX11-xcb.so' ''; strictDeps = true; From 34dfc1e326d847b54f99ca38cb0210e20088673d Mon Sep 17 00:00:00 2001 From: Yureka Date: Sun, 11 Jan 2026 16:40:21 +0100 Subject: [PATCH 0344/1216] pkgsMusl.groff: fix build --- .../fix-underspecified-getenv-prototype.patch | 24 +++++++++++++++++++ pkgs/by-name/gr/groff/package.nix | 6 +++++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/by-name/gr/groff/fix-underspecified-getenv-prototype.patch diff --git a/pkgs/by-name/gr/groff/fix-underspecified-getenv-prototype.patch b/pkgs/by-name/gr/groff/fix-underspecified-getenv-prototype.patch new file mode 100644 index 000000000000..663f81f41c93 --- /dev/null +++ b/pkgs/by-name/gr/groff/fix-underspecified-getenv-prototype.patch @@ -0,0 +1,24 @@ +commit e49b934b77a76443005f92a737dae7370b50e5f7 +Author: G. Branden Robinson +Date: Tue Jan 23 19:39:03 2024 -0600 + + [libgroff]: Fix underspecified getenv() prototype. + + * src/libs/libgroff/getopt.c: Do it. Seen when building groff on a + non-glibc-based system (clang 17 complains). + +--- +Link: https://lists.libreplanet.org/archive/html/groff-commit/2024-01/msg00103.html +diff --git a/src/libs/libgroff/getopt.c b/src/libs/libgroff/getopt.c +index 6d4ee5b3a..77f8da1ed 100644 +--- a/src/libs/libgroff/getopt.c ++++ b/src/libs/libgroff/getopt.c +@@ -124,7 +124,7 @@ static struct _getopt_data getopt_data; + whose names are inconsistent. */ + + #ifndef getenv +-extern char *getenv (); ++extern char *getenv (const char *); + #endif + + #endif /* not __GNU_LIBRARY__ */ diff --git a/pkgs/by-name/gr/groff/package.nix b/pkgs/by-name/gr/groff/package.nix index 4780697cfe5d..ec203ed3902f 100644 --- a/pkgs/by-name/gr/groff/package.nix +++ b/pkgs/by-name/gr/groff/package.nix @@ -34,6 +34,12 @@ stdenv.mkDerivation rec { hash = "sha256-a5dX9ZK3UYtJAutq9+VFcL3Mujeocf3bLTCuOGNRHBM="; }; + patches = [ + # Backport e49b934 "Fix underspecified `getenv()` prototype." for non-glibc systems with C23 + # This can be dropped in the next release, when the local getopt implementation in libgroff is removed + ./fix-underspecified-getenv-prototype.patch + ]; + outputs = [ "out" "man" From 6e09dbae8af588fb751f455821af254dca688cd7 Mon Sep 17 00:00:00 2001 From: Yureka Date: Sun, 11 Jan 2026 20:58:32 +0100 Subject: [PATCH 0345/1216] pkgsMusl.opensp: fix build Broke with gcc15. Upstream is abandoned since 2005, so pick the patch from Gentoo --- pkgs/by-name/op/opensp/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/op/opensp/package.nix b/pkgs/by-name/op/opensp/package.nix index 45f5c89e702f..d376fbe329dd 100644 --- a/pkgs/by-name/op/opensp/package.nix +++ b/pkgs/by-name/op/opensp/package.nix @@ -31,6 +31,11 @@ stdenv.mkDerivation rec { url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/opensp/files/opensp-1.5.2-c11-using.patch?id=688d9675782dfc162d4e6cff04c668f7516118d0"; sha256 = "04q14s8qsad0bkjmj067dn831i0r6v7742rafdlnbfm5y249m2q6"; }) + (fetchpatch { + name = "opensp-1.5.2-gcc15-musl.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/opensp/files/opensp-1.5.2-gcc15-musl.patch?id=7143f4a01836f8991d6c90b61fa919e88bf9a0fd"; + hash = "sha256-6pNsVh3BErAN4lyykhFJqCydplh4cVvxgwc5MuWFd+A="; + }) # Clang 16 defaults to C++17, which does not allow `register` as a storage class specifier. ./fix-register-storage-class.patch ]; From 16e7551ed4a37f9c53bee25e2009fbe74cef9644 Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Sun, 11 Jan 2026 23:01:33 +0100 Subject: [PATCH 0346/1216] harfbuzz: apply patch for CVE-2026-22693 https://github.com/harfbuzz/harfbuzz/security/advisories/GHSA-xvjr-f2r9-c7ww --- pkgs/by-name/ha/harfbuzz/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/ha/harfbuzz/package.nix b/pkgs/by-name/ha/harfbuzz/package.nix index 9bc4691a6628..cebf23db0247 100644 --- a/pkgs/by-name/ha/harfbuzz/package.nix +++ b/pkgs/by-name/ha/harfbuzz/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, pkg-config, glib, freetype, @@ -41,6 +42,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-hmDr08J9lAf8hDO10XK6+6XwMXywu0M58o5TcMk9Qrc="; }; + patches = [ + (fetchpatch { + # https://github.com/harfbuzz/harfbuzz/security/advisories/GHSA-xvjr-f2r9-c7ww + name = "CVE-2026-22693.patch"; + url = "https://github.com/harfbuzz/harfbuzz/commit/1265ff8d990284f04d8768f35b0e20ae5f60daae.patch"; + hash = "sha256-mdgIhp1ndPSfzplBRB7s+BN2T5Z9dEYZ0bAmSDCUPSE="; + }) + ]; + postPatch = '' patchShebangs src/*.py test '' From fc140ffef8f0e93f5e5917fe43b17c62b6a66ec4 Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 12 Jan 2026 01:26:21 +0100 Subject: [PATCH 0347/1216] python3.pkgs.virtualenv: 20.35.4 -> 20.36.1 Diff: https://github.com/pypa/virtualenv/compare/20.35.4...20.36.1 Changelog: https://github.com/pypa/virtualenv/releases/tag/20.36.0 Changelog: https://github.com/pypa/virtualenv/releases/tag/20.36.1 --- pkgs/development/python-modules/virtualenv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix index ca1667b4ca65..7be7089fa303 100644 --- a/pkgs/development/python-modules/virtualenv/default.nix +++ b/pkgs/development/python-modules/virtualenv/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "virtualenv"; - version = "20.35.4"; + version = "20.36.1"; pyproject = true; src = fetchFromGitHub { owner = "pypa"; repo = "virtualenv"; tag = version; - hash = "sha256-0PWIYU1/zXiOBUV/45rJsJwVlcqHeac68nRM2tvEPHo="; + hash = "sha256-8fiC7+9FzQnmoI+N4cA5kKBLH9tpU7LXZ7pVj8Bz8Wc="; }; build-system = [ From 692e8322b1d2e447bfb56329819d132c29665662 Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 12 Jan 2026 00:56:35 +0100 Subject: [PATCH 0348/1216] pkgsMusl.libmpeg2: fix build --- .../libmpeg2/getopt-getenv-signatures.patch | 26 +++++++++++++++++++ pkgs/by-name/li/libmpeg2/package.nix | 5 ++++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/by-name/li/libmpeg2/getopt-getenv-signatures.patch diff --git a/pkgs/by-name/li/libmpeg2/getopt-getenv-signatures.patch b/pkgs/by-name/li/libmpeg2/getopt-getenv-signatures.patch new file mode 100644 index 000000000000..881f11882371 --- /dev/null +++ b/pkgs/by-name/li/libmpeg2/getopt-getenv-signatures.patch @@ -0,0 +1,26 @@ +diff --git a/src/getopt.c b/src/getopt.c +index 4744e43..19776f3 100644 +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -208,7 +208,7 @@ static char *posixly_correct; + whose names are inconsistent. */ + + #ifndef getenv +-extern char *getenv (); ++extern char *getenv (const char *); + #endif + + static char * +diff --git a/src/getopt.h b/src/getopt.h +index b0147e9..6f1e784 100644 +--- a/src/getopt.h ++++ b/src/getopt.h +@@ -133,7 +133,7 @@ struct option + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int __argc, char *const *__argv, const char *__shortopts); + # else /* not __GNU_LIBRARY__ */ +-extern int getopt (); ++extern int getopt (int, char *const*, const char *); + # endif /* __GNU_LIBRARY__ */ + + # ifndef __need_getopt diff --git a/pkgs/by-name/li/libmpeg2/package.nix b/pkgs/by-name/li/libmpeg2/package.nix index 7860056707ca..4242f5c2edd5 100644 --- a/pkgs/by-name/li/libmpeg2/package.nix +++ b/pkgs/by-name/li/libmpeg2/package.nix @@ -13,6 +13,11 @@ stdenv.mkDerivation rec { sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny"; }; + patches = [ + # Fixes mismatching definitions with C23 / GCC15 on non-glibc platforms + ./getopt-getenv-signatures.patch + ]; + # Otherwise clang fails with 'duplicate symbol ___sputc' buildFlags = lib.optional stdenv.hostPlatform.isDarwin "CFLAGS=-std=gnu89"; From 4fb53b70d759376c7f085d49e31d9fff484586bb Mon Sep 17 00:00:00 2001 From: Yureka Date: Tue, 6 Jan 2026 23:47:18 +0100 Subject: [PATCH 0349/1216] pkgsMusl.nasm: fix build --- pkgs/by-name/na/nasm/package.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/by-name/na/nasm/package.nix b/pkgs/by-name/na/nasm/package.nix index dcda488d7e17..6ed5f105267c 100644 --- a/pkgs/by-name/na/nasm/package.nix +++ b/pkgs/by-name/na/nasm/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, perl, gitUpdater, }: @@ -15,6 +16,19 @@ stdenv.mkDerivation rec { hash = "sha256-tzJMvobnZ7ZfJvRn7YsSrYDhJOPMuJB2hVyY5Dqe3dQ="; }; + patches = [ + # Backport patches fixing nasm with gcc 15 and musl (and other?) platforms + # https://github.com/netwide-assembler/nasm/issues/169 + (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="; + }) + ]; + nativeBuildInputs = [ perl ]; enableParallelBuilding = true; From a2f23245d9a8c03cfcd0be1754fd94db922a3db0 Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 12 Jan 2026 01:38:30 +0100 Subject: [PATCH 0350/1216] Revert "onnxruntime,python3.pkgs.onnxruntime: fix runtime w/ glibc-2.42" The proper fix is included in 1.23.1, which will land in master with https://github.com/NixOS/nixpkgs/pull/450587, causing conflicts unless this is reverted. This reverts commit b706c583d0fb3e6fc86e37d49db06d09488cf55e. --- pkgs/by-name/on/onnxruntime/package.nix | 5 +---- pkgs/development/python-modules/onnxruntime/default.nix | 4 ---- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index fc0ed95f7865..f376bd903847 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -264,10 +264,7 @@ effectiveStdenv.mkDerivation rec { (lib.cmakeBool "onnxruntime_USE_COMPOSABLE_KERNEL_CK_TILE" false) ]; - env = { - NIX_LDFLAGS = "-z,noexecstack"; - } - // lib.optionalAttrs rocmSupport { + env = lib.optionalAttrs rocmSupport { MIOPEN_PATH = rocmPackages.miopen; # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing # fatal error: 'rocrand/rocrand.h' file not found diff --git a/pkgs/development/python-modules/onnxruntime/default.nix b/pkgs/development/python-modules/onnxruntime/default.nix index 9647657c0077..4d2ed826d456 100644 --- a/pkgs/development/python-modules/onnxruntime/default.nix +++ b/pkgs/development/python-modules/onnxruntime/default.nix @@ -38,10 +38,6 @@ buildPythonPackage { chmod +w dist ''; - env = { - NIX_LDFLAGS = "-z,noexecstack"; - }; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; # This project requires fairly large dependencies such as sympy which we really don't always need. From 0445cc8aab8d069d3ed555266fa133386274cf25 Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Wed, 7 Jan 2026 23:22:02 +0800 Subject: [PATCH 0351/1216] lib.lists.replaceElemAt: init It's very easy to resort to lib.take + lib.drop to accomplish this, but it's not obvious that it actually performs quite badly. Replacing an item in a list should be a relative common operation. --- lib/default.nix | 1 + lib/lists.nix | 37 +++++++++++++++++++++++++++++++++++++ lib/tests/misc.nix | 13 +++++++++++++ 3 files changed, 51 insertions(+) diff --git a/lib/default.nix b/lib/default.nix index 661f76bed0ef..af9716cb165f 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -295,6 +295,7 @@ let elemAt isList concatAttrValues + replaceElemAt ; inherit (self.strings) concatStrings diff --git a/lib/lists.nix b/lib/lists.nix index 1463ff622b7f..41eba34f93c5 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -2019,4 +2019,41 @@ rec { ::: */ concatAttrValues = set: concatLists (attrValues set); + + /** + Replaces a list's nth element with a new element + + # Inputs + + `list` + : Input list + + `idx` + : index to replace + + `newElem` + : new element to replace with + + # Type + + ``` + replaceElemAt :: [a] -> int - b -> [a] + ``` + + # Examples + :::{.example} + ## `replaceElemAt` usage example + + ```nix + lib.replaceElemAt` [1 2 3] 0 "a" + => ["a" 2 3] + ``` + + ::: + */ + replaceElemAt = + list: idx: newElem: + assert lib.assertMsg (idx >= 0 && idx < length list) + "'lists.replaceElemAt' called with index ${toString idx} on a list of size ${toString (length list)}"; + genList (i: if i == idx then newElem else elemAt list i) (length list); } diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 6c1a8c54a547..0a5c2ace0832 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -4909,4 +4909,17 @@ runTests { targetTarget = "prefix-tt"; }; }; + + testReplaceElemAt = { + expr = lib.replaceElemAt [ 1 2 3 ] 1 "a"; + expected = [ + 1 + "a" + 3 + ]; + }; + + testReplaceElemAtOutOfRange = testingThrow (lib.replaceElemAt [ 1 2 3 ] 5 "a"); + + testReplaceElemAtNegative = testingThrow (lib.replaceElemAt [ 1 2 3 ] (-1) "a"); } From 126b9bc2335ce14cf7e3a85dc2d136e24aee7f7e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 12 Jan 2026 12:30:37 +0000 Subject: [PATCH 0352/1216] courier-unicode: 2.4.0 -> 2.5.0 --- pkgs/by-name/co/courier-unicode/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/courier-unicode/package.nix b/pkgs/by-name/co/courier-unicode/package.nix index c62ac7747720..208cc63491c6 100644 --- a/pkgs/by-name/co/courier-unicode/package.nix +++ b/pkgs/by-name/co/courier-unicode/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "courier-unicode"; - version = "2.4.0"; + version = "2.5.0"; src = fetchurl { url = "mirror://sourceforge/courier/courier-unicode/${version}/courier-unicode-${version}.tar.bz2"; - hash = "sha256-6Ay88OOmzC56Z+waGDDWxOiqD/aXcy7B0R5UTg5kVw8="; + hash = "sha256-Xsp6U2UWEg745d5gFOaQcRvGs/saG9V9LxkDxU3ts+A="; }; nativeBuildInputs = [ From 54be93a60282e582e10d68919f740d2f722ec850 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Tue, 13 Jan 2026 02:45:18 +0100 Subject: [PATCH 0353/1216] python313Packages.pywbem: 1.7.3 -> 1.8.1 --- .../python-modules/pywbem/default.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pywbem/default.nix b/pkgs/development/python-modules/pywbem/default.nix index 02e263e17e97..c160eeaf983e 100644 --- a/pkgs/development/python-modules/pywbem/default.nix +++ b/pkgs/development/python-modules/pywbem/default.nix @@ -3,6 +3,8 @@ buildPythonPackage, decorator, fetchPypi, + setuptools, + setuptools-scm, formencode, httpretty, libxml2, @@ -24,14 +26,24 @@ buildPythonPackage rec { pname = "pywbem"; - version = "1.7.3"; + version = "1.8.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-0fCi69T/7e+NBnrzhVIW21GQx/byfI0tzUZ+CXAckLA="; + hash = "sha256-P+/sNPckpVHkLKOJ0ILQKf7QO0/xSsyO9cfLkv3aE1s="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools-scm>=9.2.0" "setuptools-scm" + ''; + + build-system = [ + setuptools + setuptools-scm + ]; + propagatedBuildInputs = [ mock nocasedict From 3cbe410268ab33d943b4ba21fc03a886b9e41bde Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Tue, 13 Jan 2026 02:55:27 +0100 Subject: [PATCH 0354/1216] python313Packages.pywbem: run tests --- pkgs/development/python-modules/pywbem/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pywbem/default.nix b/pkgs/development/python-modules/pywbem/default.nix index c160eeaf983e..d5ca03329117 100644 --- a/pkgs/development/python-modules/pywbem/default.nix +++ b/pkgs/development/python-modules/pywbem/default.nix @@ -14,7 +14,7 @@ nocaselist, pbr, ply, - pytest, + pytestCheckHook, pytz, pyyaml, requests, @@ -62,7 +62,7 @@ buildPythonPackage rec { httpretty libxml2 lxml - pytest + pytestCheckHook pytz requests-mock testfixtures @@ -70,6 +70,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "pywbem" ]; + disabledTestPaths = [ + "tests/leaktest" # requires 'yagot' + "tests/end2endtest" # requires 'pytest_easy_server' + ]; + meta = { description = "Support for the WBEM standard for systems management"; homepage = "https://pywbem.github.io"; From 5da17f180194734828c9b19c1d570d2c65037aa7 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 13 Jan 2026 06:43:33 +0000 Subject: [PATCH 0355/1216] mdadm: switch to `fetchgit` for releases `4.5` was tagged a while ago, but did not have a release tarball in an usual place. --- pkgs/by-name/md/mdadm4/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/md/mdadm4/package.nix b/pkgs/by-name/md/mdadm4/package.nix index c4e2ec5dbde1..d5cb54bc0766 100644 --- a/pkgs/by-name/md/mdadm4/package.nix +++ b/pkgs/by-name/md/mdadm4/package.nix @@ -3,6 +3,7 @@ stdenv, util-linux, coreutils, + fetchgit, fetchurl, groff, system-sendmail, @@ -16,9 +17,10 @@ stdenv.mkDerivation rec { pname = "mdadm"; version = "4.4"; - src = fetchurl { - url = "mirror://kernel/linux/utils/raid/mdadm/mdadm-${version}.tar.xz"; - sha256 = "sha256-m0iPNe0VPfmZJLX+Qe7TgOhRLejxihGGKMrN1oGx1XM="; + src = fetchgit { + url = "https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git"; + tag = "mdadm-${version}"; + hash = "sha256-jGmc8fkJM0V9J7V7tQPXSF/WD0kzyEAloBAwaAFenS0="; }; patches = [ From 26f45ecb235428357b3e58c1c3be0255807f5303 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 13 Jan 2026 08:00:20 +0100 Subject: [PATCH 0356/1216] python313Packages.cyclopts: 4.4.1 -> 4.4.4 Diff: https://github.com/BrianPugh/cyclopts/compare/v4.4.1...v4.4.4 Changelog: https://github.com/BrianPugh/cyclopts/releases/tag/v4.4.4 --- pkgs/development/python-modules/cyclopts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index 1b0473534d2f..f6fe57ad78da 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "cyclopts"; - version = "4.4.1"; + version = "4.4.4"; pyproject = true; src = fetchFromGitHub { owner = "BrianPugh"; repo = "cyclopts"; tag = "v${version}"; - hash = "sha256-kp/mnqa2difEA3s1jtXF1fDluQhLCJ4f6rFRruRbE9k="; + hash = "sha256-DX/mh1vgoSQoqzKRQg+NcCjfPPwy8WDJG7AfMYtPUSA="; }; build-system = [ From 91ccbfd0849a668207f8df27af3dff5d8d38fd12 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 13 Jan 2026 08:04:55 +0100 Subject: [PATCH 0357/1216] python313Packages.cyclopts: migrate to finalAttrs --- pkgs/development/python-modules/cyclopts/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index f6fe57ad78da..6c100197bb55 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -20,7 +20,7 @@ trio, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cyclopts"; version = "4.4.4"; pyproject = true; @@ -28,7 +28,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "BrianPugh"; repo = "cyclopts"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-DX/mh1vgoSQoqzKRQg+NcCjfPPwy8WDJG7AfMYtPUSA="; }; @@ -61,7 +61,7 @@ buildPythonPackage rec { pytestCheckHook syrupy ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); pythonImportsCheck = [ "cyclopts" ]; @@ -80,8 +80,8 @@ buildPythonPackage rec { meta = { description = "Module to create CLIs based on Python type hints"; homepage = "https://github.com/BrianPugh/cyclopts"; - changelog = "https://github.com/BrianPugh/cyclopts/releases/tag/${src.tag}"; + changelog = "https://github.com/BrianPugh/cyclopts/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 8b86760e771471c92f88d0a1464c55f45f26664c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 5 Jan 2026 10:43:16 +0200 Subject: [PATCH 0358/1216] python3.pkgs.beets: use fixed-point arguments --- .../python-modules/beets/default.nix | 77 ++++++++++--------- 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/pkgs/development/python-modules/beets/default.nix b/pkgs/development/python-modules/beets/default.nix index a390d64fe7f6..207d4c9cac9a 100644 --- a/pkgs/development/python-modules/beets/default.nix +++ b/pkgs/development/python-modules/beets/default.nix @@ -25,7 +25,6 @@ stdenv, buildPythonPackage, fetchFromGitHub, - beets, # build-system poetry-core, @@ -106,22 +105,13 @@ runCommand, }: -let - # Avoid using `rec`, so that using e.g `passthru` or any other attributes - # defined inside, will have to be done via the beets argument, which can be - # overriden. Until `finalAttrs` support reaches `buildPythonPackage`, there - # is no way to avoid this. See: - # - # https://github.com/NixOS/nixpkgs/issues/258246 - version = "2.5.1"; -in -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "beets"; version = "2.5.1"; src = fetchFromGitHub { owner = "beetbox"; repo = "beets"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-H3jcEHyK13+RHVlV4zp+8M3LZ0Jc2FdmAbLpekGozLA="; }; pyproject = true; @@ -154,7 +144,9 @@ buildPythonPackage { typing-extensions lap ] - ++ (lib.concatMap (p: p.propagatedBuildInputs) (lib.attrValues beets.passthru.plugins.enabled)); + ++ (lib.concatMap (p: p.propagatedBuildInputs) ( + lib.attrValues finalAttrs.finalPackage.passthru.plugins.enabled + )); nativeBuildInputs = [ gobject-introspection @@ -195,7 +187,7 @@ buildPythonPackage { makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" - "--prefix PATH : ${lib.makeBinPath beets.passthru.plugins.wrapperBins}" + "--prefix PATH : ${lib.makeBinPath finalAttrs.finalPackage.passthru.plugins.wrapperBins}" ]; nativeCheckInputs = [ @@ -208,12 +200,12 @@ buildPythonPackage { pillow writableTmpDirAsHomeHook ] - ++ beets.passthru.plugins.wrapperBins; + ++ finalAttrs.finalPackage.passthru.plugins.wrapperBins; __darwinAllowLocalNetworking = true; disabledTestPaths = - beets.passthru.plugins.disabledTestPaths + finalAttrs.finalPackage.passthru.plugins.disabledTestPaths ++ [ # touches network "test/plugins/test_aura.py" @@ -255,14 +247,14 @@ buildPythonPackage { \( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \ | sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \ | sort -u > plugins_available - ${diffPlugins (lib.attrNames beets.passthru.plugins.builtins) "plugins_available"} + ${diffPlugins (lib.attrNames finalAttrs.finalPackage.passthru.plugins.builtins) "plugins_available"} export BEETS_TEST_SHELL="${lib.getExe bashInteractive} --norc" env EDITOR="${writeScript "beetconfig.sh" '' #!${runtimeShell} cat > "$1" < /dev/null + ${finalAttrs.finalPackage}/bin/beet -c $out/config.yaml > /dev/null ''; }; }; @@ -501,4 +502,4 @@ buildPythonPackage { platforms = lib.platforms.linux ++ lib.platforms.darwin; mainProgram = "beet"; }; -} +}) From 6e5237a8e774f158c07b7e403f1bc633cb3d3bd9 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 5 Jan 2026 10:59:47 +0200 Subject: [PATCH 0359/1216] python3.pkgs.beets: add a passthru.test adding a builtin plugin --- pkgs/development/python-modules/beets/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/development/python-modules/beets/default.nix b/pkgs/development/python-modules/beets/default.nix index 207d4c9cac9a..ac0f2718be3f 100644 --- a/pkgs/development/python-modules/beets/default.nix +++ b/pkgs/development/python-modules/beets/default.nix @@ -19,6 +19,9 @@ ** }; ** }; ** } + ** + ** For an example adding a builtin plugin, see + ** passthru.tests.with-new-builtin-plugin below */ { lib, @@ -486,6 +489,17 @@ buildPythonPackage (finalAttrs: { ${finalAttrs.finalPackage}/bin/beet -c $out/config.yaml > /dev/null ''; + with-new-builtin-plugin = finalAttrs.finalPackage.overrideAttrs ( + newAttrs: oldAttrs: { + postPatch = (oldAttrs.postPatch or "") + '' + mkdir -p beetsplug/my_special_plugin + touch beetsplug/my_special_plugin/__init__.py + ''; + passthru = lib.recursiveUpdate oldAttrs.passthru { + plugins.builtins.my_special_plugin = { }; + }; + } + ); }; }; From f9bdd4fed490fa85cdc3f7918f14a7addd779ba2 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 5 Jan 2026 11:28:42 +0200 Subject: [PATCH 0360/1216] beets-audible: use beets-minimal Previously, the attribute set: python3.pkgs.beets-minimal.passthru.plugins.enabled filtered out the disabled plugins from: python3.pkgs.beets.passthru.plugins.all , and not from: python3.pkgs.beets-minimal.passthru.plugins.all . This meant that before the commit titled: python3.pkgs.beets: use fixed-point arguments , the derivations `beets` and `beets-minimal` were the same. Now this change has significance, were as in out of context PR #477088 it didn't. --- pkgs/development/python-modules/beets-audible/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/beets-audible/default.nix b/pkgs/development/python-modules/beets-audible/default.nix index 92bebc0c3142..42ec73c8f274 100644 --- a/pkgs/development/python-modules/beets-audible/default.nix +++ b/pkgs/development/python-modules/beets-audible/default.nix @@ -7,7 +7,7 @@ hatchling, # native - beets, + beets-minimal, # dependencies markdownify, @@ -35,7 +35,7 @@ buildPythonPackage rec { ]; nativeBuildInputs = [ - beets + beets-minimal ]; pythonRelaxDeps = true; From ad69c9b28c01a89d15f38c866cad7dbc3445d8ec Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 13 Jan 2026 09:03:41 +0100 Subject: [PATCH 0361/1216] nixos/networking-interfaces: stop installing wireless packages iw and wirelesstools (iwconfig, iwlist, etc.) are not required by networking.wireless and rarely used manually, so they should not be installed by default. --- nixos/doc/manual/release-notes/rl-2605.section.md | 2 ++ nixos/modules/tasks/network-interfaces.nix | 8 ++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 00d22c04cd1e..e887a559092c 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -46,6 +46,8 @@ - `services.tandoor-recipes` now uses a sub-directory for media files by default starting with `26.05`. Existing setups should move media files out of the data directory and adjust `services.tandoor-recipes.extraConfig.MEDIA_ROOT` accordingly. See [Migrating media files for pre 26.05 installations](#module-services-tandoor-recipes-migrating-media). +- The packages `iw` and `wirelesstools` (`iwconfig`, `iwlist`, etc.) are no longer installed implicitly if wireless networking has been enabled. + - `services.kubernetes.addons.dns.coredns` has been renamed to `services.kubernetes.addons.dns.corednsImage` and now expects a package instead of attrs. Now, by default, nixpkgs.coredns in conjunction with dockerTools.buildImage is used, instead of pulling the upstream container image from Docker Hub. If you want the old behavior, you can set: diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 2a6d00296303..933fbce6a6b3 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -1769,13 +1769,9 @@ in environment.corePackages = [ pkgs.host - pkgs.hostname-debian + pkgs.hostname pkgs.iproute2 - pkgs.iputils - ] - ++ optionals config.networking.wireless.enable [ - pkgs.wirelesstools # FIXME: obsolete? - pkgs.iw + pkgs.iputils # ping ] ++ bridgeStp; From 50a648d88844b1e3a302d2b5d70cf54a25b47253 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 13 Jan 2026 15:20:13 +0100 Subject: [PATCH 0362/1216] nodejs_24: 24.12.0 -> 24.13.0 --- pkgs/development/web/nodejs/v24.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v24.nix b/pkgs/development/web/nodejs/v24.nix index 09ce2e3e28af..8213ee1229ad 100644 --- a/pkgs/development/web/nodejs/v24.nix +++ b/pkgs/development/web/nodejs/v24.nix @@ -25,8 +25,8 @@ let in buildNodejs { inherit enableNpm; - version = "24.12.0"; - sha256 = "6d3e891a016b90f6c6a19ea5cbc9c90c57eef9198670ba93f04fa82af02574ae"; + version = "24.13.0"; + sha256 = "320fe909cbb347dcf516201e4964ef177b8138df9a7f810d0d54950481b3158b"; patches = ( if (stdenv.hostPlatform.emulatorAvailable buildPackages) then From 3e4e34e0988c9cfab6d2b66bf791d88f9f0ff823 Mon Sep 17 00:00:00 2001 From: strangeglyph Date: Tue, 13 Jan 2026 21:16:51 +0100 Subject: [PATCH 0363/1216] sabnzbd: bump version threshold for allowConfigWrite flag This was originally written with the goal of getting it merged in time for 25.11. Since it'll now only hit stable with 26.05, this should be bumped --- nixos/modules/services/networking/sabnzbd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/sabnzbd/default.nix b/nixos/modules/services/networking/sabnzbd/default.nix index e44053344ac3..8b7cfce32514 100644 --- a/nixos/modules/services/networking/sabnzbd/default.nix +++ b/nixos/modules/services/networking/sabnzbd/default.nix @@ -171,7 +171,7 @@ in a writeable configuration, such as quota tracking, enable this option. ''; - default = lib.versionOlder config.system.stateVersion "25.11"; + default = lib.versionOlder config.system.stateVersion "26.05"; }; settings = mkOption { From 453809552c67fa1c7bd997f82090ec6e1281dd34 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 13 Jan 2026 23:17:11 +0300 Subject: [PATCH 0364/1216] qt6.qtdeclarative: backport another common Plasma crash fix --- .../qtdeclarative/another-crash-fix.patch | 16 ++++++++++++++++ .../qt-6/modules/qtdeclarative/default.nix | 5 +++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/qt-6/modules/qtdeclarative/another-crash-fix.patch diff --git a/pkgs/development/libraries/qt-6/modules/qtdeclarative/another-crash-fix.patch b/pkgs/development/libraries/qt-6/modules/qtdeclarative/another-crash-fix.patch new file mode 100644 index 000000000000..e63a70c53708 --- /dev/null +++ b/pkgs/development/libraries/qt-6/modules/qtdeclarative/another-crash-fix.patch @@ -0,0 +1,16 @@ +--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp ++++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp +@@ -1583,10 +1583,9 @@ + o->deleteLater(); + } else { + // If the object is C++-owned, we still have to release the weak reference we have +- // to it. +- ddata->jsWrapper.clear(); +- if (lastCall && ddata->propertyCache) +- ddata->propertyCache.reset(); ++ // to it. If the "main" wrapper is not ours, we should leave it alone, though. ++ if (ddata->jsWrapper.as() == this) ++ ddata->jsWrapper.clear(); + } + } + } diff --git a/pkgs/development/libraries/qt-6/modules/qtdeclarative/default.nix b/pkgs/development/libraries/qt-6/modules/qtdeclarative/default.nix index 07f95c229028..d78544b8dc8d 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdeclarative/default.nix +++ b/pkgs/development/libraries/qt-6/modules/qtdeclarative/default.nix @@ -44,6 +44,11 @@ qtModule { hash = "sha256-KMFurA9Q84qwuyBraU3ZdoFWs8uO3uoUcinfcfh/ps8="; }) + # Backport of https://codereview.qt-project.org/c/qt/qtdeclarative/+/704031 + # Fixes common Plasma crash + # FIXME: remove in 6.10.3 + ./another-crash-fix.patch + # https://qt-project.atlassian.net/browse/QTBUG-137440 (fetchpatch { name = "rb-dialogs-link-labsfolderlistmodel-into-quickdialogs2quickimpl.patch"; From dd29e9d512daa03306f626a1aba4b798028598db Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 13 Jan 2026 13:38:10 +0200 Subject: [PATCH 0365/1216] google-clasp: 2.5.0 -> 3.1.3 Diff: https://github.com/google/clasp/compare/v2.5.0...v3.1.3 Changelog: https://github.com/google/clasp/releases/tag/v3.1.3 --- pkgs/by-name/go/google-clasp/package.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/go/google-clasp/package.nix b/pkgs/by-name/go/google-clasp/package.nix index 3fd93c28c410..8c14181a2f92 100644 --- a/pkgs/by-name/go/google-clasp/package.nix +++ b/pkgs/by-name/go/google-clasp/package.nix @@ -2,27 +2,32 @@ lib, buildNpmPackage, fetchFromGitHub, + fetchpatch, }: buildNpmPackage rec { pname = "clasp"; - version = "2.5.0"; + version = "3.1.3"; src = fetchFromGitHub { owner = "google"; repo = "clasp"; tag = "v${version}"; - hash = "sha256-Wt9caSgYNSx6yVUm3eg86GNdrheqHM5IYY8QohclHkQ="; + hash = "sha256-Pxt3MaDDsk/qq3NSuwG3jOoPthwrL0QelaruoC37hfA="; }; - npmDepsHash = "sha256-iRC2iLNe/4ZP2liUDjIgyMNtlmjcXAGdSmhx3qFBjsA="; + patches = [ + # https://github.com/google/clasp/pull/1112 + (fetchpatch { + url = "https://github.com/google/clasp/commit/b183d4b5fbdb51f7bc2e3edadf5fd3bbff28bad1.patch"; + hash = "sha256-lnC7DfKsV4E5guxbjZ+WfkLj5wDLYwObPtH21dmFUcc="; + }) + ]; + + npmDepsHash = "sha256-IyFcGcT3ceoaaf2sCPriEIoWPavg+YGsvkxr1MkLj5c="; # `npm run build` tries installing clasp globally npmBuildScript = [ "compile" ]; - # Remove dangling symlink of a dependency - postInstall = '' - rm $out/lib/node_modules/@google/clasp/node_modules/.bin/sshpk-{verify,sign,conv} - ''; meta = { description = "Develop Apps Script Projects locally"; From 09e603c18f05e65acaa2d02cbbcf9831cbbab3a3 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Tue, 13 Jan 2026 23:56:41 +0100 Subject: [PATCH 0366/1216] python313Packages.logging-tree: modernize --- .../python-modules/logging-tree/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/logging-tree/default.nix b/pkgs/development/python-modules/logging-tree/default.nix index cf6d359c3ee6..3fff50fa2757 100644 --- a/pkgs/development/python-modules/logging-tree/default.nix +++ b/pkgs/development/python-modules/logging-tree/default.nix @@ -3,24 +3,24 @@ buildPythonPackage, fetchFromGitHub, setuptools, - unittestCheckHook, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "logging-tree"; version = "1.10"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "brandon-rhodes"; repo = "logging_tree"; - tag = version; + tag = finalAttrs.version; hash = "sha256-9MeCx708EUe5dmFkol+HISzdBX+yar1HjKIAwmg1msA="; }; build-system = [ setuptools ]; - nativeCheckInputs = [ unittestCheckHook ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "logging_tree" ]; @@ -30,4 +30,4 @@ buildPythonPackage rec { license = [ lib.licenses.bsd2 ]; maintainers = [ lib.maintainers.rskew ]; }; -} +}) From 848156b61bec6ccb8996e0a3ad110cc696952fe7 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Wed, 14 Jan 2026 18:56:28 +0100 Subject: [PATCH 0367/1216] logseq: 0.10.14 -> 0.10.15 --- pkgs/by-name/lo/logseq/fix-yarn-lock.patch | 101 +++++++++++++++++++++ pkgs/by-name/lo/logseq/package.nix | 23 ++--- 2 files changed, 113 insertions(+), 11 deletions(-) create mode 100644 pkgs/by-name/lo/logseq/fix-yarn-lock.patch diff --git a/pkgs/by-name/lo/logseq/fix-yarn-lock.patch b/pkgs/by-name/lo/logseq/fix-yarn-lock.patch new file mode 100644 index 000000000000..6264b1a0a84c --- /dev/null +++ b/pkgs/by-name/lo/logseq/fix-yarn-lock.patch @@ -0,0 +1,101 @@ +diff --git a/static/yarn.lock b/static/yarn.lock +index 36b4476..0e7c5ee 100644 +--- a/static/yarn.lock ++++ b/static/yarn.lock +@@ -1444,11 +1444,6 @@ ansi-regex@^5.0.1: + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +-ansi-regex@^6.0.1: +- version "6.2.2" +- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" +- integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== +- + ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" +@@ -1461,11 +1456,6 @@ ansi-styles@^6.0.0: + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +-ansi-styles@^6.2.1: +- version "6.2.3" +- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" +- integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== +- + anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" +@@ -3081,11 +3071,6 @@ get-caller-file@^2.0.5: + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +-get-east-asian-width@^1.3.0: +- version "1.4.0" +- resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz#9bc4caa131702b4b61729cb7e42735bc550c9ee6" +- integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q== +- + get-folder-size@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/get-folder-size/-/get-folder-size-2.0.1.tgz#3fe0524dd3bad05257ef1311331417bcd020a497" +@@ -5201,13 +5186,14 @@ stream-buffers@~2.2.0: + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +-string-width@8.1.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3, string-width@^5.0.0, string-width@^5.1.2, string-width@^7.0.0: +- version "8.1.0" +- resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.1.0.tgz#9e9fb305174947cf45c30529414b5da916e9e8d1" +- integrity sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg== ++string-width@4.2.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3, string-width@^5.0.0, string-width@^5.1.2: ++ version "4.2.0" ++ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" ++ integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: +- get-east-asian-width "^1.3.0" +- strip-ansi "^7.1.0" ++ emoji-regex "^8.0.0" ++ is-fullwidth-code-point "^3.0.0" ++ strip-ansi "^6.0.0" + + string_decoder@^1.1.1: + version "1.3.0" +@@ -5223,12 +5209,12 @@ string_decoder@^1.1.1: + dependencies: + ansi-regex "^5.0.1" + +-strip-ansi@7.1.2, strip-ansi@^6.0.0, strip-ansi@^6.0.1, strip-ansi@^7.0.1, strip-ansi@^7.1.0: +- version "7.1.2" +- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" +- integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== ++strip-ansi@^6.0.0, strip-ansi@^6.0.1, strip-ansi@^7.0.1: ++ version "6.0.1" ++ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" ++ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: +- ansi-regex "^6.0.1" ++ ansi-regex "^5.0.1" + + strip-bom@^3.0.0: + version "3.0.0" +@@ -5710,14 +5696,14 @@ word-wrap@^1.2.3: + string-width "^4.1.0" + strip-ansi "^6.0.0" + +-wrap-ansi@9.0.2, wrap-ansi@^6.2.0, wrap-ansi@^7.0.0, wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: +- version "9.0.2" +- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz#956832dea9494306e6d209eb871643bb873d7c98" +- integrity sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== ++wrap-ansi@^6.2.0, wrap-ansi@^7.0.0, wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: ++ version "7.0.0" ++ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" ++ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: +- ansi-styles "^6.2.1" +- string-width "^7.0.0" +- strip-ansi "^7.1.0" ++ ansi-styles "^4.0.0" ++ string-width "^4.1.0" ++ strip-ansi "^6.0.0" + + wrappy@1: + version "1.0.2" diff --git a/pkgs/by-name/lo/logseq/package.nix b/pkgs/by-name/lo/logseq/package.nix index 49f7a2b467a3..7dd0325b6784 100644 --- a/pkgs/by-name/lo/logseq/package.nix +++ b/pkgs/by-name/lo/logseq/package.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "logseq"; - version = "0.10.14"; + version = "0.10.15"; src = fetchFromGitHub { owner = "logseq"; repo = "logseq"; tag = finalAttrs.version; - hash = "sha256-jIkAiSCYIO5w/jM/Bv/odTuluRi3W/w4tTaUTmaYvEA="; + hash = "sha256-knosNA2Gqy10Kr9HWnBdYNlV51zzgFuL8cdioVlAk0Q="; }; patches = [ @@ -54,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: { ./electron-forge-package-instead-of-make.patch ./electron-forge-disable-signing.patch + ./fix-yarn-lock.patch ]; mavenRepo = stdenv.mkDerivation { @@ -98,30 +99,30 @@ stdenv.mkDerivation (finalAttrs: { yarnOfflineCacheRoot = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-root"; - inherit (finalAttrs) src; - hash = "sha256-eSMtHA4Ob7EVb5qEzAj+WjGyyFjA0ZEvTsaoMx0bgjc="; + inherit (finalAttrs) src patches; + hash = "sha256-xfAJ38shd92KdRfh/P7BH4eolZHQmzl4raoH1aZpGRk="; }; # ./static and ./resources are combined into ./static by the build process # ./static contains the lockfile and ./resources contains everything else yarnOfflineCacheStaticResources = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-static-resources"; - inherit (finalAttrs) src; - sourceRoot = "${finalAttrs.src.name}/static"; - hash = "sha256-01t6lolMbBL5f6SFk4qTkTx6SQXWtHuVkBhDwW+HScc="; + inherit (finalAttrs) src patches; + postPatch = "cd ./static"; + hash = "sha256-zAGEQlOqKfPDrIoZQUnjBifgdYDYRsiHH7PUNrd0u+8="; }; yarnOfflineCacheAmplify = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-amplify"; - inherit (finalAttrs) src; - sourceRoot = "${finalAttrs.src.name}/packages/amplify"; + inherit (finalAttrs) src patches; + postPatch = "cd ./packages/amplify"; hash = "sha256-IOhSwIf5goXCBDGHCqnsvWLf3EUPqq75xfQg55snIp4="; }; yarnOfflineCacheTldraw = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-tldraw"; - inherit (finalAttrs) src; - sourceRoot = "${finalAttrs.src.name}/tldraw"; + inherit (finalAttrs) src patches; + postPatch = "cd ./tldraw"; hash = "sha256-CtMl3MPlyO5nWfFhCC1SLb/+1HUM3YfFATAPqJg3rUo="; }; From 923431a2e8bf63af43515adcb1e6b4285546bf4f Mon Sep 17 00:00:00 2001 From: ghpzin Date: Mon, 12 Jan 2026 16:38:35 +0300 Subject: [PATCH 0368/1216] systemtap-unwrapped: fix 32bit build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add patch from merged upstream commit: https://sourceware.org/git/?p=systemtap.git;a=commit;h=94efb7c4eb02de0e3565cb165b53963602d3dcb6 Does not apply with `fetchpatch` because of some problem with diff encoding on gitweb side for `po/cs.po` file. Proper diff as shown on html page of gitweb and from local git repo: ``` --- a/po/cs.po +++ b/po/cs.po @@ -2039,7 +2039,7 @@ msgstr "Zahazuji kontrolu '@defined' bez vedlejších účinků " #: elaborate.cxx:5119 #, fuzzy, c-format -msgid "Collapsing unresolved @define to %ld [stapprobes]" +msgid "Collapsing unresolved @define to %lld [stapprobes]" msgstr "Zahazuji kontrolu '@defined' bez vedlejších účinků " #: elaborate.cxx:5127 ``` Diff with `patch` or `commitdiff_plain` from gitweb: https://sourceware.org/git/?p=systemtap.git;a=patch;h=94efb7c4eb02de0e3565cb165b53963602d3dcb6 https://sourceware.org/git/?p=systemtap.git;a=commitdiff_plain;h=94efb7c4eb02de0e3565cb165b53963602d3dcb6 ``` --- a/po/cs.po +++ b/po/cs.po @@ -2039,7 +2039,7 @@ msgstr "Zahazuji kontrolu '@defined' bez vedlejších účinků " #: elaborate.cxx:5119 #, fuzzy, c-format -msgid "Collapsing unresolved @define to %ld [stapprobes]" +msgid "Collapsing unresolved @define to %lld [stapprobes]" msgstr "Zahazuji kontrolu '@defined' bez vedlejších účinků " #: elaborate.cxx:5127 ``` Fixes build failure on 32bit platforms: ``` elaborate.cxx: In member function 'virtual void const_folder::visit_defined_op(defined_op*)': elaborate.cxx:5119:33: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'int64_t' {aka 'long long int'} [-Werror=format=] 5119 | session.print_warning (_F("Collapsing unresolved @define to %ld [stapprobes]", value), e->tok); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ staputil.h:54:27: note: in definition of macro '_' 54 | #define _(string) gettext(string) | ^~~~~~ elaborate.cxx:5119:30: note: in expansion of macro '_F' 5119 | session.print_warning (_F("Collapsing unresolved @define to %ld [stapprobes]", value), e->tok); | ^~ elaborate.cxx:5119:69: note: format string is defined here 5119 | session.print_warning (_F("Collapsing unresolved @define to %ld [stapprobes]", value), e->tok); | ~~^ | | | long int | %lld ``` --- .../sy/systemtap-unwrapped/package.nix | 7 ++ .../systemtap-elaborate-fix-32bit-build.patch | 102 ++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 pkgs/by-name/sy/systemtap-unwrapped/systemtap-elaborate-fix-32bit-build.patch diff --git a/pkgs/by-name/sy/systemtap-unwrapped/package.nix b/pkgs/by-name/sy/systemtap-unwrapped/package.nix index 820eb2cf263b..afad124fb852 100644 --- a/pkgs/by-name/sy/systemtap-unwrapped/package.nix +++ b/pkgs/by-name/sy/systemtap-unwrapped/package.nix @@ -20,6 +20,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-11ecQFiBaWOZcbS5Qqf/41heiJM1wSttx0eMoVQImZc="; }; + patches = lib.optionals stdenv.hostPlatform.is32bit [ + # Fix 32bit build + # https://sourceware.org/git/?p=systemtap.git;a=commit;h=94efb7c4eb02de0e3565cb165b53963602d3dcb6 + # does not apply with fetchpatch because of gitweb encoding issues + ./systemtap-elaborate-fix-32bit-build.patch + ]; + nativeBuildInputs = [ pkg-config cpio diff --git a/pkgs/by-name/sy/systemtap-unwrapped/systemtap-elaborate-fix-32bit-build.patch b/pkgs/by-name/sy/systemtap-unwrapped/systemtap-elaborate-fix-32bit-build.patch new file mode 100644 index 000000000000..34a23577dbdb --- /dev/null +++ b/pkgs/by-name/sy/systemtap-unwrapped/systemtap-elaborate-fix-32bit-build.patch @@ -0,0 +1,102 @@ +From 94efb7c4eb02de0e3565cb165b53963602d3dcb6 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sun, 30 Nov 2025 20:58:01 +0000 +Subject: [PATCH] elaborate.cxx: fix 32-bit build + +Without the change the build fails on i686-linux as: + + elaborate.cxx:5119:33: error: + format '%ld' expects argument of type 'long int', + but argument 2 has type 'int64_t' {aka 'long long int'} [-Werror=format=] + 5119 | session.print_warning (_F("Collapsing unresolved @define to %ld [stapprobes]", value), e->tok); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + elaborate.cxx | 2 +- + po/cs.po | 2 +- + po/en.po | 2 +- + po/fr.po | 2 +- + po/pl.po | 2 +- + po/systemtap.pot | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/elaborate.cxx b/elaborate.cxx +index 93ecffa1a..3ad3614e7 100644 +--- a/elaborate.cxx ++++ b/elaborate.cxx +@@ -5116,7 +5116,7 @@ const_folder::visit_defined_op (defined_op* e) + // Don't be greedy... we'll only collapse one at a time so type + // resolution can have another go at it. + relaxed_p = false; +- session.print_warning (_F("Collapsing unresolved @define to %ld [stapprobes]", value), e->tok); ++ session.print_warning (_F("Collapsing unresolved @define to %lld [stapprobes]", (long long)value), e->tok); + literal_number* n = new literal_number (value); + n->tok = e->tok; + n->visit (this); +diff --git a/po/cs.po b/po/cs.po +index df6412772..92fdef7ad 100644 +--- a/po/cs.po ++++ b/po/cs.po +@@ -2039,7 +2039,7 @@ msgstr "Zahazuji kontrolu '@defined' bez vedlejších účinků " + + #: elaborate.cxx:5119 + #, fuzzy, c-format +-msgid "Collapsing unresolved @define to %ld [stapprobes]" ++msgid "Collapsing unresolved @define to %lld [stapprobes]" + msgstr "Zahazuji kontrolu '@defined' bez vedlejších účinků " + + #: elaborate.cxx:5127 +diff --git a/po/en.po b/po/en.po +index 8847639e8..1db2292bd 100644 +--- a/po/en.po ++++ b/po/en.po +@@ -2050,7 +2050,7 @@ msgstr "" + + #: elaborate.cxx:5119 + #, c-format +-msgid "Collapsing unresolved @define to %ld [stapprobes]" ++msgid "Collapsing unresolved @define to %lld [stapprobes]" + msgstr "" + + #: elaborate.cxx:5127 +diff --git a/po/fr.po b/po/fr.po +index b8677707b..55e409919 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -2090,7 +2090,7 @@ msgstr "" + + #: elaborate.cxx:5119 + #, c-format +-msgid "Collapsing unresolved @define to %ld [stapprobes]" ++msgid "Collapsing unresolved @define to %lld [stapprobes]" + msgstr "" + + #: elaborate.cxx:5127 +diff --git a/po/pl.po b/po/pl.po +index e3b6700ee..0b35880c1 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -1977,7 +1977,7 @@ msgstr "" + + #: elaborate.cxx:5119 + #, c-format +-msgid "Collapsing unresolved @define to %ld [stapprobes]" ++msgid "Collapsing unresolved @define to %lld [stapprobes]" + msgstr "" + + #: elaborate.cxx:5127 +diff --git a/po/systemtap.pot b/po/systemtap.pot +index 32ddb2290..4ec0d9a8c 100644 +--- a/po/systemtap.pot ++++ b/po/systemtap.pot +@@ -1973,7 +1973,7 @@ msgstr "" + + #: elaborate.cxx:5119 + #, c-format +-msgid "Collapsing unresolved @define to %ld [stapprobes]" ++msgid "Collapsing unresolved @define to %lld [stapprobes]" + msgstr "" + + #: elaborate.cxx:5127 +-- +2.52.0 + From 2177c0bc4123de1d109f8ea47a08dc86d0cc52e9 Mon Sep 17 00:00:00 2001 From: rczb Date: Thu, 15 Jan 2026 02:13:43 +0800 Subject: [PATCH 0369/1216] shen-sbcl: 39.2 -> 40 --- pkgs/by-name/sh/shen-sbcl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sh/shen-sbcl/package.nix b/pkgs/by-name/sh/shen-sbcl/package.nix index 4c472eec7239..a8d61806c64d 100644 --- a/pkgs/by-name/sh/shen-sbcl/package.nix +++ b/pkgs/by-name/sh/shen-sbcl/package.nix @@ -7,11 +7,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "shen-sbcl"; - version = "39.2"; + version = "40"; src = fetchzip { url = "https://www.shenlanguage.org/Download/S${finalAttrs.version}.zip"; - hash = "sha256-V6op0G4aEdKifP6L0ho6cy1FPNax+0aE5ltWxT7Xniw="; + hash = "sha256-Ldz4NV+1Hf7FCDis+oeDt8mNuMe37jpaBMJlQ1XQaa0="; }; nativeBuildInputs = [ sbcl ]; @@ -40,7 +40,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { # remove interactive prompt during image creation substituteInPlace install.lsp \ - --replace-fail '(Y-OR-N-P "Load Shen Library? ")' '${ + --replace-fail '(Y-OR-N-P "Load Shen Standard Library? ")' '${ if installStandardLibrary then "T" else "NIL" }' ''; From 055ff17e060d62e433f2b38e238d86681e535eee Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Jan 2026 11:20:38 +0300 Subject: [PATCH 0370/1216] glibc: fix path derp on cross --- pkgs/development/libraries/glibc/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 21cd780e19b2..d7a384b00539 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -296,7 +296,7 @@ stdenv.mkDerivation ( configureScript="`pwd`/../configure" '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig" + sed -i s/-lgcc_eh//g ../Makeconfig cat > config.cache << "EOF" libc_cv_forced_unwind=yes From fad32c455ed17e75bc314d6f3afc497fb3f39455 Mon Sep 17 00:00:00 2001 From: Kajus Naujokaitis Date: Thu, 15 Jan 2026 11:23:03 +0200 Subject: [PATCH 0371/1216] system76-scheduler: 2.0.2 -> 2.0.2-unstable-2025-01-15 - unstable patch fixes process scheduler not refreshing at runtime --- pkgs/by-name/sy/system76-scheduler/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/sy/system76-scheduler/package.nix b/pkgs/by-name/sy/system76-scheduler/package.nix index 4224eacf2d87..e37b663187fb 100644 --- a/pkgs/by-name/sy/system76-scheduler/package.nix +++ b/pkgs/by-name/sy/system76-scheduler/package.nix @@ -9,7 +9,7 @@ }: let - version = "2.0.2"; + version = "2.0.2-unstable-2025-01-15"; in rustPlatform.buildRustPackage { pname = "system76-scheduler"; @@ -17,11 +17,11 @@ rustPlatform.buildRustPackage { src = fetchFromGitHub { owner = "pop-os"; repo = "system76-scheduler"; - rev = version; - hash = "sha256-5GiHmu++YRCewDHm/qxKmQwDIAZwlW5Eya/fDriVSdA="; + rev = "b0b7e98b0dbd2cd05e9fe80829e7083048202da7"; + hash = "sha256-I+LN7Q5/VQ203Vk0eKM4HZw8oSS0bkcY/wIWbu4hPnI="; }; - cargoHash = "sha256-o2Ma9WNmBz+18SSMBPXYK4BXzHFLQwa3JWhq4S7jSBg="; + cargoHash = "sha256-rTe016jxRdL3xOw6yHz8btyfnecGuPTIashKQustYP0="; nativeBuildInputs = [ pkg-config From 40c9a9e0aa8c1b0a9c3fbe3f225aba3b9ac4bf6e Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Jan 2026 12:25:54 +0300 Subject: [PATCH 0372/1216] gdb: fix configure invocation on hostCpuOnly This was abusing enableFeature to do "--enable-targets=all", which is already icky, but it also resulted in "--disable-targets=all", which is not a real option. --- pkgs/by-name/gd/gdb/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gd/gdb/package.nix b/pkgs/by-name/gd/gdb/package.nix index 8c2aa60df23b..777e90734052 100644 --- a/pkgs/by-name/gd/gdb/package.nix +++ b/pkgs/by-name/gd/gdb/package.nix @@ -181,7 +181,9 @@ stdenv.mkDerivation (finalAttrs: { (withFeatureAs true "auto-load-safe-path" (builtins.concatStringsSep ":" safePaths)) (withFeature enableDebuginfod "debuginfod") (enableFeature (!stdenv.hostPlatform.isMusl) "nls") - (enableFeature (!hostCpuOnly) "targets=all") + ] + ++ optional (!hostCpuOnly) "--enable-targets=all" + ++ [ (enableFeature (!stdenv.hostPlatform.isStatic) "inprocess-agent") ] # Workaround for Apple Silicon, "--target" must be "faked", see eg: https://github.com/Homebrew/homebrew-core/pull/209753 From 89e272dacdd0203fe2ff4f2eb62e784d4a50816d Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Jan 2026 12:53:55 +0300 Subject: [PATCH 0373/1216] libsForQt5.kwayland: cherry-pick patch to fix build with latest libdrm --- pkgs/development/libraries/kde-frameworks/kwayland.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/kde-frameworks/kwayland.nix b/pkgs/development/libraries/kde-frameworks/kwayland.nix index 09510db88d63..014ee813cfbd 100644 --- a/pkgs/development/libraries/kde-frameworks/kwayland.nix +++ b/pkgs/development/libraries/kde-frameworks/kwayland.nix @@ -8,10 +8,19 @@ qtbase, wayland, wayland-protocols, + fetchpatch, }: mkDerivation { pname = "kwayland"; + + patches = [ + (fetchpatch { + url = "https://invent.kde.org/plasma/kwayland/-/commit/0954a179d4ef72597efea44a91071eb9a55a385f.diff"; + hash = "sha256-TB9ZIYV58E41rA8mP5MXjIKZUOdH/rZfOYsgUlV+QLk="; + }) + ]; + nativeBuildInputs = [ extra-cmake-modules wayland-scanner From c53d2b15b3b9fb3c663d0f52d7c547829563c637 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 15 Jan 2026 13:22:58 +0000 Subject: [PATCH 0374/1216] stylelint: 16.26.1 -> 17.0.0 --- pkgs/by-name/st/stylelint/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stylelint/package.nix b/pkgs/by-name/st/stylelint/package.nix index b5f55aca31ce..0542002f0f6c 100644 --- a/pkgs/by-name/st/stylelint/package.nix +++ b/pkgs/by-name/st/stylelint/package.nix @@ -5,16 +5,16 @@ }: buildNpmPackage rec { pname = "stylelint"; - version = "16.26.1"; + version = "17.0.0"; src = fetchFromGitHub { owner = "stylelint"; repo = "stylelint"; tag = version; - hash = "sha256-klvYUuk1U6hClSWPQWwJv+uadjaEqkjOZv33PygyrCQ="; + hash = "sha256-LQqKAKVdFJkIZQDwv2X6dxGDFPZ3xdTQIx+8kAlijDU="; }; - npmDepsHash = "sha256-S1BYJDap3kW/MWZyv7Acmx+rFdGrWLwBdKlGPgH1RsU="; + npmDepsHash = "sha256-FdFM1Mo/P7jw+0nY8kR4ThTLJDxG8fp/tZiYSFzRSac="; dontNpmBuild = true; From 610e1e8d4275367158d9d0e9f82a99fd9a842bfd Mon Sep 17 00:00:00 2001 From: Rafael Irgolic Date: Thu, 15 Jan 2026 14:48:25 +0000 Subject: [PATCH 0375/1216] nixos-rebuild-ng: avoid copying closure when `target_host` matches `build_host` --- pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py index f30ccf90d1ea..d2c5ceace95c 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py @@ -224,7 +224,7 @@ def copy_closure( ) match (to_host, from_host): - case (None, None): + case (x, y) if x == y: return case (Remote(_) as host, None) | (None, Remote(_) as host): nix_copy_closure(host, to=bool(to_host)) From 6b3d9e2ce358e0fc220d363a4b08098f2cde016b Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Jan 2026 18:10:13 +0300 Subject: [PATCH 0376/1216] poetry: relax dependency to fix build --- pkgs/by-name/po/poetry/unwrapped.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/po/poetry/unwrapped.nix b/pkgs/by-name/po/poetry/unwrapped.nix index 6cb9a0cda505..3c8591cc2c2e 100644 --- a/pkgs/by-name/po/poetry/unwrapped.nix +++ b/pkgs/by-name/po/poetry/unwrapped.nix @@ -57,6 +57,7 @@ buildPythonPackage rec { pythonRelaxDeps = [ "dulwich" "keyring" + "pbs-installer" ]; dependencies = [ From df2cafb26c030a16e48847b76316a2c0384dc8b3 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Jan 2026 19:52:31 +0300 Subject: [PATCH 0377/1216] python313Packages.pip-tools: skip more tests --- pkgs/development/python-modules/pip-tools/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix index e99af8e27a02..73c8e6cbfb5b 100644 --- a/pkgs/development/python-modules/pip-tools/default.nix +++ b/pkgs/development/python-modules/pip-tools/default.nix @@ -74,6 +74,9 @@ buildPythonPackage rec { "test_get_hashes_from_mixed" "test_toggle_reuse_hashes_local_repository" "test_generate_hashes_all_platforms" + "test_iter_dependencies_after_combine_install_requirements" + "test_iter_dependencies_after_combine_install_requirements_extras" + "test_name_collision" # Assertion error "test_compile_recursive_extras" "test_compile_build_targets_setuptools_no_wheel_dep" From 77dfb551dcdc22c8119c17657dc5ba478536e4b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= Date: Thu, 15 Jan 2026 17:49:16 +0100 Subject: [PATCH 0378/1216] deno: 2.6.4 -> 2.6.5 --- pkgs/by-name/de/deno/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/de/deno/package.nix b/pkgs/by-name/de/deno/package.nix index da8394ce30ec..1be01bc0aa5d 100644 --- a/pkgs/by-name/de/deno/package.nix +++ b/pkgs/by-name/de/deno/package.nix @@ -29,17 +29,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "deno"; - version = "2.6.4"; + version = "2.6.5"; src = fetchFromGitHub { owner = "denoland"; repo = "deno"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; # required for tests - hash = "sha256-g2NZz8yLozle9LvEHbG9KIOBKc7x/RIkZLUyPUKd6U8="; + hash = "sha256-oNZXPBW61IQdA3MFS1gxNoInSCt6mUitedAXx+tuFaw="; }; - cargoHash = "sha256-FB/8RuFRKzihGLfyOoUNuhIGgo8RzDTtrUh8nsqp0GE="; + cargoHash = "sha256-H1vX/aiB5inK6Fo0l3sEZnvqgRImTpjkxRZHLBPgz0U="; patches = [ ./patches/0002-tests-replace-hardcoded-paths.patch From 2900ca2e70d0276699105f7cf43a3b7db6ffb94e Mon Sep 17 00:00:00 2001 From: Gliczy <129636582+Gliczy@users.noreply.github.com> Date: Thu, 15 Jan 2026 18:11:12 +0100 Subject: [PATCH 0379/1216] swayimg: 4.6 -> 4.7 --- pkgs/by-name/sw/swayimg/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sw/swayimg/package.nix b/pkgs/by-name/sw/swayimg/package.nix index c2531c4ea799..d47ddd2bf399 100644 --- a/pkgs/by-name/sw/swayimg/package.nix +++ b/pkgs/by-name/sw/swayimg/package.nix @@ -32,13 +32,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "swayimg"; - version = "4.6"; + version = "4.7"; src = fetchFromGitHub { owner = "artemsen"; repo = "swayimg"; tag = "v${finalAttrs.version}"; - hash = "sha256-Q5TqY5UgSGZVVoARcz1ig0UkZBKgRoT9Ndvg/f1T38Q="; + hash = "sha256-1dJf339lM8ETcYyjtWCJEyNmwmoxt72+rXdTH/48s6Q="; }; strictDeps = true; From a86a0b60852ab0b1b168defaa6e4b0d26c58eaf6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 15 Jan 2026 18:12:05 +0000 Subject: [PATCH 0380/1216] python3Packages.yaramod: 4.5.0 -> 4.5.2 --- pkgs/development/python-modules/yaramod/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/yaramod/default.nix b/pkgs/development/python-modules/yaramod/default.nix index 011155f36b67..b879e50b7f1b 100644 --- a/pkgs/development/python-modules/yaramod/default.nix +++ b/pkgs/development/python-modules/yaramod/default.nix @@ -21,14 +21,14 @@ let in buildPythonPackage rec { pname = "yaramod"; - version = "4.5.0"; + version = "4.5.2"; pyproject = true; src = fetchFromGitHub { owner = "avast"; repo = "yaramod"; tag = "v${version}"; - hash = "sha256-iIPMwN/kHrbN3ca+IJdyIfvrsnwiiflQY/gHAT3p+S4="; + hash = "sha256-5tZhJcgpS8BwLEFlIM+RnXeUC5gXq4TPfSe0KI6U34w="; }; postPatch = '' From fffb803b6aa7618bfbed5f5bb1492580687338df Mon Sep 17 00:00:00 2001 From: nukdokplex Date: Mon, 12 Jan 2026 20:05:16 +0500 Subject: [PATCH 0381/1216] hyprdynamicmonitors: init at 1.4.0 --- .../hy/hyprdynamicmonitors/package.nix | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pkgs/by-name/hy/hyprdynamicmonitors/package.nix diff --git a/pkgs/by-name/hy/hyprdynamicmonitors/package.nix b/pkgs/by-name/hy/hyprdynamicmonitors/package.nix new file mode 100644 index 000000000000..f6f30cfc5010 --- /dev/null +++ b/pkgs/by-name/hy/hyprdynamicmonitors/package.nix @@ -0,0 +1,49 @@ +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, + stdenv, +}: +buildGoModule (finalAttrs: { + pname = "hyprdynamicmonitors"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "fiffeek"; + repo = "hyprdynamicmonitors"; + tag = "v${finalAttrs.version}"; + hash = "sha256-msAgix63TsGgETwJajdr//F19+UUhGCbrjinNbgMPHo="; + }; + + vendorHash = "sha256-WBK1PhhxaRa0FUAfSxtKOiesw71wy0753FYIgSlo0bE="; + + subPackages = [ "." ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/fiffeek/hyprdynamicmonitors/cmd.Version=${finalAttrs.version}" + "-X github.com/fiffeek/hyprdynamicmonitors/cmd.Commit=unknown" + "-X github.com/fiffeek/hyprdynamicmonitors/cmd.BuildDate=1970-01-01T00:00:00Z" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd hyprdynamicmonitors \ + --bash <($out/bin/hyprdynamicmonitors completion bash) \ + --fish <($out/bin/hyprdynamicmonitors completion fish) \ + --zsh <($out/bin/hyprdynamicmonitors completion zsh) + ''; + + meta = { + description = "Dynamic monitor configuration for Hyprland"; + homepage = "https://github.com/fiffeek/hyprdynamicmonitors"; + changelog = "https://github.com/fiffeek/hyprdynamicmonitors/releases/tag/v${finalAttrs.version}"; + mainProgram = "hyprdynamicmonitors"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ nukdokplex ]; + }; +}) From a102090faad9df507182046cdb0a4218fe9f420d Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Jan 2026 22:07:48 +0300 Subject: [PATCH 0382/1216] ffmpeg-full: skip tests when building with shaderc The shaderc/glslang unvendoring breaks linking specifically in tests. The main library still works, so let's do this for now. --- pkgs/development/libraries/ffmpeg/generic.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index eff4fbef2366..5e2ddb653a94 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -985,7 +985,8 @@ stdenv.mkDerivation ( ]; }; - doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + # tests linking broken with shaderc after https://github.com/NixOS/nixpkgs/pull/477464/changes/5a47b12dfcd1b909ba35778a866394430054319a + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform && !withShaderc; # Fails with SIGABRT otherwise FIXME: Why? checkPhase = From ffffc8aaa1191c2a910b60c459c16ac9e053d283 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 12 Jan 2026 14:05:08 -0800 Subject: [PATCH 0383/1216] nixos/limine: add resolution option for Linux boot entries Add boot.loader.limine.resolution option to control the framebuffer resolution that Limine sets via GOP before booting Linux. This affects early boot graphics drivers like simpledrm and efifb. This is distinct from style.interface.resolution which only controls the Limine bootloader's own menu interface - the new option sets the per-entry "resolution:" directive in limine.conf which calls gop->SetMode() to change the actual framebuffer resolution before handing off to the kernel. Example usage: boot.loader.limine.resolution = "3840x1600x32"; This enables users to get native resolution early boot graphics instead of being limited to whatever GOP mode the UEFI firmware provides by default (often 1024x768). --- .../boot/loader/limine/limine-install.py | 6 +++++ .../system/boot/loader/limine/limine.nix | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/nixos/modules/system/boot/loader/limine/limine-install.py b/nixos/modules/system/boot/loader/limine/limine-install.py index a64f34eaefc3..4b17e06e9051 100644 --- a/nixos/modules/system/boot/loader/limine/limine-install.py +++ b/nixos/modules/system/boot/loader/limine/limine-install.py @@ -291,6 +291,12 @@ def config_entry(levels: int, bootspec: BootSpec, label: str, time: str) -> str: entry += f'comment: {bootspec.label}, built on {time}\n' entry += 'kernel_path: ' + get_kernel_uri(bootspec.kernel) + '\n' entry += 'cmdline: ' + ' '.join(['init=' + bootspec.init] + bootspec.kernelParams).strip() + '\n' + + # Set framebuffer resolution for Linux boot entries if configured + resolution = config('resolution') + if resolution is not None: + entry += f'resolution: {resolution}\n' + if bootspec.initrd: entry += f'module_path: ' + get_kernel_uri(bootspec.initrd) + '\n' diff --git a/nixos/modules/system/boot/loader/limine/limine.nix b/nixos/modules/system/boot/loader/limine/limine.nix index 35e81d2afcfb..ec504a43685d 100644 --- a/nixos/modules/system/boot/loader/limine/limine.nix +++ b/nixos/modules/system/boot/loader/limine/limine.nix @@ -25,6 +25,7 @@ let force = cfg.force; enrollConfig = cfg.enrollConfig; style = cfg.style; + resolution = cfg.resolution; maxGenerations = if cfg.maxGenerations == null then 0 else cfg.maxGenerations; hostArchitecture = pkgs.stdenv.hostPlatform.parsed.cpu; timeout = if config.boot.loader.timeout != null then config.boot.loader.timeout else 10; @@ -98,6 +99,27 @@ in ''; }; + resolution = lib.mkOption { + default = null; + type = lib.types.nullOr lib.types.str; + example = "1920x1080x32"; + description = '' + The framebuffer resolution to set when booting Linux entries. + This controls the GOP mode that Limine sets before handing off to the kernel, + which affects early boot graphics (e.g., simpledrm, efifb). + + Format: `x` or `xx`. + If bpp is omitted, defaults to 32. + + Note: Refresh rate is not supported because the UEFI GOP protocol only + defines framebuffer dimensions and pixel format, not display timing. + Refresh rate is determined later by the GPU driver based on EDID. + + This is distinct from {option}`boot.loader.limine.style.interface.resolution` + which only affects the Limine bootloader's own menu interface. + ''; + }; + additionalFiles = lib.mkOption { default = { }; type = lib.types.attrsOf lib.types.path; From c7cd41b3546d9a9b500e2ff1b6f5e419589d2264 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 16 Jan 2026 01:27:27 +0300 Subject: [PATCH 0384/1216] google-cloud-cpp: skip test that started segfaulting for no apparent reason I am not debugging this. Sorry. --- pkgs/by-name/go/google-cloud-cpp/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/go/google-cloud-cpp/package.nix b/pkgs/by-name/go/google-cloud-cpp/package.nix index 778fe40d0177..f4f898ec615e 100644 --- a/pkgs/by-name/go/google-cloud-cpp/package.nix +++ b/pkgs/by-name/go/google-cloud-cpp/package.nix @@ -108,7 +108,10 @@ stdenv.mkDerivation (finalAttrs: { installCheckPhase = let - disabledTests = lib.optionalString stdenv.hostPlatform.isDarwin '' + disabledTests = '' + bigtable_internal_data_connection_impl_test + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' common_internal_async_connection_ready_test bigtable_async_read_stream_test bigtable_metadata_update_policy_test From 42ebc2e2e579a96018aaf9051f499c26970583eb Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Fri, 16 Jan 2026 00:59:37 +0100 Subject: [PATCH 0385/1216] cl: build with rebar3 --- pkgs/by-name/cl/cl/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/cl/cl/package.nix b/pkgs/by-name/cl/cl/package.nix index aabbb6630cd8..33f19af1798b 100644 --- a/pkgs/by-name/cl/cl/package.nix +++ b/pkgs/by-name/cl/cl/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - rebar, + rebar3, erlang, opencl-headers, ocl-icd, @@ -22,18 +22,18 @@ stdenv.mkDerivation rec { # https://github.com/tonyrog/cl/issues/39 postPatch = '' substituteInPlace c_src/Makefile \ - --replace "-m64" "" + --replace-fail "-m64" "" ''; buildInputs = [ erlang - rebar + rebar3 opencl-headers ocl-icd ]; buildPhase = '' - rebar compile + rebar3 compile ''; # 'cp' line taken from Arch recipe From de69cb99502ab0d08b346243e43bdf846198ad84 Mon Sep 17 00:00:00 2001 From: Kevin Stone Date: Thu, 15 Jan 2026 21:51:45 -0800 Subject: [PATCH 0386/1216] vlc-bin: 3.0.21 -> 3.0.23 --- pkgs/by-name/vl/vlc-bin/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/vl/vlc-bin/package.nix b/pkgs/by-name/vl/vlc-bin/package.nix index 85e7f1987ac7..5aaf24f97a70 100644 --- a/pkgs/by-name/vl/vlc-bin/package.nix +++ b/pkgs/by-name/vl/vlc-bin/package.nix @@ -20,15 +20,15 @@ assert builtins.elem variant [ ]; stdenv.mkDerivation (finalAttrs: { pname = "vlc-bin-${variant}"; - version = "3.0.21"; + version = "3.0.23"; src = fetchurl { url = "http://get.videolan.org/vlc/${finalAttrs.version}/macosx/vlc-${finalAttrs.version}-${variant}.dmg"; hash = { - "arm64" = "sha256-Fd1lv2SJ2p7Gpn9VhcdMQKWJk6z/QagpWKkW3XQXgEQ="; - "intel64" = "sha256-1DH9BRw9x68CvTE8bQXZDPYEtw7T7Fu6b9TEnvPmONk="; - "universal" = "sha256-UDgOVvgdYw41MUJqJlq/iz3ubAgiu3yeMLUyx9aaZcA="; + "arm64" = "sha256-/G+sCNh/U4UX1ErKDF56JEtnyMTLWJv0eDY6cxX9Xg0="; + "intel64" = "sha256-7AFTDOadhJ3QV/uoh25orDm/J53CjeTpwE5K7BH8mNs="; + "universal" = "sha256-Vu5lfDqvXHG0q31uT0p39uylRjPgv0KpO4EW6x0fbsk="; } .${variant}; }; From f885e0fe55be96b1770b22259fbf81b42e4457ba Mon Sep 17 00:00:00 2001 From: Johan Thomsen Date: Thu, 15 Jan 2026 12:47:51 +0100 Subject: [PATCH 0387/1216] coredns: 1.13.2 -> 1.14.1 - go generate requires vendor deps to be present - skip the plugin parse transport-test --- pkgs/by-name/co/coredns/package.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/co/coredns/package.nix b/pkgs/by-name/co/coredns/package.nix index 982b34bd4550..2ce01637b83f 100644 --- a/pkgs/by-name/co/coredns/package.nix +++ b/pkgs/by-name/co/coredns/package.nix @@ -6,7 +6,7 @@ installShellFiles, nixosTests, externalPlugins ? [ ], - vendorHash ? "sha256-bnNpJgy54wvTST1Jtfbd1ldLJrIzTW62TL7wyHeqz28=", + vendorHash ? "sha256-3cY4Nd2RX5OKnJaQ7StYDsyq27qE1VY4wGaY4wiDeFQ=", }: let @@ -14,13 +14,13 @@ let in buildGoModule (finalAttrs: { pname = "coredns"; - version = "1.13.2"; + version = "1.14.1"; src = fetchFromGitHub { owner = "coredns"; repo = "coredns"; tag = "v${finalAttrs.version}"; - hash = "sha256-9ggyFixdNy0t4UA8ZxU5oMUzA/8EB/k1jors4f8Q6YE="; + hash = "sha256-WcRX2BCWIQ8e0FYCIAzCdexz+Nl+/kKicQkhEw2AVMs="; }; inherit vendorHash; @@ -76,9 +76,9 @@ buildGoModule (finalAttrs: { } diff -u plugin.cfg.orig plugin.cfg || true for src in ${toString (attrsToSources externalPlugins)}; do go get $src; done + go mod vendor CC= GOOS= GOARCH= go generate go mod tidy - go mod vendor ''; modInstallPhase = '' @@ -106,6 +106,11 @@ buildGoModule (finalAttrs: { # it's a lint rather than a test of functionality, so it's safe to disable. substituteInPlace test/presubmit_test.go \ --replace-fail "TestImportOrdering" "SkipImportOrdering" + + substituteInPlace plugin/pkg/parse/transport_test.go \ + --replace-fail \ + "TestTransport" \ + "SkipTransport" '' + lib.optionalString stdenv.hostPlatform.isDarwin '' # loopback interface is lo0 on macos From 1412fbc555ccb686593459ff1b00a2a773a03802 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 16 Jan 2026 11:06:46 +0100 Subject: [PATCH 0388/1216] python3Packages.vfblib: 0.10.4 -> 0.10.6 fixes build on staging-next --- pkgs/development/python-modules/vfblib/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/vfblib/default.nix b/pkgs/development/python-modules/vfblib/default.nix index 5b147d8ebad0..b1c0a671a24f 100644 --- a/pkgs/development/python-modules/vfblib/default.nix +++ b/pkgs/development/python-modules/vfblib/default.nix @@ -16,16 +16,21 @@ buildPythonPackage rec { pname = "vfblib"; - version = "0.10.4"; + version = "0.10.6"; pyproject = true; src = fetchFromGitHub { owner = "LucasFonts"; repo = "vfbLib"; tag = "v${version}"; - hash = "sha256-fAczRejHDe02iWMWXQzNHLmxRX5ApIPvUzsYnwqrKn8="; + hash = "sha256-kPPRLs+i181stjoTjgi9XfxsQhx+VKGCggyfhy8o6Nw="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools-scm[toml]>=9.2.0" "setuptools-scm" + ''; + build-system = [ setuptools setuptools-scm @@ -40,6 +45,10 @@ buildPythonPackage rec { defcon ]; + pythonRelaxDeps = [ + "ufonormalizer" + ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "vfbLib" ]; From 75bba21f040ef2402e4a26efe9510f85eb10e258 Mon Sep 17 00:00:00 2001 From: r-vdp Date: Fri, 16 Jan 2026 11:45:14 +0100 Subject: [PATCH 0389/1216] nixos/resolvconf: use config.systemd.package instead of pkgs.systemd --- nixos/modules/system/boot/resolved.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/resolved.nix b/nixos/modules/system/boot/resolved.nix index b86e28f81a0a..971ee7a41fe4 100644 --- a/nixos/modules/system/boot/resolved.nix +++ b/nixos/modules/system/boot/resolved.nix @@ -140,7 +140,7 @@ in # If networkmanager is enabled, ask it to interface with resolved. networking.networkmanager.dns = "systemd-resolved"; - networking.resolvconf.package = pkgs.systemd; + networking.resolvconf.package = config.systemd.package; nix.firewall.extraNftablesRules = [ "ip daddr { 127.0.0.53, 127.0.0.54 } udp dport 53 accept comment \"systemd-resolved listening IPs\"" From 212a25d9e0a16b3891e5143c7a02bd336aaead2a Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 16 Jan 2026 09:11:43 -0600 Subject: [PATCH 0390/1216] yaziPlugins: update on 2026-01-16 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - mime-ext: 25.12.29-unstable-2026-01-07 → 0-unstable-2026-01-12 Compare: https://github.com/yazi-rs/plugins/compare/68f7d4898c19dcf50beda251f8143992c3e8371f...75f6f7276fadf306597c2d2b4e264335fa0937cf - piper: 25.9.15-unstable-2025-12-31 → 25.9.15-unstable-2026-01-12 Compare: https://github.com/yazi-rs/plugins/compare/398796d88fee7bf9c99c4dc29089b865d4f47722...c179ea49753b3a784935986d36b077a6df24bdb3 - time-travel: 0-unstable-2025-02-14 → 0-unstable-2026-01-16 Compare: https://github.com/iynaix/time-travel.yazi/compare/7e0179e15a41a4a42b6d0b5fa6dd240c9b4cf0d2...aaec6e26e525bd146354a5137ec40f1f23257a4e Signed-off-by: Austin Horstman --- pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix | 6 +++--- pkgs/by-name/ya/yazi/plugins/piper/default.nix | 6 +++--- pkgs/by-name/ya/yazi/plugins/time-travel/default.nix | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix b/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix index c2d42627b270..c53d3d92ad0c 100644 --- a/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "mime-ext.yazi"; - version = "25.12.29-unstable-2026-01-07"; + version = "0-unstable-2026-01-12"; src = fetchFromGitHub { owner = "yazi-rs"; repo = "plugins"; - rev = "68f7d4898c19dcf50beda251f8143992c3e8371f"; - hash = "sha256-6iA/C0dzbLPkEDbdEs8oAnVfG6W+L8/dYyjTuO5euOw="; + rev = "75f6f7276fadf306597c2d2b4e264335fa0937cf"; + hash = "sha256-iiV6WSLdc7LPjXr+DRwVKzgJr+0Z8hO2eil5cdAgW4g="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/piper/default.nix b/pkgs/by-name/ya/yazi/plugins/piper/default.nix index 0fadb0b7f212..e02678dea0a9 100644 --- a/pkgs/by-name/ya/yazi/plugins/piper/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/piper/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "piper.yazi"; - version = "25.9.15-unstable-2025-12-31"; + version = "25.9.15-unstable-2026-01-12"; src = fetchFromGitHub { owner = "yazi-rs"; repo = "plugins"; - rev = "398796d88fee7bf9c99c4dc29089b865d4f47722"; - hash = "sha256-LOQ/0LYVrXsqQjeBeERKQ2M8BwN8xo3yej1mxNHphOU="; + rev = "c179ea49753b3a784935986d36b077a6df24bdb3"; + hash = "sha256-0VKoUusTmKVxW8fJkYf0lm17bMjvkN1/tmx7+pNJdWI="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/time-travel/default.nix b/pkgs/by-name/ya/yazi/plugins/time-travel/default.nix index da12b23cccaf..ab79131a3c09 100644 --- a/pkgs/by-name/ya/yazi/plugins/time-travel/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/time-travel/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "time-travel.yazi"; - version = "0-unstable-2025-02-14"; + version = "0-unstable-2026-01-16"; src = fetchFromGitHub { owner = "iynaix"; repo = "time-travel.yazi"; - rev = "7e0179e15a41a4a42b6d0b5fa6dd240c9b4cf0d2"; - hash = "sha256-ZZgn5rsBzvZcnDWZfjMBPRg9QUz4FTq5UIPWfnwXHQs="; + rev = "aaec6e26e525bd146354a5137ec40f1f23257a4e"; + hash = "sha256-/+KiuGUox763dMQvHl1l3+Ci3vL8NwRuKNu9pi3gjyE="; }; meta = { From e67bc8716c34380606de202398337a43c658b44e Mon Sep 17 00:00:00 2001 From: kyehn Date: Fri, 16 Jan 2026 18:18:40 +0000 Subject: [PATCH 0391/1216] uutils-tar: init at 0.0.1-unstable-2026-01-08 --- pkgs/by-name/uu/uutils-tar/package.nix | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pkgs/by-name/uu/uutils-tar/package.nix diff --git a/pkgs/by-name/uu/uutils-tar/package.nix b/pkgs/by-name/uu/uutils-tar/package.nix new file mode 100644 index 000000000000..31a8d514bc64 --- /dev/null +++ b/pkgs/by-name/uu/uutils-tar/package.nix @@ -0,0 +1,33 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "uutils-tar"; + version = "0.0.1-unstable-2026-01-08"; + + src = fetchFromGitHub { + owner = "uutils"; + repo = "tar"; + rev = "a73ac381d8fd78f8cb05236d26edfdae37a80ee3"; + hash = "sha256-b8Nzp5zZuULH5YkCexVOPxioPiuauGL4+KarBAdVAd4="; + }; + + cargoHash = "sha256-UFRe+dBQhsV91tenZY4uqw9gs4ZqbYDtvBeA98dk3po="; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version=branch" ]; + }; + + meta = { + description = "Rust implementation of tar"; + homepage = "https://github.com/uutils/tar"; + license = lib.licenses.mit; + mainProgram = "tarapp"; + maintainers = with lib.maintainers; [ kyehn ]; + platforms = lib.platforms.unix; + }; +}) From ced8c365c3b5ddef62f018e4fb932cff655aedee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Jan 2026 22:05:45 +0000 Subject: [PATCH 0392/1216] unciv: 4.18.12 -> 4.19.7 --- pkgs/by-name/un/unciv/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix index 93e954eaf113..0b283c0aa033 100644 --- a/pkgs/by-name/un/unciv/package.nix +++ b/pkgs/by-name/un/unciv/package.nix @@ -12,7 +12,7 @@ nix-update-script, }: let - version = "4.18.12"; + version = "4.19.7"; desktopItem = makeDesktopItem { name = "unciv"; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; - hash = "sha256-h0Y7a/wvmYOwr+AhVjY+P7uQQQbofpqkX5/Nd8tL3Cg="; + hash = "sha256-wRZNfirTBNFKVwHW+Wdu2hT2GLbQQO93HC/ngYmvaTw="; }; dontUnpack = true; From 6eb1de4859b37e17196168429fe3c3686b9e8fde Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Jan 2026 23:04:57 +0000 Subject: [PATCH 0393/1216] ecs-agent: 1.101.1 -> 1.101.2 --- pkgs/by-name/ec/ecs-agent/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ec/ecs-agent/package.nix b/pkgs/by-name/ec/ecs-agent/package.nix index 87f805d197c5..4b6f125cc833 100644 --- a/pkgs/by-name/ec/ecs-agent/package.nix +++ b/pkgs/by-name/ec/ecs-agent/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "amazon-ecs-agent"; - version = "1.101.1"; + version = "1.101.2"; src = fetchFromGitHub { rev = "v${version}"; owner = "aws"; repo = "amazon-ecs-agent"; - hash = "sha256-bD+gA9uPtHNDcg/QC+O9sQk7G4und5dViqS6f7pV0rU="; + hash = "sha256-J4gjkULtkU1LMHBNcm/QQ407uWMZ6jREP9MdSK0Js44="; }; vendorHash = null; From 4afc5a7a78834100e06efe806f7dc7e97893c7f1 Mon Sep 17 00:00:00 2001 From: qzylinra Date: Sat, 17 Jan 2026 00:43:34 +0000 Subject: [PATCH 0394/1216] interstellar: 0.11.0 -> 0.11.1 --- pkgs/by-name/in/interstellar/git-hashes.json | 3 + pkgs/by-name/in/interstellar/package.nix | 21 ++++-- .../by-name/in/interstellar/pubspec.lock.json | 69 ++++++------------- 3 files changed, 40 insertions(+), 53 deletions(-) create mode 100644 pkgs/by-name/in/interstellar/git-hashes.json diff --git a/pkgs/by-name/in/interstellar/git-hashes.json b/pkgs/by-name/in/interstellar/git-hashes.json new file mode 100644 index 000000000000..2aa5054878ae --- /dev/null +++ b/pkgs/by-name/in/interstellar/git-hashes.json @@ -0,0 +1,3 @@ +{ + "webcrypto": "sha256-HX8CcCRbDlVMLMbKGnqKlrkMT9XITLbQE/2OW9zO72w=" +} diff --git a/pkgs/by-name/in/interstellar/package.nix b/pkgs/by-name/in/interstellar/package.nix index 5444759a4089..1eb70a7f857a 100644 --- a/pkgs/by-name/in/interstellar/package.nix +++ b/pkgs/by-name/in/interstellar/package.nix @@ -1,6 +1,6 @@ { lib, - flutter335, + flutter338, fetchFromGitHub, imagemagick, alsa-lib, @@ -10,25 +10,28 @@ yq-go, _experimental-update-script-combinators, nix-update-script, + dart, }: let pname = "interstellar"; - version = "0.11.0"; + version = "0.11.1"; src = fetchFromGitHub { owner = "interstellar-app"; repo = "interstellar"; tag = "v${version}"; - hash = "sha256-5CFl5pvxentbKCPHkPDj4d5i3d2S3UxkQ56OX14Y8gY="; + hash = "sha256-ZhZBy/KECz/Gs3RSuuXmTtI5pKPBMFQNG/kS8JvEaFc="; }; in -flutter335.buildFlutterApplication { +flutter338.buildFlutterApplication { inherit pname version src; pubspecLock = lib.importJSON ./pubspec.lock.json; + gitHashes = lib.importJSON ./git-hashes.json; + nativeBuildInputs = [ imagemagick ]; buildInputs = [ @@ -72,6 +75,16 @@ flutter335.buildFlutterApplication { supportedFeatures = [ ]; } ) + { + command = [ + dart.fetchGitHashesScript + "--input" + ./pubspec.lock.json + "--output" + ./git-hashes.json + ]; + supportedFeatures = [ ]; + } ]; }; diff --git a/pkgs/by-name/in/interstellar/pubspec.lock.json b/pkgs/by-name/in/interstellar/pubspec.lock.json index 6022292db476..d1914455de24 100644 --- a/pkgs/by-name/in/interstellar/pubspec.lock.json +++ b/pkgs/by-name/in/interstellar/pubspec.lock.json @@ -244,11 +244,11 @@ "dependency": "direct main", "description": { "name": "crypto", - "sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855", + "sha256": "c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf", "url": "https://pub.dev" }, "source": "hosted", - "version": "3.0.6" + "version": "3.0.7" }, "csslib": { "dependency": "transitive", @@ -978,21 +978,21 @@ "dependency": "direct main", "description": { "name": "media_kit", - "sha256": "48c10c3785df5d88f0eef970743f8c99b2e5da2b34b9d8f9876e598f62d9e776", + "sha256": "2a207ea7baf1a2ea2ff2016d512e572ca6fc02a937769effb5c27b4d682b4a53", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.2.0" + "version": "1.2.3" }, "media_kit_libs_android_video": { "dependency": "transitive", "description": { "name": "media_kit_libs_android_video", - "sha256": "adff9b571b8ead0867f9f91070f8df39562078c0eb3371d88b9029a2d547d7b7", + "sha256": "3f6274e5ab2de512c286a25c327288601ee445ed8ac319e0ef0b66148bd8f76c", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.3.7" + "version": "1.3.8" }, "media_kit_libs_ios_video": { "dependency": "transitive", @@ -1028,11 +1028,11 @@ "dependency": "direct main", "description": { "name": "media_kit_libs_video", - "sha256": "958cc55e7065d9d01f52a2842dab2a0812a92add18489f1006d864fb5e42a3ef", + "sha256": "2b235b5dac79c6020e01eef5022c6cc85fedc0df1738aadc6ea489daa12a92a9", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.0.6" + "version": "1.0.7" }, "media_kit_libs_windows_video": { "dependency": "transitive", @@ -1048,11 +1048,11 @@ "dependency": "direct main", "description": { "name": "media_kit_video", - "sha256": "a656a9463298c1adc64c57f2d012874f7f2900f0c614d9545a3e7b8bb9e2137b", + "sha256": "afaa509e7b7e0bf247557a3a740cde903a52c34ace9810f94500e127bd7b043d", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.3.0" + "version": "2.0.1" }, "meta": { "dependency": "transitive", @@ -1304,26 +1304,6 @@ "source": "hosted", "version": "2.0.1" }, - "screen_brightness_android": { - "dependency": "transitive", - "description": { - "name": "screen_brightness_android", - "sha256": "d34f5321abd03bc3474f4c381f53d189117eba0b039eac1916aa92cca5fd0a96", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.3" - }, - "screen_brightness_platform_interface": { - "dependency": "transitive", - "description": { - "name": "screen_brightness_platform_interface", - "sha256": "737bd47b57746bc4291cab1b8a5843ee881af499514881b0247ec77447ee769c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, "screen_retriever": { "dependency": "transitive", "description": { @@ -1910,16 +1890,6 @@ "source": "hosted", "version": "15.0.2" }, - "volume_controller": { - "dependency": "transitive", - "description": { - "name": "volume_controller", - "sha256": "d75039e69c0d90e7810bfd47e3eedf29ff8543ea7a10392792e81f9bded7edf5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.4.0" - }, "wakelock_plus": { "dependency": "transitive", "description": { @@ -1981,14 +1951,15 @@ "version": "3.0.3" }, "webcrypto": { - "dependency": "transitive", + "dependency": "direct overridden", "description": { - "name": "webcrypto", - "sha256": "e393b3d0b01694a8f81efecf278ed7392877130e6e7b29f578863e4f2d0b2ebd", - "url": "https://pub.dev" + "path": ".", + "ref": "dbb909449cee4b62f352a41038243a1c10690323", + "resolved-ref": "dbb909449cee4b62f352a41038243a1c10690323", + "url": "https://github.com/matehat/webcrypto.dart.git" }, - "source": "hosted", - "version": "0.5.8" + "source": "git", + "version": "0.6.0" }, "webpush_encryption": { "dependency": "direct main", @@ -2094,15 +2065,15 @@ "dependency": "direct main", "description": { "name": "youtube_explode_dart", - "sha256": "9ff345caf8351c59eb1b7560837f761e08d2beaea3b4187637942715a31a6f58", + "sha256": "3d731d71df9901b1915bae806781df519cff32517e36db279f844ae619669e45", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.5.2" + "version": "3.0.5" } }, "sdks": { "dart": ">=3.9.0 <4.0.0", - "flutter": "3.38.4" + "flutter": "3.38.5" } } From 038e11dc285fd1cd8af6fd155cc4b27e16113a7e Mon Sep 17 00:00:00 2001 From: Yureka Date: Sun, 11 Jan 2026 16:51:20 +0100 Subject: [PATCH 0395/1216] pkgsMusl.patchutils: fix build Upstream has addressed this in release 0.4.3 and later with commit dc88e96 "Integrate gnulib properly". Since these versions of patchutils need to stay around for fetchpatch / fetchpatch2 Fixed-Output Derivations, we'll need to carry these patches. --- pkgs/tools/text/patchutils/0.3.3.nix | 6 ++- pkgs/tools/text/patchutils/0.4.2.nix | 5 +- pkgs/tools/text/patchutils/default.nix | 3 ++ .../text/patchutils/getenv-signature.patch | 46 +++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/text/patchutils/getenv-signature.patch diff --git a/pkgs/tools/text/patchutils/0.3.3.nix b/pkgs/tools/text/patchutils/0.3.3.nix index f1aea0a847f0..2efd44fc787a 100644 --- a/pkgs/tools/text/patchutils/0.3.3.nix +++ b/pkgs/tools/text/patchutils/0.3.3.nix @@ -5,6 +5,10 @@ callPackage ./generic.nix ( // { version = "0.3.3"; sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i"; - patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one + patches = [ + # we would get into a cycle when using fetchpatch on this one + ./drop-comments.patch + ./getenv-signature.patch + ]; } ) diff --git a/pkgs/tools/text/patchutils/0.4.2.nix b/pkgs/tools/text/patchutils/0.4.2.nix index 18625c2d9822..ef25f66d3876 100644 --- a/pkgs/tools/text/patchutils/0.4.2.nix +++ b/pkgs/tools/text/patchutils/0.4.2.nix @@ -7,6 +7,9 @@ callPackage ./generic.nix ( sha256 = "sha256-iHWwll/jPeYriQ9s15O+f6/kGk5VLtv2QfH+1eu/Re0="; # for gitdiff extraBuildInputs = [ python3 ]; - patches = [ ./Make-grepdiff1-test-case-pcre-aware.patch ]; + patches = [ + ./Make-grepdiff1-test-case-pcre-aware.patch + ./getenv-signature.patch + ]; } ) diff --git a/pkgs/tools/text/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix index c79b1d7110c7..04d033383c53 100644 --- a/pkgs/tools/text/patchutils/default.nix +++ b/pkgs/tools/text/patchutils/default.nix @@ -5,5 +5,8 @@ callPackage ./generic.nix ( // { version = "0.3.4"; sha256 = "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg"; + patches = [ + ./getenv-signature.patch + ]; } ) diff --git a/pkgs/tools/text/patchutils/getenv-signature.patch b/pkgs/tools/text/patchutils/getenv-signature.patch new file mode 100644 index 000000000000..1a6956ca83cc --- /dev/null +++ b/pkgs/tools/text/patchutils/getenv-signature.patch @@ -0,0 +1,46 @@ +From 64e5c63ef72ab97ecae6d43845634aa34da0b426 Mon Sep 17 00:00:00 2001 +From: Yureka +Date: Sun, 11 Jan 2026 16:49:07 +0100 +Subject: [PATCH] getopt.{c,h}: Do not use unspecified signatures + +Unspecified signatures no longer work with C23, and the GNU getopt signature matches the one specified by POSIX +--- + src/getopt.c | 2 +- + src/getopt.h | 7 ------- + 2 files changed, 1 insertion(+), 8 deletions(-) + +diff --git a/src/getopt.c b/src/getopt.c +index 9bafa45..c268441 100644 +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -209,7 +209,7 @@ static char *posixly_correct; + whose names are inconsistent. */ + + #ifndef getenv +-extern char *getenv (); ++extern char *getenv (const char *); + #endif + + static char * +diff --git a/src/getopt.h b/src/getopt.h +index a1b8dd6..0aea224 100644 +--- a/src/getopt.h ++++ b/src/getopt.h +@@ -138,14 +138,7 @@ struct option + `getopt'. */ + + #if (defined __STDC__ && __STDC__) || defined __cplusplus +-# ifdef __GNU_LIBRARY__ +-/* Many other libraries have conflicting prototypes for getopt, with +- differences in the consts, in stdlib.h. To avoid compilation +- errors, only prototype getopt for the GNU C library. */ + extern int getopt (int __argc, char *const *__argv, const char *__shortopts); +-# else /* not __GNU_LIBRARY__ */ +-extern int getopt (); +-# endif /* __GNU_LIBRARY__ */ + + # ifndef __need_getopt + extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts, +-- +2.52.0 + From 2a8b0c3f56ebbfd2f83977aa883cda280b571b6b Mon Sep 17 00:00:00 2001 From: Yureka Date: Fri, 16 Jan 2026 19:11:42 +0100 Subject: [PATCH 0396/1216] pkgsMusl.onnxruntime: fix build --- .../by-name/on/onnxruntime/musl-cstdint.patch | 24 +++++++++ .../on/onnxruntime/musl-execinfo.patch | 33 ++++++++++++ pkgs/by-name/on/onnxruntime/package.nix | 51 +++++++++++++------ 3 files changed, 93 insertions(+), 15 deletions(-) create mode 100644 pkgs/by-name/on/onnxruntime/musl-cstdint.patch create mode 100644 pkgs/by-name/on/onnxruntime/musl-execinfo.patch diff --git a/pkgs/by-name/on/onnxruntime/musl-cstdint.patch b/pkgs/by-name/on/onnxruntime/musl-cstdint.patch new file mode 100644 index 000000000000..cf98d69fd88f --- /dev/null +++ b/pkgs/by-name/on/onnxruntime/musl-cstdint.patch @@ -0,0 +1,24 @@ +diff --git a/include/onnxruntime/core/framework/tensor_shape.h b/include/onnxruntime/core/framework/tensor_shape.h +index d4ee4a0e5e..c33bea9cf7 100644 +--- a/include/onnxruntime/core/framework/tensor_shape.h ++++ b/include/onnxruntime/core/framework/tensor_shape.h +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include + #include "core/common/inlined_containers_fwd.h" +diff --git a/onnxruntime/test/perftest/strings_helper.h b/onnxruntime/test/perftest/strings_helper.h +index d6c6f6112a..8580c86db6 100644 +--- a/onnxruntime/test/perftest/strings_helper.h ++++ b/onnxruntime/test/perftest/strings_helper.h +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + namespace onnxruntime { + namespace perftest { diff --git a/pkgs/by-name/on/onnxruntime/musl-execinfo.patch b/pkgs/by-name/on/onnxruntime/musl-execinfo.patch new file mode 100644 index 000000000000..3d6b4c014e4d --- /dev/null +++ b/pkgs/by-name/on/onnxruntime/musl-execinfo.patch @@ -0,0 +1,33 @@ +From 7bc56c886c8b9fa27842a14bbb964ffe8e576a9e Mon Sep 17 00:00:00 2001 +From: Jaeyoon Jung +Date: Tue, 12 Aug 2025 10:55:52 +0900 +Subject: [PATCH] Fix build with musl + +Added __GLIBC__ macro for 'execinfo.h' and related functions as they are +GLIBC specific and not available in other libc implementation like musl. +--- + onnxruntime/core/platform/posix/stacktrace.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/onnxruntime/core/platform/posix/stacktrace.cc b/onnxruntime/core/platform/posix/stacktrace.cc +index a34f6fd82ddd1..ab00f5fbb233e 100644 +--- a/onnxruntime/core/platform/posix/stacktrace.cc ++++ b/onnxruntime/core/platform/posix/stacktrace.cc +@@ -3,7 +3,7 @@ + + #include "core/common/common.h" + +-#if !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_) && !defined(_AIX) ++#if !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_) && !defined(_AIX) && defined(__GLIBC__) + #include + #endif + #include +@@ -13,7 +13,7 @@ namespace onnxruntime { + std::vector GetStackTrace() { + std::vector stack; + +-#if !defined(NDEBUG) && !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_) ++#if !defined(NDEBUG) && !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_) && defined(__GLIBC__) + constexpr int kCallstackLimit = 64; // Maximum depth of callstack + + void* array[kCallstackLimit]; diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index 0f4de22c3222..4b932dc5996b 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, applyPatches, fetchpatch, + fetchurl, abseil-cpp_202407, cmake, cpuinfo, @@ -151,6 +152,20 @@ effectiveStdenv.mkDerivation (finalAttrs: { url = "https://github.com/microsoft/onnxruntime/commit/8ebd0bf1cf02414584d15d7244b07fa97d65ba02.patch"; hash = "sha256-vX+kaFiNdmqWI91JELcLpoaVIHBb5EPbI7rCAMYAx04="; }) + + # Skip execinfo include on musl + # https://github.com/microsoft/onnxruntime/pull/25726 + ./musl-execinfo.patch + # Add missing include which is only needed on musl (is implied in other includes on glibc) + # https://github.com/microsoft/onnxruntime/pull/26969 + ./musl-cstdint.patch + + # Fix build of unit tests with musl libc + # https://github.com/microsoft/onnxruntime/issues/9155 + (fetchurl { + url = "https://gitlab.alpinelinux.org/alpine/aports/-/raw/462dfe0eb4b66948fe48de44545cc22bb64fdf9f/community/onnxruntime/0001-Remove-MATH_NO_EXCEPT-macro.patch"; + hash = "sha256-BdeGYevZExWWCuJ1lSw0Roy3h+9EbJgFF8qMwVxSn1A="; + }) ]; nativeBuildInputs = [ @@ -302,21 +317,26 @@ effectiveStdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "onnxruntime_USE_COMPOSABLE_KERNEL_CK_TILE" false) ]; - env = lib.optionalAttrs rocmSupport { - MIOPEN_PATH = rocmPackages.miopen; - # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing - # fatal error: 'rocrand/rocrand.h' file not found - HIPFLAGS = lib.concatMapStringsSep " " (pkg: "-I${lib.getInclude pkg}/include") [ - rocmPackages.hipblas - rocmPackages.hipcub - rocmPackages.hiprand - rocmPackages.hipsparse - rocmPackages.rocblas - rocmPackages.rocprim - rocmPackages.rocrand - rocmPackages.rocthrust - ]; - }; + env = + lib.optionalAttrs rocmSupport { + MIOPEN_PATH = rocmPackages.miopen; + # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing + # fatal error: 'rocrand/rocrand.h' file not found + HIPFLAGS = lib.concatMapStringsSep " " (pkg: "-I${lib.getInclude pkg}/include") [ + rocmPackages.hipblas + rocmPackages.hipcub + rocmPackages.hiprand + rocmPackages.hipsparse + rocmPackages.rocblas + rocmPackages.rocprim + rocmPackages.rocrand + rocmPackages.rocthrust + ]; + } + // lib.optionalAttrs effectiveStdenv.hostPlatform.isMusl { + NIX_CFLAGS_COMPILE = "-DFLATBUFFERS_LOCALE_INDEPENDENT=0"; + GTEST_FILTER = "*:-ContribOpTest.StringNormalizer*"; + }; doCheck = !( @@ -336,6 +356,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { hardeningEnable = lib.optionals (effectiveStdenv.hostPlatform.system == "loongarch64-linux") [ "nostrictaliasing" ]; + hardeningDisable = lib.optional effectiveStdenv.hostPlatform.isMusl "fortify"; postPatch = '' substituteInPlace cmake/libonnxruntime.pc.cmake.in \ From fb6232f81553b747918cae56fb1adf6fafab9868 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Jan 2026 02:33:36 +0000 Subject: [PATCH 0397/1216] sydbox: 3.48.2 -> 3.48.4 --- pkgs/by-name/sy/sydbox/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sy/sydbox/package.nix b/pkgs/by-name/sy/sydbox/package.nix index cc3217c09447..95e9d3dbb6ae 100644 --- a/pkgs/by-name/sy/sydbox/package.nix +++ b/pkgs/by-name/sy/sydbox/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sydbox"; - version = "3.48.2"; + version = "3.48.4"; outputs = [ "out" @@ -24,10 +24,10 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "Sydbox"; repo = "sydbox"; tag = "v${finalAttrs.version}"; - hash = "sha256-yZBH7uVU4dqbUuHZaEw2glcQtHqUhXF3cycUr4J/NZI="; + hash = "sha256-rDJrmwBq2OSCqBOTtN2FncGwBzAafLUbjkgmfDVPYag="; }; - cargoHash = "sha256-zK2Z9iuJs43Qmiv/ircNF891XyfVwn6pDeYmJzfmNOU="; + cargoHash = "sha256-fq7XksglWJJzHBbnILVWn76xMUdR+pwc0W4S1P0SuNQ="; nativeBuildInputs = [ mandoc From 46ac4772f684d251da70ee8b6b0ff3107b48b2f2 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 09:24:39 +0100 Subject: [PATCH 0398/1216] stuntrally: update homepage Signed-off-by: Marcin Serwin --- pkgs/by-name/st/stuntrally/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index 4ab171a6d40f..fe8068848608 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -98,7 +98,7 @@ stdenv.mkDerivation rec { meta = { description = "Stunt Rally game with Track Editor, based on VDrift and OGRE"; - homepage = "http://stuntrally.tuxfamily.org/"; + homepage = "https://cryham.org/stuntrally/"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ pSub ]; platforms = lib.platforms.linux; From 25d4be3c4af90c3495e4b5072d07eea16f864710 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 09:25:29 +0100 Subject: [PATCH 0399/1216] stuntrally: add meta.mainProgram Signed-off-by: Marcin Serwin --- pkgs/by-name/st/stuntrally/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index fe8068848608..1d4f8a87de7e 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -99,6 +99,7 @@ stdenv.mkDerivation rec { meta = { description = "Stunt Rally game with Track Editor, based on VDrift and OGRE"; homepage = "https://cryham.org/stuntrally/"; + mainProgram = "stuntrally3"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ pSub ]; platforms = lib.platforms.linux; From 21cceb80bc684428fae418da21a1eada8cf7b99e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Jan 2026 10:32:49 +0000 Subject: [PATCH 0400/1216] python3Packages.llama-index-workflows: 2.11.7 -> 2.12.2 --- .../python-modules/llama-index-workflows/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-workflows/default.nix b/pkgs/development/python-modules/llama-index-workflows/default.nix index 6089a2ae5c9d..9fa300e8020e 100644 --- a/pkgs/development/python-modules/llama-index-workflows/default.nix +++ b/pkgs/development/python-modules/llama-index-workflows/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "llama-index-workflows"; - version = "2.11.7"; + version = "2.12.2"; pyproject = true; src = fetchPypi { pname = "llama_index_workflows"; inherit version; - hash = "sha256-+4dSoLNp7jGBFkOKvx6T8KVNdO487H5Dz0Un/ROQZPU="; + hash = "sha256-N+Bc00g8ZPQQF2/mFNuMhLb0L8Ms2ts8yKyN4Y8BqXs="; }; postPatch = '' From 1ab82ab851e803b701f0fe4080d155fdd6ed17e1 Mon Sep 17 00:00:00 2001 From: kyehn Date: Fri, 16 Jan 2026 18:19:20 +0000 Subject: [PATCH 0401/1216] uutils-login: init at 0.0.1-unstable-2026-01-08 --- pkgs/by-name/uu/uutils-login/package.nix | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pkgs/by-name/uu/uutils-login/package.nix diff --git a/pkgs/by-name/uu/uutils-login/package.nix b/pkgs/by-name/uu/uutils-login/package.nix new file mode 100644 index 000000000000..c1bb42b59a8a --- /dev/null +++ b/pkgs/by-name/uu/uutils-login/package.nix @@ -0,0 +1,33 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "uutils-login"; + version = "0.0.1-unstable-2026-01-08"; + + src = fetchFromGitHub { + owner = "uutils"; + repo = "login"; + rev = "24c158ef78ef8e769337a91c563223a1bf1b58a7"; + hash = "sha256-1pJhFtY3zJTDIKX9SXuv3yfrvPMNCiC/b7WKdBU1Nqk="; + }; + + cargoHash = "sha256-V0Cb3Vz3MpVxqaHpIxrfYD+EAjjQ0jKI9Qc6pN13deg="; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version=branch" ]; + }; + + meta = { + description = "Rust reimplemtation of the login project"; + homepage = "https://github.com/uutils/login"; + license = lib.licenses.mit; + mainProgram = "shadow"; + maintainers = with lib.maintainers; [ kyehn ]; + platforms = lib.platforms.unix; + }; +}) From 9d19724632d96fe35eed3e3e90f47e738f14a04a Mon Sep 17 00:00:00 2001 From: kyehn Date: Fri, 16 Jan 2026 18:20:03 +0000 Subject: [PATCH 0402/1216] uutils-hostname: init at 0.0.1-unstable-2026-01-08 --- pkgs/by-name/uu/uutils-hostname/package.nix | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pkgs/by-name/uu/uutils-hostname/package.nix diff --git a/pkgs/by-name/uu/uutils-hostname/package.nix b/pkgs/by-name/uu/uutils-hostname/package.nix new file mode 100644 index 000000000000..f9de647f54b9 --- /dev/null +++ b/pkgs/by-name/uu/uutils-hostname/package.nix @@ -0,0 +1,33 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "uutils-hostname"; + version = "0.0.1-unstable-2026-01-08"; + + src = fetchFromGitHub { + owner = "uutils"; + repo = "hostname"; + rev = "a5590e823e2cb488ad14f61dee92e04cb4dc2704"; + hash = "sha256-nWRkqONxbSwhphULpM+m14H/DSPmM4XdLJ7q2D4kooo="; + }; + + cargoHash = "sha256-1H4h01IqLVZrXNjnI36lGgsmg8rxHDAn9sbuvUxqPEQ="; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version=branch" ]; + }; + + meta = { + description = "Rust reimplementation of the hostname project"; + homepage = "https://github.com/uutils/hostname"; + license = lib.licenses.mit; + mainProgram = "hostname"; + maintainers = with lib.maintainers; [ kyehn ]; + platforms = lib.platforms.unix; + }; +}) From b337d1f34c0ce590795359aaeaa1cd7dfb2be420 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 11:49:42 +0100 Subject: [PATCH 0403/1216] stuntrally: switch to finalAttrs --- pkgs/by-name/st/stuntrally/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index 1d4f8a87de7e..006391a14f03 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -21,21 +21,21 @@ let mygui = callPackage ./mygui.nix { }; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "stuntrally"; version = "3.3"; src = fetchFromGitHub { owner = "stuntrally"; repo = "stuntrally3"; - tag = version; + tag = finalAttrs.version; hash = "sha256-BJMMsJ/ONZTpvXetaaHlgm6rih9oZmtJNBXv0IM855Y="; }; tracks = fetchFromGitHub { owner = "stuntrally"; repo = "tracks3"; - tag = version; + tag = finalAttrs.version; hash = "sha256-nvIN5hIfTfnuJdlLNlmpmYo3WQhUxYWz14OFra/55w4="; }; @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { cp -r config $share_dir/config cp bin/Release/plugins.cfg $share_dir/config cp -r data $share_dir/data - cp -r ${tracks} $share_dir/data/tracks + cp -r ${finalAttrs.tracks} $share_dir/data/tracks mkdir -p $out/bin cp bin/Release/{sr-editor3,sr-translator,stuntrally3} $out/bin @@ -104,4 +104,4 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ pSub ]; platforms = lib.platforms.linux; }; -} +}) From 7443e7b4d03c90b7d845713e31a2e5ceb1cb5acc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Jan 2026 11:03:26 +0000 Subject: [PATCH 0404/1216] oauth2-proxy: 7.13.0 -> 7.14.0 --- pkgs/by-name/oa/oauth2-proxy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/oa/oauth2-proxy/package.nix b/pkgs/by-name/oa/oauth2-proxy/package.nix index adeaa6007fb3..3f36fb7fba00 100644 --- a/pkgs/by-name/oa/oauth2-proxy/package.nix +++ b/pkgs/by-name/oa/oauth2-proxy/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "oauth2-proxy"; - version = "7.13.0"; + version = "7.14.0"; src = fetchFromGitHub { repo = "oauth2-proxy"; owner = "oauth2-proxy"; - sha256 = "sha256-o5wJVi8TJ7Qfzn2JzoMSLNhDWSRC7HcrfrQOlMlQr/0="; + sha256 = "sha256-lFyEfSOJwzuLgHnVGEUbLTWauboUYxBNF6iTV06vmOw="; rev = "v${version}"; }; - vendorHash = "sha256-35eJ+vw8V5/nSYsBjlkWvQg2xyvmT5PTDtzZA7b/KkU="; + vendorHash = "sha256-HMuQSpUUnMmhsawy2PD8QONLRkJ1vi2LhJnYQzj/TJ4="; # Taken from https://github.com/oauth2-proxy/oauth2-proxy/blob/master/Makefile ldflags = [ "-X github.com/oauth2-proxy/oauth2-proxy/v7/pkg/version.VERSION=v${version}" ]; From c68bd3a9445b63e39452dcb758f4d0a4195e0ffd Mon Sep 17 00:00:00 2001 From: Norbert Melzer Date: Wed, 14 Jan 2026 21:37:18 +0100 Subject: [PATCH 0405/1216] nixos/activation: prefer local build FIX #479747 --- nixos/modules/system/activation/activatable-system.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/modules/system/activation/activatable-system.nix b/nixos/modules/system/activation/activatable-system.nix index 6513706b2769..7d1028a79a60 100644 --- a/nixos/modules/system/activation/activatable-system.nix +++ b/nixos/modules/system/activation/activatable-system.nix @@ -49,20 +49,22 @@ in config = let activationScript = lib.getExe ( - pkgs.writeShellApplication { + (pkgs.writeShellApplication { name = "activate"; text = config.system.activationScripts.script; checkPhase = ""; bashOptions = [ ]; - } + }).overrideAttrs + { preferLocalBuild = true; } ); dryActivationScript = lib.getExe ( - pkgs.writeShellApplication { + (pkgs.writeShellApplication { name = "dry-activate"; text = config.system.dryActivationScript; checkPhase = ""; bashOptions = [ ]; - } + }).overrideAttrs + { preferLocalBuild = true; } ); in { From f87cab852c70a72e3650c18d4a42a01ff37b0bff Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 11:49:42 +0100 Subject: [PATCH 0406/1216] stuntrally: update meta.description Signed-off-by: Marcin Serwin --- pkgs/by-name/st/stuntrally/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index 006391a14f03..5215b97cbaf7 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -97,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: { }; meta = { - description = "Stunt Rally game with Track Editor, based on VDrift and OGRE"; + description = "3D racing game with Sci-Fi elements and own Track Editor"; homepage = "https://cryham.org/stuntrally/"; mainProgram = "stuntrally3"; license = lib.licenses.gpl3Plus; From 826a9b2ccb1d3b77d696ad81fbcd699e9c5603e8 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 11:58:35 +0100 Subject: [PATCH 0407/1216] stuntrally: enable strict deps Signed-off-by: Marcin Serwin --- pkgs/by-name/st/stuntrally/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index 5215b97cbaf7..204132e7deb1 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -52,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "@GAME_CONFIG_DIR@" "$out/share/stuntrally3/config" ''; + strictDeps = true; nativeBuildInputs = [ cmake pkg-config From 29a8f35d1f46bcb03014772aacbc85ba1ecf8e89 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 12:09:16 +0100 Subject: [PATCH 0408/1216] stuntrally: force X11 due to crashes on wayland Signed-off-by: Marcin Serwin --- pkgs/by-name/st/stuntrally/package.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index 204132e7deb1..fe08e88d83e1 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -8,6 +8,7 @@ SDL2, libvorbis, pkg-config, + makeWrapper, enet, bullet, openal, @@ -57,6 +58,7 @@ stdenv.mkDerivation (finalAttrs: { cmake pkg-config ninja + makeWrapper ]; buildInputs = [ @@ -85,8 +87,13 @@ stdenv.mkDerivation (finalAttrs: { cp -r data $share_dir/data cp -r ${finalAttrs.tracks} $share_dir/data/tracks - mkdir -p $out/bin - cp bin/Release/{sr-editor3,sr-translator,stuntrally3} $out/bin + for binary in sr-editor3 sr-translator stuntrally3 + do + install -Dm755 -t $out/bin bin/Release/$binary + # Force X11, otherwise fails with `OGRE EXCEPTION(9:UnimplementedException)` + wrapProgram $out/bin/$binary \ + --set SDL_VIDEODRIVER x11 + done popd From d0ca39ce8b913e14cfbf93d8ba7bc55c17ceb383 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 17 Jan 2026 12:37:15 +0100 Subject: [PATCH 0409/1216] stuntrally: install desktop files Signed-off-by: Marcin Serwin --- pkgs/by-name/st/stuntrally/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index fe08e88d83e1..5bbe921d5529 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -87,6 +87,9 @@ stdenv.mkDerivation (finalAttrs: { cp -r data $share_dir/data cp -r ${finalAttrs.tracks} $share_dir/data/tracks + install -Dm644 -t $out/share/icons/hicolor/512x512/apps data/gui/{stuntrally,sr-editor}.png + install -Dm644 -t $out/share/applications dist/{stuntrally3,sr-editor3}.desktop + for binary in sr-editor3 sr-translator stuntrally3 do install -Dm755 -t $out/bin bin/Release/$binary From 8c941b2e3cb3ba2e1167ac32733d0d7fcb7d92ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Jan 2026 18:54:53 +0000 Subject: [PATCH 0410/1216] chezmoi: 2.68.1 -> 2.69.3 --- pkgs/by-name/ch/chezmoi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ch/chezmoi/package.nix b/pkgs/by-name/ch/chezmoi/package.nix index 910951bb9815..2a3f4ac991a1 100644 --- a/pkgs/by-name/ch/chezmoi/package.nix +++ b/pkgs/by-name/ch/chezmoi/package.nix @@ -7,16 +7,16 @@ buildGo125Module (finalAttrs: { pname = "chezmoi"; - version = "2.68.1"; + version = "2.69.3"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; tag = "v${finalAttrs.version}"; - hash = "sha256-VJGT6sQhrLHqTJOcLknHj/Wz04Pj2/CBUqI5R6xPdQ4="; + hash = "sha256-+VEFQgUYrsjzZR9BzTFwbBuMO2OJ8tOKqCt+5jFld5A="; }; - vendorHash = "sha256-yNEx2/Vw5kjC428SObBCQ+OI7XwLUicbCvCpmVkdOtQ="; + vendorHash = "sha256-WNsAOcm+pfNIU96x49xHz1sWs0CNuosJL70QZ43fVb4="; nativeBuildInputs = [ installShellFiles From 8ad47e54a4c9700b06710863d42bfe26988ce7ab Mon Sep 17 00:00:00 2001 From: Andrew Benbow Date: Sat, 17 Jan 2026 16:03:41 -0500 Subject: [PATCH 0411/1216] nixos/drupal: add support for custom pnames --- nixos/modules/services/web-apps/drupal.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/web-apps/drupal.nix b/nixos/modules/services/web-apps/drupal.nix index 15bc426037ef..91ab0b773a17 100644 --- a/nixos/modules/services/web-apps/drupal.nix +++ b/nixos/modules/services/web-apps/drupal.nix @@ -51,10 +51,10 @@ let ''; postInstall = '' - ln -s ${cfg.filesDir} $out/share/php/drupal/sites/default/files - ln -s ${cfg.stateDir}/sites/default/settings.php $out/share/php/drupal/sites/default/settings.php - ln -s ${cfg.modulesDir} $out/share/php/drupal/modules - ln -s ${cfg.themesDir} $out/share/php/drupal/themes + ln -s ${cfg.filesDir} $out/share/php/${cfg.package.pname}/sites/default/files + ln -s ${cfg.stateDir}/sites/default/settings.php $out/share/php/${cfg.package.pname}/sites/default/settings.php + ln -s ${cfg.modulesDir} $out/share/php/${cfg.package.pname}/modules + ln -s ${cfg.themesDir} $out/share/php/${cfg.package.pname}/themes ''; }); @@ -387,7 +387,7 @@ in if [ ! -d "${cfg.stateDir}/sites" ]; then echo "Preparing sites directory..." - cp -r "${cfg.package}/share/php/drupal/sites" "${cfg.stateDir}" + cp -r "${cfg.package}/share/php/${cfg.package.pname}/sites" "${cfg.stateDir}" fi if [ ! -d "${cfg.filesDir}" ]; then @@ -397,7 +397,7 @@ in fi settings_file="${cfg.stateDir}/sites/default/settings.php" - default_settings="${cfg.package}/share/php/drupal/sites/default/default.settings.php" + default_settings="${cfg.package}/share/php/${cfg.package.pname}/sites/default/default.settings.php" if [ ! -f "$settings_file" ]; then echo "Preparing settings.php for ${hostName}..." @@ -434,7 +434,7 @@ in enable = true; virtualHosts = mapAttrs (hostName: cfg: { serverName = mkDefault hostName; - root = "${pkg hostName cfg}/share/php/drupal"; + root = "${pkg hostName cfg}/share/php/${cfg.package.pname}"; extraConfig = '' index index.php; ''; @@ -535,7 +535,7 @@ in hostName: cfg: (nameValuePair hostName { extraConfig = '' - root * ${pkg hostName cfg}/share/php/drupal + root * ${pkg hostName cfg}/share/php/${cfg.package.pname} file_server encode zstd gzip From 0fe8390e5dd1fe0573aa43849f22b780ba4a1416 Mon Sep 17 00:00:00 2001 From: Anton Mosich Date: Sun, 18 Jan 2026 00:29:33 +0100 Subject: [PATCH 0412/1216] python3Packages.ufo2ft: 3.6.8 -> 3.7.0 Changelogs: - https://github.com/googlefonts/ufo2ft/releases/tag/v3.6.9 - https://github.com/googlefonts/ufo2ft/releases/tag/v3.7.0 --- pkgs/development/python-modules/ufo2ft/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix index 87341a5120f4..1075c7afc980 100644 --- a/pkgs/development/python-modules/ufo2ft/default.nix +++ b/pkgs/development/python-modules/ufo2ft/default.nix @@ -18,22 +18,20 @@ buildPythonPackage rec { pname = "ufo2ft"; - version = "3.6.8"; + version = "3.7.0"; pyproject = true; src = fetchFromGitHub { owner = "googlefonts"; repo = "ufo2ft"; tag = "v${version}"; - hash = "sha256-Qng6r+STE/Xz5T0kEwbj2eFDyWtIdH/I4wa6eO0epFc="; + hash = "sha256-PHd4l3kbWdJmtZMF9gKbz5DtdaaO3C/Rldw3pdMJJC0="; }; build-system = [ setuptools-scm ]; - pythonRelaxDeps = [ "cffsubr" ]; - dependencies = [ cu2qu fontmath From 317b98a3f0a5bc540456410adde849d54a7e012a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 18 Jan 2026 02:19:07 +0000 Subject: [PATCH 0413/1216] halo: 2.21.10 -> 2.22.10 --- pkgs/by-name/ha/halo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ha/halo/package.nix b/pkgs/by-name/ha/halo/package.nix index d2cba968efcb..2df07ffbe95f 100644 --- a/pkgs/by-name/ha/halo/package.nix +++ b/pkgs/by-name/ha/halo/package.nix @@ -8,10 +8,10 @@ }: stdenv.mkDerivation rec { pname = "halo"; - version = "2.21.10"; + version = "2.22.10"; src = fetchurl { url = "https://github.com/halo-dev/halo/releases/download/v${version}/halo-${version}.jar"; - hash = "sha256-AvQbD+1mlAV73WJ3uM/vIwwv/aiEkovUkxatH54chNA="; + hash = "sha256-3FrATqUGKSYfwYmDne8mbYGgPyG7+uyZtYVn4Bx+Pl0="; }; nativeBuildInputs = [ From 5ba0f87669d1dce34055dcfb549ecb9b8ba56a65 Mon Sep 17 00:00:00 2001 From: Sandro Date: Sun, 18 Jan 2026 11:26:43 +0100 Subject: [PATCH 0414/1216] nixos/initrd-network: fix defaultText rendering of udhcpc.enable option in search --- nixos/modules/system/boot/initrd-network.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/initrd-network.nix b/nixos/modules/system/boot/initrd-network.nix index 179297619367..652815a2d6fd 100644 --- a/nixos/modules/system/boot/initrd-network.nix +++ b/nixos/modules/system/boot/initrd-network.nix @@ -89,7 +89,7 @@ in boot.initrd.network.udhcpc.enable = mkOption { default = config.networking.useDHCP && !config.boot.initrd.systemd.enable; - defaultText = "networking.useDHCP"; + defaultText = lib.literalExpression "config.networking.useDHCP"; type = types.bool; description = '' Enables the udhcpc service during stage 1 of the boot process. This From a615e9dcab270852e0e31fe92e91e714a887d171 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 18 Jan 2026 13:32:03 +0200 Subject: [PATCH 0415/1216] beets: test disabling plugins --- .../python-modules/beets/default.nix | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/pkgs/development/python-modules/beets/default.nix b/pkgs/development/python-modules/beets/default.nix index ac0f2718be3f..4fe0608dc154 100644 --- a/pkgs/development/python-modules/beets/default.nix +++ b/pkgs/development/python-modules/beets/default.nix @@ -106,6 +106,7 @@ # passthru.tests runCommand, + beets, }: buildPythonPackage (finalAttrs: { @@ -500,6 +501,32 @@ buildPythonPackage (finalAttrs: { }; } ); + # Test that disabling + with-mpd-plugins-disabled = beets.override { + pluginOverrides = { + # These two plugins require mpd2 Python dependency. If they are + # disabled, this dependency shouldn't be pulled, and the `runCommand` + # test below should fail with a `ModuleNotFoundError` + mpdstats.enable = false; + mpdupdate.enable = false; + }; + }; + mpd-plugins-really-disabled = runCommand "beets-mpd-plugins-disabled-test" { } '' + set -euo pipefail + export HOME=$(mktemp -d) + mkdir $out + + cat << EOF > $out/config.yaml + plugins: + - mpdstats + EOF + ${finalAttrs.finalPackage.passthru.tests.with-mpd-plugins-disabled}/bin/beet \ + -c $out/config.yaml \ + --help 2> $out/help-stderr || true + ${finalAttrs.finalPackage.passthru.tests.with-mpd-plugins-disabled}/bin/beet \ + -c $out/config.yaml \ + mpdstats --help 2> $out/mpdstats-help-stderr || true + ''; }; }; From 6618b17fac96a78f34780964c2ff230975ac2b62 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 18 Jan 2026 14:12:07 +0000 Subject: [PATCH 0416/1216] python3Packages.gwcs: 0.26.1 -> 1.0.0 --- pkgs/development/python-modules/gwcs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gwcs/default.nix b/pkgs/development/python-modules/gwcs/default.nix index 1efa3fa8d282..f586f4826bd4 100644 --- a/pkgs/development/python-modules/gwcs/default.nix +++ b/pkgs/development/python-modules/gwcs/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "gwcs"; - version = "0.26.1"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "spacetelescope"; repo = "gwcs"; tag = version; - hash = "sha256-S7+jDWCyQPQJAVgb/+BHC03+1aYyw2TK6SmkEz+k6u4="; + hash = "sha256-aiC+uJ5S2HggBsou4vbjxxNtilRVC4eklRgML/lLK+4="; }; build-system = [ From cdb9fed9307fb4ff2be0f56f535f3197ceee8272 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 18 Jan 2026 16:53:10 +0000 Subject: [PATCH 0417/1216] python3Packages.types-awscrt: 0.31.0 -> 0.31.1 --- pkgs/development/python-modules/types-awscrt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-awscrt/default.nix b/pkgs/development/python-modules/types-awscrt/default.nix index c872d636a701..ad92467bed7b 100644 --- a/pkgs/development/python-modules/types-awscrt/default.nix +++ b/pkgs/development/python-modules/types-awscrt/default.nix @@ -7,13 +7,13 @@ buildPythonPackage (finalAttrs: { pname = "types-awscrt"; - version = "0.31.0"; + version = "0.31.1"; pyproject = true; src = fetchPypi { pname = "types_awscrt"; inherit (finalAttrs) version; - hash = "sha256-qotCFIrwhHvhTiuOo2N6NRj/qwOPjTvnCDlQ886H0/8="; + hash = "sha256-CLE0lPk/RcGpLrJkdV/OUO0NHcdQWau14xZw/rmglyQ="; }; build-system = [ setuptools ]; From 536d238d525f0a15af0f7868ac6ceda08d67a905 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 10:07:40 -0800 Subject: [PATCH 0418/1216] python3Packages.datalad: set DATALAD_TESTS_NONETWORK to disable network tests --- .../python-modules/datalad/default.nix | 28 ++++--------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index c6fdcc61b5f8..df51a5e581fb 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -126,6 +126,7 @@ buildPythonPackage rec { preCheck = '' export HOME=$TMPDIR + export DATALAD_TESTS_NONETWORK=1 ''; # tests depend on apps in $PATH which only will get installed after the test @@ -143,8 +144,11 @@ buildPythonPackage rec { "test_status_custom_summary_no_repeats" "test_quoting" - # No such file or directory: 'git-annex-remote-[...]" + # Tries to run `git` and fails + "test_reckless" "test_create" + + # No such file or directory: 'git-annex-remote-[...]" "test_ensure_datalad_remote_maybe_enable" # "git-annex: unable to use external special remote git-annex-remote-datalad" @@ -191,28 +195,6 @@ buildPythonPackage rec { "test_download_url_need_datalad_remote" "test_datalad_credential_helper - assert False" - # need internet access - "test_clone_crcns" - "test_clone_datasets_root" - "test_reckless" - "test_autoenabled_remote_msg" - "test_ria_http_storedataladorg" - "test_gin_cloning" - "test_nonuniform_adjusted_subdataset" - "test_install_datasets_root" - "test_install_simple_local" - "test_install_dataset_from_just_source" - "test_install_dataset_from_just_source_via_path" - "test_datasets_datalad_org" - "test_get_cached_dataset" - "test_cached_dataset" - "test_cached_url" - "test_anonymous_s3" - "test_protocols" - "test_get_versioned_url_anon" - "test_install_recursive_github" - "test_failed_install_multiple" - # pbcopy not found "test_wtf" From 1f30221d2f1f788db3925451c133d963e67dff70 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 10:22:47 -0800 Subject: [PATCH 0419/1216] python3Packages.datalad: test with wrapped tools on PATH --- .../python-modules/datalad/default.nix | 64 ++++--------------- 1 file changed, 14 insertions(+), 50 deletions(-) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index df51a5e581fb..9635aed9a026 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -42,6 +42,7 @@ importlib-metadata, typing-extensions, # tests + pytest-retry, pytest-xdist, pytestCheckHook, p7zip, @@ -127,9 +128,13 @@ buildPythonPackage rec { preCheck = '' export HOME=$TMPDIR export DATALAD_TESTS_NONETWORK=1 + export PATH="$PATH:$out/bin" ''; - # tests depend on apps in $PATH which only will get installed after the test + disabledTestMarks = [ + "flaky" + ]; + disabledTests = [ # No such file or directory: 'datalad' "test_script_shims" @@ -147,59 +152,17 @@ buildPythonPackage rec { # Tries to run `git` and fails "test_reckless" "test_create" + "test_subsuperdataset_save" - # No such file or directory: 'git-annex-remote-[...]" - "test_ensure_datalad_remote_maybe_enable" - - # "git-annex: unable to use external special remote git-annex-remote-datalad" - "test_ria_postclonecfg" - "test_ria_postclone_noannex" - "test_ria_push" - "test_basic_scenario" - "test_annex_get_from_subdir" - "test_ensure_datalad_remote_init_and_enable_needed" - "test_ensure_datalad_remote_maybe_enable[False]" - "test_ensure_datalad_remote_maybe_enable[True]" - "test_create_simple" - "test_create_alias" - "test_storage_only" - "test_initremote" - "test_read_access" - "test_ephemeral" - "test_initremote_basic_fileurl" - "test_initremote_basic_httpurl" - "test_remote_layout" - "test_version_check" - "test_gitannex_local" - "test_push_url" - "test_url_keys" - "test_obtain_permission_root" - "test_source_candidate_subdataset" - "test_update_fetch_all" - "test_add_archive_dirs" - "test_add_archive_content" - "test_add_archive_content_strip_leading" - "test_add_archive_content_zip" - "test_add_archive_content_absolute_path" - "test_add_archive_use_archive_dir" - "test_add_archive_single_file" - "test_add_delete" - "test_add_archive_leading_dir" - "test_add_delete_after_and_drop" - "test_add_delete_after_and_drop_subdir" - "test_override_existing_under_git" - "test_copy_file_datalad_specialremote" - "test_download_url_archive" - "test_download_url_archive_from_subdir" - "test_download_url_archive_trailing_separator" - "test_download_url_need_datalad_remote" - "test_datalad_credential_helper - assert False" + # Tries to spawn a subshell and fails + "test_shell_completion_source" + # Times out + "test_rerun_unrelated_nonrun_left_run_right" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ # pbcopy not found "test_wtf" - - # CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false ls-files -z -m -d' failed with exitcode 128 - "test_subsuperdataset_save" ] ++ lib.optionals (pythonAtLeast "3.14") [ # For all: https://github.com/datalad/datalad/issues/7781 @@ -215,6 +178,7 @@ buildPythonPackage rec { nativeCheckInputs = [ p7zip + pytest-retry pytest-xdist pytestCheckHook git-annex From 97f0cd2083fe01f97fa4d42fcceef3d4a84858fd Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 10:46:55 -0800 Subject: [PATCH 0420/1216] python3Packages.datalad: audit and cleanup disabledTests --- pkgs/development/python-modules/datalad/default.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index 9635aed9a026..f66dc3bd05d2 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -136,19 +136,6 @@ buildPythonPackage rec { ]; disabledTests = [ - # No such file or directory: 'datalad' - "test_script_shims" - "test_cfg_override" - "test_completion" - "test_nested_pushclone_cycle_allplatforms" - "test_create_sub_gh3463" - "test_create_sub_dataset_dot_no_path" - "test_cfg_passthrough" - "test_addurls_stdin_input_command_line" - "test_run_datalad_help" - "test_status_custom_summary_no_repeats" - "test_quoting" - # Tries to run `git` and fails "test_reckless" "test_create" From 6778c38350c6b90748dec1530400bca5172dc049 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 10:56:30 -0800 Subject: [PATCH 0421/1216] python3Packages.datalad: apply finalAttrs: fix --- pkgs/development/python-modules/datalad/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index f66dc3bd05d2..4e84aaa75577 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -50,7 +50,7 @@ httpretty, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "datalad"; version = "1.2.3"; pyproject = true; @@ -58,7 +58,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "datalad"; repo = "datalad"; - tag = version; + tag = finalAttrs.version; hash = "sha256-C3e9k4RDFfDMaimZ/7TtAJNzdlfVrKoTHVl0zKL9EjI="; }; @@ -78,7 +78,9 @@ buildPythonPackage rec { ]; dependencies = - optional-dependencies.core ++ optional-dependencies.downloaders ++ optional-dependencies.publish; + finalAttrs.passthru.optional-dependencies.core + ++ finalAttrs.passthru.optional-dependencies.downloaders + ++ finalAttrs.passthru.optional-dependencies.publish; optional-dependencies = { core = [ @@ -183,10 +185,11 @@ buildPythonPackage rec { meta = { description = "Keep code, data, containers under control with git and git-annex"; homepage = "https://www.datalad.org"; + changelog = "https://github.com/datalad/datalad/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ renesat malik ]; }; -} +}) From 625bb9303491ab3d808e8ae96d1da03ccf378e3d Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 11:02:48 -0800 Subject: [PATCH 0422/1216] python3Packages.datalad: add sarahec as maintainer --- pkgs/development/python-modules/datalad/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index 4e84aaa75577..9870e79d2112 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -190,6 +190,7 @@ buildPythonPackage (finalAttrs: { maintainers = with lib.maintainers; [ renesat malik + sarahec ]; }; }) From 9133935fc73831d222c82096c39e5de172650313 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 11:20:39 -0800 Subject: [PATCH 0423/1216] python3Packages.datalad: ensure tests work on Darwin --- pkgs/development/python-modules/datalad/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index 9870e79d2112..ba5849f4ecb4 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -152,6 +152,8 @@ buildPythonPackage (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isDarwin [ # pbcopy not found "test_wtf" + # hangs + "test_keyring" ] ++ lib.optionals (pythonAtLeast "3.14") [ # For all: https://github.com/datalad/datalad/issues/7781 @@ -180,6 +182,9 @@ buildPythonPackage (finalAttrs: { "-Wignore::DeprecationWarning" ]; + # Tests use ports on localhost + __darwinAllowLocalNetworking = true; + pythonImportsCheck = [ "datalad" ]; meta = { From f7bf677632b42c3300af8ebe851b7f314d92e726 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 15 Jan 2026 12:48:31 -0800 Subject: [PATCH 0424/1216] python3Packages.datalad: disable extra-slow tests --- pkgs/development/python-modules/datalad/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index ba5849f4ecb4..57ebdb1d7685 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -148,6 +148,13 @@ buildPythonPackage (finalAttrs: { # Times out "test_rerun_unrelated_nonrun_left_run_right" + + # Top five slowest (2/3 of total runtime) + "test_files_split" + "test_gitannex_local" + "test_save_hierarchy" + "test_recurse_existing" + "test_source_candidate_subdataset" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # pbcopy not found From 0ced30df829095460d925fb2aa8bed87c7ff86d4 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Sun, 18 Jan 2026 09:37:40 -0800 Subject: [PATCH 0425/1216] python3Packages.datalad: 1.2.3 -> 1.3.0 --- pkgs/development/python-modules/datalad/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index 57ebdb1d7685..62767e821de8 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -52,14 +52,14 @@ buildPythonPackage (finalAttrs: { pname = "datalad"; - version = "1.2.3"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { owner = "datalad"; repo = "datalad"; tag = finalAttrs.version; - hash = "sha256-C3e9k4RDFfDMaimZ/7TtAJNzdlfVrKoTHVl0zKL9EjI="; + hash = "sha256-aTpiwcwRJyUF68+OsT+u9j/cibZEDhmL45I1MSY3Q7E="; }; postPatch = '' From eb8cef78ab91a834ca18e470a416cea03b7b3353 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Sun, 18 Jan 2026 10:10:04 -0800 Subject: [PATCH 0426/1216] python3Packages.datalad: restore tests fixed in release 1.3.0 --- pkgs/development/python-modules/datalad/default.nix | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix index 62767e821de8..e01e2f1807b6 100644 --- a/pkgs/development/python-modules/datalad/default.nix +++ b/pkgs/development/python-modules/datalad/default.nix @@ -161,17 +161,6 @@ buildPythonPackage (finalAttrs: { "test_wtf" # hangs "test_keyring" - ] - ++ lib.optionals (pythonAtLeast "3.14") [ - # For all: https://github.com/datalad/datalad/issues/7781 - # AssertionError: `assert 1 == 0` (refcount error) - "test_GitRepo_flyweight" - "test_Dataset_flyweight" - "test_AnnexRepo_flyweight" - # TypeError: cannot pickle '_thread.lock' object - "test_popen_invocation" - # datalad.runner.exception.CommandError: '/python3.14 -i -u -q -']' timed out after 0.5 seconds - "test_asyncio_loop_noninterference1" ]; nativeCheckInputs = [ From cbe825b6ce1ec08a006f77981eebf19255f13ca8 Mon Sep 17 00:00:00 2001 From: Stas Lyakhov Date: Sat, 10 Jan 2026 22:02:48 +0000 Subject: [PATCH 0427/1216] maintainers: add staslyakhov --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 29df4d5cdc6d..da8d40638e90 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -25111,6 +25111,12 @@ github = "stasjok"; githubId = 1353637; }; + staslyakhov = { + name = "Stas Lyakhov"; + email = "nix@lyakhovs.dev"; + github = "staslyakhov"; + githubId = 19846456; + }; staticdev = { email = "staticdev-support@proton.me"; github = "staticdev"; From e120e207698bb6c71c9ee75d82b99e5abdeb90c9 Mon Sep 17 00:00:00 2001 From: Stas Lyakhov Date: Sat, 10 Jan 2026 22:20:31 +0000 Subject: [PATCH 0428/1216] chipsec: add staslyakhov as maintainer --- pkgs/tools/security/chipsec/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix index e9693fd06ac5..d5e53541d06f 100644 --- a/pkgs/tools/security/chipsec/default.nix +++ b/pkgs/tools/security/chipsec/default.nix @@ -81,6 +81,7 @@ python3.pkgs.buildPythonApplication rec { maintainers = with lib.maintainers; [ johnazoidberg erdnaxe + staslyakhov ]; platforms = if withDriver then [ "x86_64-linux" ] else with lib.platforms; linux ++ darwin; # https://github.com/chipsec/chipsec/issues/1793 From 4c3d8b603e8b421be89b82189bb76b3648f97003 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Wed, 14 Jan 2026 19:41:50 -0500 Subject: [PATCH 0429/1216] python3Packages.setproctitle: disable crashing tests on Darwin --- pkgs/development/python-modules/setproctitle/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/setproctitle/default.nix b/pkgs/development/python-modules/setproctitle/default.nix index aa1211029abb..46daff35a257 100644 --- a/pkgs/development/python-modules/setproctitle/default.nix +++ b/pkgs/development/python-modules/setproctitle/default.nix @@ -27,8 +27,13 @@ buildPythonPackage rec { procps ]; - # Setting the process title fails on macOS in the Nix builder environment (regardless of sandboxing) - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ "test_setproctitle_darwin" ]; + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + # Setting the process title fails on macOS in the Nix builder environment (regardless of sandboxing) + "test_setproctitle_darwin" + # *** multi-threaded process forked ***; crashed on child side of fork pre-exec. fork without exec is unsafe. + "test_fork_segfault" + "test_thread_fork_segfault" + ]; pythonImportsCheck = [ "setproctitle" ]; From ea9702fafcf34e13ccf7e0c0de54e379721d6f2b Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sun, 18 Jan 2026 23:20:13 +0100 Subject: [PATCH 0430/1216] git-remote-codecommit: use awscli2 --- pkgs/by-name/gi/git-remote-codecommit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/git-remote-codecommit/package.nix b/pkgs/by-name/gi/git-remote-codecommit/package.nix index c80e2458ece9..5174c9d7e862 100644 --- a/pkgs/by-name/gi/git-remote-codecommit/package.nix +++ b/pkgs/by-name/gi/git-remote-codecommit/package.nix @@ -2,7 +2,7 @@ lib, fetchFromGitHub, python3Packages, - awscli, + awscli2, }: python3Packages.buildPythonApplication rec { @@ -30,7 +30,7 @@ python3Packages.buildPythonApplication rec { dependencies = with python3Packages; [ botocore ]; nativeCheckInputs = [ - awscli + awscli2 ] ++ (with python3Packages; [ pytestCheckHook From 503ad505aa1c736ee3f957f0b294e8bf86bd8324 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sun, 18 Jan 2026 23:25:34 +0100 Subject: [PATCH 0431/1216] iceshelf: 0-unstable-2019-07-03 -> 0-unstable-2025-06-29 --- pkgs/by-name/ic/iceshelf/package.nix | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/ic/iceshelf/package.nix b/pkgs/by-name/ic/iceshelf/package.nix index 9d60abeb616e..67de9f0768ae 100644 --- a/pkgs/by-name/ic/iceshelf/package.nix +++ b/pkgs/by-name/ic/iceshelf/package.nix @@ -3,39 +3,47 @@ fetchFromGitHub, git, awscli, - python3, + python3Packages, + unstableGitUpdater, }: -python3.pkgs.buildPythonApplication { +python3Packages.buildPythonApplication { pname = "iceshelf"; - version = "0-unstable-2019-07-03"; - + version = "0-unstable-2025-06-29"; pyproject = false; src = fetchFromGitHub { owner = "mrworf"; repo = "iceshelf"; - rev = "26768dde3fc54fa412e523eb8f8552e866b4853b"; - sha256 = "08rcbd14vn7312rmk2hyvdzvhibri31c4r5lzdrwb1n1y9q761qm"; + rev = "5380c49e3f7f3df04b61a494b2d94db2f2c65e25"; + sha256 = "hiJZX6HG6a9kUr8R7DdkPBcuH3tmVJthWXrPtCaVayU="; }; propagatedBuildInputs = [ - git awscli - python3.pkgs.python-gnupg + git + ]; + + dependencies = with python3Packages; [ + python-gnupg ]; installPhase = '' - mkdir -p $out/bin $out/share/doc/iceshelf $out/${python3.sitePackages} + mkdir -p $out/bin $out/share/doc/iceshelf $out/${python3Packages.python.sitePackages} cp -v iceshelf iceshelf-restore $out/bin cp -v iceshelf.sample.conf $out/share/doc/iceshelf/ - cp -rv modules $out/${python3.sitePackages} + cp -rv modules $out/${python3Packages.python.sitePackages} ''; + passthru = { + updateScript = unstableGitUpdater { }; + }; + meta = { description = "Simple tool to allow storage of signed, encrypted, incremental backups using Amazon's Glacier storage"; license = lib.licenses.lgpl2; homepage = "https://github.com/mrworf/iceshelf"; maintainers = with lib.maintainers; [ mmahut ]; + mainProgram = "iceshelf"; }; } From c24404ca75da602edcd341bcbbea8ea666d9f55f Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sun, 18 Jan 2026 23:32:33 +0100 Subject: [PATCH 0432/1216] smart-open: use awscli2 --- pkgs/development/python-modules/smart-open/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/smart-open/default.nix b/pkgs/development/python-modules/smart-open/default.nix index 164f225a26a5..6ab4f547b5e2 100644 --- a/pkgs/development/python-modules/smart-open/default.nix +++ b/pkgs/development/python-modules/smart-open/default.nix @@ -2,7 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, - awscli, + awscli2, azure-common, azure-core, azure-storage-blob, @@ -58,7 +58,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "smart_open" ]; nativeCheckInputs = [ - awscli + awscli2 moto numpy pytest-cov-stub From f6b79966978d95c424f52d6551a2699a7c0fca1f Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Mon, 19 Jan 2026 00:03:32 +0100 Subject: [PATCH 0433/1216] fetchs3: use awscli2 --- pkgs/build-support/fetchs3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/fetchs3/default.nix b/pkgs/build-support/fetchs3/default.nix index 5bebbb4f1e88..bf4d6cbbe49c 100644 --- a/pkgs/build-support/fetchs3/default.nix +++ b/pkgs/build-support/fetchs3/default.nix @@ -1,7 +1,7 @@ { lib, runCommand, - awscli, + awscli2, }: lib.fetchers.withNormalizedHash { } ( { @@ -33,7 +33,7 @@ lib.fetchers.withNormalizedHash { } ( runCommand name ( { - nativeBuildInputs = [ awscli ]; + nativeBuildInputs = [ awscli2 ]; inherit outputHash outputHashAlgo; outputHashMode = if recursiveHash then "recursive" else "flat"; From 38cdf60f028848987ba6209dc743c56d51d3ae71 Mon Sep 17 00:00:00 2001 From: wrvsrx Date: Sat, 17 Jan 2026 15:12:41 +0800 Subject: [PATCH 0434/1216] noctalia-shell: 4.0.0 -> 4.1.1 --- pkgs/by-name/no/noctalia-shell/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/no/noctalia-shell/package.nix b/pkgs/by-name/no/noctalia-shell/package.nix index ef2dfbf7bd08..8ec1219c4ab1 100644 --- a/pkgs/by-name/no/noctalia-shell/package.nix +++ b/pkgs/by-name/no/noctalia-shell/package.nix @@ -66,13 +66,13 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "noctalia-shell"; - version = "4.0.0"; + version = "4.1.1"; src = fetchFromGitHub { owner = "noctalia-dev"; repo = "noctalia-shell"; tag = "v${finalAttrs.version}"; - hash = "sha256-1ByxRYrivSkD4lIQQxv88r+I/mFo+JF3ebok6375+3Q="; + hash = "sha256-/7yEiXC2Z/Yk/p7aNgChkAa7BgPRlV5/0z8+jZXH8e8="; }; nativeBuildInputs = [ From cc5a9625e2db7b1e56f6fae931b425c70130457f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sun, 18 Jan 2026 19:51:32 -0600 Subject: [PATCH 0435/1216] rocmPackages.llvm.llvm: remove already applied patch currently build fails with: > applying patch /nix/store/ky4c0qd013w3x0qz3m5vxa1yqr36yja6-6ee49080e4bb43efe7ede10bed15935853bbd434.patch > patching file lib/Analysis/ConstantFolding.cpp > Reversed (or previously applied) patch detected! Assume -R? [n] > Apply anyway? [n] > Skipping patch. > 1 out of 1 hunk ignored -- saving rejects to file lib/Analysis/ConstantFolding.cpp.rej For full logs, run: nix log /nix/store/9rzpdwsa4mkp7rd8vhh4j1sjjfvslhhi-llvm-20.0.0-rocm.drv --- pkgs/development/rocm-modules/llvm/default.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/development/rocm-modules/llvm/default.nix b/pkgs/development/rocm-modules/llvm/default.nix index 2c8a83124103..3d5db0710d41 100644 --- a/pkgs/development/rocm-modules/llvm/default.nix +++ b/pkgs/development/rocm-modules/llvm/default.nix @@ -285,13 +285,6 @@ overrideLlvmPackagesRocm (s: { # TODO: consider reapplying "Don't include aliases in RegisterClassInfo::IgnoreCSRForAllocOrder" # it was reverted as it's a pessimization for non-GPU archs, but this compiler # is used mostly for amdgpu - - # fix build w/ glibc-2.42 - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/6ee49080e4bb43efe7ede10bed15935853bbd434.patch"; - hash = "sha256-DHEhTC3IWjWksMTD4RqsPQBTKKJOJcNCt16xsEe0QZs="; - relative = "llvm"; - }) ]; dontStrip = profilableStdenv; hardeningDisable = [ "all" ]; From dffb5721fe61e1b3dbf242a44fbd31ff37d0b84b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sun, 18 Jan 2026 20:20:21 -0600 Subject: [PATCH 0436/1216] rocmPackages.llvm.compiler-rt: add patch for glibc >= 2.42 --- pkgs/development/rocm-modules/llvm/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/rocm-modules/llvm/default.nix b/pkgs/development/rocm-modules/llvm/default.nix index 3d5db0710d41..fd4ca82c838c 100644 --- a/pkgs/development/rocm-modules/llvm/default.nix +++ b/pkgs/development/rocm-modules/llvm/default.nix @@ -436,6 +436,14 @@ overrideLlvmPackagesRocm (s: { isGNU = false; }; compiler-rt-libc = s.prev.compiler-rt-libc.overrideAttrs (old: { + patches = old.patches ++ [ + # fix build with glibc >= 2.42 + (fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/59978b21ad9c65276ee8e14f26759691b8a65763.patch"; + hash = "sha256-ys5SMLfO3Ay9nCX9GV5yRCQ6pLsseFu/ZY6Xd6OL4p0="; + relative = "compiler-rt"; + }) + ]; meta = old.meta // llvmMeta; }); compiler-rt = s.final.compiler-rt-libc; From 290d265a0e4ecedc3b308f09c5e07fc31d193d5b Mon Sep 17 00:00:00 2001 From: magicquark <198001825+magicquark@users.noreply.github.com> Date: Mon, 19 Jan 2026 04:33:28 +0000 Subject: [PATCH 0437/1216] pyradio: add maintainer magicquark --- pkgs/by-name/py/pyradio/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/py/pyradio/package.nix b/pkgs/by-name/py/pyradio/package.nix index 25565d952022..beee04e59f13 100644 --- a/pkgs/by-name/py/pyradio/package.nix +++ b/pkgs/by-name/py/pyradio/package.nix @@ -54,6 +54,7 @@ python3Packages.buildPythonApplication rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ contrun + magicquark yayayayaka ]; }; From 55720556a914d072afcfe100df697b376567ceaf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 19 Jan 2026 04:35:21 +0000 Subject: [PATCH 0438/1216] korrect: 0.3.4 -> 0.3.5 --- pkgs/by-name/ko/korrect/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ko/korrect/package.nix b/pkgs/by-name/ko/korrect/package.nix index 9d935cf19abe..5f6a34c8aed5 100644 --- a/pkgs/by-name/ko/korrect/package.nix +++ b/pkgs/by-name/ko/korrect/package.nix @@ -9,13 +9,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "korrect"; - version = "0.3.4"; + version = "0.3.5"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-AOYwknKVtvw/gQ10gwHTNFQ2KvPuldRk8UxRcbkO6tE="; + hash = "sha256-2NzfMCMIIZM9/Z7MM8cenqtNCZsbivrjhBFlBQSgV8s="; }; - cargoHash = "sha256-2od1FlV7yx9bAV1eSvTVeJfm7FsGtFGTzsBPh6Of+SU="; + cargoHash = "sha256-Xjbc/QpcL6U8z+YwK5UjLRkHThqTIccjQc86nlOMEqE="; # Tests create a local http server to check the download functionality __darwinAllowLocalNetworking = true; From d82b9e69d905aca2a8e1e8f54e7a1e195d16def1 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Sun, 18 Jan 2026 20:57:05 -0800 Subject: [PATCH 0439/1216] llvmPackages_git: 22.0.0-unstable-2026-01-11 -> 23.0.0-unstable-2026-01-18 --- pkgs/development/compilers/llvm/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 6afe1faca5d6..e21bb3bb105a 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -26,10 +26,10 @@ let "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; "20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw="; "21.1.7".officialRelease.sha256 = "sha256-SaRJ7+iZMhhBdcUDuJpMAY4REQVhrvYMqI2aq3Kz08o="; - "22.0.0-git".gitRelease = { - rev = "dcf8ae80289fd5e343b6ca172073388b6d227b62"; - rev-version = "22.0.0-unstable-2026-01-11"; - sha256 = "sha256-7IQ4v4K4onZZ/oBQKUy32LaZ6M7E7N/QIUYdjhOsbqc="; + "23.0.0-git".gitRelease = { + rev = "2a8a694b508df2fa519283afa0211f4cd04cab6c"; + rev-version = "22.0.0-unstable-2026-01-18"; + sha256 = "sha256-Ut0PPwL8kqRxSw4sjVSnreG8AlKqi48o4Yb2jWj2zHA="; }; } // llvmVersions; From 1ebc85ebe406c6a80f0d67db1a72b522ce3314b1 Mon Sep 17 00:00:00 2001 From: Mio Date: Mon, 19 Jan 2026 15:48:12 +1100 Subject: [PATCH 0440/1216] speed-dreams: add darwin support --- .../pl/plib/darwin-ssgloadflt-uint.patch | 14 ++ pkgs/by-name/pl/plib/package.nix | 10 +- .../sp/speed-dreams/darwin-gl-compat.patch | 16 +++ pkgs/by-name/sp/speed-dreams/package.nix | 121 ++++++++++-------- 4 files changed, 104 insertions(+), 57 deletions(-) create mode 100644 pkgs/by-name/pl/plib/darwin-ssgloadflt-uint.patch create mode 100644 pkgs/by-name/sp/speed-dreams/darwin-gl-compat.patch diff --git a/pkgs/by-name/pl/plib/darwin-ssgloadflt-uint.patch b/pkgs/by-name/pl/plib/darwin-ssgloadflt-uint.patch new file mode 100644 index 000000000000..cb9898000d9b --- /dev/null +++ b/pkgs/by-name/pl/plib/darwin-ssgloadflt-uint.patch @@ -0,0 +1,14 @@ +diff --git a/src/ssg/ssgLoadFLT.cxx b/src/ssg/ssgLoadFLT.cxx +--- a/src/ssg/ssgLoadFLT.cxx ++++ b/src/ssg/ssgLoadFLT.cxx +@@ -112,6 +112,10 @@ + # include + # include + #endif ++#if defined(__APPLE__) ++typedef unsigned int uint; ++typedef unsigned short ushort; ++#endif + #ifdef UL_MSVC + # include + #endif diff --git a/pkgs/by-name/pl/plib/package.nix b/pkgs/by-name/pl/plib/package.nix index 50c113b5466e..2471a673c5c6 100644 --- a/pkgs/by-name/pl/plib/package.nix +++ b/pkgs/by-name/pl/plib/package.nix @@ -37,9 +37,15 @@ stdenv.mkDerivation rec { url = "https://sources.debian.org/data/main/p/plib/1.8.5-13/debian/patches/08_CVE-2021-38714.patch"; sha256 = "sha256-3f1wZn0QqK/hPWCg1KEzbB95IGoxBjLZoCOFlW98t5w="; }) + ./darwin-ssgloadflt-uint.patch ]; - propagatedBuildInputs = [ + configureFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-sl" + "--disable-pw" + ]; + + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libGLU libGL libglut @@ -70,6 +76,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl2Plus; homepage = "https://plib.sourceforge.net/"; - platforms = lib.platforms.linux; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/sp/speed-dreams/darwin-gl-compat.patch b/pkgs/by-name/sp/speed-dreams/darwin-gl-compat.patch new file mode 100644 index 000000000000..1df97e96d8a0 --- /dev/null +++ b/pkgs/by-name/sp/speed-dreams/darwin-gl-compat.patch @@ -0,0 +1,16 @@ +diff --git a/src/libs/tgfclient/guiscreen.cpp b/src/libs/tgfclient/guiscreen.cpp +--- a/src/libs/tgfclient/guiscreen.cpp ++++ b/src/libs/tgfclient/guiscreen.cpp +@@ -426,9 +426,9 @@ bool GfScrInitSDL2(int nWinWidth, int nWinHeight, int nFullScreen) + + #ifdef __APPLE__ + // Version d'OpenGL +- SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); +- SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); +- SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); ++ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); ++ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); ++ SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); + #else + // Version d'OpenGL + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); diff --git a/pkgs/by-name/sp/speed-dreams/package.nix b/pkgs/by-name/sp/speed-dreams/package.nix index f1c20be16c8b..366ddbeafe90 100644 --- a/pkgs/by-name/sp/speed-dreams/package.nix +++ b/pkgs/by-name/sp/speed-dreams/package.nix @@ -29,15 +29,52 @@ cmake, pkg-config, libvorbis, - runtimeShell, curl, fetchgit, cjson, minizip, rhash, copyDesktopItems, + makeWrapper, }: +let + glLibs = lib.optionals stdenv.isLinux [ + libGL + libGLU + libglut + ]; + runtimeLibs = glLibs ++ [ + libX11 + plib + openal + freealut + libXrandr + libXext + libSM + libICE + libXi + libXt + libXrender + libXxf86vm + openscenegraph + expat + libpng12 + zlib + SDL2 + SDL2_mixer + enet + libjpeg + libvorbis + curl + cjson + minizip + rhash + stdenv.cc.cc.lib + ]; + runtimeLibPath = lib.makeLibraryPath runtimeLibs; + libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; +in stdenv.mkDerivation rec { version = "2.4.2"; pname = "speed-dreams"; @@ -50,58 +87,29 @@ stdenv.mkDerivation rec { }; NIX_CFLAGS_COMPILE = "-I${src}/src/libs/tgf -I${src}/src/libs/tgfdata -I${src}/src/interfaces -I${src}/src/libs/math -I${src}/src/libs/portability"; - postInstall = '' - mkdir -p "$out/bin" - # Wrapper for main executable - cat > "$out/bin/speed-dreams" < Date: Mon, 19 Jan 2026 08:37:07 +0000 Subject: [PATCH 0441/1216] python3Packages.typst: 0.14.5 -> 0.14.7 --- pkgs/development/python-modules/typst/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/typst/default.nix b/pkgs/development/python-modules/typst/default.nix index a84e03025b12..3343db2658aa 100644 --- a/pkgs/development/python-modules/typst/default.nix +++ b/pkgs/development/python-modules/typst/default.nix @@ -12,19 +12,19 @@ buildPythonPackage rec { pname = "typst"; - version = "0.14.5"; + version = "0.14.7"; pyproject = true; src = fetchFromGitHub { owner = "messense"; repo = "typst-py"; tag = "v${version}"; - hash = "sha256-Slo9cstmh9ZjxcqVdRldU+n82JK1cGf89cHE9Rrh7z0="; + hash = "sha256-GhXsfsJieBMKvHji4YGfZtvGMIa3k353Erb7V8RSDkU="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-haEthOKjyQkHhPgYPo40uLjfv29BDCC084KWmGRwkVk="; + hash = "sha256-A/iNQifMjpAMdoiEF3GaBe74mfsv8i/EwQL+ZmMc1YM="; }; build-system = [ From 367e9b813a994c84d298c7fb120cce1bb4a4f6c6 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Mon, 19 Jan 2026 10:53:30 +0100 Subject: [PATCH 0442/1216] nixos/plasma6: Add discover if fwupd is enabled --- nixos/modules/services/desktop-managers/plasma6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index f166fced35e1..001193a8cd2d 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -173,9 +173,9 @@ in # This is required for autorotation in Plasma 6 qtsensors ] - ++ lib.optionals config.services.flatpak.enable [ + ++ lib.optionals (config.services.flatpak.enable || config.services.fwupd.enable) [ # Since PackageKit Nix support is not there yet, - # only install discover if flatpak is enabled. + # only install discover if flatpak or fwupd is enabled. discover ]; in From 975e67c4be329ae7e97160f17abbee323659ba20 Mon Sep 17 00:00:00 2001 From: Nick Blumenauer Date: Mon, 19 Jan 2026 11:12:19 +0100 Subject: [PATCH 0443/1216] jellyfin: 10.11.5 -> 10.11.6 --- pkgs/by-name/je/jellyfin-web/package.nix | 6 +++--- pkgs/by-name/je/jellyfin/package.nix | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/je/jellyfin-web/package.nix b/pkgs/by-name/je/jellyfin-web/package.nix index a5fba27c594d..8ebd24ab8fff 100644 --- a/pkgs/by-name/je/jellyfin-web/package.nix +++ b/pkgs/by-name/je/jellyfin-web/package.nix @@ -13,7 +13,7 @@ }: buildNpmPackage (finalAttrs: { pname = "jellyfin-web"; - version = "10.11.5"; + version = "10.11.6"; src = assert finalAttrs.version == jellyfin.version; @@ -21,7 +21,7 @@ buildNpmPackage (finalAttrs: { owner = "jellyfin"; repo = "jellyfin-web"; tag = "v${finalAttrs.version}"; - hash = "sha256-9gDGREPORJILjVqw+Kk56+5qS/TQUd8OFmsEXL7KPAE="; + hash = "sha256-qmpVuxwsMM9Fhjkrrkxh+pMDh6+c3rZde7in5vIpaDg="; }; nodejs = nodejs_20; # does not build with 22 @@ -31,7 +31,7 @@ buildNpmPackage (finalAttrs: { --replace-fail "git describe --always --dirty" "echo ${finalAttrs.src.rev}" \ ''; - npmDepsHash = "sha256-AYGWZ5QvmQl8+ayjzkWuBra+QUvde36ReIJ7Fxk89VM="; + npmDepsHash = "sha256-bXZn2FOWeIN8VTNLbKe7jM7yDtE2QRmyoWNZXgE5W4Q="; preBuild = '' # using sass-embedded fails at executing node_modules/sass-embedded-linux-x64/dart-sass/src/dart diff --git a/pkgs/by-name/je/jellyfin/package.nix b/pkgs/by-name/je/jellyfin/package.nix index f734c79916e7..a76f3aef6eb6 100644 --- a/pkgs/by-name/je/jellyfin/package.nix +++ b/pkgs/by-name/je/jellyfin/package.nix @@ -14,13 +14,13 @@ buildDotnetModule (finalAttrs: { pname = "jellyfin"; - version = "10.11.5"; # ensure that jellyfin-web has matching version + version = "10.11.6"; # ensure that jellyfin-web has matching version src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin"; tag = "v${finalAttrs.version}"; - hash = "sha256-MOzMSubYkxz2kwpvamaOwz3h8drEgeSoiE9Gwassmbk="; + hash = "sha256-bF/N6FC1/qfBar2KNut8KY3Rz+pqArCt4HV3NAH8eaU="; }; propagatedBuildInputs = [ sqlite ]; From f9576bd74df7b866104aff2e710d9cc648d73777 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Mon, 12 Jan 2026 16:57:49 +0100 Subject: [PATCH 0444/1216] nixos/onlyoffice: declaratively manage fonts This refactor has several additional advantages: * simplify by moving logic from service startup to build time, also making the service more stateless because they can now be loaded from the nix store instead of keeping this state in /var/lib/onlyoffice * improve disk usage by reducing the need for copying over symlinking This also unlocks further simplifications: it removes the need to have `pkgs/by-name/x2/x2t` as a separate package and brings us closer to not needing the fhs wrapper for the converter and docservice. Those are for the future, though. --- .../modules/services/web-apps/onlyoffice.nix | 22 +-- .../on/onlyoffice-documentserver/package.nix | 153 +++++++++--------- .../core-fontengine-custom-fonts-paths.patch | 27 ++++ .../x2/x2t/doctrenderer-config-dir.patch | 13 -- pkgs/by-name/x2/x2t/package.nix | 43 ++--- 5 files changed, 126 insertions(+), 132 deletions(-) create mode 100644 pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch delete mode 100644 pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix index 10c0ed1b779c..526ef9269645 100644 --- a/nixos/modules/services/web-apps/onlyoffice.nix +++ b/nixos/modules/services/web-apps/onlyoffice.nix @@ -133,13 +133,6 @@ in virtualHosts.${cfg.hostname} = { locations = { - # resources that are generated and thus cannot be taken from the cfg.package yet: - "~ ^(\\/[\\d]+\\.[\\d]+\\.[\\d]+[\\.|-][\\w]+)?\\/(sdkjs/common/AllFonts.js)$".extraConfig = '' - proxy_pass http://onlyoffice-docservice/$2$3; - ''; - "~ ^(\\/[\\d]+\\.[\\d]+\\.[\\d]+[\\.|-][\\w]+)?\\/(fonts/.*)$".extraConfig = '' - proxy_pass http://onlyoffice-docservice/$2$3; - ''; # /etc/nginx/includes/ds-docservice.conf # disable caching for api.js "~ ^(\\/[\\d]+\\.[\\d]+\\.[\\d]+[\\.|-][\\w]+)?\\/(web-apps\\/apps\\/api\\/documents\\/api\\.js)$".extraConfig = @@ -278,7 +271,7 @@ in serviceConfig = { # needs to be ran wrapped in FHS for now # because the default config refers to many FHS paths - ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.fileconverter}/bin/fileconverter /run/onlyoffice/config"; + ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.fileconverter}/bin/fileconverter"; Group = "onlyoffice"; Restart = "always"; RuntimeDirectory = "onlyoffice"; @@ -336,8 +329,10 @@ in ' /run/onlyoffice/config/default.json | sponge /run/onlyoffice/config/default.json chmod u+w /run/onlyoffice/config/production-linux.json - jq '.FileConverter.converter.x2tPath = "${cfg.x2t}/bin/x2t"' \ - /run/onlyoffice/config/production-linux.json | sponge /run/onlyoffice/config/production-linux.json + jq ' + .log.filePath = "/run/onlyoffice/config/log4js/production.json" | + .FileConverter.converter.x2tPath = "${cfg.package.x2t-with-fonts-and-themes}/bin/x2t" + ' /run/onlyoffice/config/production-linux.json | sponge /run/onlyoffice/config/production-linux.json chmod u+w /run/onlyoffice/config/log4js/production.json jq '.categories.default.level = "${cfg.loglevel}"' \ @@ -360,8 +355,13 @@ in ]; requires = [ "postgresql.target" ]; wantedBy = [ "multi-user.target" ]; + environment = { + NODE_CONFIG_DIR = "/run/onlyoffice/config"; + NODE_DISABLE_COLORS = "1"; + NODE_ENV = "production-linux"; + }; serviceConfig = { - ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.docservice}/bin/docservice /run/onlyoffice/config"; + ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.docservice}/bin/docservice"; ExecStartPre = [ onlyoffice-prestart ]; Group = "onlyoffice"; Restart = "always"; diff --git a/pkgs/by-name/on/onlyoffice-documentserver/package.nix b/pkgs/by-name/on/onlyoffice-documentserver/package.nix index 59bf1a6b4483..61f9d7e50ae8 100644 --- a/pkgs/by-name/on/onlyoffice-documentserver/package.nix +++ b/pkgs/by-name/on/onlyoffice-documentserver/package.nix @@ -1,21 +1,21 @@ { buildFHSEnv, buildNpmPackage, - corefonts, dpkg, - dejavu_fonts, fetchFromGitHub, fetchurl, gcc-unwrapped, lib, - liberation_ttf_v1, lndir, nixosTests, pkg-config, + runCommand, stdenv, vips, writeScript, x2t, + + extra-fonts ? [ ], }: let @@ -76,6 +76,59 @@ let ln -s ${docservice}/lib/node_modules/coauthoring $out/lib/node_modules/DocService ''; }); + + # https://github.com/ONLYOFFICE/document-server-package/blob/master/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 + x2t-with-fonts-and-themes = runCommand "x2t-with-fonts-and-themes" { } '' + mkdir -p $out/web + mkdir -p $out/converter + mkdir -p $out/images + mkdir -p $out/fonts + + echo Generating fonts + export CUSTOM_FONTS_PATHS=${lib.concatStringsSep ":" extra-fonts} + ${x2t.components.allfontsgen}/bin/allfontsgen \ + --input=${x2t.components.core-fonts} \ + --allfonts-web=$out/web/AllFonts.js \ + --allfonts=$out/converter/AllFonts.js \ + --images=$out/images \ + --selection=$out/converter/font_selection.bin \ + --output-web=$out/fonts \ + --use-system=true + + mkdir -p $out/bin + cp ${x2t}/bin/x2t $out/bin + cat >$out/bin/DoctRenderer.config < + ${x2t.components.sdkjs}/common/Native/native.js + ${x2t.components.sdkjs}/common/Native/jquery_native.js + $out/converter/AllFonts.js + ${x2t.components.web-apps}/vendor/xregexp/xregexp-all-min.js + ${x2t.components.sdkjs} + ${x2t.components.dictionaries} + + EOF + + echo Generating presentation themes + # creates temporary files next to sources... + mkdir working + cp ${x2t.components.sdkjs}/slide/themes/src/* working + ${x2t.components.allthemesgen}/bin/allthemesgen \ + --converter-dir="$out/bin"\ + --src="working"\ + --output="$out/images" + ${x2t.components.allthemesgen}/bin/allthemesgen \ + --converter-dir="$out/bin"\ + --src="working"\ + --output="$out/images"\ + --postfix="ios"\ + --params="280,224" + ${x2t.components.allthemesgen}/bin/allthemesgen \ + --converter-dir="$out/bin"\ + --src="working"\ + --output="$out/images"\ + --postfix="android"\ + --params="280,224" + ''; # var/www/onlyoffice/documentserver/server/DocService/docservice onlyoffice-documentserver = stdenv.mkDerivation { pname = "onlyoffice-documentserver"; @@ -104,10 +157,20 @@ let cp -r common/documentserver-example/welcome $out/var/www/onlyoffice/documentserver-example mkdir -p $out/var/www/onlyoffice/documentserver - ln -s ${x2t.components.web-apps} $out/var/www/onlyoffice/documentserver/web-apps - # copying instead of linking for now because we want to inject - # AllFonts.js in here: - cp -r ${x2t.components.sdkjs} $out/var/www/onlyoffice/documentserver/sdkjs + + # equivalent of usr/bin/documentserver-flush-cache.sh, + # busts cache also when fonts collection changes + mkdir $out/var/www/onlyoffice/documentserver/web-apps + ${lndir}/bin/lndir -silent ${x2t.components.web-apps} $out/var/www/onlyoffice/documentserver/web-apps + mv $out/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js{,.orig} + sed -e "s/{{HASH_POSTFIX}}/$(basename $out | cut -d '-' -f 1)/" $out/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js.orig > $out/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js + + ln -s ${x2t-with-fonts-and-themes}/fonts $out/var/www/onlyoffice/documentserver/fonts + + mkdir -p $out/var/www/onlyoffice/documentserver/sdkjs + ${lndir}/bin/lndir -silent ${x2t.components.sdkjs} $out/var/www/onlyoffice/documentserver/sdkjs + ln -s ${x2t-with-fonts-and-themes}/web/AllFonts.js $out/var/www/onlyoffice/documentserver/sdkjs/common/AllFonts.js + ${lndir}/bin/lndir -silent ${x2t-with-fonts-and-themes}/images $out/var/www/onlyoffice/documentserver/sdkjs/common/Images # we don't currently support sdkjs plugins in NixOS # https://github.com/ONLYOFFICE/build_tools/blob/master/scripts/deploy_server.py#L130 @@ -116,20 +179,22 @@ let mkdir -p $out/var/www/onlyoffice/documentserver/server/schema cp -r ${server-src}/schema/* $out/var/www/onlyoffice/documentserver/server/schema - mkdir -p $out/var/www/onlyoffice/documentserver/server/FileConverter/bin ## required for bwrap --bind chmod u+w $out/var mkdir -p $out/var/lib/onlyoffice - chmod u+w $out/var/www/onlyoffice/documentserver - mkdir $out/var/www/onlyoffice/documentserver/fonts ''; # stripping self extracting javascript binaries likely breaks them dontStrip = true; passthru = { - inherit fileconverter common docservice; + inherit + x2t-with-fonts-and-themes + common + docservice + fileconverter + ; tests = nixosTests.onlyoffice; fhs = buildFHSEnv { name = "onlyoffice-wrapper"; @@ -137,11 +202,6 @@ let targetPkgs = pkgs: [ gcc-unwrapped.lib onlyoffice-documentserver - - # fonts - corefonts - dejavu_fonts - liberation_ttf_v1 fileconverter ]; @@ -152,68 +212,7 @@ let extraBwrapArgs = [ "--bind var/lib/onlyoffice/ var/lib/onlyoffice/" - "--bind var/lib/onlyoffice/documentserver/sdkjs/common/ var/www/onlyoffice/documentserver/sdkjs/common/" - "--bind var/lib/onlyoffice/documentserver/sdkjs/slide/themes/ var/www/onlyoffice/documentserver/sdkjs/slide/themes/" - "--bind var/lib/onlyoffice/documentserver/fonts/ var/www/onlyoffice/documentserver/fonts/" - "--bind var/lib/onlyoffice/documentserver/server/FileConverter/bin/ var/www/onlyoffice/documentserver/server/FileConverter/bin/" ]; - - runScript = writeScript "onlyoffice-documentserver-run-script" '' - export NODE_CONFIG_DIR=$2 - export NODE_DISABLE_COLORS=1 - export NODE_ENV=production-linux - - if [[ $1 == *"docservice" ]]; then - mkdir -p var/www/onlyoffice/documentserver/sdkjs/slide/themes/ - # symlinking themes/src breaks discovery in allfontsgen - rm -rf var/www/onlyoffice/documentserver/sdkjs/slide/themes/src - cp -r ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/sdkjs/slide/themes/src var/www/onlyoffice/documentserver/sdkjs/slide/themes/ - chmod -R u+w var/www/onlyoffice/documentserver/sdkjs/slide/themes/ - - # onlyoffice places generated files in those directores - rm -rf var/www/onlyoffice/documentserver/sdkjs/common/* - ${lndir}/bin/lndir -silent ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/sdkjs/common/ var/www/onlyoffice/documentserver/sdkjs/common/ - rm -rf var/www/onlyoffice/documentserver/server/FileConverter/bin/* - ${lndir}/bin/lndir -silent ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/server/FileConverter/bin/ var/www/onlyoffice/documentserver/server/FileConverter/bin/ - - # https://github.com/ONLYOFFICE/document-server-package/blob/master/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 - # TODO --use-system doesn't actually appear to make a difference? - echo -n Generating AllFonts.js, please wait... - "${x2t.components.allfontsgen}/bin/allfontsgen"\ - --input="${x2t.components.core-fonts}"\ - --allfonts-web="var/www/onlyoffice/documentserver/sdkjs/common/AllFonts.js"\ - --allfonts="var/www/onlyoffice/documentserver/server/FileConverter/bin/AllFonts.js"\ - --images="var/www/onlyoffice/documentserver/sdkjs/common/Images"\ - --selection="var/www/onlyoffice/documentserver/server/FileConverter/bin/font_selection.bin"\ - --output-web="var/www/onlyoffice/documentserver/fonts"\ - --use-system="true" - echo Done - - # TODO x2t brings its on DoctRenderer.config, so it wouldn't pick up the new fonts: - echo -n Generating presentation themes, please wait... - "${x2t.components.allthemesgen}/bin/allthemesgen"\ - --converter-dir="${x2t}/bin"\ - --src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\ - --output="var/www/onlyoffice/documentserver/sdkjs/common/Images" - - "${x2t.components.allthemesgen}/bin/allthemesgen"\ - --converter-dir="${x2t}/bin"\ - --src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\ - --output="var/www/onlyoffice/documentserver/sdkjs/common/Images"\ - --postfix="ios"\ - --params="280,224" - - "${x2t.components.allthemesgen}/bin/allthemesgen"\ - --converter-dir="${x2t}/bin"\ - --src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\ - --output="var/www/onlyoffice/documentserver/sdkjs/common/Images"\ - --postfix="android"\ - --params="280,224" - echo Done - fi - - exec $1 - ''; }; }; diff --git a/pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch b/pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch new file mode 100644 index 000000000000..e043e77eb8c0 --- /dev/null +++ b/pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch @@ -0,0 +1,27 @@ +diff --git a/DesktopEditor/fontengine/ApplicationFonts.cpp b/DesktopEditor/fontengine/ApplicationFonts.cpp +index ed1a01fb1b..ee071f9ebe 100644 +--- a/DesktopEditor/fontengine/ApplicationFonts.cpp ++++ b/DesktopEditor/fontengine/ApplicationFonts.cpp +@@ -29,6 +29,7 @@ + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ ++#include + #include "ApplicationFonts.h" + #include "../common/File.h" + #include "../common/Directory.h" +@@ -1845,6 +1846,14 @@ std::vector CApplicationFonts::GetSetupFontFiles(const bool& bIsUs + std::wstring custom_fonts_path = NSSystemUtils::GetEnvVariable(L"CUSTOM_FONTS_PATH"); + if (!custom_fonts_path.empty()) + NSDirectory::GetFiles2(custom_fonts_path, _array, true); ++ ++ std::wstring custom_fonts_paths = NSSystemUtils::GetEnvVariable(L"CUSTOM_FONTS_PATHS"); ++ if (!custom_fonts_paths.empty()) { ++ std::wistringstream stream(custom_fonts_paths); ++ while (std::getline(stream, custom_fonts_path, L':')) { ++ NSDirectory::GetFiles2(custom_fonts_path, _array, true); ++ } ++ } + #endif + + return _array; diff --git a/pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch b/pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch deleted file mode 100644 index a27ff140b112..000000000000 --- a/pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/DesktopEditor/doctrenderer/doctrenderer.cpp b/DesktopEditor/doctrenderer/doctrenderer.cpp -index ac24efa8b2..f6de72cc2a 100644 ---- a/DesktopEditor/doctrenderer/doctrenderer.cpp -+++ b/DesktopEditor/doctrenderer/doctrenderer.cpp -@@ -238,7 +238,7 @@ namespace NSDoctRenderer - public: - CDoctRenderer_Private(const std::wstring& sAllFontsPath = L"") : CDoctRendererConfig() - { -- LoadConfig(NSFile::GetProcessDirectory(), sAllFontsPath); -+ LoadConfig(NSFile::GetProcessDirectory() + L"/../etc", sAllFontsPath); - m_pDrawingFile = NULL; - } - ~CDoctRenderer_Private() diff --git a/pkgs/by-name/x2/x2t/package.nix b/pkgs/by-name/x2/x2t/package.nix index 8bb46f0acc87..79c1f78f0e03 100644 --- a/pkgs/by-name/x2/x2t/package.nix +++ b/pkgs/by-name/x2/x2t/package.nix @@ -137,8 +137,6 @@ let # workaround for https://github.com/NixOS/nixpkgs/issues/477803 nodejs = nodejs_22; - #src = /home/aengelen/d/onlyoffice/documentserver/web-apps; - #sourceRoot = "/build/web-apps/build"; src = fetchFromGitHub { owner = "ONLYOFFICE"; repo = "web-apps"; @@ -183,11 +181,6 @@ let cp -r ../deploy/web-apps $out - ## see usr/bin/documentserver-flush-cache.sh - chmod u+w $out/apps/api/documents - substituteInPlace $out/apps/api/documents/api.js \ - --replace-fail '{{HASH_POSTFIX}}' "$(basename $out | cut -d '-' -f 1)" - runHook postInstall ''; }); @@ -362,6 +355,7 @@ let graphics = buildCoreComponent "DesktopEditor/graphics/pro" { patches = [ ./cximage-types.patch + ./core-fontengine-custom-fonts-paths.patch ]; buildInputs = [ unicodeConverter @@ -470,12 +464,6 @@ let chmod u+w $BUILDRT/Common/3dParty/apple/libetonyek/src/lib cp $BUILDRT/Common/3dParty/apple/headers/* $BUILDRT/Common/3dParty/apple/libetonyek/src/lib ''; - installPhase = '' - runHook preInstall - mkdir -p $out/lib - mv ../build/lib/*/* $out/lib - runHook postInstall - ''; doCheck = true; passthru.tests = buildCoreTests "Apple/test" { buildInputs = [ @@ -601,7 +589,6 @@ let patches = [ # https://github.com/ONLYOFFICE/core/pull/1631 ./doctrenderer-format-security.patch - ./doctrenderer-config-dir.patch ./doctrenderer-v8-iterator.patch ./fontengine-format-security.patch ./v8_updates.patch @@ -731,7 +718,7 @@ let runHook preInstall mkdir -p $out/bin - cp $BUILDRT/build/bin/*/* $BUILDRT/build/bin/*/*/* $out/bin + find $BUILDRT/build -type f -exec cp {} $out/bin \; runHook postInstall ''; @@ -757,7 +744,7 @@ let runHook preInstall mkdir -p $out/bin - cp $BUILDRT/build/bin/*/* $BUILDRT/build/bin/*/*/* $out/bin + find $BUILDRT/build -type f -exec cp {} $out/bin \; runHook postInstall ''; @@ -835,23 +822,17 @@ buildCoreComponent "X2tConverter/build/Qt" { mkdir -p $out/bin find $BUILDRT/build -type f -exec cp {} $out/bin \; - mkdir $out/etc - cat >$out/etc/DoctRenderer.config < - ${sdkjs}/common/Native/native.js - ${sdkjs}//common/Native/jquery_native.js - ${allfonts}/converter/AllFonts.js - ${web-apps}/vendor/xregexp/xregexp-all-min.js - ${sdkjs} - ${dictionaries} - + cat >$out/bin/DoctRenderer.config < + ${sdkjs}/common/Native/native.js + ${sdkjs}/common/Native/jquery_native.js + ${allfonts}/converter/AllFonts.js + ${web-apps}/vendor/xregexp/xregexp-all-min.js + ${sdkjs} + ${dictionaries} + EOF - # TODO when allthemesgen invokes x2t as the converter, it - # hard-codes expecting DoctRenderer.config in the same dir - # the x2t binary is located: - ln -s $out/etc/DoctRenderer.config $out/bin/DoctRenderer.config - runHook postInstall ''; passthru.tests = { From 9f00a0940f2ffe783be83fcc9cc994f15aa55b79 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 13 Jan 2026 23:02:29 +0100 Subject: [PATCH 0445/1216] wiki-js: use nodejs-slim_24 --- nixos/modules/services/web-apps/wiki-js.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/wiki-js.nix b/nixos/modules/services/web-apps/wiki-js.nix index f313804a6d28..1ff1e0c8bdab 100644 --- a/nixos/modules/services/web-apps/wiki-js.nix +++ b/nixos/modules/services/web-apps/wiki-js.nix @@ -151,7 +151,7 @@ in WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}"; DynamicUser = true; PrivateTmp = true; - ExecStart = "${pkgs.nodejs_20}/bin/node ${pkgs.wiki-js}/server"; + ExecStart = "${pkgs.lib.getExe pkgs.nodejs-slim} ${pkgs.wiki-js}/server"; }; }; }; From 3889ca2206055075009d3b26ca0e8477d9e332c1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 19 Jan 2026 16:49:36 +0000 Subject: [PATCH 0446/1216] naja: 0.3.3 -> 0.3.4 --- pkgs/by-name/na/naja/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/na/naja/package.nix b/pkgs/by-name/na/naja/package.nix index 97a06283fdef..1836932878ac 100644 --- a/pkgs/by-name/na/naja/package.nix +++ b/pkgs/by-name/na/naja/package.nix @@ -17,13 +17,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "naja"; - version = "0.3.3"; + version = "0.3.4"; src = fetchFromGitHub { owner = "najaeda"; repo = "naja"; tag = "v${finalAttrs.version}"; - hash = "sha256-emtn/RsLQljcQ/rLV7lzhBEX+8ilBBvBS3J+nG9DNGo="; + hash = "sha256-Oh1rAS20bQRp8P/8qMPjoCTC9wghBRhmRRh7J/+NG0A="; fetchSubmodules = true; }; From 259c67bc323ea3b43fdc98e177744bf0bcf5a105 Mon Sep 17 00:00:00 2001 From: Coca Date: Mon, 19 Jan 2026 18:29:40 +0000 Subject: [PATCH 0447/1216] monocraft: add coca to maintainers --- pkgs/by-name/mo/monocraft/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/mo/monocraft/package.nix b/pkgs/by-name/mo/monocraft/package.nix index d967852c8c3b..671d7c82c069 100644 --- a/pkgs/by-name/mo/monocraft/package.nix +++ b/pkgs/by-name/mo/monocraft/package.nix @@ -41,6 +41,9 @@ stdenvNoCC.mkDerivation { homepage = "https://github.com/IdreesInc/Monocraft"; license = lib.licenses.ofl; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ zhaofengli ]; + maintainers = with lib.maintainers; [ + zhaofengli + coca + ]; }; } From 6d3f640b11fe981464426b122ace10798b38e0e1 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sun, 18 Jan 2026 20:55:25 +0100 Subject: [PATCH 0448/1216] gns3-server,gns3-gui: migrate to pkgs/by-name --- pkgs/applications/networking/gns3/default.nix | 39 ------------------- .../gn/gns3-gui/package.nix} | 17 +++----- .../gn/gns3-server/package.nix} | 14 ++----- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 3 -- 5 files changed, 10 insertions(+), 64 deletions(-) delete mode 100644 pkgs/applications/networking/gns3/default.nix rename pkgs/{applications/networking/gns3/gui.nix => by-name/gn/gns3-gui/package.nix} (87%) rename pkgs/{applications/networking/gns3/server.nix => by-name/gn/gns3-server/package.nix} (92%) diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix deleted file mode 100644 index 45f160931758..000000000000 --- a/pkgs/applications/networking/gns3/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - callPackage, - libsForQt5, -}: - -let - mkGui = - args: - callPackage (import ./gui.nix args) { - inherit (libsForQt5) wrapQtAppsHook; - }; - - mkServer = args: callPackage (import ./server.nix args) { }; -in -{ - guiStable = mkGui { - channel = "stable"; - version = "2.2.55"; - hash = "sha256-6jblQakNpoSQXfy5pU68Aedg661VcwpqQilvqOV15pQ="; - }; - - guiPreview = mkGui { - channel = "stable"; - version = "2.2.55"; - hash = "sha256-6jblQakNpoSQXfy5pU68Aedg661VcwpqQilvqOV15pQ="; - }; - - serverStable = mkServer { - channel = "stable"; - version = "2.2.55"; - hash = "sha256-o04RrHYsa5sWYUBDLJ5xgcK4iJK8CfZ4YdAiZ4eV/o4="; - }; - - serverPreview = mkServer { - channel = "stable"; - version = "2.2.55"; - hash = "sha256-o04RrHYsa5sWYUBDLJ5xgcK4iJK8CfZ4YdAiZ4eV/o4="; - }; -} diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/by-name/gn/gns3-gui/package.nix similarity index 87% rename from pkgs/applications/networking/gns3/gui.nix rename to pkgs/by-name/gn/gns3-gui/package.nix index ef9eb9cda64b..425e11842c00 100644 --- a/pkgs/applications/networking/gns3/gui.nix +++ b/pkgs/by-name/gn/gns3-gui/package.nix @@ -1,9 +1,3 @@ -{ - channel, - version, - hash, -}: - { fetchFromGitHub, gns3-gui, @@ -11,7 +5,6 @@ python3Packages, qt5, testers, - wrapQtAppsHook, }: let @@ -23,17 +16,17 @@ let in pythonPackages.buildPythonApplication rec { pname = "gns3-gui"; - inherit version; + version = "2.2.55"; format = "setuptools"; src = fetchFromGitHub { - inherit hash; owner = "GNS3"; repo = "gns3-gui"; tag = "v${version}"; + hash = "sha256-6jblQakNpoSQXfy5pU68Aedg661VcwpqQilvqOV15pQ"; }; - nativeBuildInputs = [ wrapQtAppsHook ]; + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; build-system = with pythonPackages; [ setuptools ]; @@ -53,7 +46,7 @@ pythonPackages.buildPythonApplication rec { dontWrapQtApps = true; preFixup = '' - wrapQtApp "$out/bin/gns3" + makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; doCheck = true; @@ -73,7 +66,7 @@ pythonPackages.buildPythonApplication rec { }; meta = { - description = "Graphical Network Simulator 3 GUI (${channel} release)"; + description = "Graphical Network Simulator 3 GUI"; longDescription = '' Graphical user interface for controlling the GNS3 network simulator. This requires access to a local or remote GNS3 server (it's recommended to diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/by-name/gn/gns3-server/package.nix similarity index 92% rename from pkgs/applications/networking/gns3/server.nix rename to pkgs/by-name/gn/gns3-server/package.nix index 00d84dddfd9d..cef09de058eb 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/by-name/gn/gns3-server/package.nix @@ -1,9 +1,3 @@ -{ - channel, - version, - hash, -}: - { fetchFromGitHub, gns3-server, @@ -16,16 +10,16 @@ util-linux, }: -python3Packages.buildPythonApplication { +python3Packages.buildPythonApplication rec { pname = "gns3-server"; - inherit version; + version = "2.2.55"; format = "setuptools"; src = fetchFromGitHub { - inherit hash; owner = "GNS3"; repo = "gns3-server"; tag = "v${version}"; + hash = "sha256-o04RrHYsa5sWYUBDLJ5xgcK4iJK8CfZ4YdAiZ4eV/o4="; }; # GNS3 2.3.26 requires a static BusyBox for the Docker integration @@ -94,7 +88,7 @@ python3Packages.buildPythonApplication { }; meta = { - description = "Graphical Network Simulator 3 server (${channel} release)"; + description = "Graphical Network Simulator 3 server"; longDescription = '' The GNS3 server manages emulators such as Dynamips, VirtualBox or Qemu/KVM. Clients like the GNS3 GUI control the server using a HTTP REST diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 479af8a8f89e..408ed6ed3129 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -743,6 +743,7 @@ mapAliases { gnome-passwordsafe = throw "'gnome-passwordsafe' has been renamed to/replaced by 'gnome-secrets'"; # Converted to throw 2025-10-27 gnome-recipes = throw "'gnome-recipes' has been removed due to lack of upstream maintenance and dependency on insecure libraries"; # Added 2025-09-06 gnome-resources = throw "'gnome-resources' has been renamed to/replaced by 'resources'"; # Converted to throw 2025-10-27 + gns3Packages = throw "'gns3Packages' has been removed. Use 'gns3-gui' and 'gns3-server' instead."; # Added 2026-01-18 gnu-cobol = throw "'gnu-cobol' has been renamed to/replaced by 'gnucobol'"; # Converted to throw 2025-10-27 gnubik = throw "'gnubik' has been removed due to lack of maintenance upstream and its dependency on GTK 2"; # Added 2025-09-16 go-thumbnailer = throw "'go-thumbnailer' has been renamed to/replaced by 'thud'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 18999d08e654..7ad2e01c4d78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6945,9 +6945,6 @@ with pkgs; #GMP ex-satellite, so better keep it near gmp # A GMP fork - gns3Packages = recurseIntoAttrs (callPackage ../applications/networking/gns3 { }); - gns3-gui = gns3Packages.guiStable; - gns3-server = gns3Packages.serverStable; gobject-introspection = callPackage ../development/libraries/gobject-introspection/wrapper.nix { }; From 01951bed8cbe0ca5607a9651f2544b260963ec76 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sun, 18 Jan 2026 21:18:46 +0100 Subject: [PATCH 0449/1216] gns3-server,gns3-gui: use pyproject = true --- pkgs/by-name/gn/gns3-gui/package.nix | 24 +++++++++++++++--------- pkgs/by-name/gn/gns3-server/package.nix | 23 +++++++++++++---------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/gn/gns3-gui/package.nix b/pkgs/by-name/gn/gns3-gui/package.nix index 425e11842c00..e147afc1ee32 100644 --- a/pkgs/by-name/gn/gns3-gui/package.nix +++ b/pkgs/by-name/gn/gns3-gui/package.nix @@ -5,6 +5,7 @@ python3Packages, qt5, testers, + writableTmpDirAsHomeHook, }: let @@ -17,7 +18,7 @@ in pythonPackages.buildPythonApplication rec { pname = "gns3-gui"; version = "2.2.55"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "GNS3"; @@ -26,11 +27,16 @@ pythonPackages.buildPythonApplication rec { hash = "sha256-6jblQakNpoSQXfy5pU68Aedg661VcwpqQilvqOV15pQ"; }; + pythonRelaxDeps = [ + "jsonschema" + "sentry-sdk" + ]; + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; - build-system = with pythonPackages; [ setuptools ]; + buildInputs = [ qt5.qtwayland ]; - propagatedBuildInputs = [ qt5.qtwayland ]; + build-system = with pythonPackages; [ setuptools ]; dependencies = with pythonPackages; [ distro @@ -49,14 +55,14 @@ pythonPackages.buildPythonApplication rec { makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; - doCheck = true; - - checkInputs = with pythonPackages; [ pytestCheckHook ]; + nativeCheckInputs = with pythonPackages; [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; preCheck = '' - export HOME=$(mktemp -d) - export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}" - export QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins"; + export QT_PLUGIN_PATH="${lib.getBin qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}" + export QT_QPA_PLATFORM_PLUGIN_PATH="${lib.getBin qt5.qtbase}/lib/qt-${qt5.qtbase.version}/plugins"; export QT_QPA_PLATFORM=offscreen ''; diff --git a/pkgs/by-name/gn/gns3-server/package.nix b/pkgs/by-name/gn/gns3-server/package.nix index cef09de058eb..b08cdbef2527 100644 --- a/pkgs/by-name/gn/gns3-server/package.nix +++ b/pkgs/by-name/gn/gns3-server/package.nix @@ -8,12 +8,13 @@ stdenv, testers, util-linux, + writableTmpDirAsHomeHook, }: python3Packages.buildPythonApplication rec { pname = "gns3-server"; version = "2.2.55"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "GNS3"; @@ -27,6 +28,14 @@ python3Packages.buildPythonApplication rec { cp ${pkgsStatic.busybox}/bin/busybox gns3server/compute/docker/resources/bin/busybox ''; + pythonRelaxDeps = [ + "aiohttp" + "aiohttp-cors" + "jsonschema" + "platformdirs" + "sentry-sdk" + ]; + build-system = with python3Packages; [ setuptools ]; dependencies = with python3Packages; [ @@ -34,6 +43,7 @@ python3Packages.buildPythonApplication rec { aiohttp aiohttp-cors async-generator + async-timeout distro jinja2 jsonschema @@ -54,18 +64,11 @@ python3Packages.buildPythonApplication rec { # util-linux (script program) is required for Docker support makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ util-linux ]}" ]; - doCheck = true; - - # Otherwise tests will fail to create directory - # Permission denied: '/homeless-shelter' - preCheck = '' - export HOME=$(mktemp -d) - ''; - - checkInputs = with python3Packages; [ + nativeCheckInputs = with python3Packages; [ pytest-aiohttp pytest-rerunfailures pytestCheckHook + writableTmpDirAsHomeHook ]; pytestFlags = [ From 8d9c36f5252f0851c3c984a7df7ed386d04278d0 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Fri, 16 Jan 2026 22:08:56 -0800 Subject: [PATCH 0450/1216] librewolf-unwrapped: 147.0-1 -> 147.0.1-3 --- .../networking/browsers/librewolf/src.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json index dfacf296ab60..4be25a0c8d30 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.json +++ b/pkgs/applications/networking/browsers/librewolf/src.json @@ -1,11 +1,11 @@ { - "packageVersion": "147.0-1", + "packageVersion": "147.0.1-3", "source": { - "rev": "147.0-1", - "hash": "sha256-LZE4d1z4djtGSrnFsh1i9GXvFbK55RQMcqyID9ui0Ng=" + "rev": "147.0.1-3", + "hash": "sha256-0BeC3zlL5cvnpTaPnKn26lT1XlvqBQuMc4rauNbeIIk=" }, "firefox": { - "version": "147.0", - "hash": "sha512-rJAXsaLaey8Tk5LDlMNjQf00duPU6ho8fl578QDcMNGFEy75JWvn5rD52/xpI0rFceofxtudhFQ7FXcvTshRYQ==" + "version": "147.0.1", + "hash": "sha512-8eG8SGRRJU8zsAD7RRP9lIpaboSEGYDudnxC0ybhhW9EqEN8j9v/LLNNF3/qKxkH/Nct0zvOw/Bt242IFRhTqA==" } } From 3c1ae5c5f7b9cea48ca5ec7672ef9d936b5178f9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 19 Jan 2026 22:05:32 +0100 Subject: [PATCH 0451/1216] python313Packages.llama-index-workflows: migrate to finalAttrs --- .../python-modules/llama-index-workflows/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-workflows/default.nix b/pkgs/development/python-modules/llama-index-workflows/default.nix index 9fa300e8020e..4550da40c92a 100644 --- a/pkgs/development/python-modules/llama-index-workflows/default.nix +++ b/pkgs/development/python-modules/llama-index-workflows/default.nix @@ -8,14 +8,14 @@ pydantic, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "llama-index-workflows"; version = "2.12.2"; pyproject = true; src = fetchPypi { pname = "llama_index_workflows"; - inherit version; + inherit (finalAttrs) version; hash = "sha256-N+Bc00g8ZPQQF2/mFNuMhLb0L8Ms2ts8yKyN4Y8BqXs="; }; @@ -40,4 +40,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From b0f80d5cc94c49b8ff66a5b158e8443667970e35 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 19 Jan 2026 23:37:26 +0100 Subject: [PATCH 0452/1216] jasp-desktop: 0.95.0 -> 0.95.4; jasp-desktop.modules: 0.95.0 -> 0.95.3 --- pkgs/by-name/ja/jasp-desktop/modules.nix | 156 +++++++++++------------ pkgs/by-name/ja/jasp-desktop/package.nix | 10 +- 2 files changed, 80 insertions(+), 86 deletions(-) diff --git a/pkgs/by-name/ja/jasp-desktop/modules.nix b/pkgs/by-name/ja/jasp-desktop/modules.nix index c104577ea9a6..c0d9684f40ab 100644 --- a/pkgs/by-name/ja/jasp-desktop/modules.nix +++ b/pkgs/by-name/ja/jasp-desktop/modules.nix @@ -7,15 +7,15 @@ with rPackages; let - jaspGraphs = buildRPackage { + jaspGraphs = buildRPackage rec { pname = "jaspGraphs"; - version = "0.19.2-unstable-2025-07-25"; + version = "0.95.3"; src = fetchFromGitHub { owner = "jasp-stats"; repo = "jaspGraphs"; - rev = "e721a631c8357d42c1371a978db7cb5765bc7044"; - hash = "sha256-DOOKHBVTF9bVhAa/LZCH1J7A821H4mGEfy6KAEtDBNk="; + tag = "v${version}"; + hash = "sha256-h2jYFtMFGbaIO1Ed75I2Q0+ut0bR8zBaZ3RZWcTpxMs="; }; propagatedBuildInputs = [ @@ -174,7 +174,7 @@ let { pname, version, - rev ? "refs/tags/${version}", + rev ? "refs/tags/v${version}", hash, deps, }: @@ -200,8 +200,8 @@ in modules = rec { jaspAcceptanceSampling = buildJaspModule { pname = "jaspAcceptanceSampling"; - version = "0.95.0"; - hash = "sha256-MzuijLBrCd/aIACzyEWWbQoyuYl/c7iMplsIpScbqK4="; + version = "0.95.3"; + hash = "sha256-Z0NyUPAmgCYC3+w2JX2vSmkyFWdJERd5NckXfF46n5o="; deps = [ abtest BayesFactor @@ -218,8 +218,8 @@ in }; jaspAnova = buildJaspModule { pname = "jaspAnova"; - version = "0.95.0"; - hash = "sha256-elunqlNy7krnoL31aeS4B7SkpKCD42S8Z8HsPeFTjEM="; + version = "0.95.3"; + hash = "sha256-d0m/mGyRkcBlk3961lafQ+X10yTvsWvQnExVDraW28M="; deps = [ afex BayesFactor @@ -247,8 +247,8 @@ in }; jaspAudit = buildJaspModule { pname = "jaspAudit"; - version = "0.95.0"; - hash = "sha256-CqrjrNm7DEyzOTg69TzksYczGBSCvhHfdfZ/HaNkhcI="; + version = "0.95.3"; + hash = "sha256-XnQFmf5xdUqClpaJ6Qz0zJAHs1ieeYd4nffxDKX7ReE="; deps = [ bstats extraDistr @@ -261,8 +261,8 @@ in }; jaspBain = buildJaspModule { pname = "jaspBain"; - version = "0.95.0"; - hash = "sha256-E6j7dH6jbXWhR03QVQjY30/pylrMHU6PNX13gr5KvV4="; + version = "0.95.3"; + hash = "sha256-kt0s2VJQGhVeD+ALY4FTtU1+7hYw81cXM1WvJ99lnZQ="; deps = [ bain lavaan @@ -276,8 +276,8 @@ in }; jaspBFF = buildJaspModule { pname = "jaspBFF"; - version = "0.95.0"; - hash = "sha256-fgAUdzgSNt34WL/U3/0ac1kTB5PYAvmpXeQUuNEUhuE="; + version = "0.95.3"; + hash = "sha256-E+CYTFfiAM7Fng4vY39cceU2IUFcXKn+uejLufnwcOc="; deps = [ BFF jaspBase @@ -286,8 +286,8 @@ in }; jaspBfpack = buildJaspModule { pname = "jaspBfpack"; - version = "0.95.0"; - hash = "sha256-4c7ORf0epHSdv6AB1UVMwiSEwCfVHAg0jzifBdHInoc="; + version = "0.95.3"; + hash = "sha256-9biiB/m8QsSjlAheoo3hllxYyAIgoeEb1W0KXUEa5C8="; deps = [ BFpack bain @@ -300,8 +300,8 @@ in }; jaspBsts = buildJaspModule { pname = "jaspBsts"; - version = "0.95.0"; - hash = "sha256-pClbOuA255mHJSy7/TpQE+oaYQbxJut9AqZRMqm8Rhg="; + version = "0.95.3"; + hash = "sha256-TJi0fqZ3abV9mM9XyRiuQfK1tkOJ7VluyKilUdHHj0Y="; deps = [ Boom bsts @@ -314,8 +314,8 @@ in }; jaspCircular = buildJaspModule { pname = "jaspCircular"; - version = "0.95.0"; - hash = "sha256-Sx63VGtOZvwHF1jIjnd6aPmN1WtHHf35iQ0dzCWs1eU="; + version = "0.95.3"; + hash = "sha256-L3WVErysIMtRLDRzaRd+MCYL9smzWERMTiyzrPHGPjQ="; deps = [ jaspBase jaspGraphs @@ -325,8 +325,8 @@ in }; jaspCochrane = buildJaspModule { pname = "jaspCochrane"; - version = "0.95.0"; - hash = "sha256-ZYMe1BJ0+HKKyHVY5riEcGE+6vZsAurWzHmPF5I7nk8="; + version = "0.95.3"; + hash = "sha256-MAIj0ThgUdo07gHBs0a5tzEsJTrtPS3XnyW2Wj+xp3g="; deps = [ jaspBase jaspGraphs @@ -336,8 +336,8 @@ in }; jaspDescriptives = buildJaspModule { pname = "jaspDescriptives"; - version = "0.95.0"; - hash = "sha256-gaGgSSv1D0GB8Rmzg9TYl460TjWHkK0abHDm5DHhOJg="; + version = "0.95.3"; + hash = "sha256-W4LWha+GTVSrOAJLIv9Uy3wOnyHxoT0O/yxj9Zw8/Tg="; deps = [ ggplot2 ggrepel @@ -359,8 +359,8 @@ in jaspDistributions = buildJaspModule { pname = "jaspDistributions"; - version = "0.95.0"; - hash = "sha256-jtPYx2wOAY7ItrkPqyMsKp7sTrL9M1TtTmR0IjxU1nw="; + version = "0.95.3"; + hash = "sha256-EutMd5cD3jEW/3e3Ch9IClo1LaNsuvmnvh9cy8hG5Bc="; deps = [ car fitdistrplus @@ -377,8 +377,8 @@ in }; jaspEquivalenceTTests = buildJaspModule { pname = "jaspEquivalenceTTests"; - version = "0.95.0"; - hash = "sha256-b/I6lb6I8rzOyyRgmsQTBMfHXfJDkrZPdwe5Kh2IVnc="; + version = "0.95.3"; + hash = "sha256-cTVPephc/9IIJ8eUP3Ma1d215E6bI1MOWtlQDGqPN70="; deps = [ BayesFactor ggplot2 @@ -391,8 +391,8 @@ in }; jaspEsci = buildJaspModule { pname = "jaspEsci"; - version = "0.95.0"; - hash = "sha256-0YBC54VdVNuGdkfjWEIJnW3n/Wbch4E6tkauVm45/9c="; + version = "0.95.3"; + hash = "sha256-wgbp1iZRWfm6dRVkVhK6iC0hHu73pFm3Hk9pN7Z6ej8="; deps = [ jaspBase jaspGraphs @@ -404,8 +404,8 @@ in }; jaspFactor = buildJaspModule { pname = "jaspFactor"; - version = "0.95.0"; - hash = "sha256-gK4GdwADrPt2UB/UUx+2Kx5IOlFolYjNArrYpTGK9ic="; + version = "0.95.3"; + hash = "sha256-1e4HYst/G5JqN7fksFR907LqysdyTCcUXLgRfiSBCd0="; deps = [ ggplot2 jaspBase @@ -423,8 +423,8 @@ in }; jaspFrequencies = buildJaspModule { pname = "jaspFrequencies"; - version = "0.95.0"; - hash = "sha256-aK4t+q6NRHGiszJa6rWx1bQddxzwynM9TOckxofdgsw"; + version = "0.95.3"; + hash = "sha256-3JznrmKqAJJop57gNQw7eOLjbS7B41AriUdZTttoSkM="; deps = [ abtest BayesFactor @@ -443,8 +443,8 @@ in }; jaspJags = buildJaspModule { pname = "jaspJags"; - version = "0.95.0"; - hash = "sha256-DxLy3NgqvLIROBut30ne3hCUd67rCRutgM7zGvwkKNU="; + version = "0.95.3"; + hash = "sha256-wZsc3NSiNKa35R7c/mrnp+crA8OkNk/2JRiiEW8DZq4="; deps = [ coda ggplot2 @@ -460,8 +460,8 @@ in }; jaspLearnBayes = buildJaspModule { pname = "jaspLearnBayes"; - version = "0.95.0"; - hash = "sha256-mka93YglICKxPXNO85Kv/gzSRAMuTkWcnAlwIExDpi0="; + version = "0.95.3"; + hash = "sha256-YRzoF4FrPrSeDcKq7V9N8FcNtCKZ4n5e2O9u9aseAik="; deps = [ extraDistr ggplot2 @@ -483,8 +483,8 @@ in }; jaspLearnStats = buildJaspModule { pname = "jaspLearnStats"; - version = "0.95.0"; - hash = "sha256-AcdSmAGr1ITZV/OXNpyOz0wwBlho76lvEGgt5FUHnsg="; + version = "0.95.3"; + hash = "sha256-PSrLmRlvd0U7hkFXRvzi5hFz7/Czj3iOSdWyGGoOHVI="; deps = [ extraDistr ggplot2 @@ -502,8 +502,8 @@ in }; jaspMachineLearning = buildJaspModule { pname = "jaspMachineLearning"; - version = "0.95.0"; - hash = "sha256-oCsXrcEAteFGfFHU65FV3jm1majA1q1w+TYCwAsvf70="; + version = "0.95.3"; + hash = "sha256-ZZKEO+FMx5uycD1JBln6HG5qLqbzRCnr/B2/yDUqhYs="; deps = [ kknn AUC @@ -541,8 +541,8 @@ in }; jaspMetaAnalysis = buildJaspModule { pname = "jaspMetaAnalysis"; - version = "0.95.0"; - hash = "sha256-5zmLCx6HuM/oBxfaAgo4y7/CYJJkiJEP9RvAsc1h/5w="; + version = "0.95.3"; + hash = "sha256-JxO3jvEVcYIkOPncCYLHJFbu0i2HYx7ltqEBzSNKRjM="; deps = [ dplyr ggplot2 @@ -575,8 +575,8 @@ in }; jaspMixedModels = buildJaspModule { pname = "jaspMixedModels"; - version = "0.95.0"; - hash = "sha256-EbB7rwlfRiGPI+QIi8/SygxJgsU5nOpZ2ZEg+mETX5Y="; + version = "0.95.3"; + hash = "sha256-rc0l9aYKVjpSruxutYxYHLRmDN045fBYXD3itKbzDYA="; deps = [ afex emmeans @@ -595,8 +595,8 @@ in }; jaspNetwork = buildJaspModule { pname = "jaspNetwork"; - version = "0.95.0"; - hash = "sha256-1RDkKRgNV6cToM2pVdHwIDE41UpFV0snIU54BEesVJw="; + version = "0.95.3"; + hash = "sha256-16qRhOgzFRgbImeIfTKZJyn8ZlGnohPp4/whabdDHeM="; deps = [ bootnet easybgm @@ -619,8 +619,8 @@ in }; jaspPower = buildJaspModule { pname = "jaspPower"; - version = "0.95.0"; - hash = "sha256-sLLJ6yqKbFlXrHPlm2G7NuHp+/kBl+kPRvi6vAy32Ds="; + version = "0.95.3"; + hash = "sha256-2PrPaksHMAFVYCPN+xigLDSyALarzrO4FTylMmi4+vk="; deps = [ pwr jaspBase @@ -630,8 +630,8 @@ in }; jaspPredictiveAnalytics = buildJaspModule { pname = "jaspPredictiveAnalytics"; - version = "0.95.0"; - hash = "sha256-850PruQnCGab0g3Vdlh1LSqWYLFJUCbGNt3gWjEWP34="; + version = "0.95.3"; + hash = "sha256-mQx/LsFDaD9zS2DqqiXfFNT019/J3HPdNsPzxWn2Pwc="; deps = [ jaspBase jaspGraphs @@ -651,8 +651,8 @@ in }; jaspProcess = buildJaspModule { pname = "jaspProcess"; - version = "0.95.0"; - hash = "sha256-LUlk9Iy538Zenzy+W1oJiCr7dcrBQVrl4gzflwnJVyc="; + version = "0.95.3"; + hash = "sha256-wWMpqOXOKEx3z0juBXfnfJvbKCeI+H/Wnhh24dNWJWw="; deps = [ blavaan dagitty @@ -666,8 +666,8 @@ in }; jaspProphet = buildJaspModule { pname = "jaspProphet"; - version = "0.95.0"; - hash = "sha256-lCgqH3CfZxRImq5VndZepiy/JaXJHHh1Haj+7XhZUSE="; + version = "0.95.3"; + hash = "sha256-AOm0oNqCHmkUdhC8Cqb4O9HkUoC9L8TFaSNcZ/DzoYQ="; deps = [ rstan ggplot2 @@ -679,8 +679,8 @@ in }; jaspQualityControl = buildJaspModule { pname = "jaspQualityControl"; - version = "0.95.0"; - hash = "sha256-6SvLe++9ipvHfX0Hi1xeBeoQeq+PdG9YTE5sewhqUHA="; + version = "0.95.3"; + hash = "sha256-zFxC3icKd84jjilwZBCe7JRV8S1eb4AO8UyBENXsF/U="; deps = [ car cowplot @@ -712,7 +712,7 @@ in }; jaspRegression = buildJaspModule { pname = "jaspRegression"; - version = "0.95.0-unstable-2025-08-27"; + version = "0.95.3"; rev = "b0ecad26bb248964e778ee6d4486d671b83930b2"; hash = "sha256-wm/Fz/wA7B96bzj8UylZjFgrrZgwOTdGnCsmfaCPGp0="; deps = [ @@ -742,8 +742,8 @@ in }; jaspReliability = buildJaspModule { pname = "jaspReliability"; - version = "0.95.0"; - hash = "sha256-wxx1ECm7QKDvLLKQZbEVYTHfyn3ieks69HSP/cg5dDQ="; + version = "0.95.3"; + hash = "sha256-80G8Z8JWxwyAer1GsQgzytEcSquCBW8Zmu92KKiHu1I="; deps = [ Bayesrel coda @@ -761,8 +761,8 @@ in }; jaspRobustTTests = buildJaspModule { pname = "jaspRobustTTests"; - version = "0.95.0"; - hash = "sha256-nw+7eZycdJ+DHlLaTSBWdHocnaZk95PBqYj8sVFlPSg="; + version = "0.95.3"; + hash = "sha256-txcItwNHq41ifdjvyY9Jhp2sfHJYA/YStTxpyk/lUPQ="; deps = [ RoBTT ggplot2 @@ -772,8 +772,8 @@ in }; jaspSem = buildJaspModule { pname = "jaspSem"; - version = "0.95.0"; - hash = "sha256-+cgP6KqSK4tXQ+Dg6OTEoXfzEJFNdnwAat6tyWyzSkU="; + version = "0.95.3"; + hash = "sha256-QI1OGAfyBJ9p3Nb/sI3A5sISXc4ZpsN1sPaJL/3chP8="; deps = [ forcats ggplot2 @@ -792,8 +792,8 @@ in }; jaspSummaryStatistics = buildJaspModule { pname = "jaspSummaryStatistics"; - version = "0.95.0"; - hash = "sha256-VuBDJtkDifDeatY3eX5RBd5ix6fB0QnJ1ZoM7am9SOA="; + version = "0.95.3"; + hash = "sha256-6OEnYhp4NBd8mr518Mz63F7eZ297unDRYLiOoWzlAbc="; deps = [ BayesFactor bstats @@ -810,8 +810,8 @@ in }; jaspSurvival = buildJaspModule { pname = "jaspSurvival"; - version = "0.95.0"; - hash = "sha256-IVN3Tcd+OgD4pancwyNomQMOfOvUnKIWG/nxKdjNxcw="; + version = "0.95.3"; + hash = "sha256-rrbzd8Iws7lhKPJGRtFLuFgRkqHa8B0R6ZH/HdHDk44="; deps = [ survival ggsurvfit @@ -822,8 +822,8 @@ in }; jaspTTests = buildJaspModule { pname = "jaspTTests"; - version = "0.95.0"; - hash = "sha256-CLrfa5X/q2Ruc+y3ruHnT/NhYQ4ESvxtJCH2JM/hf4o="; + version = "0.95.3"; + hash = "sha256-yuNLBi56qKCTCh/UNoYjA7YlyL/1B0QXsgN4C8SzQbs="; deps = [ BayesFactor car @@ -837,8 +837,8 @@ in }; jaspTestModule = buildJaspModule { pname = "jaspTestModule"; - version = "0.95.0"; - hash = "sha256-r+VzUxfvWYl/Fppq/TxCw1jI8F3dohsvb6qwlQHlFDA="; + version = "0.95.3"; + hash = "sha256-kzwGm4hHkO1+mzmCl792oDQimJrsw4xIhd+e91PrOMg="; deps = [ jaspBase jaspGraphs @@ -848,8 +848,8 @@ in }; jaspTimeSeries = buildJaspModule { pname = "jaspTimeSeries"; - version = "0.95.0"; - hash = "sha256-hQh9p6mX3NlkToh4uQRbPtwpNLlVwsILxH+9D2caZXk="; + version = "0.95.3"; + hash = "sha256-qOrLihjSH7cEazTiFJZIfMe9uGZ6ltZ3uMm+1fwPN7E="; deps = [ jaspBase jaspGraphs @@ -859,8 +859,8 @@ in }; jaspVisualModeling = buildJaspModule { pname = "jaspVisualModeling"; - version = "0.95.0"; - hash = "sha256-MX3NvfVoFPp2NLWYIYIoCdWKHxpcRhfyMCWj3VdIBC0="; + version = "0.95.3"; + hash = "sha256-KwFfgwBlukRmSltHt1LVzIMB/x2iCvRMc/Rrhmmxw98="; deps = [ flexplot jaspBase diff --git a/pkgs/by-name/ja/jasp-desktop/package.nix b/pkgs/by-name/ja/jasp-desktop/package.nix index d26980c3bdac..b2f666742cc4 100644 --- a/pkgs/by-name/ja/jasp-desktop/package.nix +++ b/pkgs/by-name/ja/jasp-desktop/package.nix @@ -3,7 +3,6 @@ stdenv, fetchFromGitHub, - fetchpatch, buildEnv, linkFarm, @@ -23,14 +22,14 @@ }: let - version = "0.95.0"; + version = "0.95.4"; src = fetchFromGitHub { owner = "jasp-stats"; repo = "jasp-desktop"; tag = "v${version}"; fetchSubmodules = true; - hash = "sha256-RR7rJJb0qKqZs7K3zP6GxlDXpmSNnGQ3WDExUgm9pKQ="; + hash = "sha256-n7lXedICK+sAuSW6hODy+TngAZpDIObWDhTtOjiTXgc="; }; moduleSet = import ./modules.nix { @@ -64,11 +63,6 @@ stdenv.mkDerivation { inherit version src; patches = [ - (fetchpatch { - name = "readstat-use-find-library.patch"; - url = "https://github.com/jasp-stats/jasp-desktop/commit/87c5a1f4724833aed0f7758499b917b3107ee196.patch"; - hash = "sha256-0CrMKJkZpS97KmQFvZPyV1h3C7eKVr/IT0dARYBoKFo="; - }) ./link-boost-dynamically.patch ./disable-module-install-logic.patch # don't try to install modules via cmake ./disable-renv-logic.patch From c3040d2675295fbd4a8673f28dd00fbbca640565 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 19 Jan 2026 23:50:25 +0100 Subject: [PATCH 0453/1216] jasp-desktop: refactor to use finalAttrs --- pkgs/by-name/ja/jasp-desktop/package.nix | 73 +++++++++++------------- 1 file changed, 34 insertions(+), 39 deletions(-) diff --git a/pkgs/by-name/ja/jasp-desktop/package.nix b/pkgs/by-name/ja/jasp-desktop/package.nix index b2f666742cc4..12a859281212 100644 --- a/pkgs/by-name/ja/jasp-desktop/package.nix +++ b/pkgs/by-name/ja/jasp-desktop/package.nix @@ -21,47 +21,17 @@ rPackages, }: -let +stdenv.mkDerivation (finalAttrs: { + pname = "jasp-desktop"; version = "0.95.4"; - src = fetchFromGitHub { owner = "jasp-stats"; repo = "jasp-desktop"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-n7lXedICK+sAuSW6hODy+TngAZpDIObWDhTtOjiTXgc="; }; - moduleSet = import ./modules.nix { - inherit fetchFromGitHub rPackages; - jasp-src = src; - jasp-version = version; - }; - - inherit (moduleSet) jaspBase modules; - - # Merges ${R}/lib/R with all used R packages (even propagated ones) - customREnv = buildEnv { - name = "jasp-${version}-env"; - paths = [ - "${R}/lib/R" - rPackages.RInside - jaspBase # Should already be propagated from modules, but include it again, just in case - ] - ++ lib.attrValues modules; - }; - - moduleLibs = linkFarm "jasp-${version}-module-libs" ( - lib.mapAttrsToList (name: drv: { - name = name; - path = "${drv}/library"; - }) modules - ); -in -stdenv.mkDerivation { - pname = "jasp-desktop"; - inherit version src; - patches = [ ./link-boost-dynamically.patch ./disable-module-install-logic.patch # don't try to install modules via cmake @@ -74,7 +44,7 @@ stdenv.mkDerivation { (lib.cmakeFeature "GITHUB_PAT_DEF" "dummy") (lib.cmakeBool "LINUX_LOCAL_BUILD" false) (lib.cmakeBool "INSTALL_R_MODULES" false) - (lib.cmakeFeature "CUSTOM_R_PATH" "${customREnv}") + (lib.cmakeFeature "CUSTOM_R_PATH" "${finalAttrs.passthru.customREnv}") ]; nativeBuildInputs = [ @@ -85,8 +55,8 @@ stdenv.mkDerivation { ]; buildInputs = [ + finalAttrs.passthru.customREnv boost - customREnv freexl libarchive librdata @@ -109,12 +79,37 @@ stdenv.mkDerivation { --replace-fail "Exec=org.jaspstats.JASP" "Exec=JASP" # symlink modules from the store - ln -s ${moduleLibs} $out/Modules/module_libs + ln -s ${finalAttrs.passthru.moduleLibs} $out/Modules/module_libs ''; passthru = { - inherit jaspBase modules; - env = customREnv; + inherit + (import ./modules.nix { + inherit fetchFromGitHub rPackages; + jasp-src = finalAttrs.src; + jasp-version = finalAttrs.version; + }) + jaspBase + modules + ; + + # Merges ${R}/lib/R with all used R packages (even propagated ones) + customREnv = buildEnv { + name = "jasp-desktop-${finalAttrs.version}-env"; + paths = [ + "${R}/lib/R" + rPackages.RInside + finalAttrs.passthru.jaspBase # Should already be propagated from modules, but include it again, just in case + ] + ++ lib.attrValues finalAttrs.passthru.modules; + }; + + moduleLibs = linkFarm "jasp-desktop-${finalAttrs.version}-module-libs" ( + lib.mapAttrsToList (name: drv: { + name = name; + path = "${drv}/library"; + }) finalAttrs.passthru.modules + ); }; meta = { @@ -128,4 +123,4 @@ stdenv.mkDerivation { # Perhaps the Darwin-specific things could be changed to be the same as Linux platforms = lib.platforms.linux; }; -} +}) From 9e1cb92a5fef2c0d011a0b8c1feba8924d16b7ed Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 01:15:46 +0000 Subject: [PATCH 0454/1216] wootility: 5.2.2 -> 5.2.3 --- pkgs/by-name/wo/wootility/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wo/wootility/package.nix b/pkgs/by-name/wo/wootility/package.nix index 577b8c22bb3a..7271e7da5e37 100644 --- a/pkgs/by-name/wo/wootility/package.nix +++ b/pkgs/by-name/wo/wootility/package.nix @@ -7,10 +7,10 @@ let pname = "wootility"; - version = "5.2.2"; + version = "5.2.3"; src = fetchurl { url = "https://wootility-updates.ams3.cdn.digitaloceanspaces.com/wootility-linux/Wootility-${version}.AppImage"; - sha256 = "sha256-0ROk+Qv874zxoHFznWbdVYSwdui5XNqHGu5hcWzo4Wg="; + sha256 = "sha256-AoToN2oQ0kUnXRYPDEFUk4jS/CXGOn4adD2gyaB/wGo="; }; in From 7a4387cee36d24af67c647d9b37a8f8e7cdf9c1e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 02:29:43 +0000 Subject: [PATCH 0455/1216] proton-pass: 1.33.4 -> 1.33.5 --- pkgs/by-name/pr/proton-pass/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/proton-pass/package.nix b/pkgs/by-name/pr/proton-pass/package.nix index 226559f00913..bf91216f834c 100644 --- a/pkgs/by-name/pr/proton-pass/package.nix +++ b/pkgs/by-name/pr/proton-pass/package.nix @@ -9,11 +9,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "proton-pass"; - version = "1.33.4"; + version = "1.33.5"; src = fetchurl { url = "https://proton.me/download/pass/linux/x64/proton-pass_${finalAttrs.version}_amd64.deb"; - hash = "sha256-sGO4BiVS1Zbs0y6UkBK42Tfq+VrLDcYXZA4U3xHaXmM="; + hash = "sha256-2H8zqo9UQubz2x7Pt1NG8OK14/ThvVS9Q0s73oTgbhs="; }; dontConfigure = true; From 09348bea1f09cc87315562708e33619faca0c303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Mon, 19 Jan 2026 20:27:17 -0600 Subject: [PATCH 0456/1216] rocmPackages.migraphx: fix abseil include currently errors with: cd /build/source/build/src/tf && /nix/store/pbmzp0a639n7bgch2ayainja9bvhfri9-clr-7.0.2/bin/amdclang++ -isystem /build/source/build/src/tf -isystem /nix/store/kiqarh0s4z2kcd7p3sq049kcc85syww8-protobuf-32.1/inclu> In file included from /build/source/build/src/onnx/onnx.pb.cc:6: In file included from /build/source/build/src/onnx/onnx.pb.h:20: /nix/store/kiqarh0s4z2kcd7p3sq049kcc85syww8-protobuf-32.1/include/google/protobuf/io/coded_stream.h:101:10: fatal error: 'absl/base/optimization.h' file not found 101 | #include "absl/base/optimization.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 5%] Building CXX object src/targets/gpu/CMakeFiles/embed_lib_migraphx_kernels.dir/migraphx/kernels/copy.hpp.cpp.o cd /build/source/build/src/targets/gpu && /nix/store/pbmzp0a639n7bgch2ayainja9bvhfri9-clr-7.0.2/bin/amdclang++ -I/build/source/build/src/targets/gpu/embed/migraphx_kernels/include -w -isystem/nix/store/46my897r> In file included from /build/source/build/src/tf/graph.pb.cc:6: In file included from /build/source/build/src/tf/graph.pb.h:20: /nix/store/kiqarh0s4z2kcd7p3sq049kcc85syww8-protobuf-32.1/include/google/protobuf/io/coded_stream.h:101:10: fatal error: 'absl/base/optimization.h' file not found 101 | #include "absl/base/optimization.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~ --- pkgs/development/rocm-modules/migraphx/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/rocm-modules/migraphx/default.nix b/pkgs/development/rocm-modules/migraphx/default.nix index f9ced2bd4b79..32eeb4a84227 100644 --- a/pkgs/development/rocm-modules/migraphx/default.nix +++ b/pkgs/development/rocm-modules/migraphx/default.nix @@ -147,7 +147,7 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' - export CXXFLAGS+=" -w -isystem${rocmlir}/include/rocmlir -I${half}/include -I${abseil-cpp}/include -I${hipblas-common}/include" + export CXXFLAGS+=" -w -isystem${rocmlir}/include/rocmlir -I${half}/include -I${lib.getInclude abseil-cpp}/include -I${hipblas-common}/include" patchShebangs tools # `error: '__clang_hip_runtime_wrapper.h' file not found [clang-diagnostic-error]` From 648bbd28fe43517aedce8a36aabcb867ee5cfdee Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 19 Jan 2026 22:09:34 +0100 Subject: [PATCH 0457/1216] phpPackages.composer: 2.9.2 -> 2.9.3 --- pkgs/development/php-packages/composer/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix index dc05187b4efb..cab170d1ae81 100644 --- a/pkgs/development/php-packages/composer/default.nix +++ b/pkgs/development/php-packages/composer/default.nix @@ -13,13 +13,13 @@ }: php.buildComposerProject2 (finalAttrs: { pname = "composer"; - version = "2.9.2"; + version = "2.9.3"; src = fetchFromGitHub { owner = "composer"; repo = "composer"; tag = finalAttrs.version; - hash = "sha256-Ke+QGcKPqm1wEVVYgUCL0K3nT+qmzWpRX6HcZnzdhgA="; + hash = "sha256-H5/YY0CKFlLdvEMzj3fr5QsEro0Y2/8gZInLQDbGR30="; }; nativeBuildInputs = [ @@ -33,7 +33,7 @@ php.buildComposerProject2 (finalAttrs: { inherit (finalAttrs.passthru) pharHash; }; - vendorHash = "sha256-cqELlLH7d5KR62uVn7VtpQhVjkhXZkclXfc5d8RAG5Y="; + vendorHash = "sha256-4RFIegm7NFTpEbW11BtKB2BV+5VrSAhNrk125PcrBTw="; postInstall = '' wrapProgram $out/bin/composer \ @@ -55,7 +55,7 @@ php.buildComposerProject2 (finalAttrs: { # use together with the version from this package to keep the # bootstrap phar file up-to-date together with the end user composer # package. - passthru.pharHash = "sha256-Rx8thXq/DsGK97BV5hRyIU2RrbJPm9u7hkwcZPqtfdY="; + passthru.pharHash = "sha256-Oz+VA6LUZZAXDkXt0pc0GX55fOpUWzltCygjysjvRkM="; meta = { changelog = "https://github.com/composer/composer/releases/tag/${finalAttrs.version}"; From 68098c20d0b75869139b5ececec4bf3a6b24b685 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Sun, 18 Jan 2026 21:49:55 -0800 Subject: [PATCH 0458/1216] llvmPackages_22: init 22.1.0-rc1 --- pkgs/development/compilers/llvm/default.nix | 1 + pkgs/top-level/all-packages.nix | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index e21bb3bb105a..89c246d7cbd5 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -26,6 +26,7 @@ let "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; "20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw="; "21.1.7".officialRelease.sha256 = "sha256-SaRJ7+iZMhhBdcUDuJpMAY4REQVhrvYMqI2aq3Kz08o="; + "22.1.0-rc1".officialRelease.sha256 = "sha256-uyLW+z4rp4iL25eNfGF7BbvE91smx+XqFDH+GEnvd7c="; "23.0.0-git".gitRelease = { rev = "2a8a694b508df2fa519283afa0211f4cd04cab6c"; rev-version = "22.0.0-unstable-2026-01-18"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 45b43e5a3a73..3b1d60cb0b27 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4859,6 +4859,14 @@ with pkgs; bolt_21 = llvmPackages_21.bolt; flang_21 = llvmPackages_21.flang; + llvmPackages_22 = llvmPackagesSet."22"; + clang_22 = llvmPackages_22.clang; + lld_22 = llvmPackages_22.lld; + lldb_22 = llvmPackages_22.lldb; + llvm_22 = llvmPackages_22.llvm; + bolt_22 = llvmPackages_22.bolt; + flang_22 = llvmPackages_22.flang; + mkLLVMPackages = llvmPackagesSet.mkPackage; }) llvmPackages_18 @@ -4886,6 +4894,13 @@ with pkgs; llvm_21 bolt_21 flang_21 + llvmPackages_22 + clang_22 + lld_22 + lldb_22 + llvm_22 + bolt_22 + flang_22 mkLLVMPackages ; From c3da3ac40bcd18cd5a6d4ef8b49cfdd299db8634 Mon Sep 17 00:00:00 2001 From: Marie Ramlow Date: Tue, 20 Jan 2026 08:14:31 +0000 Subject: [PATCH 0459/1216] appium-inspector: 2025.8.2 -> 2026.1.2 --- pkgs/by-name/ap/appium-inspector/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ap/appium-inspector/package.nix b/pkgs/by-name/ap/appium-inspector/package.nix index 473216d965f1..d7bfdf16faef 100644 --- a/pkgs/by-name/ap/appium-inspector/package.nix +++ b/pkgs/by-name/ap/appium-inspector/package.nix @@ -2,7 +2,7 @@ lib, buildNpmPackage, copyDesktopItems, - electron_38, + electron_39, fetchFromGitHub, makeDesktopItem, makeWrapper, @@ -10,8 +10,8 @@ }: let - electron = electron_38; - version = "2025.8.2"; + electron = electron_39; + version = "2026.1.2"; in buildNpmPackage { @@ -22,10 +22,10 @@ buildNpmPackage { owner = "appium"; repo = "appium-inspector"; tag = "v${version}"; - hash = "sha256-v3UN58dJ+rSdFx+99xRMI88gnJ/hgL48Lr7AMjNgXMY="; + hash = "sha256-uNRm6XHgK55gayl4ab9atV4+i9uCnxEcl4C6HEOX6Ro="; }; - npmDepsHash = "sha256-rlmAZyznoLSudAf7k1mgf13CO+9mlDB3HhubPga+30Q="; + npmDepsHash = "sha256-MraVLbKNgEhwT9sTyNhi4uDfyXOEAGOznvSs0B+mEUA="; npmFlags = [ "--ignore-scripts" ]; nativeBuildInputs = [ From 5128e4915fcf784fd44e1594297b256fc2c1937f Mon Sep 17 00:00:00 2001 From: eljamm Date: Tue, 20 Jan 2026 09:33:40 +0000 Subject: [PATCH 0460/1216] linux_xanmod: 6.12.65 -> 6.12.66 - Changelog: https://dl.xanmod.org/changelog/6.12/ChangeLog-6.12.66-xanmod1.gz - Diff: https://gitlab.com/xanmod/linux/-/compare/6.12.65-xanmod1..6.12.66-xanmod1?from_project_id=51590166 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 1fbce8b042c2..b7283d1467d8 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -15,8 +15,8 @@ let variants = { # ./update-xanmod.sh lts lts = { - version = "6.12.65"; - hash = "sha256-TBzCitE2JHmUa9syiOzMKOYCc1194W8b4uDOLCP/6KE="; + version = "6.12.66"; + hash = "sha256-TjfSGArDcBysHtu6w9fYU1PflStZitIZDFnb6pGeLP0="; isLTS = true; }; # ./update-xanmod.sh main From d04e2a1ea34eac1823866235d6f3814bbe674429 Mon Sep 17 00:00:00 2001 From: eljamm Date: Tue, 20 Jan 2026 09:37:03 +0000 Subject: [PATCH 0461/1216] linux_xanmod_latest: 6.18.5 -> 6.18.6 - Changelog: https://dl.xanmod.org/changelog/6.18/ChangeLog-6.18.6-xanmod1.gz - Diff: https://gitlab.com/xanmod/linux/-/compare/6.18.5-xanmod1..6.18.6-xanmod1?from_project_id=51590166 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index b7283d1467d8..2c61bac2a476 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -21,8 +21,8 @@ let }; # ./update-xanmod.sh main main = { - version = "6.18.5"; - hash = "sha256-G3nG41foET2Ae84gLmB3P6GylnMN2Bp55bnXY/MNI+k="; + version = "6.18.6"; + hash = "sha256-rz5oGDgZZsBbYqP1Du+gGKUuoDMiKMXsLSxnpASHRjc="; }; }; From 2b2f9deedb1c56f11cf0b435e9f3fcfa724f274d Mon Sep 17 00:00:00 2001 From: provokateurin Date: Tue, 20 Jan 2026 11:30:25 +0100 Subject: [PATCH 0462/1216] nixos/nextcloud: Use certificates bundle from path --- nixos/modules/services/web-apps/nextcloud.nix | 25 ++++++++----------- pkgs/servers/nextcloud/default.nix | 6 ----- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 418198375bb8..fef72c5b1392 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -7,10 +7,6 @@ let cfg = config.services.nextcloud; - overridePackage = cfg.package.override { - inherit (config.security.pki) caBundle; - }; - fpm = config.services.phpfpm.pools.nextcloud; jsonFormat = pkgs.formats.json { }; @@ -53,13 +49,13 @@ let }; webroot = - pkgs.runCommand "${overridePackage.name or "nextcloud"}-with-apps" + pkgs.runCommand "${cfg.package.name or "nextcloud"}-with-apps" { preferLocalBuild = true; } '' mkdir $out - ln -sfv "${overridePackage}"/* "$out" + ln -sfv "${cfg.package}"/* "$out" ${lib.concatStrings ( lib.mapAttrsToList ( name: store: @@ -1221,13 +1217,13 @@ in If you have an existing installation with a custom table prefix, make sure it is set correctly in `config.php` and remove the option from your NixOS config. '') - ++ (lib.optional (lib.versionOlder overridePackage.version "26") (upgradeWarning 25 "23.05")) - ++ (lib.optional (lib.versionOlder overridePackage.version "27") (upgradeWarning 26 "23.11")) - ++ (lib.optional (lib.versionOlder overridePackage.version "28") (upgradeWarning 27 "24.05")) - ++ (lib.optional (lib.versionOlder overridePackage.version "29") (upgradeWarning 28 "24.11")) - ++ (lib.optional (lib.versionOlder overridePackage.version "30") (upgradeWarning 29 "24.11")) - ++ (lib.optional (lib.versionOlder overridePackage.version "31") (upgradeWarning 30 "25.05")) - ++ (lib.optional (lib.versionOlder overridePackage.version "32") (upgradeWarning 31 "25.11")); + ++ (lib.optional (lib.versionOlder cfg.package.version "26") (upgradeWarning 25 "23.05")) + ++ (lib.optional (lib.versionOlder cfg.package.version "27") (upgradeWarning 26 "23.11")) + ++ (lib.optional (lib.versionOlder cfg.package.version "28") (upgradeWarning 27 "24.05")) + ++ (lib.optional (lib.versionOlder cfg.package.version "29") (upgradeWarning 28 "24.11")) + ++ (lib.optional (lib.versionOlder cfg.package.version "30") (upgradeWarning 29 "24.11")) + ++ (lib.optional (lib.versionOlder cfg.package.version "31") (upgradeWarning 30 "25.05")) + ++ (lib.optional (lib.versionOlder cfg.package.version "32") (upgradeWarning 31 "25.11")); services.nextcloud.package = lib.mkDefault ( if pkgs ? nextcloud then @@ -1289,7 +1285,7 @@ in } { assertion = - lib.versionAtLeast overridePackage.version "32.0.0" + lib.versionAtLeast cfg.package.version "32.0.0" || (cfg.config.adminuser != null && cfg.config.adminpassFile != null); message = '' Disabling initial admin user creation is only available on Nextcloud >= 32.0.0. @@ -1622,6 +1618,7 @@ in "upgrade.disable-web" = true; # NixOS already provides its own integrity check and the nix store is read-only, therefore Nextcloud does not need to do its own integrity checks. "integrity.check.disabled" = true; + "default_certificates_bundle_path" = config.security.pki.caBundle; } (lib.mkIf cfg.configureRedis { "memcache.distributed" = ''\OC\Memcache\Redis''; diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index be82ae1d9227..6dcffd02e67f 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -3,8 +3,6 @@ stdenvNoCC, fetchurl, nixosTests, - cacert, - caBundle ? "${cacert}/etc/ssl/certs/ca-bundle.crt", nextcloud31Packages, nextcloud32Packages, }: @@ -34,10 +32,6 @@ let inherit packages; }; - postPatch = '' - cp ${caBundle} resources/config/ca-bundle.crt - ''; - installPhase = '' runHook preInstall mkdir -p $out/ From c4d17a2ad0bd0de9842474d0a52f51fb95216d00 Mon Sep 17 00:00:00 2001 From: Hritwik Date: Sat, 20 Dec 2025 14:23:37 +0530 Subject: [PATCH 0463/1216] filebrowser: 2.44.0 -> 2.55.0 Signed-off-by: Hritwik --- pkgs/by-name/fi/filebrowser/package.nix | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/fi/filebrowser/package.nix b/pkgs/by-name/fi/filebrowser/package.nix index 3c9bf2465022..7c4498e2ae0c 100644 --- a/pkgs/by-name/fi/filebrowser/package.nix +++ b/pkgs/by-name/fi/filebrowser/package.nix @@ -3,20 +3,22 @@ fetchFromGitHub, buildGoModule, buildNpmPackage, - pnpm_9, fetchPnpmDeps, pnpmConfigHook, + nodejs_24, + pnpm_10, nix-update-script, nixosTests, }: + let - version = "2.44.1"; + version = "2.55.0"; src = fetchFromGitHub { owner = "filebrowser"; repo = "filebrowser"; rev = "v${version}"; - hash = "sha256-ln7Dst+sN99c3snPU7DrIGpwKBz/e4Lz+uOknmm6sxg="; + hash = "sha256-1ZzTATJEVBr76+CMk8OzxdpWGqFHPPhyC7z2MgfqN+M="; }; frontend = buildNpmPackage rec { @@ -25,9 +27,10 @@ let sourceRoot = "${src.name}/frontend"; - nativeBuildInputs = [ pnpm_9 ]; + nativeBuildInputs = [ pnpm_10 ]; npmConfigHook = pnpmConfigHook; npmDeps = pnpmDeps; + nodejs = nodejs_24; pnpmDeps = fetchPnpmDeps { inherit @@ -36,9 +39,9 @@ let src sourceRoot ; - pnpm = pnpm_9; - fetcherVersion = 2; - hash = "sha256-3n44BGJLdQR6uBSF09oyUzJm35/S3/ZEyZh4Wxqlfiw="; + fetcherVersion = 3; + pnpm = pnpm_10; + hash = "sha256-iv0LZoEyF5fASqBKNkTJhLMY0Xpa6x0i4csDoHmGU+g="; }; installPhase = '' @@ -50,12 +53,13 @@ let runHook postInstall ''; }; + in buildGoModule { pname = "filebrowser"; inherit version src; - vendorHash = "sha256-aVtL64Cm+nqum/qHFvplpEawgMXM2S6l8QFrJBzLVtU="; + vendorHash = "sha256-4WDggP5eL7IPUWTxewxV2JUZZ3kV0PwewQQothz7AC8="; excludedPackages = [ "tools" ]; From 7cce734cd3dc70ec1e984ef90186148264473fdc Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 18 Jan 2026 14:15:06 +0200 Subject: [PATCH 0464/1216] uhd: remove unused expression arguments --- pkgs/by-name/uh/uhd/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/uh/uhd/package.nix b/pkgs/by-name/uh/uhd/package.nix index 91fe583eaa04..e62c01e6ae98 100644 --- a/pkgs/by-name/uh/uhd/package.nix +++ b/pkgs/by-name/uh/uhd/package.nix @@ -1,8 +1,6 @@ { lib, stdenv, - substitute, - fetchpatch, fetchurl, fetchFromGitHub, cmake, From b917d63a445afd70b671242ba4af4ac03df1c3c4 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 18 Jan 2026 14:16:10 +0200 Subject: [PATCH 0465/1216] uhd: use cmakeBool for more cmakeFlags --- pkgs/by-name/uh/uhd/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/uh/uhd/package.nix b/pkgs/by-name/uh/uhd/package.nix index e62c01e6ae98..39bfff14d328 100644 --- a/pkgs/by-name/uh/uhd/package.nix +++ b/pkgs/by-name/uh/uhd/package.nix @@ -98,11 +98,11 @@ stdenv.mkDerivation (finalAttrs: { }; cmakeFlags = [ - "-DENABLE_LIBUHD=ON" - "-DENABLE_USB=ON" + (cmakeBool "ENABLE_LIBUHD" true) + (cmakeBool "ENABLE_USB" true) # Regardless of doCheck, we want to build the tests to help us gain # confident that the package is OK. - "-DENABLE_TESTS=ON" + (cmakeBool "ENABLE_TESTS" true) (cmakeBool "ENABLE_EXAMPLES" enableExamples) (cmakeBool "ENABLE_UTILS" enableUtils) (cmakeBool "ENABLE_C_API" enableCApi) From e48aceb1507945c3390c4a32f7ccd3bbcf8f20e6 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 13:35:05 +0200 Subject: [PATCH 0466/1216] uhd: allow to evaluate pythonPath without evaluating package Will help in the next commits when uhd will be marked as broken on Darwin. --- pkgs/by-name/uh/uhd/package.nix | 51 +++++++++++++++++---------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/pkgs/by-name/uh/uhd/package.nix b/pkgs/by-name/uh/uhd/package.nix index 39bfff14d328..d0ec3349b572 100644 --- a/pkgs/by-name/uh/uhd/package.nix +++ b/pkgs/by-name/uh/uhd/package.nix @@ -64,32 +64,33 @@ stdenv.mkDerivation (finalAttrs: { # hash. sha256 = "194gsmvn7gmwj7b1lw9sq0d0y0babbd0q1229qbb3qjc6f6m0p0y"; }; - # This are the minimum required Python dependencies, this attribute might - # be useful if you want to build a development environment with a python - # interpreter able to import the uhd module. - pythonPath = - optionals (enablePythonApi || enableUtils) [ - python3.pkgs.numpy - python3.pkgs.setuptools - ] - ++ optionals enableUtils [ - python3.pkgs.requests - python3.pkgs.six - - /* - These deps are needed for the usrp_hwd.py utility, however even if they - would have been added here, the utility wouldn't have worked because it - depends on an old python library mprpc that is not supported for Python > - 3.8. See also report upstream: - https://github.com/EttusResearch/uhd/issues/744 - - python3.pkgs.gevent - python3.pkgs.pyudev - python3.pkgs.pyroute2 - */ - ]; + inherit (finalAttrs.finalPackage.passthru) pythonPath; passthru = { - runtimePython = python3.withPackages (ps: finalAttrs.pythonPath); + runtimePython = python3.withPackages (ps: finalAttrs.finalPackage.passthru.pythonPath); + # This are the minimum required Python dependencies, this attribute might + # be useful if you want to build a development environment with a python + # interpreter able to import the uhd module. + pythonPath = + optionals (enablePythonApi || enableUtils) [ + python3.pkgs.numpy + python3.pkgs.setuptools + ] + ++ optionals enableUtils [ + python3.pkgs.requests + python3.pkgs.six + + /* + These deps are needed for the usrp_hwd.py utility, however even if they + would have been added here, the utility wouldn't have worked because it + depends on an old python library mprpc that is not supported for Python > + 3.8. See also report upstream: + https://github.com/EttusResearch/uhd/issues/744 + + python3.pkgs.gevent + python3.pkgs.pyudev + python3.pkgs.pyroute2 + */ + ]; updateScript = [ ./update.sh # Pass it this file name as argument From e15dbdf23e428db34ac38efd0d9bb0dbfb43474e Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 11:51:44 +0200 Subject: [PATCH 0467/1216] uhd: 4.9.0.0 -> 4.9.0.1 --- pkgs/by-name/uh/uhd/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/uh/uhd/package.nix b/pkgs/by-name/uh/uhd/package.nix index d0ec3349b572..09368516d564 100644 --- a/pkgs/by-name/uh/uhd/package.nix +++ b/pkgs/by-name/uh/uhd/package.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { # # nix-shell maintainers/scripts/update.nix --argstr package uhd --argstr commit true # - version = "4.9.0.0"; + version = "4.9.0.1"; outputs = [ "out" @@ -55,14 +55,14 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; # The updateScript relies on the `src` using `hash`, and not `sha256. To # update the correct hash for the `src` vs the `uhdImagesSrc` - hash = "sha256-XA/ADJ0HjD6DxqFTVMwFa7tRgM56mHAEL+a0paWxKyM="; + hash = "sha256-AOZYCmkgsM09YORW7dVsPAwecXNZQOxOscJnVOlMoP0="; }; # Firmware images are downloaded (pre-built) from the respective release on Github uhdImagesSrc = fetchurl { url = "https://github.com/EttusResearch/uhd/releases/download/v${finalAttrs.version}/uhd-images_${finalAttrs.version}.tar.xz"; # Please don't convert this to a hash, in base64, see comment near src's # hash. - sha256 = "194gsmvn7gmwj7b1lw9sq0d0y0babbd0q1229qbb3qjc6f6m0p0y"; + sha256 = "15ahcxb7hsylvdzzv0q0shd3wqm7p2y4kzbqk85cvsxbdklxhsvn"; }; inherit (finalAttrs.finalPackage.passthru) pythonPath; passthru = { From 00fd30401e1dd97bfeb14108c69deced2770e8a2 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 20 Jan 2026 13:01:28 +0000 Subject: [PATCH 0468/1216] python3Packages.torchdata: skip failing tests on python>=3.14 --- .../python-modules/torchdata/default.nix | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/torchdata/default.nix b/pkgs/development/python-modules/torchdata/default.nix index f74d9e159970..0466f6b68e00 100644 --- a/pkgs/development/python-modules/torchdata/default.nix +++ b/pkgs/development/python-modules/torchdata/default.nix @@ -19,9 +19,10 @@ parameterized, pytest-xdist, pytestCheckHook, + pythonAtLeast, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "torchdata"; version = "0.11.0"; pyproject = true; @@ -29,7 +30,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "meta-pytorch"; repo = "data"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-TSkZLL4WDSacuX4tl0+1bKSJCRI3LEhAyU3ztdlUvgk="; }; @@ -55,16 +56,24 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ - # RuntimeError: DataLoader timed out after 5 seconds - "test_ind_worker_queue" - ]; + disabledTests = + lib.optionals (pythonAtLeast "3.14") [ + # _pickle.PicklingError: Can't pickle local object <...worker_set_affinity at 0x7ffbcfa1ba00> + "test_set_affinity_in_worker_init" + + # RuntimeError: DataLoader timed out after 5 seconds + "test_ind_worker_queue" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # RuntimeError: DataLoader timed out after 5 seconds + "test_ind_worker_queue" + ]; meta = { description = "Iterative enhancement to the PyTorch torch.utils.data.DataLoader and torch.utils.data.Dataset/IterableDataset"; homepage = "https://github.com/meta-pytorch/data"; - changelog = "https://github.com/meta-pytorch/data/releases/tag/${src.tag}"; + changelog = "https://github.com/meta-pytorch/data/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) From 1182b122cd60f92972dd0c5dfaa90a51dcd03833 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 13:47:02 +0000 Subject: [PATCH 0469/1216] cdk: 5.0-20251014 -> 5.0-20260119 --- pkgs/by-name/cd/cdk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cd/cdk/package.nix b/pkgs/by-name/cd/cdk/package.nix index e948031c33a2..a4a361e5d251 100644 --- a/pkgs/by-name/cd/cdk/package.nix +++ b/pkgs/by-name/cd/cdk/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "cdk"; - version = "5.0-20251014"; + version = "5.0-20260119"; src = fetchurl { url = "https://invisible-mirror.net/archives/cdk/cdk-${finalAttrs.version}.tgz"; - hash = "sha256-DtRpScaApfQuNCzEiizmC8/CzIue67F2h3takfgpQ1w="; + hash = "sha256-RrtoRB5pinsfZC4lZJaKdwCv7wOGRCr9XPLnspbTDuU="; }; buildInputs = [ From ef29dd63d5613d346f864973d5bc58eb2a7e2dab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 14:05:43 +0000 Subject: [PATCH 0470/1216] ngtcp2-gnutls: 1.19.0 -> 1.20.0 --- pkgs/development/libraries/ngtcp2/gnutls.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ngtcp2/gnutls.nix b/pkgs/development/libraries/ngtcp2/gnutls.nix index 669203acb2be..17e1f569f8c6 100644 --- a/pkgs/development/libraries/ngtcp2/gnutls.nix +++ b/pkgs/development/libraries/ngtcp2/gnutls.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ngtcp2"; - version = "1.19.0"; + version = "1.20.0"; src = fetchFromGitHub { owner = "ngtcp2"; repo = "ngtcp2"; rev = "v${version}"; - hash = "sha256-u+dgcC/MWzRCIeynvZimR8EB/GX7Z33T8BFZ1O++YLk="; + hash = "sha256-8enkRWmPLZXBtlD9v8N7zuZB+Fv+igl30W7q2UqI2ZE="; }; outputs = [ From c5704100abf2fb1a41c96133be68619752be655c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 14:25:46 +0000 Subject: [PATCH 0471/1216] gcsfuse: 3.5.6 -> 3.6.0 --- pkgs/by-name/gc/gcsfuse/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gc/gcsfuse/package.nix b/pkgs/by-name/gc/gcsfuse/package.nix index e9e1b7785eb2..246b2cc04197 100644 --- a/pkgs/by-name/gc/gcsfuse/package.nix +++ b/pkgs/by-name/gc/gcsfuse/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "gcsfuse"; - version = "3.5.6"; + version = "3.6.0"; src = fetchFromGitHub { owner = "googlecloudplatform"; repo = "gcsfuse"; rev = "v${version}"; - hash = "sha256-lmvIj0Omq/gJoF/d2byzyYoBsaJXxlMLp3v3QULFUWU="; + hash = "sha256-E2xjJ0zy32fI34d/RcPNNwdQR4+V+jB45UehgJt2LpM="; }; - vendorHash = "sha256-v+71MA4x+WUj6ROuIbuhP1S+f8UbKFjkS8XpFFM3qyk="; + vendorHash = "sha256-Ftkrb94g9w5o64EX4dKIw0jkinaaH5G8MFfbvCWS80k="; subPackages = [ "." From 6f3c7db3465013faaa4dfb6f9beb1b5853c06628 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Mon, 13 Feb 2023 17:49:31 +0200 Subject: [PATCH 0472/1216] linux-enable-ir-emitter: init at 6.1.2 --- .../li/linux-enable-ir-emitter/package.nix | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pkgs/by-name/li/linux-enable-ir-emitter/package.nix diff --git a/pkgs/by-name/li/linux-enable-ir-emitter/package.nix b/pkgs/by-name/li/linux-enable-ir-emitter/package.nix new file mode 100644 index 000000000000..220faab6e30f --- /dev/null +++ b/pkgs/by-name/li/linux-enable-ir-emitter/package.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenv, + makeWrapper, + fetchFromGitHub, + meson, + ninja, + pkg-config, + argparse, + gtk3, + python3, + spdlog, + usbutils, + yaml-cpp, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "linux-enable-ir-emitter"; + version = "6.1.2"; + + src = fetchFromGitHub { + owner = "EmixamPP"; + repo = "linux-enable-ir-emitter"; + tag = finalAttrs.version; + hash = "sha256-wSmWebX4H3Hj8bbFoVMq3DY3i/nKkQaeu3mXX0o6IaY="; + }; + + nativeBuildInputs = [ + makeWrapper + meson + ninja + pkg-config + ]; + + buildInputs = [ + argparse + gtk3 + spdlog + usbutils + yaml-cpp + python3.pkgs.opencv4Full + ]; + + mesonFlags = lib.lists.flatten [ + (lib.attrsets.mapAttrsToList lib.strings.mesonOption { + config_dir = "/var/lib"; + localstatedir = "/var"; + }) + (lib.attrsets.mapAttrsToList lib.strings.mesonBool { + create_config_dir = false; + create_log_dir = false; + }) + ]; + + meta = { + description = "Provides support for infrared cameras that are not directly enabled out-of-the box"; + homepage = "https://github.com/EmixamPP/linux-enable-ir-emitter"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fufexan ]; + mainProgram = "linux-enable-ir-emitter"; + platforms = lib.platforms.linux; + }; +}) From 7a3e9ef2a1754a597180b81742bbc196d5fa6527 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Mon, 13 Feb 2023 18:53:46 +0200 Subject: [PATCH 0473/1216] howdy: init at 3.0.0 --- pkgs/by-name/ho/howdy/package.nix | 166 ++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 pkgs/by-name/ho/howdy/package.nix diff --git a/pkgs/by-name/ho/howdy/package.nix b/pkgs/by-name/ho/howdy/package.nix new file mode 100644 index 000000000000..76736305daf9 --- /dev/null +++ b/pkgs/by-name/ho/howdy/package.nix @@ -0,0 +1,166 @@ +{ + stdenv, + lib, + copyDesktopItems, + fetchFromGitHub, + fetchpatch, + fetchurl, + bzip2, + gobject-introspection, + imagemagick, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + makeDesktopItem, + makeWrapper, + fmt, + gettext, + gtk3, + inih, + libevdev, + pam, + python3, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "howdy"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "boltgolt"; + repo = "howdy"; + # The 3.0.0 release does not have a corresponding tag yet. + # The maintainer was asked to provide one here https://github.com/boltgolt/howdy/pull/1023#issuecomment-3722339500 + rev = "d3ab99382f88f043d15f15c1450ab69433892a1c"; + hash = "sha256-Xd/uScMnX1GMwLD5GYSbE2CwEtzrhwHocsv0ESKV8IM="; + }; + + patches = [ + # Allows specifying whether to install config file. Paired with the + # `install_config` meson option. Needed to disallow installing the config + # file in `/etc/howdy`, as it is not allowed by the Nix sandbox. A NixOS + # module creates `/etc/howdy` and the config file of course. + # PR sent upstream https://github.com/boltgolt/howdy/pull/1050 + (fetchpatch { + url = "https://github.com/boltgolt/howdy/commit/1f3b83e2db5a8dfd9c7c88706ecce033e154060a.patch"; + hash = "sha256-OIN8A4q0zjtMOMzZgBqrKy2qOD8BDPB+euG6zerFbCE="; + }) + + # Fix python path for howdy-gtk. Uses python from meson option instead of + # the system installation (which is not defined in this package). + # PR sent upstream https://github.com/boltgolt/howdy/pull/1049 + (fetchpatch { + url = "https://github.com/boltgolt/howdy/commit/b056724f84361dc6150554e7a806152af032c54b.patch"; + hash = "sha256-ZOb+QmWagKWtyXI0Xg00tnw8UP8uDWw7wb4Fwjy3VeE="; + }) + ]; + + mesonFlags = lib.concatLists [ + (lib.mapAttrsToList lib.mesonOption { + config_dir = "/etc/howdy"; + python_path = "${finalAttrs.finalPackage.pythonEnv}/bin/python"; + user_models_dir = "/var/lib/howdy/models"; + }) + (lib.mapAttrsToList lib.mesonBool { + install_config = false; + with_polkit = true; + }) + ]; + + nativeBuildInputs = [ + bzip2 + copyDesktopItems + gobject-introspection + imagemagick + meson + ninja + pkg-config + wrapGAppsHook3 + makeWrapper + ]; + + buildInputs = [ + fmt + gettext + gtk3 + inih + libevdev + pam + ]; + + desktopItems = [ + (makeDesktopItem { + name = "howdy"; + exec = "howdy-gtk"; + icon = "howdy"; + comment = "Howdy facial authentication"; + desktopName = "Howdy"; + genericName = "Facial authentication"; + categories = [ + "System" + "Security" + ]; + }) + ]; + + postInstall = '' + # install dlib data + rm -rf $out/share/dlib-data/* + ${lib.concatStrings ( + lib.mapAttrsToList (n: v: '' + bzip2 -dc ${v} > $out/share/dlib-data/${n}.dat + '') finalAttrs.finalPackage.passthru.dlibModels + )} + + for size in 16 24 32 48 64 128 256 512; do + mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps + magick -background none "$out/share/howdy-gtk/logo.png" -resize "$size"x"$size" $out/share/icons/hicolor/"$size"x"$size"/apps/howdy.png + done + + chmod +x $out/lib/howdy-gtk/init.py + ''; + + pythonEnv = python3.buildEnv.override { + extraLibs = lib.attrVals finalAttrs.finalPackage.passthru.pythonDeps python3.pkgs; + makeWrapperArgs = [ + "--set" + "OMP_NUM_THREADS" + "1" + ]; + }; + + passthru = { + pythonDeps = [ + "dlib" + "elevate" + "face-recognition" + "keyboard" + "opencv4Full" + "pycairo" + "pygobject3" + ]; + dlibModels = lib.mapAttrs ( + name: hash: + fetchurl { + name = "howdy-${name}.dat"; + url = "https://github.com/davisking/dlib-models/raw/daf943f7819a3dda8aec4276754ef918dc26491f/${name}.dat.bz2"; + inherit hash; + } + ) finalAttrs.finalPackage.passthru.dlibModelsHashes; + dlibModelsHashes = { + dlib_face_recognition_resnet_model_v1 = "sha256-q7H2EEHkNEZYVc6Bwr1UboMNKLy+2NJ/++W7QIsRVTo="; + mmod_human_face_detector = "sha256-256eQPCSwRjV6z5kOTWyFoOBcHk1WVFVQcVqK1DZ/IQ="; + shape_predictor_5_face_landmarks = "sha256-bnh7vr9cnv23k/bNHwIyMMRBMwZgXyTymfEoaflapHI="; + }; + }; + + meta = { + description = "Windows Hello™ style facial authentication for Linux"; + homepage = "https://github.com/boltgolt/howdy"; + license = lib.licenses.mit; + mainProgram = "howdy"; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ fufexan ]; + }; +}) From c29b9ef82a8d9d75970bf5037c7facb623b418f3 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Wed, 22 Oct 2025 22:53:40 +0300 Subject: [PATCH 0474/1216] nixos/howdy: init --- .../manual/release-notes/rl-2605.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/security/pam.nix | 50 +++++++ .../services/security/howdy/default.nix | 122 ++++++++++++++++++ 4 files changed, 175 insertions(+) create mode 100644 nixos/modules/services/security/howdy/default.nix diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 12e0580cc96d..7d6e7e34d2a9 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -36,6 +36,8 @@ - [Dawarich](https://dawarich.app/), a self-hostable location history tracker. Available as [services.dawarich](#opt-services.dawarich.enable). +- [Howdy](https://github.com/boltgolt/howdy), a Windows Hello™ style facial authentication program for Linux. + - [udp-over-tcp](https://github.com/mullvad/udp-over-tcp), a tunnel for proxying UDP traffic over a TCP stream. Available as `services.udp-over-tcp`. - [Komodo Periphery](https://github.com/moghtech/komodo), a multi-server Docker and Git deployment agent by Komodo. Available as [services.komodo-periphery](#opt-services.komodo-periphery.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index bec540d6f504..19be56b1241c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1488,6 +1488,7 @@ ./services/security/hockeypuck.nix ./services/security/hologram-agent.nix ./services/security/hologram-server.nix + ./services/security/howdy ./services/security/infnoise.nix ./services/security/intune.nix ./services/security/jitterentropy-rngd.nix diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 12fdf781e9ec..176a8e4c79eb 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -322,6 +322,28 @@ let ''; }; + howdy = { + enable = lib.mkOption { + default = config.security.pam.howdy.enable; + defaultText = lib.literalExpression "config.security.pam.howdy.enable"; + type = lib.types.bool; + description = '' + Whether to enable the Howdy PAM module. + + If set, users can be authenticated using Howdy, the Windows + Hello™-style facial authentication service. + ''; + }; + control = lib.mkOption { + default = config.security.pam.howdy.control; + defaultText = lib.literalExpression "config.security.pam.howdy.control"; + type = lib.types.str; + description = '' + This option sets the PAM "control" used for this module. + ''; + }; + }; + oathAuth = lib.mkOption { default = config.security.pam.oath.enable; defaultText = lib.literalExpression "config.security.pam.oath.enable"; @@ -951,6 +973,12 @@ let control = "sufficient"; modulePath = "${config.services.fprintd.package}/lib/security/pam_fprintd.so"; } + { + name = "howdy"; + enable = cfg.howdy.enable; + control = cfg.howdy.control; + modulePath = "${config.services.howdy.package}/lib/security/pam_howdy.so"; + } ] ++ # Modules in this block require having the password set in PAM_AUTHTOK. @@ -1797,6 +1825,28 @@ in }; }; + security.pam.howdy = { + enable = lib.mkOption { + default = config.services.howdy.enable; + defaultText = lib.literalExpression "config.services.howdy.enable"; + type = lib.types.bool; + description = '' + Whether to enable the Howdy PAM module. + + If set, users can be authenticated using Howdy, the Windows + Hello™-style facial authentication service. + ''; + }; + control = lib.mkOption { + default = config.services.howdy.control; + defaultText = lib.literalExpression "config.services.howdy.control"; + type = lib.types.str; + description = '' + This option sets the PAM "control" used for this module. + ''; + }; + }; + security.pam.krb5 = { enable = lib.mkOption { default = config.security.krb5.enable; diff --git a/nixos/modules/services/security/howdy/default.nix b/nixos/modules/services/security/howdy/default.nix new file mode 100644 index 000000000000..80ba52ac1965 --- /dev/null +++ b/nixos/modules/services/security/howdy/default.nix @@ -0,0 +1,122 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.howdy; + settingsType = pkgs.formats.ini { }; + + default_config = { + core = { + detection_notice = false; + timeout_notice = true; + no_confirmation = false; + suppress_unknown = false; + abort_if_ssh = true; + abort_if_lid_closed = true; + disabled = false; + use_cnn = false; + workaround = "off"; + }; + + video = { + certainty = 3.5; + timeout = 4; + device_path = "/dev/video2"; + warn_no_device = true; + max_height = 320; + frame_width = -1; + frame_height = -1; + dark_threshold = 60; + recording_plugin = "opencv"; + device_format = "v4l2"; + force_mjpeg = false; + exposure = -1; + device_fps = -1; + rotate = 0; + }; + + snapshots = { + save_failed = false; + save_successful = false; + }; + + rubberstamps = { + enabled = false; + stamp_rules = "nod 5s failsafe min_distance=12"; + }; + + debug = { + end_report = false; + verbose_stamps = false; + gtk_stdout = false; + }; + }; +in +{ + options = { + services.howdy = { + enable = lib.mkEnableOption "" // { + description = '' + Whether to enable Howdy and its PAM module for face recognition. See + `services.linux-enable-ir-emitter` for enabling the IR emitter support. + + ::: {.caution} + Howdy is not a safe alternative to unlocking with your password. It + can be fooled using a well-printed photo. + + Do **not** use it as the sole authentication method for your system. + ::: + + ::: {.note} + By default, the {option}`config.services.howdy.control` option is set + to `"required"`, meaning it will act as a second-factor authentication + in most services. To change this, set the option to `"sufficient"`. + ::: + ''; + }; + + package = lib.mkPackageOption pkgs "howdy" { }; + + control = lib.mkOption { + type = lib.types.str; + default = "required"; + description = '' + PAM control flag to use for Howdy. + + Sets the {option}`security.pam.howdy.control` option. + + Refer to {manpage}`pam.conf(5)` for options. + ''; + }; + + settings = lib.mkOption { + inherit (settingsType) type; + default = default_config; + description = '' + Howdy configuration file. Refer to + + for options. + ''; + }; + }; + }; + + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + environment.etc."howdy/config.ini".source = settingsType.generate "howdy-config.ini" cfg.settings; + assertions = [ + { + assertion = !(builtins.elem "v4l2loopback" config.boot.kernelModules); + message = "Adding 'v4l2loopback' to `boot.kernelModules` causes Howdy to no longer work. Consider adding 'v4l2loopback' to `boot.extraModulePackages` instead."; + } + ]; + }) + { + services.howdy.settings = lib.mapAttrsRecursive (name: lib.mkDefault) default_config; + } + ]; +} From beea11b99e0ee7e9891f2273743e1a07f84156a5 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Wed, 22 Oct 2025 22:54:28 +0300 Subject: [PATCH 0475/1216] nixos/linux-enable-ir-emitter: init --- .../manual/release-notes/rl-2605.section.md | 2 + nixos/modules/module-list.nix | 1 + .../services/misc/linux-enable-ir-emitter.nix | 71 +++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 nixos/modules/services/misc/linux-enable-ir-emitter.nix diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 7d6e7e34d2a9..2e40f225818d 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -38,6 +38,8 @@ - [Howdy](https://github.com/boltgolt/howdy), a Windows Hello™ style facial authentication program for Linux. +- [linux-enable-ir-emitter](https://github.com/EmixamPP/linux-enable-ir-emitter), a tool used to set up IR cameras, used with Howdy. + - [udp-over-tcp](https://github.com/mullvad/udp-over-tcp), a tunnel for proxying UDP traffic over a TCP stream. Available as `services.udp-over-tcp`. - [Komodo Periphery](https://github.com/moghtech/komodo), a multi-server Docker and Git deployment agent by Komodo. Available as [services.komodo-periphery](#opt-services.komodo-periphery.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 19be56b1241c..8422d5f308c2 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -878,6 +878,7 @@ ./services/misc/languagetool.nix ./services/misc/leaps.nix ./services/misc/lifecycled.nix + ./services/misc/linux-enable-ir-emitter.nix ./services/misc/litellm.nix ./services/misc/llama-cpp.nix ./services/misc/local-content-share.nix diff --git a/nixos/modules/services/misc/linux-enable-ir-emitter.nix b/nixos/modules/services/misc/linux-enable-ir-emitter.nix new file mode 100644 index 000000000000..66d10fc87b35 --- /dev/null +++ b/nixos/modules/services/misc/linux-enable-ir-emitter.nix @@ -0,0 +1,71 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.linux-enable-ir-emitter; +in +{ + options = { + services.linux-enable-ir-emitter = { + enable = lib.mkEnableOption "" // { + description = '' + Whether to enable IR emitter hardware. Designed to be used with the + Howdy facial authentication. After enabling the service, configure + the emitter with `sudo linux-enable-ir-emitter configure`. + ''; + }; + + package = lib.mkPackageOption pkgs "linux-enable-ir-emitter" { } // { + description = '' + Package to use for the Linux Enable IR Emitter service. + ''; + }; + + device = lib.mkOption { + type = lib.types.str; + default = "video2"; + description = '' + IR camera device to depend on. For example, for `/dev/video2` + the value would be `video2`. Find this with the command + {command}`realpath /dev/v4l/by-path/`. + ''; + }; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + # https://github.com/EmixamPP/linux-enable-ir-emitter/blob/7e3a6527ef2efccabaeefc5a93c792628325a8db/sources/systemd/linux-enable-ir-emitter.service + systemd.services.linux-enable-ir-emitter = + let + targets = [ + "suspend.target" + "sleep.target" + "hybrid-sleep.target" + "hibernate.target" + "suspend-then-hibernate.target" + ]; + in + { + description = "Enable the infrared emitter"; + # Added to match + # https://github.com/EmixamPP/linux-enable-ir-emitter/blob/6.1.2/boot_service/systemd/linux-enable-ir-emitter.service + # Prevents the program fail to detect the IR camera until a service + # restart. + preStart = '' + ${pkgs.kmod}/bin/modprobe uvcvideo + sleep 1 + ''; + script = "${lib.getExe cfg.package} --verbose run"; + serviceConfig.StateDirectory = "linux-enable-ir-emitter"; + serviceConfig.LogsDirectory = "linux-enable-ir-emitter"; + + wantedBy = targets ++ [ "multi-user.target" ]; + after = targets ++ [ "dev-${cfg.device}.device" ]; + }; + }; +} From 5e8db804aa494769fbe9027e6d6e6699a6614c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 20 Jan 2026 09:57:36 -0800 Subject: [PATCH 0476/1216] nextcloud-client: 4.0.4 -> 4.0.5 Diff: https://github.com/nextcloud-releases/desktop/compare/v4.0.4...v4.0.5 Changelog: https://github.com/nextcloud/desktop/releases/tag/v4.0.5 --- pkgs/by-name/ne/nextcloud-client/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/nextcloud-client/package.nix b/pkgs/by-name/ne/nextcloud-client/package.nix index 158e7a1bf286..0a5d2c675f01 100644 --- a/pkgs/by-name/ne/nextcloud-client/package.nix +++ b/pkgs/by-name/ne/nextcloud-client/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { pname = "nextcloud-client"; - version = "4.0.4"; + version = "4.0.5"; outputs = [ "out" @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { owner = "nextcloud-releases"; repo = "desktop"; tag = "v${version}"; - hash = "sha256-BEjsIx0knmTj6kgM7fsJV5XN660cRe9DbYxeL7YHPRo="; + hash = "sha256-cEe1GTRFC+iGAAgddRm70uf5tXmpCat7Q7BptFEYKnE="; }; patches = [ From 4512e88d085e303a88f21467eaf6612bb2a6d6dc Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:23:13 +0000 Subject: [PATCH 0477/1216] cosmic-applets: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-applets/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-applets/package.nix b/pkgs/by-name/co/cosmic-applets/package.nix index bfc8bc235283..daed0e15bf7b 100644 --- a/pkgs/by-name/co/cosmic-applets/package.nix +++ b/pkgs/by-name/co/cosmic-applets/package.nix @@ -20,14 +20,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-applets"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-applets"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-o64sXCWuEIRV1KCRvKeN6iZBZfUyDYtft5yeag4jBNc="; + hash = "sha256-+1cqennGetcjJTgVfglq/LJ22goLQmahPCK/atdHxXU="; }; cargoHash = "sha256-uMMrLd3s0SqYCkSA82wWUxMfiTUzuDdsmyxy/MCYIWY="; From 2190c244a1b5b4a2bd2523d803c0ca1f324b2144 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:24:21 +0000 Subject: [PATCH 0478/1216] cosmic-applibrary: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-applibrary/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix index cef431b4a68d..70d38b0b2521 100644 --- a/pkgs/by-name/co/cosmic-applibrary/package.nix +++ b/pkgs/by-name/co/cosmic-applibrary/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-applibrary"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-applibrary"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-uQaTSt0sgUQYopEFVmaeDCnejSc1gyGLHeHM2bGzStQ="; + hash = "sha256-3vIp+Vs4prsFFiTmjrUXoYqH27y6ccVlUQcP5ICFq3g="; }; cargoHash = "sha256-I6C5PrIymU8vZ7LvmnSlFFIp0cvlP1umiFMyrAyYf4A="; From 759bf2411ee1d04e12b383bcaf954e60ef79e12d Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:23:28 +0000 Subject: [PATCH 0479/1216] cosmic-bg: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-bg/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index e2731285a3e8..7ea99d5f72c6 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -13,14 +13,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-bg"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-bg"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-tiqJ0aXXUNyoezXSsHO9klkFZ5PO+gkVv+zXd4/Lq5A="; + hash = "sha256-LBIcQG3ZebK1bPVJ8WNHkHMLPsEcw77oZAkQRrd4j6o="; }; postPatch = '' From f496727f7ed2fd7662fa4907964d39b4121fb5e2 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:24:20 +0000 Subject: [PATCH 0480/1216] cosmic-comp: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-comp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index b7e4cf54972b..803a2190b24c 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -20,14 +20,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-comp"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-comp"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-PBobAoXi3p1xUbs4XmmPkQ93QlMsULEYUoTDqOlJozg="; + hash = "sha256-vhWZpn9FPoH+mTKqCf6ug73FdT7Odr6f8pWNNIDKwFs="; }; cargoHash = "sha256-A0d00GdspoYI1fUic8TK9UzaQn39wbnvevD8IiPKC7w="; From 9240eb268ed3c7ab67b351d0aa4341409b759980 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:28:57 +0000 Subject: [PATCH 0481/1216] cosmic-edit: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-edit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix index 1ba7ac72a79d..1c4bddab9839 100644 --- a/pkgs/by-name/co/cosmic-edit/package.nix +++ b/pkgs/by-name/co/cosmic-edit/package.nix @@ -16,14 +16,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-edit"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-edit"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-ZqyaCryXNljJ00qD3ZksfKszANke3HqYgHoGNCHOUqI="; + hash = "sha256-4+GfIAsjzo1jr+wa9JjuIUvW3P3r03avP2W5hZJYXHU="; }; cargoHash = "sha256-ydI/DTbGlgwc9l/XsW1SbTOfSyTdcjM0i0jXLua4+f8="; From 2c77f97fed9f32dc2c94e5e885165eb9aca72524 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:26:02 +0000 Subject: [PATCH 0482/1216] cosmic-files: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-files/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-files/package.nix b/pkgs/by-name/co/cosmic-files/package.nix index c96b17ccd1a1..c664e9d3bf68 100644 --- a/pkgs/by-name/co/cosmic-files/package.nix +++ b/pkgs/by-name/co/cosmic-files/package.nix @@ -12,17 +12,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-files"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-files"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-ZX7eRSrQXgc4oitjugvRicng87zVK41ecSUE80tl0Y0="; + hash = "sha256-aHNu6IedGWag6u+uRg2IFfcb8fTu5o4XfGwBXJBOkSM="; }; - cargoHash = "sha256-CGFBvOWu9ZA8kYDYDBVur5uWW8Cs7fT5T96UnKMkvEo="; + cargoHash = "sha256-kzyyKzkuCYqEsaaKhAVH31ztbww4k8XZ5HyBQeYO/Nc="; nativeBuildInputs = [ just From 24545df1c99d214dc6e84ba70570043731f97081 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:25:18 +0000 Subject: [PATCH 0483/1216] cosmic-greeter: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-greeter/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index 2dd5577ffbc8..4555a5653838 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -19,14 +19,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-greeter"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-greeter"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-G9ahiwk3/nJEGtlHSaK9dUi4/zGEH90QGKeSdpNQDLU="; + hash = "sha256-ivFs/AOUXhzd6I9H+Zw3CS97qFQ/FeiAnlDuzRMneQI="; }; cargoHash = "sha256-4yRBgFrH4RBpuvChTED+ynx+PyFumoT2Z+R1gXxF4Xc="; From 479550383fd9e08590491e2581eefd19b1f90d28 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:20:28 +0000 Subject: [PATCH 0484/1216] cosmic-icons: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-icons/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-icons/package.nix b/pkgs/by-name/co/cosmic-icons/package.nix index b570a9335547..ba9837db6a9f 100644 --- a/pkgs/by-name/co/cosmic-icons/package.nix +++ b/pkgs/by-name/co/cosmic-icons/package.nix @@ -9,7 +9,7 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "cosmic-icons"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From 3270a0de757747fbd929241fb3d7250c2cf0fa1b Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:22:31 +0000 Subject: [PATCH 0485/1216] cosmic-idle: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-idle/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-idle/package.nix b/pkgs/by-name/co/cosmic-idle/package.nix index 04f8881af359..aa03f36bf220 100644 --- a/pkgs/by-name/co/cosmic-idle/package.nix +++ b/pkgs/by-name/co/cosmic-idle/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-idle"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From 29c1c5b1f4605a4a493d3fa17619f4cfbef18b6f Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:23:01 +0000 Subject: [PATCH 0486/1216] cosmic-initial-setup: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-initial-setup/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-initial-setup/package.nix b/pkgs/by-name/co/cosmic-initial-setup/package.nix index 7808c5e82634..58bc324f4fcf 100644 --- a/pkgs/by-name/co/cosmic-initial-setup/package.nix +++ b/pkgs/by-name/co/cosmic-initial-setup/package.nix @@ -14,14 +14,14 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-initial-setup"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-initial-setup"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-g1FJiJSyPZTJ1G8cW8A0sxbIUeG3JcjJYo6qHp639d4="; + hash = "sha256-xeJfS3vXYCy3R20K5jiyPmgZI+arhkzm3Vz6YQnLe9Y="; }; cargoHash = "sha256-co7fOPjNLi32XRXKdmCWC+bWhEljsdSc/scasghG4/8="; From a20c578d660d1333676a30f133b883bc88886e52 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:23:21 +0000 Subject: [PATCH 0487/1216] cosmic-launcher: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-launcher/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index fc3f0112c9ef..be43c37bbb9e 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-launcher"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-launcher"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-2LfoqXXYzNpWrnmmwm68IzrG63cX04tMFk0Ly7AJzDs="; + hash = "sha256-uKTeNTJtsDx0FS3fmvqMbXPTezMkD1dcn5dPKXvmcp4="; }; cargoHash = "sha256-bmQ8Ni0sR9gfttsEhh9LNbWmTdOkW/JSMEzOf+kvN98="; From ba1627c12c2e8b872cdd7243928d328dc6a86e87 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:23:59 +0000 Subject: [PATCH 0488/1216] cosmic-notifications: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-notifications/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index 309c2b9b3fb1..55b51602ca0b 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -12,14 +12,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-notifications"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-notifications"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-lvqqeY/FPv+LFTmZoBUuKWCjAGZozGj/yUCphlFuk/g="; + hash = "sha256-BNOerRv9w0Y9Wozoc5IOouMjne7XQN/SItSy2LQrK9w="; }; cargoHash = "sha256-zyM4iMJs2wPIKIEdji1uJF3WYpPGihFswIK5Wyf6Mns="; From 9c18298705d740df5704472d0a3fb930a003ddeb Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:25:07 +0000 Subject: [PATCH 0489/1216] cosmic-osd: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-osd/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-osd/package.nix b/pkgs/by-name/co/cosmic-osd/package.nix index 445992943b8b..0a9ea87c0d13 100644 --- a/pkgs/by-name/co/cosmic-osd/package.nix +++ b/pkgs/by-name/co/cosmic-osd/package.nix @@ -15,14 +15,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-osd"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-osd"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-PNFwlxAdbQpFFIe54AEteWG2YRHGRgjDDUpgDwCxXns="; + hash = "sha256-6GuLFy1DKXk//LhhRA62KX1P/X+QSsNCy5Eiwjxqk9M="; }; cargoHash = "sha256-DNQvmE/2swrDybjcQfCAjMRkAttjl+ibbLG0HSlcZwU="; From e82901d90c238f7b09c37d6f83fc888aeb93c37c Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:25:02 +0000 Subject: [PATCH 0490/1216] cosmic-panel: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-panel/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-panel/package.nix b/pkgs/by-name/co/cosmic-panel/package.nix index 946990275f93..bd102f53d0c2 100644 --- a/pkgs/by-name/co/cosmic-panel/package.nix +++ b/pkgs/by-name/co/cosmic-panel/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-panel"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From 73a918dffce9f5ee9c78b5690142ff867e1bbf0e Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:27:25 +0000 Subject: [PATCH 0491/1216] cosmic-player: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-player/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-player/package.nix b/pkgs/by-name/co/cosmic-player/package.nix index 69ae94316b23..3fb9f91e3335 100644 --- a/pkgs/by-name/co/cosmic-player/package.nix +++ b/pkgs/by-name/co/cosmic-player/package.nix @@ -18,14 +18,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-player"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-player"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-wBR8KvARINQ3XO/gs5POj32cVj5Eoa3IuWyAmxajMmY="; + hash = "sha256-F5Phk9JgcSc3Hj+2NxVfqq1Ujz8hv3DVJqAP3aEo2Ic="; }; cargoHash = "sha256-Z0+6jtvJ3z/ptcqrbvSuXgjH2liASNJwBIKiHbrVBT8="; From 46cdd3309dcf76b0c3b5803e520c8fce20add07a Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:21:42 +0000 Subject: [PATCH 0492/1216] cosmic-randr: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-randr/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index 299d3404bdb0..41f273aa7e25 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-randr"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From c3f5ae3191f425183c7ae056e77e1f9b354a45c3 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:20:46 +0000 Subject: [PATCH 0493/1216] cosmic-screenshot: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-screenshot/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index 6b2c0c45713e..f2aee8b9df6b 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-screenshot"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-screenshot"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-lW1nryM/meZjjC9MOH0fimRejdycfq8REwzH1IeV774="; + hash = "sha256-xNEICyR/4EYTPTMnlRTag3Ji5rM8HJl6m9MAe7FdHTk="; }; cargoHash = "sha256-O8fFeg1TkKCg+QbTnNjsH52xln4+ophh/BW/b4zQs9o="; From 77d376b6e20923435d07252d82136c9077e2a1cd Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:25:22 +0000 Subject: [PATCH 0494/1216] cosmic-session: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-session/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-session/package.nix b/pkgs/by-name/co/cosmic-session/package.nix index 79ab5c4c3851..64ac86039f23 100644 --- a/pkgs/by-name/co/cosmic-session/package.nix +++ b/pkgs/by-name/co/cosmic-session/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-session"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From e36a3cb96b449709a146c97d8c263ba4ad3c3101 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:27:36 +0000 Subject: [PATCH 0495/1216] cosmic-settings: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-settings/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-settings/package.nix b/pkgs/by-name/co/cosmic-settings/package.nix index e0e32d1f8669..413b376c967a 100644 --- a/pkgs/by-name/co/cosmic-settings/package.nix +++ b/pkgs/by-name/co/cosmic-settings/package.nix @@ -27,14 +27,14 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-settings"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-settings"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-IYuQlXkdakAbchOH2vje02eWCJMBEp7ONtls4Hm/iCo="; + hash = "sha256-/Zzs2b51J0v9PavMr3MuNiFBprb7oJiSC+qDVvMTwEk="; }; cargoHash = "sha256-XY1ovI73O2jJdx1a5pUk/n6TUazklq7PA+bgva3xslo="; From 833cdda6a1582411397282857545d9f44f4093f7 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:23:18 +0000 Subject: [PATCH 0496/1216] cosmic-settings-daemon: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-settings-daemon/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-settings-daemon/package.nix b/pkgs/by-name/co/cosmic-settings-daemon/package.nix index eda52dd48000..81306035d0be 100644 --- a/pkgs/by-name/co/cosmic-settings-daemon/package.nix +++ b/pkgs/by-name/co/cosmic-settings-daemon/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-settings-daemon"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From d00f2bf2d7512d748d85bff097803ba799f96243 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:24:35 +0000 Subject: [PATCH 0497/1216] cosmic-store: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-store/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-store/package.nix b/pkgs/by-name/co/cosmic-store/package.nix index 45836f850eda..34d1096550d3 100644 --- a/pkgs/by-name/co/cosmic-store/package.nix +++ b/pkgs/by-name/co/cosmic-store/package.nix @@ -15,14 +15,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-store"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-store"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-na9eRJ9R38wFWOoQSyZj/UlDb5lwvCZrRQ/w/aOqVfY="; + hash = "sha256-61O6TY41raQ1+EhCLrCC8Krzt6pWM/BFL61KHkxou2M="; }; cargoHash = "sha256-VapIpvjtBo+oSUWtilPR0v5crjDVt0OGdHlx73Gb6Jk="; From 05a6bfee16e36bb5a03e58336442f4ffe3d03e25 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:21:52 +0000 Subject: [PATCH 0498/1216] cosmic-term: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-term/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-term/package.nix b/pkgs/by-name/co/cosmic-term/package.nix index 400b632aaa07..690176cf44e8 100644 --- a/pkgs/by-name/co/cosmic-term/package.nix +++ b/pkgs/by-name/co/cosmic-term/package.nix @@ -15,14 +15,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-term"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-term"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-SmwXRgYgFelVQhx03GaIRWHCm7x/9eXMdVxH06TLxLE="; + hash = "sha256-RYRAJhixba8i8hKpZSZLPLza+V9XZuSaZmWknoIJ3mk="; }; cargoHash = "sha256-ImWHjEKgu9FQR52A3GjnAkxlPduKuzSUAOANYr0DzMA="; From 57f9a9c6dc6d08f76ec4f41a5ea1530ec9c52681 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:20:12 +0000 Subject: [PATCH 0499/1216] cosmic-wallpapers: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-wallpapers/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-wallpapers/package.nix b/pkgs/by-name/co/cosmic-wallpapers/package.nix index 0a99261a8d49..37ca95969c68 100644 --- a/pkgs/by-name/co/cosmic-wallpapers/package.nix +++ b/pkgs/by-name/co/cosmic-wallpapers/package.nix @@ -7,7 +7,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "cosmic-wallpapers"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { From 9cf6a65d177cecac2a2035e51d9867f1bd646e56 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:25:08 +0000 Subject: [PATCH 0500/1216] cosmic-workspaces-epoch: 1.0.2 -> 1.0.3 --- pkgs/by-name/co/cosmic-workspaces-epoch/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix index 44225233d0d3..c3b7a8059819 100644 --- a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix +++ b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-workspaces-epoch"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-workspaces-epoch"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-wGhXTQujwOqDBcBesXIRkcTJdQAhs0pavsVHMH98QCw="; + hash = "sha256-Gg4ogMf2C3rXf3p/8GPpiZ2aG02KWTtrqby47UW7B3I="; }; cargoHash = "sha256-ZVl09YgeH+V4X3H88rdeiBgua1IpVcfKe0y8A78wzl4="; From 9ef1b3fad7c9214b13d6e56adabe89630f83dc37 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 20 Jan 2026 18:24:45 +0000 Subject: [PATCH 0501/1216] xdg-desktop-portal-cosmic: 1.0.2 -> 1.0.3 --- pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix index f6f3d4ab7a9b..034a0ed121d3 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix @@ -17,14 +17,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "xdg-desktop-portal-cosmic"; - version = "1.0.2"; + version = "1.0.3"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "xdg-desktop-portal-cosmic"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-Bx+tobtsevaBFB6Dqpj49Y3VUOmfEVNQJ5ll2bLk+VU="; + hash = "sha256-5U0xjVEGrOZzw7WnQRvoQe4VuWJ9drV3kNV/ogZQJio="; }; cargoHash = "sha256-99MGWfZrDOav77SRI7c5V21JTfkq7ejC7x+ZiQ5J0Yw="; From aa24bdf88fd39da965f7783058951b1a92780539 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Tue, 20 Jan 2026 17:04:41 +0100 Subject: [PATCH 0502/1216] nixos/tor: do not put Unix sockets in BindPaths= - The socket may not be accessible at all times resulting in the Tor unit failing to start. - If the socket is re-created it will become inaccessible. - Tor can't be started if any of the UNIX sockets are not available, which may result in a single service having issues affecting all services. (It may be best to start Tor to serve N-1 sockets even if 1 socket isn't available). Reverts: https://github.com/NixOS/nixpkgs/pull/440889 Fixes: https://github.com/NixOS/nixpkgs/issues/481673 Reported-by: https://github.com/kevincox --- .../manual/release-notes/rl-2605.section.md | 5 +++ nixos/modules/services/security/tor.nix | 38 ++++++++++++------- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index d29cb9aa49dc..8c85dbc110f9 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -77,6 +77,11 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - Support for `reiserfs` in nixpkgs has been removed, following the removal in Linux 6.13. +- `services.tor` no longer bind mounts Unix sockets of onion services into its chroot +because it was not reliable. Users should do it themselves using either `JoinsNamespaceOf=` and Unix sockets in `/tmp` +or `BindPaths=` from a persistent parent directory of each Unix socket. +See . + - support for `ecryptfs` in nixpkgs has been removed. - The `networking.wireless` module has been security hardened: the `wpa_supplicant` daemon now runs under an unprivileged user with restricted access to the system. diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 1c2cc65862e6..0c86f9572e09 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -636,7 +636,31 @@ in }; onionServices = lib.mkOption { - description = (descriptionGeneric "HiddenServiceDir"); + description = descriptionGeneric "HiddenServiceDir" + '' + :::{.warning} + Because `tor.service` runs in its own `RootDirectory=`, + when using a onion service to reverse-proxy to a Unix socket, + you need to make that Unix socket available + within the mount namespace of `tor.service`. + + When you can configure your service to create its socket in `/tmp`, + this can be done with: + ```nix + systemd.services.''${your-service} = { + unitConfig.JoinsNamespaceOf = [ "tor.service" ];` + serviceConfig.PrivateTmp = true; + }; + ``` + Otherwise, you can use: + ```nix + systemd.services.tor.serviceConfig.BindPaths = [ "/path/to/your-service/socket/directory" ]; + ``` + but you have to be sure that `/path/to/socket/directory` + exists before `tor.service` is started + and is not deleted and recreated between restarts of `your-service`, + or you'll need to restart `tor.service` to refresh the `BindPaths=`. + ::: + ''; default = { }; example = { "example.org/www" = { @@ -1416,18 +1440,6 @@ in RootDirectoryStartOnly = true; #InaccessiblePaths = [ "-+${runDir}/root" ]; UMask = "0066"; - BindPaths = [ - stateDir - ] - ++ lib.filter (x: x != null) ( - lib.catAttrs "unix" ( - lib.filter (x: x != null) ( - lib.catAttrs "target" ( - lib.concatMap (onionService: onionService.map) (lib.attrValues cfg.relay.onionServices) - ) - ) - ) - ); BindReadOnlyPaths = [ builtins.storeDir "/etc" From d5d3834b9da4da874242c6ce09c2cf2766d69eb3 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Tue, 20 Jan 2026 17:14:45 +0100 Subject: [PATCH 0503/1216] nixos/tor: do not bind storeDir when systemd-confinement is enabled Otherwise it undermines systemd-confinement whose job is to filter what gets bind mounted from the storeDir. --- nixos/modules/services/security/tor.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 0c86f9572e09..53a79984a38d 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1441,9 +1441,9 @@ in #InaccessiblePaths = [ "-+${runDir}/root" ]; UMask = "0066"; BindReadOnlyPaths = [ - builtins.storeDir "/etc" ] + ++ lib.optional (!config.systemd.services.tor.confinement.enable) builtins.storeDir ++ lib.optionals config.services.resolved.enable [ "/run/systemd/resolve/stub-resolv.conf" "/run/systemd/resolve/resolv.conf" From 49dc4455a6289d15871abfa05080c8df92a34013 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Tue, 20 Jan 2026 17:14:45 +0100 Subject: [PATCH 0504/1216] nixos/tor: do not change the default of SystemCallErrorNumber= No reason to do so. --- nixos/modules/services/security/tor.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 53a79984a38d..359745b4060d 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1497,7 +1497,6 @@ in "~@timer" ]; SystemCallArchitectures = "native"; - SystemCallErrorNumber = "EPERM"; }; }; From d348ba03f5c20fd0e90c0221a0b2b52c210b68ba Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 19:07:41 +0000 Subject: [PATCH 0505/1216] rucio: 39.0.0 -> 39.1.0 --- pkgs/development/python-modules/rucio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rucio/default.nix b/pkgs/development/python-modules/rucio/default.nix index becc4d8ac713..b82b661370a3 100644 --- a/pkgs/development/python-modules/rucio/default.nix +++ b/pkgs/development/python-modules/rucio/default.nix @@ -40,13 +40,13 @@ }: let - version = "39.0.0"; + version = "39.1.0"; src = fetchFromGitHub { owner = "rucio"; repo = "rucio"; tag = version; - hash = "sha256-3KRcoS1VwjRynBgDIvCRu1dOIVF8mlAG7P17ROLE1ZY="; + hash = "sha256-ef8rVRDVkkEcsQ5AKz1W2L21abyY2dfHMWh2Rv0oxPA="; }; in buildPythonPackage { From 9792ad8f5b1d1cfcaacaa4754440956796c456d1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 19:12:31 +0000 Subject: [PATCH 0506/1216] rasm: 3.0.5 -> 3.0.6 --- pkgs/by-name/ra/rasm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ra/rasm/package.nix b/pkgs/by-name/ra/rasm/package.nix index 7a3bea38b97a..2a835149e323 100644 --- a/pkgs/by-name/ra/rasm/package.nix +++ b/pkgs/by-name/ra/rasm/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "rasm"; - version = "3.0.5"; + version = "3.0.6"; src = fetchFromGitHub { owner = "EdouardBERGE"; repo = "rasm"; tag = "v${finalAttrs.version}"; - hash = "sha256-yQZS2aHNyUU/zNFl0uDP/MmDD1/VT7r6euu4PIELrrM="; + hash = "sha256-YNdm30gw2ycKTFrW+5tE0Du5m258befh17HjAWnQsbc="; }; # by default the EXEC variable contains `rasm.exe` From 311dfdbd0ef26cb5ae042f1b4d4e436a661c11ad Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 19:40:35 +0000 Subject: [PATCH 0507/1216] netscanner: 0.6.3 -> 0.6.41 --- pkgs/by-name/ne/netscanner/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netscanner/package.nix b/pkgs/by-name/ne/netscanner/package.nix index ef943d5f4101..b8f771f73eb1 100644 --- a/pkgs/by-name/ne/netscanner/package.nix +++ b/pkgs/by-name/ne/netscanner/package.nix @@ -7,7 +7,7 @@ }: let pname = "netscanner"; - version = "0.6.3"; + version = "0.6.41"; in rustPlatform.buildRustPackage { inherit pname version; @@ -18,10 +18,10 @@ rustPlatform.buildRustPackage { owner = "Chleba"; repo = "netscanner"; tag = "v${version}"; - hash = "sha256-z39450ebIBHwdiC1FLF6v23la45ad5h5iupF6PAAjzc="; + hash = "sha256-8Srsts0FDLMT01YW5Guv3r8yx5i5ua7bhAFbQ5BMN74="; }; - cargoHash = "sha256-i+btU1ovqPGzhXi8IPZonSAdlpcbMPrWSbL7COKou9M="; + cargoHash = "sha256-vlV5SibQlJ/yhJJKweqg6KYinpgZmWUUnyzAS6LBBKw="; postFixup = '' wrapProgram $out/bin/netscanner \ From 83d9ef4ad7d588507229e0c1b289995e69478cd3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 20:00:47 +0000 Subject: [PATCH 0508/1216] python3Packages.alexapy: 1.29.14 -> 1.29.15 --- pkgs/development/python-modules/alexapy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/alexapy/default.nix b/pkgs/development/python-modules/alexapy/default.nix index 667c6d864d89..1313322c5a1f 100644 --- a/pkgs/development/python-modules/alexapy/default.nix +++ b/pkgs/development/python-modules/alexapy/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "alexapy"; - version = "1.29.14"; + version = "1.29.15"; pyproject = true; src = fetchFromGitLab { owner = "keatontaylor"; repo = "alexapy"; tag = "v${version}"; - hash = "sha256-ZbdaiPyrF7EiigFHHFEQom+LsQKITD7FO9PdUVnoDvE="; + hash = "sha256-vdjqpkTnGY3THqekJ6fJ2Gb9Y0bVO/VtoAAXiV1Q45k="; }; pythonRelaxDeps = [ "aiofiles" ]; From 7c144469bc6bea3608dfe93e3f28b95ff82c390b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 20:23:41 +0000 Subject: [PATCH 0509/1216] python3Packages.asyncmy: 0.2.10 -> 0.2.11 --- pkgs/development/python-modules/asyncmy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/asyncmy/default.nix b/pkgs/development/python-modules/asyncmy/default.nix index d1d1d6e6261e..fa0716d08b78 100644 --- a/pkgs/development/python-modules/asyncmy/default.nix +++ b/pkgs/development/python-modules/asyncmy/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "asyncmy"; - version = "0.2.10"; + version = "0.2.11"; pyproject = true; src = fetchFromGitHub { owner = "long2ice"; repo = "asyncmy"; tag = "v${version}"; - hash = "sha256-pWAUvHWtmpPlKh6YGJqhubQzIUSB0LeVanqfziOMWIM="; + hash = "sha256-+6sXXlSAZr09nPuJtZH8S2UfijFthDpRA/AdGOyIfxU="; }; nativeBuildInputs = [ From 2fe650d6255794c895bb8c3d00a3b1bbb8415a67 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 20:32:46 +0000 Subject: [PATCH 0510/1216] quint: 0.29.1 -> 0.30.0 --- pkgs/by-name/qu/quint/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/qu/quint/package.nix b/pkgs/by-name/qu/quint/package.nix index 64321ff81b4c..598c48f9ec7c 100644 --- a/pkgs/by-name/qu/quint/package.nix +++ b/pkgs/by-name/qu/quint/package.nix @@ -17,9 +17,9 @@ }: let - version = "0.29.1"; + version = "0.30.0"; apalacheVersion = "0.51.1"; - evaluatorVersion = "0.3.0"; + evaluatorVersion = "0.4.0"; metaCommon = { description = "Formal specification language with TLA+ semantics"; @@ -33,7 +33,7 @@ let owner = "informalsystems"; repo = "quint"; tag = "v${version}"; - hash = "sha256-lnvtyL4GKOyKdBDC5vevx5LgaiB7xTkfuN1rRTxKyv4="; + hash = "sha256-4gZUGw5T4iVbg7IWkXXIpSib/dPVXhK6Srt1kNewPGA="; }; # Build the Quint CLI from source @@ -43,7 +43,7 @@ let sourceRoot = "${src.name}/quint"; - npmDepsHash = "sha256-CBwovC7PTdjJHwL9lKRlJbl8rNjd9J3hVBFJz24+cbw="; + npmDepsHash = "sha256-qmekskqCePyI/k1AaBRVfc6q6SQNCA4K61E6GxfsAUI="; npmBuildScript = "compile"; From f06a7faee55ba137ec7730f84849e495d095059d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 20:42:21 +0000 Subject: [PATCH 0511/1216] python3Packages.pyhik: 0.4.0 -> 0.4.1 --- pkgs/development/python-modules/pyhik/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyhik/default.nix b/pkgs/development/python-modules/pyhik/default.nix index 5abab393de81..1b5944bb259a 100644 --- a/pkgs/development/python-modules/pyhik/default.nix +++ b/pkgs/development/python-modules/pyhik/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pyhik"; - version = "0.4.0"; + version = "0.4.1"; pyproject = true; src = fetchFromGitHub { owner = "mezz64"; repo = "pyHik"; tag = version; - hash = "sha256-ayjpIsUX/PVNOTuOm/3pwLfnypEpMWQAJAf1JzFocu4="; + hash = "sha256-dDUaNeE0wjKsojeezKVWfMBPO+7O5e2QFOHnh3UoFbY="; }; build-system = [ From 34f61857fef15b094b5feb67e84ac97e87cffb8f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 20:53:14 +0000 Subject: [PATCH 0512/1216] python3Packages.translate-toolkit: 3.18.0 -> 3.18.1 --- pkgs/development/python-modules/translate-toolkit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/translate-toolkit/default.nix b/pkgs/development/python-modules/translate-toolkit/default.nix index 61aef0c3ec6d..031f52ab1385 100644 --- a/pkgs/development/python-modules/translate-toolkit/default.nix +++ b/pkgs/development/python-modules/translate-toolkit/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "translate-toolkit"; - version = "3.18.0"; + version = "3.18.1"; pyproject = true; @@ -38,7 +38,7 @@ buildPythonPackage rec { owner = "translate"; repo = "translate"; tag = version; - hash = "sha256-wc8bSXdFHVSzm4CWZ9b27zEYNH0rbEXf0i947VNTg/8="; + hash = "sha256-T7Zo2/jx9P+Tz8jwRKRCV1lVv7XIaIoQTIjIVdEj/ZQ="; }; build-system = [ setuptools-scm ]; From ed75d2f185a2b28a9dd3b6f868751583f475ead1 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:39:41 +0100 Subject: [PATCH 0513/1216] QuadProgpp: unstable-2023-01-20 -> 1.2.2-unstable-2025-12-03 --- pkgs/by-name/qu/QuadProgpp/package.nix | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/qu/QuadProgpp/package.nix b/pkgs/by-name/qu/QuadProgpp/package.nix index 3ec83d2b3765..50861e076df6 100644 --- a/pkgs/by-name/qu/QuadProgpp/package.nix +++ b/pkgs/by-name/qu/QuadProgpp/package.nix @@ -7,26 +7,19 @@ stdenv.mkDerivation { pname = "quadprogpp"; - version = "unstable-2023-01-20"; + version = "1.2.2-unstable-2025-12-03"; src = fetchFromGitHub { owner = "liuq"; repo = "QuadProgpp"; - rev = "4c51d91deb5af251957edf9454bfb74279a4544e"; - hash = "sha256-uozwuTAOPsRwYM9KyG3V0hwcmaPpfZPID9Wdd4olsvY="; + rev = "0c25447365c980876fdc395f55d60300a5e5793c"; + hash = "sha256-yXKctOTBbUNiSM2j7hKfSvd1i7FH7kcgP990DXVkrRY="; }; nativeBuildInputs = [ cmake ]; - postPatch = '' - # Inline https://github.com/liuq/QuadProgpp/pull/32 - substituteInPlace CMakeLists.txt --replace-fail \ - 'cmake_minimum_required(VERSION 3.0)' \ - 'cmake_minimum_required(VERSION 3.10)' - ''; - meta = { description = "C++ library for Quadratic Programming"; longDescription = '' From c80f8a0d2c70fb18fb3f7b13f46f2400e6cb0f45 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Sun, 11 Jan 2026 22:33:07 +0100 Subject: [PATCH 0514/1216] ogre: 14.4.1 -> 14.5.1 --- pkgs/development/libraries/ogre/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix index 0ac04ef25c95..3788b865dcbc 100644 --- a/pkgs/development/libraries/ogre/default.nix +++ b/pkgs/development/libraries/ogre/default.nix @@ -121,9 +121,9 @@ let in { ogre_14 = common { - version = "14.4.1"; - hash = "sha256-G7Pf4vYoZhTmsG2AJhIR+xxtj0SHbN0dCkhtieBWm8Q="; - # https://github.com/OGRECave/ogre/blob/v14.4.1/Components/Overlay/CMakeLists.txt + version = "14.5.1"; + hash = "sha256-UTjyOeDCZy+J9qkch1g1X/6x5/K2+1MWJ2v7r0trZqY="; + # https://github.com/OGRECave/ogre/blob/v14.5.1/Components/Overlay/CMakeLists.txt imguiVersion = "1.91.9b"; imguiHash = "sha256-dkukDP0HD8CHC2ds0kmqy7KiGIh4148hMCyA1QF3IMo="; }; From 0a4c46a0938e790e062e8bf355f3672306ce9aa2 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 12:27:17 +0200 Subject: [PATCH 0515/1216] uhd: fix build on Darwin by using llvm 20 Co-Authored-By: fmeef --- pkgs/by-name/uh/uhd/package.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/uh/uhd/package.nix b/pkgs/by-name/uh/uhd/package.nix index 09368516d564..75275f5b3cc9 100644 --- a/pkgs/by-name/uh/uhd/package.nix +++ b/pkgs/by-name/uh/uhd/package.nix @@ -1,6 +1,7 @@ { lib, stdenv, + llvmPackages_20, fetchurl, fetchFromGitHub, cmake, @@ -34,9 +35,17 @@ let inherit (lib) optionals cmakeBool; + stdenv' = ( + # Fix a compilation issue on Darwin, that upstream is aware of: + # https://github.com/EttusResearch/uhd/issues/881 + if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then + llvmPackages_20.stdenv + else + stdenv + ); in -stdenv.mkDerivation (finalAttrs: { +stdenv'.mkDerivation (finalAttrs: { pname = "uhd"; # NOTE: Use the following command to update the package, and the uhdImageSrc attribute: # @@ -147,7 +156,7 @@ stdenv.mkDerivation (finalAttrs: { # ABI differences GCC 7.1 # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector::iterator {aka __gnu_cxx::__normal_iterator >}' changed in GCC 7.1 ] - ++ optionals stdenv.hostPlatform.isAarch32 [ + ++ optionals stdenv'.hostPlatform.isAarch32 [ "-DCMAKE_CXX_FLAGS=-Wno-psabi" ]; @@ -180,7 +189,7 @@ stdenv.mkDerivation (finalAttrs: { ]; # many tests fails on darwin, according to ofborg - doCheck = !stdenv.hostPlatform.isDarwin; + doCheck = !stdenv'.hostPlatform.isDarwin; doInstallCheck = true; @@ -191,7 +200,7 @@ stdenv.mkDerivation (finalAttrs: { "installFirmware" "removeInstalledTests" ] - ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ + ++ optionals (enableUtils && stdenv'.hostPlatform.isLinux) [ "moveUdevRules" ]; From 137d5bf38f202f6ff5581ec31fa8df32b5a382ec Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 21:56:17 +0200 Subject: [PATCH 0516/1216] thrift: remove duplicate python_test disabled test --- pkgs/by-name/th/thrift/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/th/thrift/package.nix b/pkgs/by-name/th/thrift/package.nix index 6dde051b8890..ee51e31264e6 100644 --- a/pkgs/by-name/th/thrift/package.nix +++ b/pkgs/by-name/th/thrift/package.nix @@ -85,7 +85,6 @@ stdenv.mkDerivation (finalAttrs: { # Tests that hang up in the Darwin sandbox "SecurityTest" "SecurityFromBufferTest" - "python_test" # fails on hydra, passes locally "concurrency_test" From a0b84ca90b3ce1d41a0a619d1d234d67c4d4fcb6 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 21:56:31 +0200 Subject: [PATCH 0517/1216] thrift: fix build on darwin --- pkgs/by-name/th/thrift/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/th/thrift/package.nix b/pkgs/by-name/th/thrift/package.nix index ee51e31264e6..319c2413d96a 100644 --- a/pkgs/by-name/th/thrift/package.nix +++ b/pkgs/by-name/th/thrift/package.nix @@ -85,6 +85,7 @@ stdenv.mkDerivation (finalAttrs: { # Tests that hang up in the Darwin sandbox "SecurityTest" "SecurityFromBufferTest" + "PythonThriftTNonblockingServer" # fails on hydra, passes locally "concurrency_test" @@ -94,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: { "TInterruptTest" "TServerIntegrationTest" "processor" + "processor_test" "TNonblockingServerTest" "TNonblockingSSLServerTest" "StressTest" From ac2dce6119e32e3209ecd4ff0af6a7d4f4ed6a9c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 13:17:59 +0200 Subject: [PATCH 0518/1216] gnuradio: (wrapper) remove old conditionals --- pkgs/applications/radio/gnuradio/wrapper.nix | 117 ++++++++----------- 1 file changed, 51 insertions(+), 66 deletions(-) diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index a741697af3b1..012b42d064c8 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -81,35 +81,31 @@ let pname = unwrapped.pname + "-wrapped"; inherit (unwrapped) outputs version; makeWrapperArgs = builtins.concatStringsSep " " ( - [ - ] # Emulating wrapGAppsHook3 & wrapQtAppsHook working together - ++ - lib.optionals ((unwrapped.hasFeature "gnuradio-companion") || (unwrapped.hasFeature "gr-qtgui")) - [ - "--prefix" - "XDG_DATA_DIRS" - ":" - "$out/share" - "--prefix" - "XDG_DATA_DIRS" - ":" - "$out/share/gsettings-schemas/${pname}" - "--prefix" - "XDG_DATA_DIRS" - ":" - "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" - "--prefix" - "XDG_DATA_DIRS" - ":" - "${hicolor-icon-theme}/share" - # Needs to run `gsettings` on startup, see: - # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html - "--prefix" - "PATH" - ":" - "${lib.getBin glib}/bin" - ] + lib.optionals ((unwrapped.hasFeature "gnuradio-companion") || (unwrapped.hasFeature "gr-qtgui")) [ + "--prefix" + "XDG_DATA_DIRS" + ":" + "$out/share" + "--prefix" + "XDG_DATA_DIRS" + ":" + "$out/share/gsettings-schemas/${pname}" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${hicolor-icon-theme}/share" + # Needs to run `gsettings` on startup, see: + # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html + "--prefix" + "PATH" + ":" + "${lib.getBin glib}/bin" + ] ++ lib.optionals (unwrapped.hasFeature "gnuradio-companion") [ "--set" "GDK_PIXBUF_MODULE_FILE" @@ -157,45 +153,34 @@ let ":" "${lib.makeSearchPath soapysdr.passthru.searchPath extraSoapySdrPackages}" ] - ++ - lib.optionals (unwrapped.hasFeature "gr-qtgui") - # 3.7 builds with qt4 - ( - if lib.versionAtLeast unwrapped.versionAttr.major "3.8" then - [ - "--prefix" - "QT_PLUGIN_PATH" - ":" - "${lib.makeSearchPath unwrapped.qt.qtbase.qtPluginPrefix ( - map lib.getBin ( - [ - unwrapped.qt.qtbase - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - unwrapped.qt.qtwayland - ] - ) - )}" - "--prefix" - "QML2_IMPORT_PATH" - ":" - "${lib.makeSearchPath unwrapped.qt.qtbase.qtQmlPrefix ( - map lib.getBin ( - [ - unwrapped.qt.qtbase - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - unwrapped.qt.qtwayland - ] - ) - )}" - ] - else - # Add here qt4 related environment for 3.7? - [ - - ] + ++ lib.optionals (unwrapped.hasFeature "gr-qtgui") [ + "--prefix" + "QT_PLUGIN_PATH" + ":" + "${lib.makeSearchPath unwrapped.qt.qtbase.qtPluginPrefix ( + map lib.getBin ( + [ + unwrapped.qt.qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + unwrapped.qt.qtwayland + ] ) + )}" + "--prefix" + "QML2_IMPORT_PATH" + ":" + "${lib.makeSearchPath unwrapped.qt.qtbase.qtQmlPrefix ( + map lib.getBin ( + [ + unwrapped.qt.qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + unwrapped.qt.qtwayland + ] + ) + )}" + ] ++ extraMakeWrapperArgs ); From b090f3d52691a4c2adc97bb8cf00b1d5c08b9d1b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 13:19:32 +0200 Subject: [PATCH 0519/1216] gnuradio: (passthru) always inherit not necessarily used deps Shouldn't break anything, and helps referring to gnuradio.passthru.uhd when it might be marked as broken on that the current platform. --- pkgs/applications/radio/gnuradio/default.nix | 35 ++++++++------------ 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix index 96962f914f7a..9c4d8cdbf427 100644 --- a/pkgs/applications/radio/gnuradio/default.nix +++ b/pkgs/applications/radio/gnuradio/default.nix @@ -310,27 +310,20 @@ stdenv.mkDerivation ( # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227 ./modtool-newmod-permissions.patch ]; - passthru = - shared.passthru - // { - # Deps that are potentially overridden and are used inside GR plugins - the same version must - inherit - boost - volk - ; - # Used by many gnuradio modules, the same attribute is present in - # previous gnuradio versions where there it's log4cpp. - logLib = spdlog; - } - // lib.optionalAttrs (hasFeature "gr-uhd") { - inherit uhd; - } - // lib.optionalAttrs (hasFeature "gr-pdu") { - inherit libiio libad9361; - } - // lib.optionalAttrs (hasFeature "gr-qtgui") { - inherit (libsForQt5) qwt; - }; + passthru = shared.passthru // { + # Deps that are potentially overridden and are used inside GR plugins - the same version must + inherit + uhd + boost + volk + libiio + libad9361 + ; + # Used by many gnuradio modules, the same attribute is present in + # previous gnuradio versions where there it's log4cpp. + logLib = spdlog; + inherit (libsForQt5) qwt; + }; postInstall = shared.postInstall From 2ea249be1f9df9c5bcf19d4dd6025279c95added Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 13:31:22 +0200 Subject: [PATCH 0520/1216] gnuradio: (wrapper) add soapyuhd only if gr-uhd is enabled Is justified in anycase, and should help gnuradio evaluate on Darwin when uhd is broken. --- pkgs/applications/radio/gnuradio/wrapper.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index 012b42d064c8..10896f19f1c1 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -50,6 +50,8 @@ soapyplutosdr soapyremote soapyrtlsdr + ] + ++ lib.optionals (unwrapped.hasFeature "gr-uhd") [ soapyuhd ], # Allow to add whatever you want to the wrapper From 3cd940354369c253116bc73424a429a2aec0f58b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 13:42:16 +0200 Subject: [PATCH 0521/1216] gnuradio: (wrapper) add uhd Python modules only if needed --- pkgs/applications/radio/gnuradio/wrapper.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index 10896f19f1c1..d555d23e2fc4 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -64,10 +64,14 @@ let pythonPkgs = extraPythonPackages ++ [ (unwrapped.python.pkgs.toPythonModule unwrapped) ] - ++ unwrapped.passthru.uhd.pythonPath - ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != [ ]) [ - (unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd) - ] + ++ lib.optionals (unwrapped.hasFeature "gr-uhd") ( + unwrapped.passthru.uhd.pythonPath + # Check if uhd was built with python support, which means it should + # be added as a python module too. + ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != [ ]) [ + (unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd) + ] + ) # Add the extraPackages as python modules as well ++ (map unwrapped.python.pkgs.toPythonModule extraPackages) ++ lib.flatten ( From a5ece9b47b35e8ed645bdf92ebdd04042fbfb7a1 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:48:49 +0100 Subject: [PATCH 0522/1216] python3Packages.bidsschematools: 1.1.4 -> 1.1.5 --- pkgs/development/python-modules/bidsschematools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bidsschematools/default.nix b/pkgs/development/python-modules/bidsschematools/default.nix index da89e5e3fa09..09b68c112f6d 100644 --- a/pkgs/development/python-modules/bidsschematools/default.nix +++ b/pkgs/development/python-modules/bidsschematools/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "bidsschematools"; - version = "1.1.4"; + version = "1.1.5"; pyproject = true; src = fetchFromGitHub { owner = "bids-standard"; repo = "bids-specification"; tag = "schema-${version}"; - hash = "sha256-4aRM0c1onwASuhkKA7DLPjhLGeo6WAE3T2mKePFiRvw="; + hash = "sha256-LAcrmnfksisLQb1JE82p/tm5HhHAfezCApz8CeUciZQ="; }; sourceRoot = "${src.name}/tools/schemacode"; From 0d5a1797b311e1abf49534b5e18c1aee0a006093 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 21:49:58 +0000 Subject: [PATCH 0523/1216] python3Packages.google-cloud-iam-logging: 1.5.0 -> 1.6.0 --- .../python-modules/google-cloud-iam-logging/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-iam-logging/default.nix b/pkgs/development/python-modules/google-cloud-iam-logging/default.nix index 444470ae045b..a509359872e7 100644 --- a/pkgs/development/python-modules/google-cloud-iam-logging/default.nix +++ b/pkgs/development/python-modules/google-cloud-iam-logging/default.nix @@ -14,13 +14,13 @@ buildPythonPackage rec { pname = "google-cloud-iam-logging"; - version = "1.5.0"; + version = "1.6.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_iam_logging"; inherit version; - hash = "sha256-CmUvHm1DVA/bRejKm+T8VonVlHy6Dmk1uytz3tfAVGk="; + hash = "sha256-/D0OLN0NsthrbamI9Sc0SOoCenSEHdezVNjn1OFenIA="; }; build-system = [ setuptools ]; From f00070414017776e8db3f3af539050143eafb866 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jan 2026 23:19:49 +0100 Subject: [PATCH 0524/1216] wxhexeditor: fix build --- pkgs/by-name/wx/wxhexeditor/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/wx/wxhexeditor/package.nix b/pkgs/by-name/wx/wxhexeditor/package.nix index ed4d3b588b04..ee4c2601e1b1 100644 --- a/pkgs/by-name/wx/wxhexeditor/package.nix +++ b/pkgs/by-name/wx/wxhexeditor/package.nix @@ -62,6 +62,7 @@ stdenv.mkDerivation rec { preConfigure = "patchShebangs ."; makeFlags = lib.optionals stdenv.cc.isGNU [ + "CFLAGS=-std=c17" "OPTFLAGS=-fopenmp" ]; From e75bfc1d6dab2ac3cb7db79d92a55a556cb2fc76 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 22:31:05 +0000 Subject: [PATCH 0525/1216] python3Packages.dbt-common: 1.37.2-unstable-2026-01-07 -> 1.37.2-unstable-2026-01-20 --- pkgs/development/python-modules/dbt-common/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/dbt-common/default.nix b/pkgs/development/python-modules/dbt-common/default.nix index 0cf7b916d11a..2fd8298b5a9e 100644 --- a/pkgs/development/python-modules/dbt-common/default.nix +++ b/pkgs/development/python-modules/dbt-common/default.nix @@ -30,14 +30,14 @@ buildPythonPackage rec { pname = "dbt-common"; - version = "1.37.2-unstable-2026-01-07"; + version = "1.37.2-unstable-2026-01-20"; pyproject = true; src = fetchFromGitHub { owner = "dbt-labs"; repo = "dbt-common"; - rev = "c152c995e77eed72bc6b488f34728221aaa7fb0e"; # They don't tag releases - hash = "sha256-hdmW4jZMxJIZaffLD67QB7oRq7qxXMWjWIzkewb2CF4="; + rev = "84492782606974ecb52eecfcae0aa706cde8e270"; # They don't tag releases + hash = "sha256-QOWztrXeRJqGccsabzse5FWxwlxSdsgEjZ2W40mwAqE="; }; build-system = [ hatchling ]; From a138174c4bc5a1b5bd05c8911cbc65143855faaf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 22:46:21 +0000 Subject: [PATCH 0526/1216] python3Packages.google-cloud-translate: 3.23.0 -> 3.24.0 --- .../python-modules/google-cloud-translate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix index 6ef348d8187e..f5a80b6b8b93 100644 --- a/pkgs/development/python-modules/google-cloud-translate/default.nix +++ b/pkgs/development/python-modules/google-cloud-translate/default.nix @@ -16,13 +16,13 @@ buildPythonPackage rec { pname = "google-cloud-translate"; - version = "3.23.0"; + version = "3.24.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_translate"; inherit version; - hash = "sha256-KKMSMN6AoP74etT8Y+o32Sbuhln3LVW51wnpCPATlag="; + hash = "sha256-LzuLkPjNr2OkNdGOY7IcNlDeMfxPhYYj8tDWm+DNPpo="; }; build-system = [ setuptools ]; From baaba3960ee59618f33a04b6afaacff221b527b0 Mon Sep 17 00:00:00 2001 From: teto <886074+teto@users.noreply.github.com> Date: Tue, 20 Jan 2026 23:46:23 +0100 Subject: [PATCH 0527/1216] luajit.pkgs.{llua-cmsgpack,lrexlib-gnu}: mark as broken these are leaf packages, lua-cmsgpack hasn't seen a release in > 7 years so not excited to fix/patch things. I would probably remove those but in absence of maintainers I am not sure. And they still work with puc lua so let's keep those in. --- pkgs/development/lua-modules/overrides.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index ef7b75482bec..ffb76d6fffbc 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -393,6 +393,7 @@ in buildInputs = old.buildInputs ++ [ gnulib ]; + meta.broken = isLuaJIT; }); lrexlib-oniguruma = prev.lrexlib-oniguruma.overrideAttrs { @@ -419,6 +420,10 @@ in ]; }); + lua-cmsgpack = prev.lua-cmsgpack.overrideAttrs { + meta.broken = isLuaJIT; + }; + lua-curl = prev.lua-curl.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ curl.dev From 1deb6118f231e1c0f532986c3ea291daa5724014 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 20 Jan 2026 23:25:49 +0000 Subject: [PATCH 0528/1216] python3Packages.spacy-loggers: cleanup, fix on python>=3.14 --- .../python-modules/spacy-loggers/default.nix | 43 +++++++++++++++---- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/spacy-loggers/default.nix b/pkgs/development/python-modules/spacy-loggers/default.nix index b111a608cbcd..6d26d06df22f 100644 --- a/pkgs/development/python-modules/spacy-loggers/default.nix +++ b/pkgs/development/python-modules/spacy-loggers/default.nix @@ -1,35 +1,62 @@ { lib, - fetchPypi, + fetchFromGitHub, buildPythonPackage, + + # build-system + setuptools, + + # dependencies wandb, wasabi, + + # tests + pytestCheckHook, + spacy, + spacy-loggers, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "spacy-loggers"; version = "1.0.5"; - format = "setuptools"; + pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-1gsL2/kVpg5RbMLmU7rv+Ubwz8RhtFLRGk1UWMb+XyQ="; + src = fetchFromGitHub { + owner = "explosion"; + repo = "spacy-loggers"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Kl8FSs+sbIF2Ml5AJhP5aY7lWnDLqUr7QBAq+63SW5Q="; }; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ wandb wasabi ]; pythonImportsCheck = [ "spacy_loggers" ]; + nativeCheckInputs = [ + spacy + pytestCheckHook + ]; # skipping the checks, because it requires a cycle dependency to spacy as well. doCheck = false; + passthru = { + tests.pytest = spacy-loggers.overridePythonAttrs { + doCheck = true; + }; + }; + meta = { description = "Logging utilities for spaCy"; homepage = "https://github.com/explosion/spacy-loggers"; + changelog = "https://github.com/explosion/spacy-loggers/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ stunkymonkey ]; }; -} +}) From 82775dbdc6cc0716b1f08dfd227a77bfcaad069d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 23:33:46 +0000 Subject: [PATCH 0529/1216] ctrtool: 1.2.1 -> 1.3.0 --- pkgs/by-name/ct/ctrtool/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ct/ctrtool/package.nix b/pkgs/by-name/ct/ctrtool/package.nix index 0d0c545fd303..4ae0290dcbb4 100644 --- a/pkgs/by-name/ct/ctrtool/package.nix +++ b/pkgs/by-name/ct/ctrtool/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "ctrtool"; - version = "1.2.1"; + version = "1.3.0"; src = fetchFromGitHub { owner = "jakcron"; repo = "Project_CTR"; rev = "ctrtool-v${version}"; - sha256 = "HqqeQCEUof4EBUhuUAdTruMFgYIoXhtAN3yuWW6tD+Y="; + sha256 = "GvEzv97DqCsaDWVqDpajQRWYe+WM8xCYmGE0D3UcSrM="; }; sourceRoot = "${src.name}/ctrtool"; From b819e031548a4b827653275fa0e52cdb78ac32e9 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 01:05:30 +0100 Subject: [PATCH 0530/1216] goocanvas_{1,2,3}: move to pkgs/by-name, rename from goocanvas{,23} this shouldn't create any rebuilds I removed the "default" goocanvas because it was stuck on the old and deprecated goocanvas 1. Newer goocanvas versions are incompatible with old ones. --- pkgs/by-name/ak/akira-unstable/package.nix | 4 ++-- pkgs/by-name/gn/gnome-inform7/package.nix | 4 ++-- .../default.nix => by-name/go/goocanvas_1/package.nix} | 0 .../2.x.nix => by-name/go/goocanvas_2/package.nix} | 0 .../goocanvas => by-name/go/goocanvas_3}/gcc14-fix.patch | 0 .../3.x.nix => by-name/go/goocanvas_3/package.nix} | 0 pkgs/by-name/go/goocanvasmm2/package.nix | 4 ++-- pkgs/by-name/gp/gpredict-unstable/package.nix | 4 ++-- pkgs/by-name/gp/gpredict/package.nix | 4 ++-- pkgs/by-name/oc/ocrfeeder/package.nix | 4 ++-- pkgs/by-name/pd/pdf-quench/package.nix | 2 +- pkgs/by-name/so/soundtracker/package.nix | 4 ++-- pkgs/by-name/tr/tryton/package.nix | 4 ++-- pkgs/development/python-modules/goocalendar/default.nix | 4 ++-- pkgs/top-level/aliases.nix | 3 +++ pkgs/top-level/all-packages.nix | 4 ---- pkgs/top-level/perl-packages.nix | 6 +++--- 17 files changed, 25 insertions(+), 26 deletions(-) rename pkgs/{development/libraries/goocanvas/default.nix => by-name/go/goocanvas_1/package.nix} (100%) rename pkgs/{development/libraries/goocanvas/2.x.nix => by-name/go/goocanvas_2/package.nix} (100%) rename pkgs/{development/libraries/goocanvas => by-name/go/goocanvas_3}/gcc14-fix.patch (100%) rename pkgs/{development/libraries/goocanvas/3.x.nix => by-name/go/goocanvas_3/package.nix} (100%) diff --git a/pkgs/by-name/ak/akira-unstable/package.nix b/pkgs/by-name/ak/akira-unstable/package.nix index 006315c43ef0..4af6b8f8ab8b 100644 --- a/pkgs/by-name/ak/akira-unstable/package.nix +++ b/pkgs/by-name/ak/akira-unstable/package.nix @@ -13,7 +13,7 @@ wrapGAppsHook3, cairo, glib, - goocanvas3, + goocanvas_3, gtk3, gtksourceview3, json-glib, @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { buildInputs = [ cairo glib - goocanvas3 + goocanvas_3 pantheon.granite gtk3 gtksourceview3 diff --git a/pkgs/by-name/gn/gnome-inform7/package.nix b/pkgs/by-name/gn/gnome-inform7/package.nix index 7641a6deb55a..3a3aaeccc1bc 100644 --- a/pkgs/by-name/gn/gnome-inform7/package.nix +++ b/pkgs/by-name/gn/gnome-inform7/package.nix @@ -24,7 +24,7 @@ gtksourceview3, gspell, libxml2, - goocanvas2, + goocanvas_2, libplist, glib, gst_all_1, @@ -126,7 +126,7 @@ stdenv.mkDerivation { gspell # webkitgtk_4_0 libxml2 - goocanvas2 + goocanvas_2 libplist ratify chimara diff --git a/pkgs/development/libraries/goocanvas/default.nix b/pkgs/by-name/go/goocanvas_1/package.nix similarity index 100% rename from pkgs/development/libraries/goocanvas/default.nix rename to pkgs/by-name/go/goocanvas_1/package.nix diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/by-name/go/goocanvas_2/package.nix similarity index 100% rename from pkgs/development/libraries/goocanvas/2.x.nix rename to pkgs/by-name/go/goocanvas_2/package.nix diff --git a/pkgs/development/libraries/goocanvas/gcc14-fix.patch b/pkgs/by-name/go/goocanvas_3/gcc14-fix.patch similarity index 100% rename from pkgs/development/libraries/goocanvas/gcc14-fix.patch rename to pkgs/by-name/go/goocanvas_3/gcc14-fix.patch diff --git a/pkgs/development/libraries/goocanvas/3.x.nix b/pkgs/by-name/go/goocanvas_3/package.nix similarity index 100% rename from pkgs/development/libraries/goocanvas/3.x.nix rename to pkgs/by-name/go/goocanvas_3/package.nix diff --git a/pkgs/by-name/go/goocanvasmm2/package.nix b/pkgs/by-name/go/goocanvasmm2/package.nix index 61ea379b1b46..04f5476958a6 100644 --- a/pkgs/by-name/go/goocanvasmm2/package.nix +++ b/pkgs/by-name/go/goocanvasmm2/package.nix @@ -3,7 +3,7 @@ stdenv, fetchurl, pkg-config, - goocanvas2, + goocanvas_2, gtkmm3, gnome, }: @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; propagatedBuildInputs = [ gtkmm3 - goocanvas2 + goocanvas_2 ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/gp/gpredict-unstable/package.nix b/pkgs/by-name/gp/gpredict-unstable/package.nix index ece1d7dbf747..c5aee98340e0 100644 --- a/pkgs/by-name/gp/gpredict-unstable/package.nix +++ b/pkgs/by-name/gp/gpredict-unstable/package.nix @@ -1,13 +1,13 @@ { lib, fetchFromGitHub, - goocanvas3, + goocanvas_3, nix-update-script, gpredict, }: (gpredict.override { - goocanvas2 = goocanvas3; + goocanvas_2 = goocanvas_3; }).overrideAttrs (finalAttrs: { version = "2.2.1-unstable-2025-09-20"; diff --git a/pkgs/by-name/gp/gpredict/package.nix b/pkgs/by-name/gp/gpredict/package.nix index b9adf285d466..c44036ffd038 100644 --- a/pkgs/by-name/gp/gpredict/package.nix +++ b/pkgs/by-name/gp/gpredict/package.nix @@ -9,7 +9,7 @@ gtk3, glib, curl, - goocanvas2, + goocanvas_2, gpsd, hamlib_4, wrapGAppsHook3, @@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: { curl glib gtk3 - goocanvas2 + goocanvas_2 gpsd hamlib_4 ]; diff --git a/pkgs/by-name/oc/ocrfeeder/package.nix b/pkgs/by-name/oc/ocrfeeder/package.nix index 5dc36c45b4ca..6e3dc16283b8 100644 --- a/pkgs/by-name/oc/ocrfeeder/package.nix +++ b/pkgs/by-name/oc/ocrfeeder/package.nix @@ -9,7 +9,7 @@ libxml2, gobject-introspection, gtk3, - goocanvas2, + goocanvas_2, gtkspell3, isocodes, python3, @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gtk3 - goocanvas2 + goocanvas_2 gtkspell3 isocodes (python3.withPackages ( diff --git a/pkgs/by-name/pd/pdf-quench/package.nix b/pkgs/by-name/pd/pdf-quench/package.nix index cdd8d2cc0f4f..77f7ff8a12da 100644 --- a/pkgs/by-name/pd/pdf-quench/package.nix +++ b/pkgs/by-name/pd/pdf-quench/package.nix @@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication { ]; buildInputs = with pkgs; [ gtk3 - goocanvas2 + goocanvas_2 poppler_gi ]; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/by-name/so/soundtracker/package.nix b/pkgs/by-name/so/soundtracker/package.nix index 68dee8f6eda1..ff844e72587c 100644 --- a/pkgs/by-name/so/soundtracker/package.nix +++ b/pkgs/by-name/so/soundtracker/package.nix @@ -9,7 +9,7 @@ SDL, jack2, audiofile, - goocanvas, # graphical envelope editing + goocanvas_1, # graphical envelope editing libxml2, libsndfile, libpulseaudio, @@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: { SDL # found by AM_PATH_SDL jack2 audiofile - goocanvas + goocanvas_1 libxml2 # found by PKG_CHECK_MODULES libsndfile ] diff --git a/pkgs/by-name/tr/tryton/package.nix b/pkgs/by-name/tr/tryton/package.nix index 88461e1ca578..38be9993f62a 100644 --- a/pkgs/by-name/tr/tryton/package.nix +++ b/pkgs/by-name/tr/tryton/package.nix @@ -10,7 +10,7 @@ gtkspell3, adwaita-icon-theme, glib, - goocanvas2, + goocanvas_2, gdk-pixbuf, pango, fontconfig, @@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec { gdk-pixbuf glib adwaita-icon-theme - goocanvas2 + goocanvas_2 fontconfig freetype gtk3 diff --git a/pkgs/development/python-modules/goocalendar/default.nix b/pkgs/development/python-modules/goocalendar/default.nix index ffa6f7c57c6b..691e82319091 100644 --- a/pkgs/development/python-modules/goocalendar/default.nix +++ b/pkgs/development/python-modules/goocalendar/default.nix @@ -3,7 +3,7 @@ buildPythonPackage, fetchPypi, gobject-introspection, - goocanvas2, + goocanvas_2, gtk3, pkg-config, pygobject3, @@ -29,7 +29,7 @@ buildPythonPackage rec { buildInputs = [ gtk3 - goocanvas2 + goocanvas_2 ]; # No upstream tests available diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index fce5d3e9669c..1acca69f2bd7 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -746,6 +746,9 @@ mapAliases { godot_4_3-export-templates = throw "'godot_4_3-export-templates' has been renamed to/replaced by 'godot_4_3-export-templates-bin'"; # Converted to throw 2025-10-27 godot_4_4-export-templates = throw "'godot_4_4-export-templates' has been renamed to/replaced by 'godot_4_4-export-templates-bin'"; # Converted to throw 2025-10-27 goldwarden = throw "'goldwarden' has been removed, as it no longer works with new Bitwarden versions and is abandoned upstream"; # Added 2025-09-16 + goocanvas2 = warnAlias "'goocanvas2' has been renamed to goocanvas_2" goocanvas_2; # Added 2026-01-17 + goocanvas3 = warnAlias "'goocanvas3' has been renamed to goocanvas_3" goocanvas_3; # Added 2026-01-17 + goocanvas = warnAlias "'goocanvas' has been renamed to goocanvas_1" goocanvas_1; # Added 2026-01-17 gphotos-sync = throw "'gphotos-sync' has been removed, as it was archived upstream due to API changes that ceased its functions"; # Added 2025-11-06 gprbuild-boot = throw "'gprbuild-boot' has been renamed to/replaced by 'gnatPackages.gprbuild-boot'"; # Converted to throw 2025-10-27 gpxsee-qt5 = throw "gpxsee-qt5 was removed, use gpxsee instead"; # Added 2025-09-09 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 566cb5480b7c..393f16618ca8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6961,10 +6961,6 @@ with pkgs; nixStoreDir = config.nix.storeDir or builtins.storeDir; }; - goocanvas = callPackage ../development/libraries/goocanvas { }; - goocanvas2 = callPackage ../development/libraries/goocanvas/2.x.nix { }; - goocanvas3 = callPackage ../development/libraries/goocanvas/3.x.nix { }; - gst_all_1 = recurseIntoAttrs (callPackage ../development/libraries/gstreamer { }); grantlee = libsForQt5.callPackage ../development/libraries/grantlee { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e15319aa85d9..794780172218 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -14952,7 +14952,7 @@ with self; hash = "sha256-DFiMUH7tXmLRLtHMHkkcb/Oh9ZxPs9Q14UIUs3qzklE="; }; propagatedBuildInputs = [ - pkgs.goocanvas + pkgs.goocanvas_1 pkgs.gtk2 Gtk2 ]; @@ -14975,7 +14975,7 @@ with self; }; buildInputs = [ pkgs.gtk3 ]; propagatedBuildInputs = [ - pkgs.goocanvas2 + pkgs.goocanvas_2 Gtk3 ]; meta = { @@ -14995,7 +14995,7 @@ with self; hash = "sha256-uoBnNuvMnePYFBp2Omgr3quxy4cCveKZrf1XSs6HUFI="; }; propagatedBuildInputs = [ - pkgs.goocanvas2 + pkgs.goocanvas_2 Gtk3 ]; meta = { From bd690400cac114db7c096d61c216d9d40793e868 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 01:13:01 +0100 Subject: [PATCH 0531/1216] gssdp{,_1_6,-tools}: move to pkgs/by-name this shouldn't create any rebuilds --- .../gssdp/tools.nix => by-name/gs/gssdp-tools/package.nix} | 0 .../gssdp => by-name/gs/gssdp-tools}/standalone-tools.patch | 0 .../gssdp/default.nix => by-name/gs/gssdp/package.nix} | 0 .../gssdp/1.6.nix => by-name/gs/gssdp_1_6/package.nix} | 0 pkgs/top-level/all-packages.nix | 6 ------ 5 files changed, 6 deletions(-) rename pkgs/{development/libraries/gssdp/tools.nix => by-name/gs/gssdp-tools/package.nix} (100%) rename pkgs/{development/libraries/gssdp => by-name/gs/gssdp-tools}/standalone-tools.patch (100%) rename pkgs/{development/libraries/gssdp/default.nix => by-name/gs/gssdp/package.nix} (100%) rename pkgs/{development/libraries/gssdp/1.6.nix => by-name/gs/gssdp_1_6/package.nix} (100%) diff --git a/pkgs/development/libraries/gssdp/tools.nix b/pkgs/by-name/gs/gssdp-tools/package.nix similarity index 100% rename from pkgs/development/libraries/gssdp/tools.nix rename to pkgs/by-name/gs/gssdp-tools/package.nix diff --git a/pkgs/development/libraries/gssdp/standalone-tools.patch b/pkgs/by-name/gs/gssdp-tools/standalone-tools.patch similarity index 100% rename from pkgs/development/libraries/gssdp/standalone-tools.patch rename to pkgs/by-name/gs/gssdp-tools/standalone-tools.patch diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/by-name/gs/gssdp/package.nix similarity index 100% rename from pkgs/development/libraries/gssdp/default.nix rename to pkgs/by-name/gs/gssdp/package.nix diff --git a/pkgs/development/libraries/gssdp/1.6.nix b/pkgs/by-name/gs/gssdp_1_6/package.nix similarity index 100% rename from pkgs/development/libraries/gssdp/1.6.nix rename to pkgs/by-name/gs/gssdp_1_6/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 393f16618ca8..76546fd788fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2756,12 +2756,6 @@ with pkgs; gruut-ipa = with python3.pkgs; toPythonApplication gruut-ipa; - gssdp = callPackage ../development/libraries/gssdp { }; - - gssdp_1_6 = callPackage ../development/libraries/gssdp/1.6.nix { }; - - gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { }; - gup = callPackage ../development/tools/build-managers/gup { }; gupnp = callPackage ../development/libraries/gupnp { }; From 23d433a5dcda8e191b68139bcf4e6fddb368c23d Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 01:44:55 +0100 Subject: [PATCH 0532/1216] gtk{2,3,4}: move to pkgs/by-name this shouldn't create any rebuilds I unfortunately had to duplicate the setup hooks, however i think it is ok because they don't change a lot. --- .../gt/gtk2}/hooks/clean-immodules-cache.sh | 0 .../gt/gtk2}/hooks/drop-icon-theme-cache.sh | 0 .../2.x.nix => by-name/gt/gtk2/package.nix} | 0 .../gt/gtk2}/patches/2.0-clang.patch | 0 .../gt/gtk2}/patches/2.0-darwin-x11.patch | 0 ...ugzilla_557780_306776_freeciv_darwin.patch | 0 .../gtk2}/patches/2.0-immodules.cache.patch | 0 .../gt/gtk2}/patches/gtk2-theme-paths.patch | 0 .../gt/gtk3/hooks/clean-immodules-cache.sh | 15 +++++++++++++++ .../gt/gtk3/hooks/drop-icon-theme-cache.sh | 19 +++++++++++++++++++ .../3.x.nix => by-name/gt/gtk3/package.nix} | 0 ...etting-fallback-compute-DPI-properly.patch | 0 .../gt/gtk3}/patches/3.0-darwin-x11.patch | 0 .../gtk3}/patches/3.0-immodules.cache.patch | 0 .../gtk3}/patches/3.0-mr5531-backport.patch | 0 .../gt/gtk4/hooks/clean-immodules-cache.sh | 15 +++++++++++++++ .../gt/gtk4/hooks/drop-icon-theme-cache.sh | 19 +++++++++++++++++++ .../4.x.nix => by-name/gt/gtk4/package.nix} | 0 pkgs/top-level/all-packages.nix | 6 ------ 19 files changed, 68 insertions(+), 6 deletions(-) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/hooks/clean-immodules-cache.sh (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/hooks/drop-icon-theme-cache.sh (100%) rename pkgs/{development/libraries/gtk/2.x.nix => by-name/gt/gtk2/package.nix} (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/patches/2.0-clang.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/patches/2.0-darwin-x11.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/patches/2.0-immodules.cache.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk2}/patches/gtk2-theme-paths.patch (100%) create mode 100644 pkgs/by-name/gt/gtk3/hooks/clean-immodules-cache.sh create mode 100644 pkgs/by-name/gt/gtk3/hooks/drop-icon-theme-cache.sh rename pkgs/{development/libraries/gtk/3.x.nix => by-name/gt/gtk3/package.nix} (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk3}/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk3}/patches/3.0-darwin-x11.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk3}/patches/3.0-immodules.cache.patch (100%) rename pkgs/{development/libraries/gtk => by-name/gt/gtk3}/patches/3.0-mr5531-backport.patch (100%) create mode 100644 pkgs/by-name/gt/gtk4/hooks/clean-immodules-cache.sh create mode 100644 pkgs/by-name/gt/gtk4/hooks/drop-icon-theme-cache.sh rename pkgs/{development/libraries/gtk/4.x.nix => by-name/gt/gtk4/package.nix} (100%) diff --git a/pkgs/development/libraries/gtk/hooks/clean-immodules-cache.sh b/pkgs/by-name/gt/gtk2/hooks/clean-immodules-cache.sh similarity index 100% rename from pkgs/development/libraries/gtk/hooks/clean-immodules-cache.sh rename to pkgs/by-name/gt/gtk2/hooks/clean-immodules-cache.sh diff --git a/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh b/pkgs/by-name/gt/gtk2/hooks/drop-icon-theme-cache.sh similarity index 100% rename from pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh rename to pkgs/by-name/gt/gtk2/hooks/drop-icon-theme-cache.sh diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/by-name/gt/gtk2/package.nix similarity index 100% rename from pkgs/development/libraries/gtk/2.x.nix rename to pkgs/by-name/gt/gtk2/package.nix diff --git a/pkgs/development/libraries/gtk/patches/2.0-clang.patch b/pkgs/by-name/gt/gtk2/patches/2.0-clang.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/2.0-clang.patch rename to pkgs/by-name/gt/gtk2/patches/2.0-clang.patch diff --git a/pkgs/development/libraries/gtk/patches/2.0-darwin-x11.patch b/pkgs/by-name/gt/gtk2/patches/2.0-darwin-x11.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/2.0-darwin-x11.patch rename to pkgs/by-name/gt/gtk2/patches/2.0-darwin-x11.patch diff --git a/pkgs/development/libraries/gtk/patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch b/pkgs/by-name/gt/gtk2/patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch rename to pkgs/by-name/gt/gtk2/patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch diff --git a/pkgs/development/libraries/gtk/patches/2.0-immodules.cache.patch b/pkgs/by-name/gt/gtk2/patches/2.0-immodules.cache.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/2.0-immodules.cache.patch rename to pkgs/by-name/gt/gtk2/patches/2.0-immodules.cache.patch diff --git a/pkgs/development/libraries/gtk/patches/gtk2-theme-paths.patch b/pkgs/by-name/gt/gtk2/patches/gtk2-theme-paths.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/gtk2-theme-paths.patch rename to pkgs/by-name/gt/gtk2/patches/gtk2-theme-paths.patch diff --git a/pkgs/by-name/gt/gtk3/hooks/clean-immodules-cache.sh b/pkgs/by-name/gt/gtk3/hooks/clean-immodules-cache.sh new file mode 100644 index 000000000000..0868a4a39101 --- /dev/null +++ b/pkgs/by-name/gt/gtk3/hooks/clean-immodules-cache.sh @@ -0,0 +1,15 @@ +# shellcheck shell=bash + +fixupOutputHooks+=(_gtkCleanImmodulesCache) + +# Clean comments that link to generator of the file +_gtkCleanImmodulesCache() { + # gtk_module_path is where the modules are installed + # https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.24/gtk/gtkmodules.c#L68 + # gtk_binary_version can be retrived with: + # pkg-config --variable=gtk_binary_version gtk+-3.0 + local f="${prefix:?}/lib/@gtk_module_path@/@gtk_binary_version@/immodules.cache" + if [ -f "$f" ]; then + sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" + fi +} diff --git a/pkgs/by-name/gt/gtk3/hooks/drop-icon-theme-cache.sh b/pkgs/by-name/gt/gtk3/hooks/drop-icon-theme-cache.sh new file mode 100644 index 000000000000..0762285843eb --- /dev/null +++ b/pkgs/by-name/gt/gtk3/hooks/drop-icon-theme-cache.sh @@ -0,0 +1,19 @@ +# shellcheck shell=bash + +# Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache. +# However, since each package is installed to its own prefix, the files will only collide. +dropIconThemeCache() { + if [[ -z "${dontDropIconThemeCache:-}" ]]; then + local icondir="${out:?}/share/icons" + if [[ -d "${icondir}" ]]; then + # App icons are supposed to go to hicolor theme, since it is a fallback theme as per [icon-theme-spec], but some might still choose to install stylized icons to other themes. + find "${icondir}" -name 'icon-theme.cache' -print0 \ + | while IFS= read -r -d '' file; do + echo "Removing ${file}" + rm -f "${file}" + done + fi + fi +} + +appendToVar preFixupPhases dropIconThemeCache diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/by-name/gt/gtk3/package.nix similarity index 100% rename from pkgs/development/libraries/gtk/3.x.nix rename to pkgs/by-name/gt/gtk3/package.nix diff --git a/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch b/pkgs/by-name/gt/gtk3/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch rename to pkgs/by-name/gt/gtk3/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch diff --git a/pkgs/development/libraries/gtk/patches/3.0-darwin-x11.patch b/pkgs/by-name/gt/gtk3/patches/3.0-darwin-x11.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/3.0-darwin-x11.patch rename to pkgs/by-name/gt/gtk3/patches/3.0-darwin-x11.patch diff --git a/pkgs/development/libraries/gtk/patches/3.0-immodules.cache.patch b/pkgs/by-name/gt/gtk3/patches/3.0-immodules.cache.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/3.0-immodules.cache.patch rename to pkgs/by-name/gt/gtk3/patches/3.0-immodules.cache.patch diff --git a/pkgs/development/libraries/gtk/patches/3.0-mr5531-backport.patch b/pkgs/by-name/gt/gtk3/patches/3.0-mr5531-backport.patch similarity index 100% rename from pkgs/development/libraries/gtk/patches/3.0-mr5531-backport.patch rename to pkgs/by-name/gt/gtk3/patches/3.0-mr5531-backport.patch diff --git a/pkgs/by-name/gt/gtk4/hooks/clean-immodules-cache.sh b/pkgs/by-name/gt/gtk4/hooks/clean-immodules-cache.sh new file mode 100644 index 000000000000..0868a4a39101 --- /dev/null +++ b/pkgs/by-name/gt/gtk4/hooks/clean-immodules-cache.sh @@ -0,0 +1,15 @@ +# shellcheck shell=bash + +fixupOutputHooks+=(_gtkCleanImmodulesCache) + +# Clean comments that link to generator of the file +_gtkCleanImmodulesCache() { + # gtk_module_path is where the modules are installed + # https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.24/gtk/gtkmodules.c#L68 + # gtk_binary_version can be retrived with: + # pkg-config --variable=gtk_binary_version gtk+-3.0 + local f="${prefix:?}/lib/@gtk_module_path@/@gtk_binary_version@/immodules.cache" + if [ -f "$f" ]; then + sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" + fi +} diff --git a/pkgs/by-name/gt/gtk4/hooks/drop-icon-theme-cache.sh b/pkgs/by-name/gt/gtk4/hooks/drop-icon-theme-cache.sh new file mode 100644 index 000000000000..0762285843eb --- /dev/null +++ b/pkgs/by-name/gt/gtk4/hooks/drop-icon-theme-cache.sh @@ -0,0 +1,19 @@ +# shellcheck shell=bash + +# Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache. +# However, since each package is installed to its own prefix, the files will only collide. +dropIconThemeCache() { + if [[ -z "${dontDropIconThemeCache:-}" ]]; then + local icondir="${out:?}/share/icons" + if [[ -d "${icondir}" ]]; then + # App icons are supposed to go to hicolor theme, since it is a fallback theme as per [icon-theme-spec], but some might still choose to install stylized icons to other themes. + find "${icondir}" -name 'icon-theme.cache' -print0 \ + | while IFS= read -r -d '' file; do + echo "Removing ${file}" + rm -f "${file}" + done + fi + fi +} + +appendToVar preFixupPhases dropIconThemeCache diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/by-name/gt/gtk4/package.nix similarity index 100% rename from pkgs/development/libraries/gtk/4.x.nix rename to pkgs/by-name/gt/gtk4/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76546fd788fa..67d586801fac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6983,8 +6983,6 @@ with pkgs; pangomm_2_42 = callPackage ../development/libraries/pangomm/2.42.nix { }; - gtk2 = callPackage ../development/libraries/gtk/2.x.nix { }; - gtk2-x11 = gtk2.override { cairo = cairo.override { x11Support = true; }; pango = pango.override { @@ -6994,10 +6992,6 @@ with pkgs; gdktarget = "x11"; }; - gtk3 = callPackage ../development/libraries/gtk/3.x.nix { }; - - gtk4 = callPackage ../development/libraries/gtk/4.x.nix { }; - # On darwin gtk uses cocoa by default instead of x11. gtk3-x11 = gtk3.override { cairo = cairo.override { x11Support = true; }; From b6cc7f21ec62ed3834cda080001fa711bd6d2271 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 01:48:16 +0100 Subject: [PATCH 0533/1216] gtkmm{2,3,4}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libraries/gtkmm/2.x.nix => by-name/gt/gtkmm2/package.nix} | 0 .../libraries/gtkmm/3.x.nix => by-name/gt/gtkmm3/package.nix} | 0 .../libraries/gtkmm/4.x.nix => by-name/gt/gtkmm4/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 4 deletions(-) rename pkgs/{development/libraries/gtkmm/2.x.nix => by-name/gt/gtkmm2/package.nix} (100%) rename pkgs/{development/libraries/gtkmm/3.x.nix => by-name/gt/gtkmm3/package.nix} (100%) rename pkgs/{development/libraries/gtkmm/4.x.nix => by-name/gt/gtkmm4/package.nix} (100%) diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/by-name/gt/gtkmm2/package.nix similarity index 100% rename from pkgs/development/libraries/gtkmm/2.x.nix rename to pkgs/by-name/gt/gtkmm2/package.nix diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/by-name/gt/gtkmm3/package.nix similarity index 100% rename from pkgs/development/libraries/gtkmm/3.x.nix rename to pkgs/by-name/gt/gtkmm3/package.nix diff --git a/pkgs/development/libraries/gtkmm/4.x.nix b/pkgs/by-name/gt/gtkmm4/package.nix similarity index 100% rename from pkgs/development/libraries/gtkmm/4.x.nix rename to pkgs/by-name/gt/gtkmm4/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 67d586801fac..6545a0727f87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7002,10 +7002,6 @@ with pkgs; x11Support = true; }; - gtkmm2 = callPackage ../development/libraries/gtkmm/2.x.nix { }; - gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { }; - gtkmm4 = callPackage ../development/libraries/gtkmm/4.x.nix { }; - gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix { }; gtk-sharp-3_0 = callPackage ../development/libraries/gtk-sharp/3.0.nix { }; From 32555b0f3a64c2cdef8612b0304851a93f2eb9ee Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 01:54:38 +0100 Subject: [PATCH 0534/1216] gtk-sharp-{2,3}_0: move to pkgs/by-name this shouldn't create any rebuilds --- .../gtk-sharp => by-name/gt/gtk-sharp-2_0}/builder.sh | 0 .../2.0.nix => by-name/gt/gtk-sharp-2_0/package.nix} | 0 pkgs/by-name/gt/gtk-sharp-3_0/builder.sh | 9 +++++++++ .../3.0.nix => by-name/gt/gtk-sharp-3_0/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 5 files changed, 9 insertions(+), 4 deletions(-) rename pkgs/{development/libraries/gtk-sharp => by-name/gt/gtk-sharp-2_0}/builder.sh (100%) rename pkgs/{development/libraries/gtk-sharp/2.0.nix => by-name/gt/gtk-sharp-2_0/package.nix} (100%) create mode 100644 pkgs/by-name/gt/gtk-sharp-3_0/builder.sh rename pkgs/{development/libraries/gtk-sharp/3.0.nix => by-name/gt/gtk-sharp-3_0/package.nix} (100%) diff --git a/pkgs/development/libraries/gtk-sharp/builder.sh b/pkgs/by-name/gt/gtk-sharp-2_0/builder.sh similarity index 100% rename from pkgs/development/libraries/gtk-sharp/builder.sh rename to pkgs/by-name/gt/gtk-sharp-2_0/builder.sh diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/by-name/gt/gtk-sharp-2_0/package.nix similarity index 100% rename from pkgs/development/libraries/gtk-sharp/2.0.nix rename to pkgs/by-name/gt/gtk-sharp-2_0/package.nix diff --git a/pkgs/by-name/gt/gtk-sharp-3_0/builder.sh b/pkgs/by-name/gt/gtk-sharp-3_0/builder.sh new file mode 100644 index 000000000000..946b65d98a58 --- /dev/null +++ b/pkgs/by-name/gt/gtk-sharp-3_0/builder.sh @@ -0,0 +1,9 @@ +genericBuild + +# !!! hack +export ALL_INPUTS="$out $pkgs" + +find $out -name "*.dll.config" | while read configFile; do + echo "modifying config file $configFile" + $monoDLLFixer "$configFile" +done diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/by-name/gt/gtk-sharp-3_0/package.nix similarity index 100% rename from pkgs/development/libraries/gtk-sharp/3.0.nix rename to pkgs/by-name/gt/gtk-sharp-3_0/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6545a0727f87..13d56a398066 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7002,10 +7002,6 @@ with pkgs; x11Support = true; }; - gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix { }; - - gtk-sharp-3_0 = callPackage ../development/libraries/gtk-sharp/3.0.nix { }; - gtk-mac-integration-gtk2 = gtk-mac-integration.override { gtk = gtk2; }; From 7118858823a54927aba80d45c8b60854e9b9cc86 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:26:04 +0100 Subject: [PATCH 0535/1216] gtksourceviewmm{,4}: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/gt/gtksourceviewmm/package.nix} | 0 .../4.x.nix => by-name/gt/gtksourceviewmm4/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 4 deletions(-) rename pkgs/{development/libraries/gtksourceviewmm/default.nix => by-name/gt/gtksourceviewmm/package.nix} (100%) rename pkgs/{development/libraries/gtksourceviewmm/4.x.nix => by-name/gt/gtksourceviewmm4/package.nix} (100%) diff --git a/pkgs/development/libraries/gtksourceviewmm/default.nix b/pkgs/by-name/gt/gtksourceviewmm/package.nix similarity index 100% rename from pkgs/development/libraries/gtksourceviewmm/default.nix rename to pkgs/by-name/gt/gtksourceviewmm/package.nix diff --git a/pkgs/development/libraries/gtksourceviewmm/4.x.nix b/pkgs/by-name/gt/gtksourceviewmm4/package.nix similarity index 100% rename from pkgs/development/libraries/gtksourceviewmm/4.x.nix rename to pkgs/by-name/gt/gtksourceviewmm4/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 13d56a398066..fbd8c72f28da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7016,10 +7016,6 @@ with pkgs; gtksourceview5 = callPackage ../development/libraries/gtksourceview/5.x.nix { }; - gtksourceviewmm = callPackage ../development/libraries/gtksourceviewmm { }; - - gtksourceviewmm4 = callPackage ../development/libraries/gtksourceviewmm/4.x.nix { }; - gtkspell2 = callPackage ../development/libraries/gtkspell { }; gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { }; From 3a9a26bbecbde097cfae193a100a57227e8a46bd Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:30:00 +0100 Subject: [PATCH 0536/1216] gtkspell{2,3}: move to pkgs/by-name this shouldn't create any rebuilds --- .../gtkspell => by-name/gt/gtkspell2}/gettext-0.25.patch | 0 .../gtkspell/default.nix => by-name/gt/gtkspell2/package.nix} | 0 .../gtkspell/3.nix => by-name/gt/gtkspell3/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 4 deletions(-) rename pkgs/{development/libraries/gtkspell => by-name/gt/gtkspell2}/gettext-0.25.patch (100%) rename pkgs/{development/libraries/gtkspell/default.nix => by-name/gt/gtkspell2/package.nix} (100%) rename pkgs/{development/libraries/gtkspell/3.nix => by-name/gt/gtkspell3/package.nix} (100%) diff --git a/pkgs/development/libraries/gtkspell/gettext-0.25.patch b/pkgs/by-name/gt/gtkspell2/gettext-0.25.patch similarity index 100% rename from pkgs/development/libraries/gtkspell/gettext-0.25.patch rename to pkgs/by-name/gt/gtkspell2/gettext-0.25.patch diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/by-name/gt/gtkspell2/package.nix similarity index 100% rename from pkgs/development/libraries/gtkspell/default.nix rename to pkgs/by-name/gt/gtkspell2/package.nix diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/by-name/gt/gtkspell3/package.nix similarity index 100% rename from pkgs/development/libraries/gtkspell/3.nix rename to pkgs/by-name/gt/gtkspell3/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fbd8c72f28da..9d383e500132 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7016,10 +7016,6 @@ with pkgs; gtksourceview5 = callPackage ../development/libraries/gtksourceview/5.x.nix { }; - gtkspell2 = callPackage ../development/libraries/gtkspell { }; - - gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { }; - gwenhywfar = callPackage ../development/libraries/aqbanking/gwenhywfar.nix { }; hamlib = hamlib_3; From cab519b4047dcffe9b5a381dd624042e7de1e43f Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:33:14 +0100 Subject: [PATCH 0537/1216] gupnp{,_1_6}: move to pkgs/by-name this shouldn't create any rebuilds --- ...001-pkg-config-Declare-header-dependencies-as-public.patch | 0 .../gupnp/default.nix => by-name/gu/gupnp/package.nix} | 0 .../gupnp/1.6.nix => by-name/gu/gupnp_1_6/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 4 deletions(-) rename pkgs/{development/libraries => by-name/gu}/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch (100%) rename pkgs/{development/libraries/gupnp/default.nix => by-name/gu/gupnp/package.nix} (100%) rename pkgs/{development/libraries/gupnp/1.6.nix => by-name/gu/gupnp_1_6/package.nix} (100%) diff --git a/pkgs/development/libraries/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch b/pkgs/by-name/gu/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch similarity index 100% rename from pkgs/development/libraries/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch rename to pkgs/by-name/gu/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/by-name/gu/gupnp/package.nix similarity index 100% rename from pkgs/development/libraries/gupnp/default.nix rename to pkgs/by-name/gu/gupnp/package.nix diff --git a/pkgs/development/libraries/gupnp/1.6.nix b/pkgs/by-name/gu/gupnp_1_6/package.nix similarity index 100% rename from pkgs/development/libraries/gupnp/1.6.nix rename to pkgs/by-name/gu/gupnp_1_6/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9d383e500132..141ac8b3216f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2758,10 +2758,6 @@ with pkgs; gup = callPackage ../development/tools/build-managers/gup { }; - gupnp = callPackage ../development/libraries/gupnp { }; - - gupnp_1_6 = callPackage ../development/libraries/gupnp/1.6.nix { }; - gvm-tools = with python3.pkgs; toPythonApplication gvm-tools; gzip = callPackage ../tools/compression/gzip { }; From b36cb0cac592be4c7eff62986b52690933b88cdb Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:35:56 +0100 Subject: [PATCH 0538/1216] hamlib_{3,4}: move to pkgs/by-name this shouldn't create any rebuilds --- .../hamlib/default.nix => by-name/ha/hamlib_3/package.nix} | 0 .../libraries/hamlib/4.nix => by-name/ha/hamlib_4/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{development/libraries/hamlib/default.nix => by-name/ha/hamlib_3/package.nix} (100%) rename pkgs/{development/libraries/hamlib/4.nix => by-name/ha/hamlib_4/package.nix} (100%) diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/by-name/ha/hamlib_3/package.nix similarity index 100% rename from pkgs/development/libraries/hamlib/default.nix rename to pkgs/by-name/ha/hamlib_3/package.nix diff --git a/pkgs/development/libraries/hamlib/4.nix b/pkgs/by-name/ha/hamlib_4/package.nix similarity index 100% rename from pkgs/development/libraries/hamlib/4.nix rename to pkgs/by-name/ha/hamlib_4/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 141ac8b3216f..cbfe1d0f2057 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7015,8 +7015,6 @@ with pkgs; gwenhywfar = callPackage ../development/libraries/aqbanking/gwenhywfar.nix { }; hamlib = hamlib_3; - hamlib_3 = callPackage ../development/libraries/hamlib { }; - hamlib_4 = callPackage ../development/libraries/hamlib/4.nix { }; heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; From ddeb59cfb6156b1566badd85e735296bf4362c5c Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:39:16 +0100 Subject: [PATCH 0539/1216] hspell: move to pkgs/by-name this shouldn't create any rebuilds --- .../hspell/default.nix => by-name/hs/hspell/package.nix} | 0 .../hs}/hspell/remove-shared-library-checks.patch | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{development/libraries/hspell/default.nix => by-name/hs/hspell/package.nix} (100%) rename pkgs/{development/libraries => by-name/hs}/hspell/remove-shared-library-checks.patch (100%) diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/by-name/hs/hspell/package.nix similarity index 100% rename from pkgs/development/libraries/hspell/default.nix rename to pkgs/by-name/hs/hspell/package.nix diff --git a/pkgs/development/libraries/hspell/remove-shared-library-checks.patch b/pkgs/by-name/hs/hspell/remove-shared-library-checks.patch similarity index 100% rename from pkgs/development/libraries/hspell/remove-shared-library-checks.patch rename to pkgs/by-name/hs/hspell/remove-shared-library-checks.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cbfe1d0f2057..c8f51059df05 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7027,8 +7027,6 @@ with pkgs; highfive-mpi = highfive.override { hdf5 = hdf5-mpi; }; - hspell = callPackage ../development/libraries/hspell { }; - hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { }; hunspellDicts = recurseIntoAttrs (callPackages ../by-name/hu/hunspell/dictionaries.nix { }); From 1fa3464e1082ff2d7180048b83aa90e09f2eb609 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:42:48 +0100 Subject: [PATCH 0540/1216] indicator-application-gtk{2,3}: move to pkgs/by-name this shouldn't create any rebuilds --- .../in/indicator-application-gtk2/package.nix} | 0 .../in/indicator-application-gtk3/package.nix} | 0 pkgs/top-level/all-packages.nix | 7 ------- 3 files changed, 7 deletions(-) rename pkgs/{development/libraries/indicator-application/gtk2.nix => by-name/in/indicator-application-gtk2/package.nix} (100%) rename pkgs/{development/libraries/indicator-application/gtk3.nix => by-name/in/indicator-application-gtk3/package.nix} (100%) diff --git a/pkgs/development/libraries/indicator-application/gtk2.nix b/pkgs/by-name/in/indicator-application-gtk2/package.nix similarity index 100% rename from pkgs/development/libraries/indicator-application/gtk2.nix rename to pkgs/by-name/in/indicator-application-gtk2/package.nix diff --git a/pkgs/development/libraries/indicator-application/gtk3.nix b/pkgs/by-name/in/indicator-application-gtk3/package.nix similarity index 100% rename from pkgs/development/libraries/indicator-application/gtk3.nix rename to pkgs/by-name/in/indicator-application-gtk3/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8f51059df05..01b338f2d263 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7081,13 +7081,6 @@ with pkgs; libXinerama = xorg.libXinerama; }; - indicator-application-gtk2 = - callPackage ../development/libraries/indicator-application/gtk2.nix - { }; - indicator-application-gtk3 = - callPackage ../development/libraries/indicator-application/gtk3.nix - { }; - indilib = callPackage ../development/libraries/science/astronomy/indilib { }; indi-3rdparty = recurseIntoAttrs ( callPackages ../development/libraries/science/astronomy/indilib/indi-3rdparty.nix { } From 40c073e19e7ebce21bcdf7a338044a9536cad266 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 02:58:13 +0100 Subject: [PATCH 0541/1216] {jemalloc,rust-jemalloc-sys}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libraries => by-name/je}/jemalloc/o3-to-o2.patch | 0 .../jemalloc/default.nix => by-name/je/jemalloc/package.nix} | 0 .../rust.nix => by-name/ru/rust-jemalloc-sys/package.nix} | 0 pkgs/top-level/all-packages.nix | 3 --- 4 files changed, 3 deletions(-) rename pkgs/{development/libraries => by-name/je}/jemalloc/o3-to-o2.patch (100%) rename pkgs/{development/libraries/jemalloc/default.nix => by-name/je/jemalloc/package.nix} (100%) rename pkgs/{development/libraries/jemalloc/rust.nix => by-name/ru/rust-jemalloc-sys/package.nix} (100%) diff --git a/pkgs/development/libraries/jemalloc/o3-to-o2.patch b/pkgs/by-name/je/jemalloc/o3-to-o2.patch similarity index 100% rename from pkgs/development/libraries/jemalloc/o3-to-o2.patch rename to pkgs/by-name/je/jemalloc/o3-to-o2.patch diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/by-name/je/jemalloc/package.nix similarity index 100% rename from pkgs/development/libraries/jemalloc/default.nix rename to pkgs/by-name/je/jemalloc/package.nix diff --git a/pkgs/development/libraries/jemalloc/rust.nix b/pkgs/by-name/ru/rust-jemalloc-sys/package.nix similarity index 100% rename from pkgs/development/libraries/jemalloc/rust.nix rename to pkgs/by-name/ru/rust-jemalloc-sys/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 01b338f2d263..89123821970c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7116,9 +7116,6 @@ with pkgs; itk = itk_5; - jemalloc = callPackage ../development/libraries/jemalloc { }; - - rust-jemalloc-sys = callPackage ../development/libraries/jemalloc/rust.nix { }; rust-jemalloc-sys-unprefixed = rust-jemalloc-sys.override { unprefixed = true; }; json2yaml = haskell.lib.compose.justStaticExecutables haskellPackages.json2yaml; From 27ba2136a0df7fb44ad4af9c583423d2b1e91afa Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:06:55 +0100 Subject: [PATCH 0542/1216] {krb5,heimdal}: move to pkgs/by-name this shouldn't create any rebuilds --- .../he/heimdal}/0001-Define-HAVE_DB_185_H.patch | 0 .../he/heimdal}/0001-Include-db.h-for-nbdb-compat-mode.patch | 0 .../he/heimdal}/0001-Link-tests-with-libresolv.patch | 0 .../kerberos/heimdal.nix => by-name/he/heimdal/package.nix} | 0 .../kerberos/krb5.nix => by-name/kr/krb5/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 5 ----- 6 files changed, 2 insertions(+), 7 deletions(-) rename pkgs/{development/libraries/kerberos => by-name/he/heimdal}/0001-Define-HAVE_DB_185_H.patch (100%) rename pkgs/{development/libraries/kerberos => by-name/he/heimdal}/0001-Include-db.h-for-nbdb-compat-mode.patch (100%) rename pkgs/{development/libraries/kerberos => by-name/he/heimdal}/0001-Link-tests-with-libresolv.patch (100%) rename pkgs/{development/libraries/kerberos/heimdal.nix => by-name/he/heimdal/package.nix} (100%) rename pkgs/{development/libraries/kerberos/krb5.nix => by-name/kr/krb5/package.nix} (98%) diff --git a/pkgs/development/libraries/kerberos/0001-Define-HAVE_DB_185_H.patch b/pkgs/by-name/he/heimdal/0001-Define-HAVE_DB_185_H.patch similarity index 100% rename from pkgs/development/libraries/kerberos/0001-Define-HAVE_DB_185_H.patch rename to pkgs/by-name/he/heimdal/0001-Define-HAVE_DB_185_H.patch diff --git a/pkgs/development/libraries/kerberos/0001-Include-db.h-for-nbdb-compat-mode.patch b/pkgs/by-name/he/heimdal/0001-Include-db.h-for-nbdb-compat-mode.patch similarity index 100% rename from pkgs/development/libraries/kerberos/0001-Include-db.h-for-nbdb-compat-mode.patch rename to pkgs/by-name/he/heimdal/0001-Include-db.h-for-nbdb-compat-mode.patch diff --git a/pkgs/development/libraries/kerberos/0001-Link-tests-with-libresolv.patch b/pkgs/by-name/he/heimdal/0001-Link-tests-with-libresolv.patch similarity index 100% rename from pkgs/development/libraries/kerberos/0001-Link-tests-with-libresolv.patch rename to pkgs/by-name/he/heimdal/0001-Link-tests-with-libresolv.patch diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/by-name/he/heimdal/package.nix similarity index 100% rename from pkgs/development/libraries/kerberos/heimdal.nix rename to pkgs/by-name/he/heimdal/package.nix diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/by-name/kr/krb5/package.nix similarity index 98% rename from pkgs/development/libraries/kerberos/krb5.nix rename to pkgs/by-name/kr/krb5/package.nix index 3891c13bb5b8..c4f6ac9b8ac9 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/by-name/kr/krb5/package.nix @@ -3,7 +3,7 @@ stdenv, fetchurl, fetchpatch, - bootstrap_cmds, + darwin, byacc, # can also use bison, but byacc has fewer dependencies keyutils, openssl, @@ -99,7 +99,7 @@ stdenv.mkDerivation rec { pkg-config ] # Provides the mig command used by the build scripts - ++ lib.optional stdenv.hostPlatform.isDarwin bootstrap_cmds; + ++ lib.optional stdenv.hostPlatform.isDarwin darwin.bootstrap_cmds; buildInputs = [ openssl diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89123821970c..5bc82192bba4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7016,8 +7016,6 @@ with pkgs; hamlib = hamlib_3; - heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; - harfbuzzFull = harfbuzz.override { withGraphite2 = true; withIcu = true; @@ -7128,9 +7126,6 @@ with pkgs; gtk3 = if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3; }; - krb5 = callPackage ../development/libraries/kerberos/krb5.nix { - inherit (buildPackages.darwin) bootstrap_cmds; - }; libkrb5 = krb5; # TODO(de11n) Try to make krb5 reuse libkrb5 as a dependency l-smash = callPackage ../development/libraries/l-smash { From b80de2d7404bce971b73a363f4531508048e6365 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:17:50 +0100 Subject: [PATCH 0543/1216] keybinder: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/ke/keybinder/package.nix} | 6 ++++-- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 4 insertions(+), 6 deletions(-) rename pkgs/{development/libraries/keybinder/default.nix => by-name/ke/keybinder/package.nix} (97%) diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/by-name/ke/keybinder/package.nix similarity index 97% rename from pkgs/development/libraries/keybinder/default.nix rename to pkgs/by-name/ke/keybinder/package.nix index 1c083b5ee98c..958d32612857 100644 --- a/pkgs/development/libraries/keybinder/default.nix +++ b/pkgs/by-name/ke/keybinder/package.nix @@ -9,10 +9,12 @@ gnome-common, gtk-doc, gtk2, - lua, + lua5_1, gobject-introspection, }: - +let + lua = lua5_1; +in stdenv.mkDerivation rec { pname = "keybinder"; version = "0.3.1"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5bc82192bba4..621eac15c0e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7118,10 +7118,6 @@ with pkgs; json2yaml = haskell.lib.compose.justStaticExecutables haskellPackages.json2yaml; - keybinder = callPackage ../development/libraries/keybinder { - lua = lua5_1; - }; - keybinder3 = callPackage ../development/libraries/keybinder3 { gtk3 = if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3; }; From 1ce9f2340c9d521f6081975b35d7911d91bd2971 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:22:17 +0100 Subject: [PATCH 0544/1216] keybinder3: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/ke/keybinder3/package.nix} | 4 +++- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 3 insertions(+), 5 deletions(-) rename pkgs/{development/libraries/keybinder3/default.nix => by-name/ke/keybinder3/package.nix} (92%) diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/by-name/ke/keybinder3/package.nix similarity index 92% rename from pkgs/development/libraries/keybinder3/default.nix rename to pkgs/by-name/ke/keybinder3/package.nix index c1d19455c597..7399f3dc0568 100644 --- a/pkgs/development/libraries/keybinder3/default.nix +++ b/pkgs/by-name/ke/keybinder3/package.nix @@ -9,6 +9,8 @@ gnome-common, gtk-doc, gtk3, + gtk3-x11, + gtk3' ? (if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3), libX11, libXext, libXrender, @@ -37,7 +39,7 @@ stdenv.mkDerivation rec { gobject-introspection ]; buildInputs = [ - gtk3 + gtk3' libX11 libXext libXrender diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 621eac15c0e0..1069222a6157 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7118,10 +7118,6 @@ with pkgs; json2yaml = haskell.lib.compose.justStaticExecutables haskellPackages.json2yaml; - keybinder3 = callPackage ../development/libraries/keybinder3 { - gtk3 = if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3; - }; - libkrb5 = krb5; # TODO(de11n) Try to make krb5 reuse libkrb5 as a dependency l-smash = callPackage ../development/libraries/l-smash { From bb7a321e5af827118d306a51d39bebceb7dc69d8 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:25:28 +0100 Subject: [PATCH 0545/1216] libagar{,_test}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libagar/default.nix => by-name/li/libagar/package.nix} | 0 .../libagar_test.nix => by-name/li/libagar_test/package.nix} | 0 pkgs/top-level/all-packages.nix | 3 --- 3 files changed, 3 deletions(-) rename pkgs/{development/libraries/libagar/default.nix => by-name/li/libagar/package.nix} (100%) rename pkgs/{development/libraries/libagar/libagar_test.nix => by-name/li/libagar_test/package.nix} (100%) diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/by-name/li/libagar/package.nix similarity index 100% rename from pkgs/development/libraries/libagar/default.nix rename to pkgs/by-name/li/libagar/package.nix diff --git a/pkgs/development/libraries/libagar/libagar_test.nix b/pkgs/by-name/li/libagar_test/package.nix similarity index 100% rename from pkgs/development/libraries/libagar/libagar_test.nix rename to pkgs/by-name/li/libagar_test/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1069222a6157..d4ff0f2b6fc1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7126,9 +7126,6 @@ with pkgs; lcms = lcms2; - libagar = callPackage ../development/libraries/libagar { }; - libagar_test = callPackage ../development/libraries/libagar/libagar_test.nix { }; - libao = callPackage ../development/libraries/libao { usePulseAudio = config.pulseaudio or (lib.meta.availableOn stdenv.hostPlatform libpulseaudio); }; From 689ca79d015c0536f396eb97a47aebdfeb1c47d9 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:28:59 +0100 Subject: [PATCH 0546/1216] libao: move to pkgs/by-name this shouldn't create any rebuilds --- .../libao/default.nix => by-name/li/libao/package.nix} | 3 ++- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 2 insertions(+), 5 deletions(-) rename pkgs/{development/libraries/libao/default.nix => by-name/li/libao/package.nix} (92%) diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/by-name/li/libao/package.nix similarity index 92% rename from pkgs/development/libraries/libao/default.nix rename to pkgs/by-name/li/libao/package.nix index 9363e18da240..7e19c4782258 100644 --- a/pkgs/development/libraries/libao/default.nix +++ b/pkgs/by-name/li/libao/package.nix @@ -8,7 +8,8 @@ libpulseaudio, alsa-lib, libcap, - usePulseAudio, + config, + usePulseAudio ? config.pulseaudio or (lib.meta.availableOn stdenv.hostPlatform libpulseaudio), }: stdenv.mkDerivation rec { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4ff0f2b6fc1..7fa419238954 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7126,10 +7126,6 @@ with pkgs; lcms = lcms2; - libao = callPackage ../development/libraries/libao { - usePulseAudio = config.pulseaudio or (lib.meta.availableOn stdenv.hostPlatform libpulseaudio); - }; - libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; }; libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; }; libasn1c = callPackage ../servers/osmocom/libasn1c/default.nix { }; From 76625e41fbec2b75e5a943ce9465d9e4ec21ae59 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:36:33 +0100 Subject: [PATCH 0547/1216] libbap: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/li/libbap/package.nix} | 13 ++++++------- pkgs/top-level/all-packages.nix | 10 ---------- 2 files changed, 6 insertions(+), 17 deletions(-) rename pkgs/{development/libraries/libbap/default.nix => by-name/li/libbap/package.nix} (88%) diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/by-name/li/libbap/package.nix similarity index 88% rename from pkgs/development/libraries/libbap/default.nix rename to pkgs/by-name/li/libbap/package.nix index 91957222f168..8b143e3c430b 100644 --- a/pkgs/development/libraries/libbap/default.nix +++ b/pkgs/by-name/li/libbap/package.nix @@ -2,13 +2,9 @@ lib, stdenv, fetchFromGitHub, - bap, - ocaml, - findlib, - ctypes, - ctypes-foreign, autoreconfHook, which, + ocaml-ng, }: stdenv.mkDerivation { @@ -25,10 +21,13 @@ stdenv.mkDerivation { nativeBuildInputs = [ autoreconfHook which + ] + ++ (with ocaml-ng.ocamlPackages_4_14; [ ocaml findlib - ]; - buildInputs = [ + ]); + + buildInputs = with ocaml-ng.ocamlPackages_4_14; [ bap ctypes ctypes-foreign diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7fa419238954..ae4b00cdb1d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7130,16 +7130,6 @@ with pkgs; libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; }; libasn1c = callPackage ../servers/osmocom/libasn1c/default.nix { }; - libbap = callPackage ../development/libraries/libbap { - inherit (ocaml-ng.ocamlPackages_4_14) - bap - ocaml - findlib - ctypes - ctypes-foreign - ; - }; - libbass = (callPackage ../development/libraries/audio/libbass { }).bass; libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx; libbassmidi = (callPackage ../development/libraries/audio/libbass { }).bassmidi; From 92f81802d5ee6432a47ff19001ac97ced7b54b4e Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 04:04:43 +0100 Subject: [PATCH 0548/1216] build2: move to pkgs/by-name, also move bootstrap to separate package This triggers 1 "rebuild", however this is not really a rebuild. This commit just moves `build2.passthru.bootstrap` to `build2-bootstrap`, which is seen as a new package. It is already build since it's a dependency of `build2`. in conclusion this doesn't create any rebuilds --- .../nix-ldflags-sysdirs.patch | 0 .../bu/build2-bootstrap/package.nix} | 26 +++++++++- .../bu/build2-bootstrap}/setup-hook.sh | 0 .../bu/build2/package.nix} | 48 ++++++++----------- .../build2/remove-config-store-paths.patch | 0 pkgs/top-level/all-packages.nix | 5 -- 6 files changed, 43 insertions(+), 36 deletions(-) rename pkgs/{development/tools/build-managers/build2 => by-name/bu/build2-bootstrap}/nix-ldflags-sysdirs.patch (100%) rename pkgs/{development/tools/build-managers/build2/bootstrap.nix => by-name/bu/build2-bootstrap/package.nix} (65%) rename pkgs/{development/tools/build-managers/build2 => by-name/bu/build2-bootstrap}/setup-hook.sh (100%) rename pkgs/{development/tools/build-managers/build2/default.nix => by-name/bu/build2/package.nix} (76%) rename pkgs/{development/tools/build-managers => by-name/bu}/build2/remove-config-store-paths.patch (100%) diff --git a/pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patch b/pkgs/by-name/bu/build2-bootstrap/nix-ldflags-sysdirs.patch similarity index 100% rename from pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patch rename to pkgs/by-name/bu/build2-bootstrap/nix-ldflags-sysdirs.patch diff --git a/pkgs/development/tools/build-managers/build2/bootstrap.nix b/pkgs/by-name/bu/build2-bootstrap/package.nix similarity index 65% rename from pkgs/development/tools/build-managers/build2/bootstrap.nix rename to pkgs/by-name/bu/build2-bootstrap/package.nix index 6ef211423641..5c5c4098e65e 100644 --- a/pkgs/development/tools/build-managers/build2/bootstrap.nix +++ b/pkgs/by-name/bu/build2-bootstrap/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchurl, - pkgs, buildPackages, fixDarwinDylibNames, }: @@ -52,5 +51,28 @@ stdenv.mkDerivation rec { --subst-var-by isTargetDarwin '${toString stdenv.targetPlatform.isDarwin}' ''; - inherit (pkgs.build2) passthru; + passthru = { + configSharedStatic = + enableShared: enableStatic: + if enableShared && enableStatic then + "both" + else if enableShared then + "shared" + else if enableStatic then + "static" + else + throw "neither shared nor static libraries requested"; + }; + + meta = { + homepage = "https://www.build2.org/"; + description = "Bootstrap for the 'build2' package, you most likely want to use that one"; + license = lib.licenses.mit; + changelog = "https://git.build2.org/cgit/build2/tree/NEWS"; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ + hiro98 + r-burns + ]; + }; } diff --git a/pkgs/development/tools/build-managers/build2/setup-hook.sh b/pkgs/by-name/bu/build2-bootstrap/setup-hook.sh similarity index 100% rename from pkgs/development/tools/build-managers/build2/setup-hook.sh rename to pkgs/by-name/bu/build2-bootstrap/setup-hook.sh diff --git a/pkgs/development/tools/build-managers/build2/default.nix b/pkgs/by-name/bu/build2/package.nix similarity index 76% rename from pkgs/development/tools/build-managers/build2/default.nix rename to pkgs/by-name/bu/build2/package.nix index e8f21f173ebb..8c0391dc4f75 100644 --- a/pkgs/development/tools/build-managers/build2/default.nix +++ b/pkgs/by-name/bu/build2/package.nix @@ -1,7 +1,8 @@ { stdenv, lib, - build2, + # Break cycle by using self-contained toolchain for bootstrapping + build2-bootstrap, fetchurl, fixDarwinDylibNames, libbutl, @@ -11,18 +12,9 @@ enableStatic ? !enableShared, }: let - configSharedStatic = - enableShared: enableStatic: - if enableShared && enableStatic then - "both" - else if enableShared then - "shared" - else if enableStatic then - "static" - else - throw "neither shared nor static libraries requested"; + inherit (build2-bootstrap.passthru) configSharedStatic; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "build2"; version = "0.17.0"; @@ -33,26 +25,25 @@ stdenv.mkDerivation rec { "man" ]; - setupHook = ./setup-hook.sh; + setupHook = build2-bootstrap.setupHook; src = fetchurl { - url = "https://pkg.cppget.org/1/alpha/build2/build2-${version}.tar.gz"; + url = "https://pkg.cppget.org/1/alpha/build2/build2-${finalAttrs.version}.tar.gz"; hash = "sha256-Kx5X/GV3GjFSbjo1mzteiHnnm4mr6+NAKIR/mEE+IdA="; }; patches = [ # Remove any build/host config entries which refer to nix store paths ./remove-config-store-paths.patch - # Pick up sysdirs from NIX_LDFLAGS - ./nix-ldflags-sysdirs.patch - ]; + ] + ++ build2-bootstrap.patches; strictDeps = true; nativeBuildInputs = [ - build2 + build2-bootstrap ]; disallowedReferences = [ - build2 + build2-bootstrap libbutl.dev libpkgconf.dev ]; @@ -94,14 +85,19 @@ stdenv.mkDerivation rec { ''; passthru = { - bootstrap = build2; + bootstrap = build2-bootstrap; inherit configSharedStatic; }; meta = { - homepage = "https://www.build2.org/"; + inherit (build2-bootstrap.meta) + homepage + license + changelog + platforms + maintainers + ; description = "Build2 build system"; - license = lib.licenses.mit; longDescription = '' build2 is an open source (MIT), cross-platform build toolchain that aims to approximate Rust Cargo's convenience for developing @@ -114,12 +110,6 @@ stdenv.mkDerivation rec { at C/C++ projects as well as mixed-language projects involving one of these languages (see bash and rust modules, for example). ''; - changelog = "https://git.build2.org/cgit/build2/tree/NEWS"; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ - hiro98 - r-burns - ]; mainProgram = "b"; }; -} +}) diff --git a/pkgs/development/tools/build-managers/build2/remove-config-store-paths.patch b/pkgs/by-name/bu/build2/remove-config-store-paths.patch similarity index 100% rename from pkgs/development/tools/build-managers/build2/remove-config-store-paths.patch rename to pkgs/by-name/bu/build2/remove-config-store-paths.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ae4b00cdb1d3..85265ba6cb1b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5934,11 +5934,6 @@ with pkgs; black-macchiato = with python3Packages; toPythonApplication black-macchiato; - build2 = callPackage ../development/tools/build-managers/build2 { - # Break cycle by using self-contained toolchain for bootstrapping - build2 = buildPackages.callPackage ../development/tools/build-managers/build2/bootstrap.nix { }; - }; - # Dependency of build2, must also break cycle for this libbutl = callPackage ../development/libraries/libbutl { build2 = build2.bootstrap; From 35a1f39f9658f3d61d3b3c52a11ce29a8b31ef76 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 04:08:11 +0100 Subject: [PATCH 0549/1216] {bdep,bpkg}: move to pkgs/by-name this shouldn't create any rebuilds --- .../build2/bdep.nix => by-name/bd/bdep/package.nix} | 0 .../build2/bpkg.nix => by-name/bp/bpkg/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 4 deletions(-) rename pkgs/{development/tools/build-managers/build2/bdep.nix => by-name/bd/bdep/package.nix} (100%) rename pkgs/{development/tools/build-managers/build2/bpkg.nix => by-name/bp/bpkg/package.nix} (100%) diff --git a/pkgs/development/tools/build-managers/build2/bdep.nix b/pkgs/by-name/bd/bdep/package.nix similarity index 100% rename from pkgs/development/tools/build-managers/build2/bdep.nix rename to pkgs/by-name/bd/bdep/package.nix diff --git a/pkgs/development/tools/build-managers/build2/bpkg.nix b/pkgs/by-name/bp/bpkg/package.nix similarity index 100% rename from pkgs/development/tools/build-managers/build2/bpkg.nix rename to pkgs/by-name/bp/bpkg/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85265ba6cb1b..1e57e7fac63e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5940,10 +5940,6 @@ with pkgs; inherit (darwin) DarwinTools; }; - bdep = callPackage ../development/tools/build-managers/build2/bdep.nix { }; - - bpkg = callPackage ../development/tools/build-managers/build2/bpkg.nix { }; - buildkite-test-collector-rust = callPackage ../development/tools/continuous-integration/buildkite-test-collector-rust { From a13abea6b6b79c8e8770914d04452d9b0771cd3e Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:42:32 +0100 Subject: [PATCH 0550/1216] libbutl: move to pkgs/by-name this shouldn't create any rebuilds --- .../li}/libbutl/install-h-files.patch | 0 .../default.nix => by-name/li/libbutl/package.nix} | 13 +++++++------ pkgs/top-level/all-packages.nix | 6 ------ 3 files changed, 7 insertions(+), 12 deletions(-) rename pkgs/{development/libraries => by-name/li}/libbutl/install-h-files.patch (100%) rename pkgs/{development/libraries/libbutl/default.nix => by-name/li/libbutl/package.nix} (84%) diff --git a/pkgs/development/libraries/libbutl/install-h-files.patch b/pkgs/by-name/li/libbutl/install-h-files.patch similarity index 100% rename from pkgs/development/libraries/libbutl/install-h-files.patch rename to pkgs/by-name/li/libbutl/install-h-files.patch diff --git a/pkgs/development/libraries/libbutl/default.nix b/pkgs/by-name/li/libbutl/package.nix similarity index 84% rename from pkgs/development/libraries/libbutl/default.nix rename to pkgs/by-name/li/libbutl/package.nix index c653d43ea45c..5996967cef24 100644 --- a/pkgs/development/libraries/libbutl/default.nix +++ b/pkgs/by-name/li/libbutl/package.nix @@ -1,8 +1,9 @@ { lib, stdenv, - build2, - DarwinTools, + # Dependency of build2, so we must break cycle for this + build2-bootstrap, + darwin, fetchurl, libuuid, enableShared ? !stdenv.hostPlatform.isStatic, @@ -25,10 +26,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - build2 + build2-bootstrap ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - DarwinTools + darwin.DarwinTools ]; patches = [ @@ -41,7 +42,7 @@ stdenv.mkDerivation rec { # Should be true for anything built with build2, # but especially important when bootstrapping - disallowedReferences = [ build2 ]; + disallowedReferences = [ build2-bootstrap ]; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace libbutl/uuid-linux.cxx \ @@ -49,7 +50,7 @@ stdenv.mkDerivation rec { ''; build2ConfigureFlags = [ - "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}" + "config.bin.lib=${build2-bootstrap.configSharedStatic enableShared enableStatic}" ]; doCheck = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1e57e7fac63e..8f8b8a381483 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5934,12 +5934,6 @@ with pkgs; black-macchiato = with python3Packages; toPythonApplication black-macchiato; - # Dependency of build2, must also break cycle for this - libbutl = callPackage ../development/libraries/libbutl { - build2 = build2.bootstrap; - inherit (darwin) DarwinTools; - }; - buildkite-test-collector-rust = callPackage ../development/tools/continuous-integration/buildkite-test-collector-rust { From 40bd184d6382e6bc1a41609c03a77e278942bb64 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 03:44:58 +0100 Subject: [PATCH 0551/1216] libcdr: move to pkgs/by-name this shouldn't create any rebuilds --- .../libcdr/default.nix => by-name/li/libcdr/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) rename pkgs/{development/libraries/libcdr/default.nix => by-name/li/libcdr/package.nix} (97%) diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/by-name/li/libcdr/package.nix similarity index 97% rename from pkgs/development/libraries/libcdr/default.nix rename to pkgs/by-name/li/libcdr/package.nix index eca26ecfd7ea..bec87a9a76fa 100644 --- a/pkgs/development/libraries/libcdr/default.nix +++ b/pkgs/by-name/li/libcdr/package.nix @@ -4,7 +4,7 @@ fetchurl, libwpg, libwpd, - lcms, + lcms2, pkg-config, librevenge, icu, @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ libwpg libwpd - lcms + lcms2 librevenge icu boost diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8f8b8a381483..39c8e4986295 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7139,8 +7139,6 @@ with pkgs; libcec_platform = callPackage ../development/libraries/libcec/platform.nix { }; - libcdr = callPackage ../development/libraries/libcdr { lcms = lcms2; }; - libchamplain_libsoup3 = libchamplain.override { withLibsoup3 = true; }; libchipcard = callPackage ../development/libraries/aqbanking/libchipcard.nix { }; From c035d102721e60890b0950947ef9f391d99315a4 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 04:14:01 +0100 Subject: [PATCH 0552/1216] libgda{5,6}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libgda => by-name/li/libgda5}/0001-gcc14-fix.patch | 0 .../libgda/5.x.nix => by-name/li/libgda5/package.nix} | 0 .../libgda/6.x.nix => by-name/li/libgda6/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 4 deletions(-) rename pkgs/{development/libraries/libgda => by-name/li/libgda5}/0001-gcc14-fix.patch (100%) rename pkgs/{development/libraries/libgda/5.x.nix => by-name/li/libgda5/package.nix} (100%) rename pkgs/{development/libraries/libgda/6.x.nix => by-name/li/libgda6/package.nix} (100%) diff --git a/pkgs/development/libraries/libgda/0001-gcc14-fix.patch b/pkgs/by-name/li/libgda5/0001-gcc14-fix.patch similarity index 100% rename from pkgs/development/libraries/libgda/0001-gcc14-fix.patch rename to pkgs/by-name/li/libgda5/0001-gcc14-fix.patch diff --git a/pkgs/development/libraries/libgda/5.x.nix b/pkgs/by-name/li/libgda5/package.nix similarity index 100% rename from pkgs/development/libraries/libgda/5.x.nix rename to pkgs/by-name/li/libgda5/package.nix diff --git a/pkgs/development/libraries/libgda/6.x.nix b/pkgs/by-name/li/libgda6/package.nix similarity index 100% rename from pkgs/development/libraries/libgda/6.x.nix rename to pkgs/by-name/li/libgda6/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 39c8e4986295..dd59b422e96a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7173,10 +7173,6 @@ with pkgs; extraOnly = true; }; - libgda5 = callPackage ../development/libraries/libgda/5.x.nix { }; - - libgda6 = callPackage ../development/libraries/libgda/6.x.nix { }; - libgnome-games-support = callPackage ../development/libraries/libgnome-games-support { }; libgnome-games-support_2_0 = callPackage ../development/libraries/libgnome-games-support/2.0.nix From 4951ad929c7d5300965a2dabbda6fd8760bd3687 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 05:29:11 +0100 Subject: [PATCH 0553/1216] libgnome-games-support{,_2_0}: move to pkgs/by-name this shouldn't create any rebuilds --- .../li/libgnome-games-support/package.nix} | 0 .../li/libgnome-games-support_2_0/package.nix} | 0 pkgs/top-level/all-packages.nix | 5 ----- 3 files changed, 5 deletions(-) rename pkgs/{development/libraries/libgnome-games-support/default.nix => by-name/li/libgnome-games-support/package.nix} (100%) rename pkgs/{development/libraries/libgnome-games-support/2.0.nix => by-name/li/libgnome-games-support_2_0/package.nix} (100%) diff --git a/pkgs/development/libraries/libgnome-games-support/default.nix b/pkgs/by-name/li/libgnome-games-support/package.nix similarity index 100% rename from pkgs/development/libraries/libgnome-games-support/default.nix rename to pkgs/by-name/li/libgnome-games-support/package.nix diff --git a/pkgs/development/libraries/libgnome-games-support/2.0.nix b/pkgs/by-name/li/libgnome-games-support_2_0/package.nix similarity index 100% rename from pkgs/development/libraries/libgnome-games-support/2.0.nix rename to pkgs/by-name/li/libgnome-games-support_2_0/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dd59b422e96a..760f2395b7f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7173,11 +7173,6 @@ with pkgs; extraOnly = true; }; - libgnome-games-support = callPackage ../development/libraries/libgnome-games-support { }; - libgnome-games-support_2_0 = - callPackage ../development/libraries/libgnome-games-support/2.0.nix - { }; - libextractor = callPackage ../development/libraries/libextractor { libmpeg2 = mpeg2dec; }; From 6e1f3c18291b973f31fc2c459fee12bff90bccde Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 06:08:24 +0100 Subject: [PATCH 0554/1216] libcec{,_platform}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libcec/default.nix => by-name/li/libcec/package.nix} | 0 .../platform.nix => by-name/li/libcec_platform/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 4 deletions(-) rename pkgs/{development/libraries/libcec/default.nix => by-name/li/libcec/package.nix} (100%) rename pkgs/{development/libraries/libcec/platform.nix => by-name/li/libcec_platform/package.nix} (100%) diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/by-name/li/libcec/package.nix similarity index 100% rename from pkgs/development/libraries/libcec/default.nix rename to pkgs/by-name/li/libcec/package.nix diff --git a/pkgs/development/libraries/libcec/platform.nix b/pkgs/by-name/li/libcec_platform/package.nix similarity index 100% rename from pkgs/development/libraries/libcec/platform.nix rename to pkgs/by-name/li/libcec_platform/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 760f2395b7f0..ace44b4e8901 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7135,10 +7135,6 @@ with pkgs; else pkgs.libcanberra-gtk2; - libcec = callPackage ../development/libraries/libcec { }; - - libcec_platform = callPackage ../development/libraries/libcec/platform.nix { }; - libchamplain_libsoup3 = libchamplain.override { withLibsoup3 = true; }; libchipcard = callPackage ../development/libraries/aqbanking/libchipcard.nix { }; From 945066e13a775ca83a1ef023d3f6ba20fe9732fe Mon Sep 17 00:00:00 2001 From: wrvsrx Date: Wed, 21 Jan 2026 08:03:42 +0800 Subject: [PATCH 0555/1216] rustical: 0.12.0 -> 0.12.1 --- pkgs/by-name/ru/rustical/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rustical/package.nix b/pkgs/by-name/ru/rustical/package.nix index 4aa270e9549d..a5345b62acc9 100644 --- a/pkgs/by-name/ru/rustical/package.nix +++ b/pkgs/by-name/ru/rustical/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rustical"; - version = "0.12.0"; + version = "0.12.1"; src = fetchFromGitHub { owner = "lennart-k"; repo = "rustical"; tag = "v${finalAttrs.version}"; - hash = "sha256-pVN7xu0M/9S4Gq5kWTls5vOpFK8fPXf9MIXJncdvtVc="; + hash = "sha256-+JWpb0Hi8qyVjnwsxlYAlrqH3GhLqTFj2tbAWFIN+mg="; }; - cargoHash = "sha256-cmjtPQd4ZvZ5HG+Cw1I4w8XRu64Q5HhR1rxhiYAC4aY="; + cargoHash = "sha256-TNIAdxOmAgZOGe3aBcKmeEzuGP8LuhGNDMNY/MUwiTw="; postPatch = '' substituteInPlace Cargo.toml \ From bcae7d0984660830c4cff23eb68d5dc430c66f51 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:11:48 +0000 Subject: [PATCH 0556/1216] grafanaPlugins.grafana-exploretraces-app: 1.2.2 -> 1.3.0 --- .../grafana/plugins/grafana-exploretraces-app/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-exploretraces-app/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-exploretraces-app/default.nix index b443e16cc6fa..8b6814a737fb 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-exploretraces-app/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-exploretraces-app/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "grafana-exploretraces-app"; - version = "1.2.2"; - zipHash = "sha256-vQSnjSPiYvgwpbO7VvmG77DfP85+R6fRoGGpr+xslTc="; + version = "1.3.0"; + zipHash = "sha256-7dSaO+m67oQ3WlL+SC+IsuzFeZ2GtSBJORggd4YENxU="; meta = { description = "Opinionated traces app"; license = lib.licenses.agpl3Only; From cdc8993d0bcd060c4b01b60d3f27c178f11f00b2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:22:18 +0000 Subject: [PATCH 0557/1216] pdfium-binaries: 7363 -> 7643 --- pkgs/by-name/pd/pdfium-binaries/package.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/pd/pdfium-binaries/package.nix b/pkgs/by-name/pd/pdfium-binaries/package.nix index b61b8b12d42f..e53196f2d54a 100644 --- a/pkgs/by-name/pd/pdfium-binaries/package.nix +++ b/pkgs/by-name/pd/pdfium-binaries/package.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "pdfium-binaries"; - version = "7363"; + version = "7643"; src = let @@ -27,17 +27,17 @@ stdenv.mkDerivation (finalAttrs: { hash = if withV8 then selectSystem { - x86_64-linux = "sha256-KbAJUdbT3XjLs68y4xwEG5w8o/89epkXSCKpQsyuNec="; - aarch64-linux = "sha256-zvaTKszH5yT1afzs0W3LV1caN6gaCIJiKIh9bElfI48="; - x86_64-darwin = "sha256-xGnmndTkYSIGn44Y4cfYW36QmkVAOhgIlcsWaRYFbCk="; - aarch64-darwin = "sha256-NYY/YIVtSux4B6UZb7kkZs+GzxXNopmvtknw/HhVEQs="; + x86_64-linux = "sha256-u44789oMKbBQ6USu4BnyoL4ZcCKDVkh81kOku9ZfloE="; + aarch64-linux = "sha256-w+WI4+aESiBafPv4bbvwVqptecenzEj3M9wSH43n294="; + x86_64-darwin = "sha256-0cPMIu8NDrnDd/4g0eL0j0jV9bzQCh36Ahx4mC/Hw9E="; + aarch64-darwin = "sha256-R09JnjpcQMMfjbhFzRwE4/KXb9FCXzt/APM+oEUdknk="; } else selectSystem { - x86_64-linux = "sha256-mlSmVeE1oDQ1OlW8K7EXk51r7GCbDXH2l/tbat2aiB0="; - aarch64-linux = "sha256-YiCMdwQ2Y0F120iKW3ZkxJKvDgP/vpPw1ItmRnsnz9U="; - x86_64-darwin = "sha256-I2fWQC+GKzZwqTPwXkl9vDJ/HIH3GKzD+kNaUDcNKuw="; - aarch64-darwin = "sha256-AhYAr5SySWJO3jbvs+DvEZ/WaCJ+KhxpFVyOVsJxuXE="; + x86_64-linux = "sha256-IpiNeuB5fOm2hYBfjydrg4G00xtvJQEqZJIzxHtzwac="; + aarch64-linux = "sha256-NgboVIUuntEO/CyXcTJB8Gn9H1B5Z0GEfR7FhCFbHko="; + x86_64-darwin = "sha256-fBatwgVRO4TawMAd0MaXxvgX+OLln+K10RjsGsvPLBs="; + aarch64-darwin = "sha256-Sqrt5V0IxYuZmy1w9faDrESkoI4QNhtKS+GHY0ushGA="; }; stripRoot = false; }; From 11290a85949f31590813307c9d6e5776c163c1ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:26:51 +0000 Subject: [PATCH 0558/1216] bosh-cli: 7.9.15 -> 7.9.16 --- pkgs/by-name/bo/bosh-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bo/bosh-cli/package.nix b/pkgs/by-name/bo/bosh-cli/package.nix index 44e29be66877..9084c33ff600 100644 --- a/pkgs/by-name/bo/bosh-cli/package.nix +++ b/pkgs/by-name/bo/bosh-cli/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "bosh-cli"; - version = "7.9.15"; + version = "7.9.16"; src = fetchFromGitHub { owner = "cloudfoundry"; repo = "bosh-cli"; rev = "v${version}"; - sha256 = "sha256-+dkRPK4RFVainDa4SNiA9B14uz3vaIfAjv09T3dDGIw="; + sha256 = "sha256-yzoqtubX2IeRP4Ee/YjzRmeAo2aqvfCiqsVkfKtzGFU="; }; vendorHash = null; From 9da607d1d92ca863335a1fef3e073532187f7d9f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:29:39 +0000 Subject: [PATCH 0559/1216] python3Packages.hy: 1.1.0 -> 1.2.0 --- pkgs/development/python-modules/hy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/hy/default.nix b/pkgs/development/python-modules/hy/default.nix index 368f4b550f58..5e994c93ca33 100644 --- a/pkgs/development/python-modules/hy/default.nix +++ b/pkgs/development/python-modules/hy/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "hy"; - version = "1.1.0"; + version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "hylang"; repo = "hy"; tag = version; - hash = "sha256-zaTe9sRmW+lzpbNVrnj5ccp1xIbN10FD1Jst/hM78Lw="; + hash = "sha256-uKkTH5vywJ5OrbbHIpHGLbTA/Px0/02JEXI8NIUvt/w="; }; # https://github.com/hylang/hy/blob/1.0a4/get_version.py#L9-L10 From 58f845e6badfb7caab0c75583dcefd219bb48d00 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:29:40 +0000 Subject: [PATCH 0560/1216] bitwarden-directory-connector: 2025.12.0 -> 2026.1.0 --- .../security/bitwarden-directory-connector/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/bitwarden-directory-connector/default.nix b/pkgs/tools/security/bitwarden-directory-connector/default.nix index e08725cc3718..e0e33ff96a39 100644 --- a/pkgs/tools/security/bitwarden-directory-connector/default.nix +++ b/pkgs/tools/security/bitwarden-directory-connector/default.nix @@ -19,14 +19,14 @@ let }: buildNpmPackage rec { pname = name; - version = "2025.12.0"; + version = "2026.1.0"; nodejs = nodejs_22; src = fetchFromGitHub { owner = "bitwarden"; repo = "directory-connector"; rev = "v${version}"; - hash = "sha256-kf4ky/dsZJJiShVJ2uYp1DsH5BP/RAeEnbjUQxjoxkk="; + hash = "sha256-UC4m+jUKYD6NYQ62l18+UCZYONFQyUgyqbonNj4iGjg="; }; postPatch = '' @@ -38,7 +38,7 @@ let --replace-fail "AppImage" "dir" ''; - npmDepsHash = "sha256-j90y6R3MCcUmEuoI3clNz5WqVyTNH5x6xyg3Je+krL0="; + npmDepsHash = "sha256-4tqcrJuMSxqqVmB8K32vts6LbAWFCPMw7+hvmblV/m4="; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; From 0643efda7e29c3935699974bc9ae2316ab0bcc2a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:40:07 +0000 Subject: [PATCH 0561/1216] rust-audit-info: 0.5.2 -> 0.5.4 --- pkgs/by-name/ru/rust-audit-info/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rust-audit-info/package.nix b/pkgs/by-name/ru/rust-audit-info/package.nix index 12c128bbd980..79000840d662 100644 --- a/pkgs/by-name/ru/rust-audit-info/package.nix +++ b/pkgs/by-name/ru/rust-audit-info/package.nix @@ -6,14 +6,14 @@ rustPlatform.buildRustPackage rec { pname = "rust-audit-info"; - version = "0.5.2"; + version = "0.5.4"; src = fetchCrate { inherit pname version; - hash = "sha256-g7ElNehBAVSRRlqsxkNm20C0KOMkf310bXNs3EN+/NQ="; + hash = "sha256-zxdF65/9cgdDLM7HA30NCEZj1S5SogH+oM3aq55K0os="; }; - cargoHash = "sha256-TvbFhFtdQ6fBNjIMgzQDVnK+IZThUJmht7r2zSmcllE="; + cargoHash = "sha256-ygz9uYwuDI892kwYwJPTsTAkBfsnRN2unOgqv8VHXSA="; meta = { description = "Command-line tool to extract the dependency trees embedded in binaries by cargo-auditable"; From a9621eae34aaca2d5e1b51cf9c4de0d0f30c3a3b Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Tue, 20 Jan 2026 18:43:18 -0600 Subject: [PATCH 0562/1216] _1password-gui: 8.11.22 -> 8.12.0 Signed-off-by: Austin Horstman --- pkgs/by-name/_1/_1password-gui/sources.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/_1/_1password-gui/sources.json b/pkgs/by-name/_1/_1password-gui/sources.json index 5fd35c38ce07..7f995fc5c65f 100644 --- a/pkgs/by-name/_1/_1password-gui/sources.json +++ b/pkgs/by-name/_1/_1password-gui/sources.json @@ -1,28 +1,28 @@ { "stable": { "linux": { - "version": "8.11.22", + "version": "8.12.0", "sources": { "x86_64": { - "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.22.x64.tar.gz", - "hash": "sha256-IYwCERJyL7l5qFFvTneTciKVT2PSkoeuzQsiMfdomV8=" + "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.0.x64.tar.gz", + "hash": "sha256-EiSrZHWXvBLhS+Gx519AvUmRH582P4/cF0huj+RHcMI=" }, "aarch64": { - "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.22.arm64.tar.gz", - "hash": "sha256-PpsKuFNRVt/eYWvlmZxo6tyMC/gUfLrIAWYPoKIntrU=" + "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.0.arm64.tar.gz", + "hash": "sha256-/ykSp+//5SvLFH0BsjPNwAEapoBUTqxfaRKJw4R7eis=" } } }, "darwin": { - "version": "8.11.22", + "version": "8.12.0", "sources": { "x86_64": { - "url": "https://downloads.1password.com/mac/1Password-8.11.22-x86_64.zip", - "hash": "sha256-jyaAUZkRJ6Rl5zd9ppVZ6AkpzAXaw11KvpLdpftC6bM=" + "url": "https://downloads.1password.com/mac/1Password-8.12.0-x86_64.zip", + "hash": "sha256-JcSNA9oEeEJk9bHxTwF08/KrJNu+UOSC5r0VJGmds+Y=" }, "aarch64": { - "url": "https://downloads.1password.com/mac/1Password-8.11.22-aarch64.zip", - "hash": "sha256-SH3QIJrfqEgKV0GhrLCKkbLmSK9n9OyBRBaGCTm3FrI=" + "url": "https://downloads.1password.com/mac/1Password-8.12.0-aarch64.zip", + "hash": "sha256-fpu+CZ3iLXcGevWHLh/HVa2uoS/a1w/m0s4+awBzNI0=" } } } From 1aefcf3be4ca408651d14b1e4539996fd42ce985 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 00:56:57 +0000 Subject: [PATCH 0563/1216] credhub-cli: 2.9.52 -> 2.9.53 --- pkgs/by-name/cr/credhub-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cr/credhub-cli/package.nix b/pkgs/by-name/cr/credhub-cli/package.nix index e5e437b6069b..33bbe003bb13 100644 --- a/pkgs/by-name/cr/credhub-cli/package.nix +++ b/pkgs/by-name/cr/credhub-cli/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "credhub-cli"; - version = "2.9.52"; + version = "2.9.53"; src = fetchFromGitHub { owner = "cloudfoundry-incubator"; repo = "credhub-cli"; rev = version; - sha256 = "sha256-qTRRk7n8f5tC/uiBJgbZpd+tsoOPK5qTgZnqfwi5YlA="; + sha256 = "sha256-MbRk0O1WGzr7YLHSub9hLYDvJJacUcCXyg29AOqssxE="; }; # these tests require network access that we're not going to give them From 4bad8a38a4d029f09ee794d573446f610f7d27c0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 01:25:55 +0000 Subject: [PATCH 0564/1216] python3Packages.apprise: 1.9.6 -> 1.9.7 --- pkgs/development/python-modules/apprise/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix index 2560782f20fb..ba148c750a0f 100644 --- a/pkgs/development/python-modules/apprise/default.nix +++ b/pkgs/development/python-modules/apprise/default.nix @@ -23,12 +23,12 @@ buildPythonPackage rec { pname = "apprise"; - version = "1.9.6"; + version = "1.9.7"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Qga+nLVpSj0I3Y4Dk7u5s2ISrDp3acJjNiAFXnXGyu8="; + hash = "sha256-L3PMHgJk+xGf25t83oLo/eQKD1MayIXYxvDPD24TrsI="; }; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' From d036f47889911723c361fb80babd84a61f643823 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 01:30:44 +0000 Subject: [PATCH 0565/1216] docker-compose: 5.0.1 -> 5.0.2 --- pkgs/applications/virtualization/docker/compose.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix index 74a74391bb42..b4247dda6234 100644 --- a/pkgs/applications/virtualization/docker/compose.nix +++ b/pkgs/applications/virtualization/docker/compose.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "docker-compose"; - version = "5.0.1"; + version = "5.0.2"; src = fetchFromGitHub { owner = "docker"; repo = "compose"; tag = "v${version}"; - hash = "sha256-lX891L9EPT8FQ4h69t345IuIrbagaKPnnYQogR2DjZ8="; + hash = "sha256-2lyjTNd4jf+wTtnFZaRT10ga0MHZondzb+0cM0ftCuY="; }; - vendorHash = "sha256-zuzepwTiYJhiqrOxPxYX0b/ffwAVhUfj0RtfXzrhG8o="; + vendorHash = "sha256-A9RHSM6BmcaIVHWOou50T1+N/Vh8H1+KtSKeh/ZJ2JQ="; nativeInstallCheckInputs = [ versionCheckHook ]; From 2db02062055d8bc7607bdabf5d5197d5c1b621d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 01:58:16 +0000 Subject: [PATCH 0566/1216] hydroxide: 0.2.30 -> 0.2.31 --- pkgs/by-name/hy/hydroxide/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/hy/hydroxide/package.nix b/pkgs/by-name/hy/hydroxide/package.nix index d50975f1831f..75cee63d0477 100644 --- a/pkgs/by-name/hy/hydroxide/package.nix +++ b/pkgs/by-name/hy/hydroxide/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "hydroxide"; - version = "0.2.30"; + version = "0.2.31"; src = fetchFromGitHub { owner = "emersion"; repo = "hydroxide"; rev = "v${version}"; - sha256 = "sha256-PjT8kIS2k4e9Xuw6uCXiCtg5Rawvcmslzz9Qa4Wnroo="; + sha256 = "sha256-92eyt+s+kEXRuIXPRmbIQG5Mth7wJFCruqTN3wL5DhI="; }; - vendorHash = "sha256-NKWUpyS5IHBTPzjfTkov/ypoGQW6inX32Y7lpdIDOUc="; + vendorHash = "sha256-CjvvVFjYRlykZwEqHtuD9qc/MsHZsJtKy2G6e2N7K0M="; doCheck = false; From a6b13632fcf198e5e1f6a9c74b0b2d25ec19238a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 02:56:50 +0000 Subject: [PATCH 0567/1216] traefik-certs-dumper: 2.10.0 -> 2.11.0 --- pkgs/by-name/tr/traefik-certs-dumper/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tr/traefik-certs-dumper/package.nix b/pkgs/by-name/tr/traefik-certs-dumper/package.nix index 3cd1f133d421..0f6b93476f7a 100644 --- a/pkgs/by-name/tr/traefik-certs-dumper/package.nix +++ b/pkgs/by-name/tr/traefik-certs-dumper/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "traefik-certs-dumper"; - version = "2.10.0"; + version = "2.11.0"; src = fetchFromGitHub { owner = "ldez"; repo = "traefik-certs-dumper"; rev = "v${version}"; - sha256 = "sha256-zXbtabh5ZziELZHzvYisXETPUmhHAVo6sMuF4O3crBY="; + sha256 = "sha256-rjD0zt5kJ7A4TLn3jQBLGvzvHthszP9AvmcILVo5lzk="; }; - vendorHash = "sha256-WpYxI+7qBYibojPtYlWmDrmJYlRlVwTaqCMI5Vzh1RI="; + vendorHash = "sha256-hGmcE8vEJI4nZOVFbDGWpnfTyupFydwGj09gMb2Mctc="; excludedPackages = "integrationtest"; meta = { From d3c55f457cca3da155874a5daec12976a4774802 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 03:50:28 +0000 Subject: [PATCH 0568/1216] discord-ptb: 0.0.172 -> 0.0.173 --- .../instant-messengers/discord/sources.json | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/discord/sources.json b/pkgs/applications/networking/instant-messengers/discord/sources.json index f714248b084c..13ce48003d48 100644 --- a/pkgs/applications/networking/instant-messengers/discord/sources.json +++ b/pkgs/applications/networking/instant-messengers/discord/sources.json @@ -1,8 +1,8 @@ { "linux-canary": { - "hash": "sha256-jomLXlIr+ajJspmh/seNb48alPSuCw8ybYkfc0uAziE=", - "url": "https://canary.dl2.discordapp.net/apps/linux/0.0.852/discord-canary-0.0.852.tar.gz", - "version": "0.0.852" + "hash": "sha256-HtcgQS8P5R57qV3pKYyVLcT9FCOtZ6UbFBQWFkvU8B0=", + "url": "https://canary.dl2.discordapp.net/apps/linux/0.0.854/discord-canary-0.0.854.tar.gz", + "version": "0.0.854" }, "linux-development": { "hash": "sha256-EVkjWoqWl9Z+iHCLPOLu4PIUb2wC3HVcPVjOVz++IVw=", @@ -10,19 +10,19 @@ "version": "0.0.94" }, "linux-ptb": { - "hash": "sha256-szmKLp+aXZjrWClTOQ+NTwenY7b5c3eONFUUmszfUSk=", - "url": "https://ptb.dl2.discordapp.net/apps/linux/0.0.172/discord-ptb-0.0.172.tar.gz", - "version": "0.0.172" + "hash": "sha256-Y+e3HHXE5D9Q9qKE7ipaLijZ+E6yEr9NzEOy5c+Gk54=", + "url": "https://ptb.dl2.discordapp.net/apps/linux/0.0.173/discord-ptb-0.0.173.tar.gz", + "version": "0.0.173" }, "linux-stable": { - "hash": "sha256-4rJ0l0zSoOz7L65sy3Gegcsb/nJGGFu6h5TGAb0fqUI=", - "url": "https://stable.dl2.discordapp.net/apps/linux/0.0.120/discord-0.0.120.tar.gz", - "version": "0.0.120" + "hash": "sha256-WR9xyw3Zn/HAZQlfiKMAXqc2TueF6wCfQzvYtnXd1yM=", + "url": "https://stable.dl2.discordapp.net/apps/linux/0.0.121/discord-0.0.121.tar.gz", + "version": "0.0.121" }, "osx-canary": { - "hash": "sha256-ZzqakVB2Rkcq5zME2WnSCw1CLzpD3VDM/pu4nQ7rRNs=", - "url": "https://canary.dl2.discordapp.net/apps/osx/0.0.956/DiscordCanary.dmg", - "version": "0.0.956" + "hash": "sha256-q/PAGdlOTdkQudiH/NFXSgwhz2XBL9ZwrhJXiY9Iibc=", + "url": "https://canary.dl2.discordapp.net/apps/osx/0.0.958/DiscordCanary.dmg", + "version": "0.0.958" }, "osx-development": { "hash": "sha256-B1//zMlTv2+RWHfWZSaaU8ubVOwWob+EYjNdtFRwlgg=", @@ -30,13 +30,13 @@ "version": "0.0.107" }, "osx-ptb": { - "hash": "sha256-tjWbvWOvSinVZDvJYFFcbmr+y7W5PmIr/alrS82ECBo=", - "url": "https://ptb.dl2.discordapp.net/apps/osx/0.0.204/DiscordPTB.dmg", - "version": "0.0.204" + "hash": "sha256-QCzJsb1RH6HORk9hw9F9Xu0rE+NCFYJDTJQO9UrdBxo=", + "url": "https://ptb.dl2.discordapp.net/apps/osx/0.0.205/DiscordPTB.dmg", + "version": "0.0.205" }, "osx-stable": { - "hash": "sha256-PkZU/1GxPmfxq2qP/5gGU85EFYPI1V42iHfoy9x9fKI=", - "url": "https://stable.dl2.discordapp.net/apps/osx/0.0.372/Discord.dmg", - "version": "0.0.372" + "hash": "sha256-/CEN67VbRRwK64Iy7GIhs2XFwHe47njI5X6n45j5Q/E=", + "url": "https://stable.dl2.discordapp.net/apps/osx/0.0.373/Discord.dmg", + "version": "0.0.373" } } From 95110ed26d3298e9a4e03d0c2db4988a4aad5f38 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 04:27:38 +0000 Subject: [PATCH 0569/1216] zapret: 72.8 -> 72.9 --- pkgs/by-name/za/zapret/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/za/zapret/package.nix b/pkgs/by-name/za/zapret/package.nix index 81fb3085425a..c9a1d137c738 100644 --- a/pkgs/by-name/za/zapret/package.nix +++ b/pkgs/by-name/za/zapret/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "zapret"; - version = "72.8"; + version = "72.9"; src = fetchFromGitHub { owner = "bol-van"; @@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: { ''; tag = "v${finalAttrs.version}"; - hash = "sha256-W0rDCSdlBvcgXf/plYkJPORmZ+7t0qmQr4+Y17WLUp8="; + hash = "sha256-w2HpEoEAhdk1tOS8IM3K56FqpMW2VgqB+iwISCNB7n4="; }; buildInputs = [ From 46857e910230af67121b0acd3360749e79049cd6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 04:58:55 +0000 Subject: [PATCH 0570/1216] home-assistant-custom-components.versatile_thermostat: 8.5.1 -> 8.6.0 --- .../custom-components/versatile_thermostat/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix b/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix index f2897b10053a..e62f8cf5d07e 100644 --- a/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix +++ b/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix @@ -10,13 +10,13 @@ buildHomeAssistantComponent rec { owner = "jmcollin78"; domain = "versatile_thermostat"; - version = "8.5.1"; + version = "8.6.0"; src = fetchFromGitHub { inherit owner; repo = domain; tag = version; - hash = "sha256-zSpeiSK8FyXlM1U8jjSVl1nLQX/IplvKHfS6XZUNxo4="; + hash = "sha256-rzNznV2YfBUxgYdc+qZeDIBVeMfwPwvDyYVON980SCg="; }; dependencies = [ From 6b141ea1c2cd7be56354afe73b2c7a38313d357c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 05:12:12 +0000 Subject: [PATCH 0571/1216] aws-sam-cli: 1.151.0 -> 1.152.0 --- pkgs/by-name/aw/aws-sam-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/aw/aws-sam-cli/package.nix b/pkgs/by-name/aw/aws-sam-cli/package.nix index 8bd1cbaa289d..0b11c1ee9196 100644 --- a/pkgs/by-name/aw/aws-sam-cli/package.nix +++ b/pkgs/by-name/aw/aws-sam-cli/package.nix @@ -11,14 +11,14 @@ python3.pkgs.buildPythonApplication rec { pname = "aws-sam-cli"; - version = "1.151.0"; + version = "1.152.0"; pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "aws-sam-cli"; tag = "v${version}"; - hash = "sha256-8r/sTb6LYDGuCG46Xuh+glT9LRYR6Q8ErjFL2wPTDLI="; + hash = "sha256-N+x9ZNd6WvDJTFERhWJD5HsDE7dFyH+jOnEMzJ3IHSk="; }; build-system = with python3.pkgs; [ setuptools ]; From adf5c3d078611b77e8442d39f08457df548cf194 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 15 Jan 2026 06:55:24 +0100 Subject: [PATCH 0572/1216] =?UTF-8?q?gajim:=202.3.6=20=E2=86=92=202.4.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pythonPackages.nbxmpp: 6.4.0 → 7.0.0 pythonPackages.omemo-dr: 1.0.1 → 1.2.0 --- .../networking/instant-messengers/gajim/default.nix | 7 +++++-- pkgs/development/python-modules/nbxmpp/default.nix | 4 ++-- .../development/python-modules/omemo-dr/default.nix | 13 ++++++++----- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index de846c7c7c0a..81b7099bd3b5 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -43,14 +43,14 @@ python3.pkgs.buildPythonApplication rec { pname = "gajim"; - version = "2.3.6"; + version = "2.4.1"; src = fetchFromGitLab { domain = "dev.gajim.org"; owner = "gajim"; repo = "gajim"; tag = version; - hash = "sha256-Mvi69FI2zRefcCnLsurdVNMxYaqKsUCKgeFxOh6vg/o="; + hash = "sha256-hyKJlq9736ngCQ1FUvP9miz7lMlwd+Y3Rcl6kfYDtsg="; }; pyproject = true; @@ -112,6 +112,9 @@ python3.pkgs.buildPythonApplication rec { qrcode sqlalchemy emoji + httpx + h2 + truststore ] ++ lib.optionals enableE2E [ pycrypto diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix index ad9be9312a9b..1ae80bdb411d 100644 --- a/pkgs/development/python-modules/nbxmpp/default.nix +++ b/pkgs/development/python-modules/nbxmpp/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "nbxmpp"; - version = "6.4.0"; + version = "7.0.0"; pyproject = true; src = fetchFromGitLab { @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "gajim"; repo = "python-nbxmpp"; tag = version; - hash = "sha256-q910WbBp0TBqXw8WfYniliVGnr4Hi6dDhVDqZszSL0c="; + hash = "sha256-NzSXvuPf7PZbMPgD3nhPgTH4Vd8DVx49fjf7cPcvywc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/omemo-dr/default.nix b/pkgs/development/python-modules/omemo-dr/default.nix index 12acd1cbb7e7..7c33e56c1dd5 100644 --- a/pkgs/development/python-modules/omemo-dr/default.nix +++ b/pkgs/development/python-modules/omemo-dr/default.nix @@ -2,7 +2,7 @@ lib, buildPythonPackage, cryptography, - fetchPypi, + fetchFromGitLab, protobuf, pytestCheckHook, setuptools, @@ -10,12 +10,15 @@ buildPythonPackage rec { pname = "omemo-dr"; - version = "1.0.1"; + version = "1.2.0"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-KoqMdyMdc5Sb3TdSeNTVomElK9ruUstiQayyUcIC02E="; + src = fetchFromGitLab { + domain = "dev.gajim.org"; + owner = "gajim"; + repo = "omemo-dr"; + tag = "v${version}"; + hash = "sha256-8+uBO7Nl6YcEwthWmChqCTLvUelF8QJl+dHzkqbPVqM="; }; nativeBuildInputs = [ setuptools ]; From b10fba340d40678895cf66a378a99d2e97672812 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 21 Jan 2026 06:17:50 +0100 Subject: [PATCH 0573/1216] =?UTF-8?q?gajim:=202.4.1=20=E2=86=92=202.4.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/instant-messengers/gajim/default.nix | 4 ++-- pkgs/development/python-modules/nbxmpp/default.nix | 7 +------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 81b7099bd3b5..ee0137e4fdd5 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -43,14 +43,14 @@ python3.pkgs.buildPythonApplication rec { pname = "gajim"; - version = "2.4.1"; + version = "2.4.2"; src = fetchFromGitLab { domain = "dev.gajim.org"; owner = "gajim"; repo = "gajim"; tag = version; - hash = "sha256-hyKJlq9736ngCQ1FUvP9miz7lMlwd+Y3Rcl6kfYDtsg="; + hash = "sha256-VBo0+8lOXWbi3a9FT0qcEkyoxzVAm+QLrBtHmRjUHbg="; }; pyproject = true; diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix index 1ae80bdb411d..6de2732e7a3c 100644 --- a/pkgs/development/python-modules/nbxmpp/default.nix +++ b/pkgs/development/python-modules/nbxmpp/default.nix @@ -40,12 +40,7 @@ buildPythonPackage rec { idna libsoup_3 packaging - (pygobject3.overrideAttrs (o: { - src = fetchurl { - url = "mirror://gnome/sources/pygobject/3.52/pygobject-3.52.3.tar.gz"; - hash = "sha256-AOQn0pHpV0Yqj61lmp+ci+d2/4Kot2vfQC8eruwIbYI="; - }; - })) + pygobject3 pyopenssl ]; From 4b1bddeab8bda277eb8d4b97386977f06f78290c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 05:29:10 +0000 Subject: [PATCH 0574/1216] ananicy-rules-cachyos: 0-unstable-2026-01-06 -> 0-unstable-2026-01-20 --- pkgs/by-name/an/ananicy-rules-cachyos/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/an/ananicy-rules-cachyos/package.nix b/pkgs/by-name/an/ananicy-rules-cachyos/package.nix index d61e9093ac69..14f2cb2f732d 100644 --- a/pkgs/by-name/an/ananicy-rules-cachyos/package.nix +++ b/pkgs/by-name/an/ananicy-rules-cachyos/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "ananicy-rules-cachyos"; - version = "0-unstable-2026-01-06"; + version = "0-unstable-2026-01-20"; src = fetchFromGitHub { owner = "CachyOS"; repo = "ananicy-rules"; - rev = "c3e21cb01a909e5da2828f453ebdc375e2f514ad"; - hash = "sha256-g/fexBzHzhckCWtzfXOwXqA6LZqTULQ7Bz3OY5fcLcA="; + rev = "e1f6574e77386282cbb917b981c968648fbab601"; + hash = "sha256-TR+c6OACVrETAVAlza62JSIKBvKMrDg/G4xBdMkJJlk="; }; dontConfigure = true; From 0cf5174e35d0c11dc8e69caba75ab20e32221de9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 05:38:11 +0000 Subject: [PATCH 0575/1216] home-manager: 0-unstable-2026-01-07 -> 0-unstable-2026-01-20 --- pkgs/by-name/ho/home-manager/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix index 802806799660..0368fc0fbd8b 100644 --- a/pkgs/by-name/ho/home-manager/package.nix +++ b/pkgs/by-name/ho/home-manager/package.nix @@ -19,14 +19,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "home-manager"; - version = "0-unstable-2026-01-07"; + version = "0-unstable-2026-01-20"; src = fetchFromGitHub { name = "home-manager-source"; owner = "nix-community"; repo = "home-manager"; - rev = "4fee4bd14b5e4178855ad0041df89fa44f3f2bea"; - hash = "sha256-DRhbz2dZaEmj5MgLFMXjEPfmKYfMG6LwNT9Bv8zeLPQ="; + rev = "9997de2f62d1875644f02ddf96cf485a4baecb6f"; + hash = "sha256-i25tkhqjsfo0YKz8To/+gzazW1v4f8qUGqJQ8OLrkqE="; }; nativeBuildInputs = [ From 1e2883b9cb283083a9b4f2067471c3013a891454 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 07:02:35 +0000 Subject: [PATCH 0576/1216] zwave-js-ui: 11.10.0 -> 11.10.1 --- pkgs/by-name/zw/zwave-js-ui/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zw/zwave-js-ui/package.nix b/pkgs/by-name/zw/zwave-js-ui/package.nix index 2b39f29ff859..9608a0daff3d 100644 --- a/pkgs/by-name/zw/zwave-js-ui/package.nix +++ b/pkgs/by-name/zw/zwave-js-ui/package.nix @@ -7,15 +7,15 @@ buildNpmPackage rec { pname = "zwave-js-ui"; - version = "11.10.0"; + version = "11.10.1"; src = fetchFromGitHub { owner = "zwave-js"; repo = "zwave-js-ui"; tag = "v${version}"; - hash = "sha256-zp7G1oYhalGrIvR8BPs0HuoHgw4jjU1ruLxa2aqFric="; + hash = "sha256-H9gtrYNk4W1OjjZwVX3ugDeqhW0rTvEJyhSRuz6XrYg="; }; - npmDepsHash = "sha256-VAUnOcE+C5KIkDyz9sO3PVgJFOIpQgbwLEC6oQQNvGA="; + npmDepsHash = "sha256-oxa9JzbvXRvm+hfHrfhp5XBzTwcvW7yHJIvrKKu54B4="; passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui; From 63482836e4f9cbca1a7e7f6bfad5d14b258280c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 21 Jan 2026 08:04:05 +0100 Subject: [PATCH 0577/1216] python3Packages.rdflib: disable a couple tests Upstream don't seem worried about these, and we don't even have a downstream maintainer. I'm not motivated to dig deep into this. Let's unblock packages depending on this. --- pkgs/development/python-modules/rdflib/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix index 217ef0030e2e..79b19a0ed0db 100644 --- a/pkgs/development/python-modules/rdflib/default.nix +++ b/pkgs/development/python-modules/rdflib/default.nix @@ -75,6 +75,10 @@ buildPythonPackage rec { "test_example" "test_guess_format_for_parse" "rdflib.extras.infixowl" + # Upstream don't seem worried about these two tests failing + # https://github.com/RDFLib/rdflib/issues/2649#issuecomment-2443482119 + "test_sparqleval" + "test_parser" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Require loopback network access From c9b024b7abeed175b1278641e55cbb0c277919e9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 07:10:59 +0000 Subject: [PATCH 0578/1216] descent3-unwrapped: 1.5.0-beta-unstable-2025-06-15 -> 1.5.0-beta-unstable-2026-01-21 --- pkgs/by-name/de/descent3-unwrapped/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/de/descent3-unwrapped/package.nix b/pkgs/by-name/de/descent3-unwrapped/package.nix index 7bb77c678b71..2eb5eb245da6 100644 --- a/pkgs/by-name/de/descent3-unwrapped/package.nix +++ b/pkgs/by-name/de/descent3-unwrapped/package.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { # the wrapped version of Descent 3. Once there’s a stable version of Descent # 3 that supports the -additionaldir command-line option, we can stop using # an unstable version of Descent 3. - version = "1.5.0-beta-unstable-2025-06-15"; + version = "1.5.0-beta-unstable-2026-01-21"; src = fetchFromGitHub { owner = "DescentDevelopers"; repo = "Descent3"; - rev = "0171d7b76a0c6d77908169af8ff3ea8d4d1cd930"; + rev = "937e649ea616b7b732211443c5c7378d144cd39c"; leaveDotGit = true; # Descent 3 is supposed to display its Git commit hash in the bottom right # corner of the main menu. That feature only works if either the .git @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt rm -r .git ''; - hash = "sha256-/lJlrV1OswlNa8nMfiUdQof7zb+wgwI97MwNCZFNd8g="; + hash = "sha256-WGjIHBGpV0j7K3LHRNv4qkZkSrZTEQGryixl6i0BK8U="; }; hardeningDisable = [ "format" ]; From c8f017db1b6173b463b50dad5c21ff26c0359731 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Tue, 20 Jan 2026 22:04:27 +0100 Subject: [PATCH 0579/1216] luanti: 5.14.0 -> 5.15.0 --- pkgs/by-name/lu/luanti/package.nix | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/lu/luanti/package.nix b/pkgs/by-name/lu/luanti/package.nix index 2d162b616316..501b333f9cdb 100644 --- a/pkgs/by-name/lu/luanti/package.nix +++ b/pkgs/by-name/lu/luanti/package.nix @@ -33,20 +33,22 @@ buildClient ? true, buildServer ? true, SDL2, - useSDL2 ? true, + sdl3, + # Use SDL3 (experimental) instead of SDL2 + useSdl3 ? false, nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "luanti"; - version = "5.14.0"; + version = "5.15.0"; src = fetchFromGitHub { owner = "luanti-org"; repo = "luanti"; tag = finalAttrs.version; - hash = "sha256-y4Bnlq3nE2u4PN0VPyBP31YORrG6LPPoSb7T5i9JnVM="; + hash = "sha256-ooZyyVFbf8OreYYs3XZlTht10cpdzsRgbOUWyaqX4jw="; }; patches = [ @@ -69,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_SERVER" buildServer) (lib.cmakeBool "BUILD_UNITTESTS" (finalAttrs.finalPackage.doCheck or false)) (lib.cmakeBool "ENABLE_PROMETHEUS" buildServer) - (lib.cmakeBool "USE_SDL2" useSDL2) + (lib.cmakeBool "USE_SDL3" useSdl3) # Ensure we use system libraries (lib.cmakeBool "ENABLE_SYSTEM_GMP" true) (lib.cmakeBool "ENABLE_SYSTEM_JSONCPP" true) @@ -77,14 +79,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "ENABLE_UPDATE_CHECKER" false) # ...but make it clear that this is a nix package (lib.cmakeFeature "VERSION_EXTRA" "NixOS") - - # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed - (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") - (lib.cmakeFeature "CMAKE_INSTALL_DATADIR" "share") - (lib.cmakeFeature "CMAKE_INSTALL_DOCDIR" "share/doc/luanti") - (lib.cmakeFeature "CMAKE_INSTALL_MANDIR" "share/man") - (lib.cmakeFeature "CMAKE_INSTALL_LOCALEDIR" "share/locale") - ]; nativeBuildInputs = [ @@ -116,9 +110,7 @@ stdenv.mkDerivation (finalAttrs: { openal libogg libvorbis - ] - ++ lib.optionals (buildClient && useSDL2) [ - SDL2 + (if useSdl3 then sdl3 else SDL2) ] ++ lib.optionals (buildClient && !stdenv.hostPlatform.isDarwin) [ xorg.libX11 From 4ec90dedafb9ff8ccf8df7c4c31e94a7b95f86fa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 08:15:38 +0100 Subject: [PATCH 0580/1216] python313Packages.fastapi-mail: 1.5.8 -> 1.6.1 Changelog: https://github.com/sabuhish/fastapi-mail/releases/tag/v1.6.1 --- pkgs/development/python-modules/fastapi-mail/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/fastapi-mail/default.nix b/pkgs/development/python-modules/fastapi-mail/default.nix index a1eb8bfdf16a..2890edd0793a 100644 --- a/pkgs/development/python-modules/fastapi-mail/default.nix +++ b/pkgs/development/python-modules/fastapi-mail/default.nix @@ -21,20 +21,21 @@ buildPythonPackage rec { pname = "fastapi-mail"; - version = "1.5.8"; + version = "1.6.1"; pyproject = true; src = fetchFromGitHub { owner = "sabuhish"; repo = "fastapi-mail"; - tag = version; - hash = "sha256-xxArFytTJKLTlBjR3T+c1OTpK3vSgIrpRJqQEcFs4J4="; + tag = "v${version}"; + hash = "sha256-ruiUf+wGJRMLzmimb9oLi/tGV6UF9aa9G/iMgptSa9w="; }; pythonRelaxDeps = [ "aiosmtplib" "cryptography" "email-validator" + "regex" "pydantic" ]; From 43f5f6a5a9840f4a69127b84c4a1a677aafdcb12 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 08:18:23 +0100 Subject: [PATCH 0581/1216] python313Packages.fastapi-mail: migrate to finalAttrs --- pkgs/development/python-modules/fastapi-mail/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/fastapi-mail/default.nix b/pkgs/development/python-modules/fastapi-mail/default.nix index 2890edd0793a..0408a8995a7e 100644 --- a/pkgs/development/python-modules/fastapi-mail/default.nix +++ b/pkgs/development/python-modules/fastapi-mail/default.nix @@ -19,7 +19,7 @@ starlette, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fastapi-mail"; version = "1.6.1"; pyproject = true; @@ -27,7 +27,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "sabuhish"; repo = "fastapi-mail"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-ruiUf+wGJRMLzmimb9oLi/tGV6UF9aa9G/iMgptSa9w="; }; @@ -76,8 +76,8 @@ buildPythonPackage rec { meta = { description = "Module for sending emails and attachments"; homepage = "https://github.com/sabuhish/fastapi-mail"; - changelog = "https://github.com/sabuhish/fastapi-mail/releases/tag/${src.tag}"; + changelog = "https://github.com/sabuhish/fastapi-mail/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 9bb0bb96d27a79306fc2cf03dcb774079da4699a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 08:20:59 +0100 Subject: [PATCH 0582/1216] python313Packages.http-message-signatures: 2.0.0 -> 2.0.1 Diff: https://github.com/pyauth/http-message-signatures/compare/v2.0.0...v2.0.1 Changelog: https://github.com/pyauth/http-message-signatures/releases/tag/v2.0.1 --- .../python-modules/http-message-signatures/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/http-message-signatures/default.nix b/pkgs/development/python-modules/http-message-signatures/default.nix index 13b18a5a0e25..0a2dc0cc623c 100644 --- a/pkgs/development/python-modules/http-message-signatures/default.nix +++ b/pkgs/development/python-modules/http-message-signatures/default.nix @@ -11,14 +11,14 @@ buildPythonPackage (finalAttrs: { pname = "http-message-signatures"; - version = "2.0.0"; + version = "2.0.1"; pyproject = true; src = fetchFromGitHub { owner = "pyauth"; repo = "http-message-signatures"; tag = "v${finalAttrs.version}"; - hash = "sha256-uHsH/kYph50cpLcy4lnu466odexUVvQAYk0ydgtcsM8="; + hash = "sha256-GFOdefqcAia4ZHqt1XMS2dw2bQ3AzbY0AQm7b8niYRI="; }; build-system = [ From 7f91b04048a08e67563f1fb68c3a936fd6afda2b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 07:37:52 +0000 Subject: [PATCH 0583/1216] python3Packages.oslo-db: 17.4.0 -> 18.0.0 --- pkgs/development/python-modules/oslo-db/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/oslo-db/default.nix b/pkgs/development/python-modules/oslo-db/default.nix index 031645894afc..b09352d3cf3b 100644 --- a/pkgs/development/python-modules/oslo-db/default.nix +++ b/pkgs/development/python-modules/oslo-db/default.nix @@ -22,13 +22,13 @@ buildPythonPackage rec { pname = "oslo-db"; - version = "17.4.0"; + version = "18.0.0"; pyproject = true; src = fetchPypi { pname = "oslo_db"; inherit version; - hash = "sha256-FLYvWMQWMwy7GIpTKbFNlQF2Ye+K6h1yoP+STuz5EKk="; + hash = "sha256-lL/zJBrTie9YZsFpGd4AWuDlud8YFO65TUAnxXUnCSM="; }; build-system = [ From 8b5e1db10b8145e0fa7244c3e7323efd7f78c478 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 07:41:42 +0000 Subject: [PATCH 0584/1216] spirit: 0.10.0 -> 0.10.1 --- pkgs/by-name/sp/spirit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sp/spirit/package.nix b/pkgs/by-name/sp/spirit/package.nix index 83d24c9cd1c1..0ac10be250fb 100644 --- a/pkgs/by-name/sp/spirit/package.nix +++ b/pkgs/by-name/sp/spirit/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "spirit"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "block"; repo = "spirit"; tag = "v${finalAttrs.version}"; - hash = "sha256-DJJWqNY5+0oL2KJwGwta55FGvEHA4ICN+vF9zZUznNQ="; + hash = "sha256-vGrIDXm3QXOitzIGV3Plt+SmUEih4gPJGTv6bGBwITE="; }; - vendorHash = "sha256-AiNxpUY6zLwa8WlkjG9Em5S1xwCrzX0h4b8DaBth6YE="; + vendorHash = "sha256-WSMziaE6ldYa915fAAecXGmJkFhh8Sk/IHjfBqXf9FI="; subPackages = [ "cmd/spirit" ]; From 524d40394130da081e1718732d78c733fa32542d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 07:49:44 +0000 Subject: [PATCH 0585/1216] cocoon: 0.8.1 -> 0.8.2 --- pkgs/by-name/co/cocoon/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cocoon/package.nix b/pkgs/by-name/co/cocoon/package.nix index c0503010bb92..7525b7737ff1 100644 --- a/pkgs/by-name/co/cocoon/package.nix +++ b/pkgs/by-name/co/cocoon/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "cocoon"; - version = "0.8.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = "haileyok"; repo = "cocoon"; tag = "v${finalAttrs.version}"; - hash = "sha256-ztP/Nvv9kRr4bFI8oveJ6pk3LOZ9H4pqhVnBMt1kbew="; + hash = "sha256-pQHltHAU5UAOtG7AvxQMI9tFeXApY4+C7+ipk4vG8zs="; }; ldflags = [ From de089b4a3b79bffa583a68095c121b56c864bd54 Mon Sep 17 00:00:00 2001 From: M0ustach3 <37956764+M0ustach3@users.noreply.github.com> Date: Wed, 21 Jan 2026 09:00:02 +0100 Subject: [PATCH 0586/1216] squid: 7.3 -> 7.4 --- pkgs/by-name/sq/squid/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sq/squid/package.nix b/pkgs/by-name/sq/squid/package.nix index f91683a9229d..a7385481f787 100644 --- a/pkgs/by-name/sq/squid/package.nix +++ b/pkgs/by-name/sq/squid/package.nix @@ -19,13 +19,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "squid"; - version = "7.3"; + version = "7.4"; src = fetchurl { url = "https://github.com/squid-cache/squid/releases/download/SQUID_${ builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version }/squid-${finalAttrs.version}.tar.xz"; - hash = "sha256-2twqmjkmzhs7q+qnp9eyHLsIkCWHbao/XBnn62OR3c0="; + hash = "sha256-4xl27ddVwpW9WEKjScnH2tFqaD0GYzfMCQM8EwK0/tQ="; }; nativeBuildInputs = [ pkg-config ]; From fa772ac9d42fb9a7091d09a3e385c1e2409611b8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 09:13:40 +0000 Subject: [PATCH 0587/1216] clever-tools: 4.5.1 -> 4.5.3 --- pkgs/by-name/cl/clever-tools/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/clever-tools/package.nix b/pkgs/by-name/cl/clever-tools/package.nix index d04728861fd8..6e3f05f33c33 100644 --- a/pkgs/by-name/cl/clever-tools/package.nix +++ b/pkgs/by-name/cl/clever-tools/package.nix @@ -11,7 +11,7 @@ buildNpmPackage rec { pname = "clever-tools"; - version = "4.5.1"; + version = "4.5.3"; nodejs = nodejs_22; @@ -19,10 +19,10 @@ buildNpmPackage rec { owner = "CleverCloud"; repo = "clever-tools"; rev = version; - hash = "sha256-VzFcIcrE4pl3YZDDwlzkbd/FR1L/70fpFKg1kYjBGvo="; + hash = "sha256-/PVVnTzRPy4AM3OEfTdrSrvdWfbPSrP/LoenzPA0d2Q="; }; - npmDepsHash = "sha256-lduZIevR+ZvHYD4xr4K+6OtY38Mik7mcxA5iasaftv4="; + npmDepsHash = "sha256-i9cZI+P363EqODlnggqKT6XxoDYTNVrg5rTYNWWHm8A="; nativeBuildInputs = [ installShellFiles From b4ffcdd747c8e9d32866369f5d33b3115e4c321a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 19 Jan 2026 21:59:14 +0100 Subject: [PATCH 0588/1216] python313Packages.typst: migrate to finalAttrs --- pkgs/development/python-modules/typst/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/typst/default.nix b/pkgs/development/python-modules/typst/default.nix index 3343db2658aa..b114d6095e73 100644 --- a/pkgs/development/python-modules/typst/default.nix +++ b/pkgs/development/python-modules/typst/default.nix @@ -10,7 +10,7 @@ rustPlatform, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "typst"; version = "0.14.7"; pyproject = true; @@ -18,12 +18,12 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "messense"; repo = "typst-py"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-GhXsfsJieBMKvHji4YGfZtvGMIa3k353Erb7V8RSDkU="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname version src; + inherit (finalAttrs) pname version src; hash = "sha256-A/iNQifMjpAMdoiEF3GaBe74mfsv8i/EwQL+ZmMc1YM="; }; @@ -49,8 +49,8 @@ buildPythonPackage rec { meta = { description = "Python binding to typst"; homepage = "https://github.com/messense/typst-py"; - changelog = "https://github.com/messense/typst-py/releases/tag/v${src.tag}"; + changelog = "https://github.com/messense/typst-py/releases/tag/v${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 9d285ecc470a767dccd64179216d8afb8266575d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:24:53 +0100 Subject: [PATCH 0589/1216] python312Packages.mypy-boto3-autoscaling: 1.42.3 -> 1.42.31 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 6fb5fb1850f4..eb2159ecf0aa 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -147,8 +147,8 @@ in "sha256-jW+LgaUpdeCSJLnpNE13DSio9nFmp0icoLEMwxX44KU="; mypy-boto3-autoscaling = - buildMypyBoto3Package "autoscaling" "1.42.3" - "sha256-WUD99NFy2KrOG5M1kP8J1B9tRDNZcvOu6J8zw534r6k="; + buildMypyBoto3Package "autoscaling" "1.42.31" + "sha256-0EfPmOIE5w8S2XNGvZePztWAyDJ7tTdkXPBbFyEo+KQ="; mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.42.3" From 5869d32bdd6209186cf0ea84c0980bda26dec063 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:25:33 +0100 Subject: [PATCH 0590/1216] python312Packages.mypy-boto3-keyspaces: 1.42.3 -> 1.42.31 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index eb2159ecf0aa..e066eaa22956 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -722,8 +722,8 @@ in "sha256-rIkIFitznxD9ytbq4cdAbiPTJFZRwZywQ50HVo7D+VU="; mypy-boto3-keyspaces = - buildMypyBoto3Package "keyspaces" "1.42.3" - "sha256-gDJBAmI5yeGgILOhLwSc7tk3rgKxeE575ZcrY+lptPA="; + buildMypyBoto3Package "keyspaces" "1.42.31" + "sha256-isLoakoBigys+KBGRoFryEqtKT2g+Wv2D/+ttlxOlfk="; mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.42.3" From f64acaba3085aff39430d296be7652ffc107c464 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:26:16 +0100 Subject: [PATCH 0591/1216] python312Packages.mypy-boto3-verifiedpermissions: 1.42.3 -> 1.42.31 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index e066eaa22956..0ed2b2b23342 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1374,8 +1374,8 @@ in "sha256-olIHhtYBAz8+avIUNnLoD2pdMq+TLrB8Mn+haKeUl/0="; mypy-boto3-verifiedpermissions = - buildMypyBoto3Package "verifiedpermissions" "1.42.3" - "sha256-2fA+3Ddfeetmh2vBpnIAWO7ILfTLBTxZtjJ18Yn+mHA="; + buildMypyBoto3Package "verifiedpermissions" "1.42.31" + "sha256-YIAxvp/geIyDsfhdEqc2UtIjFp12y6Tjq7SjmzpESfk="; mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.42.3" From 5108c0c9be1734de8b20b46e00d4162de0cd3233 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:26:25 +0100 Subject: [PATCH 0592/1216] python313Packages.botocore-stubs: 1.42.30 -> 1.42.31 --- pkgs/development/python-modules/botocore-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index 7f568655bc4b..cc2a218f88c9 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,13 +9,13 @@ buildPythonPackage (finalAttrs: { pname = "botocore-stubs"; - version = "1.42.30"; + version = "1.42.31"; pyproject = true; src = fetchPypi { pname = "botocore_stubs"; inherit (finalAttrs) version; - hash = "sha256-xNEWeOsXImP+sd6AVFLDdtnBHlTxkDp8+hMrp2XVe30="; + hash = "sha256-5+di43sgXHunl4LGfMXDUVF0jOJnRwpwrJwCYINlXZ8="; }; build-system = [ setuptools ]; From 6835630aff1d89b7a6d9b290e6ba206693eddfff Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:26:30 +0100 Subject: [PATCH 0593/1216] python313Packages.boto3-stubs: 1.42.30 -> 1.42.31 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index 40a66161fa56..bce1625c929f 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage (finalAttrs: { pname = "boto3-stubs"; - version = "1.42.30"; + version = "1.42.31"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit (finalAttrs) version; - hash = "sha256-aKLKdUaGyYDXnRxn8tTV643D2J9Oxi1AgLlfva0+4Bs="; + hash = "sha256-uw2Mk24pOB04y3JL9SGXsf22OBFwfgUuhCwSI1RaDfc="; }; build-system = [ setuptools ]; From 412b514a48bb518c9651a79e36ea7518e2258272 Mon Sep 17 00:00:00 2001 From: linsui <36977733+linsui@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:26:54 +0800 Subject: [PATCH 0594/1216] jabref: fix for gradle 9.3.0 --- pkgs/by-name/ja/jabref/deps.json | 245 +++++++++++++++-------------- pkgs/by-name/ja/jabref/package.nix | 4 + 2 files changed, 129 insertions(+), 120 deletions(-) diff --git a/pkgs/by-name/ja/jabref/deps.json b/pkgs/by-name/ja/jabref/deps.json index cf671cd8725e..806de87d2389 100644 --- a/pkgs/by-name/ja/jabref/deps.json +++ b/pkgs/by-name/ja/jabref/deps.json @@ -652,13 +652,13 @@ "jar": "sha256-bNkZkTI917L7KMqT16wSr1qGovUyeeKzWCezAxP9C58=", "pom": "sha256-rECp8tDB7mMfw7CO+OLwvRS6IgEcp2/xvPZftWnq3zU=" }, - "org/gradle/kotlin#gradle-kotlin-dsl-plugins/6.4.1": { - "jar": "sha256-JolZk48cG8O1VeIihdIEVdoPOrCAaEuSfBvK5VTZFNM=", - "module": "sha256-QfjCNSMXc2dWDubRXMC9a8GqRP6x2BjXihzt2+IMC40=", - "pom": "sha256-G9F/hR9bve0OCz16YZzBdxKrmEXqpFu8ypBxX86jEF8=" + "org/gradle/kotlin#gradle-kotlin-dsl-plugins/6.4.2": { + "jar": "sha256-MwhkX0Z7Jm5YhMJkUIIktnKejtwWbm1DX1tibBTg/Rk=", + "module": "sha256-kxqze7wDwJHt/8RtlqYLXk+isLTV2UWLkscm4FpR0NM=", + "pom": "sha256-VGkK7nfKVycLvqXnhrnTPiOvYIzuIVuIDvcq45v5aU8=" }, - "org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/6.4.1": { - "pom": "sha256-9FhdUWKX7VtEyA0nq82/XKA0aCx1B4E+8UAHLhDYts4=" + "org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/6.4.2": { + "pom": "sha256-Xi2xvrvUHGTWc1VEsphssmofxmiX0ZCXnJC1C4fIXfo=" }, "org/gradle/toolchains#foojay-resolver/1.0.0": { "jar": "sha256-eLhqR9/fdpfJvRXaeJg/2A2nJH1uAvwQa98H4DiLYKg=", @@ -762,146 +762,146 @@ "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c=" }, - "org/jetbrains/kotlin#abi-tools-api/2.2.20": { - "jar": "sha256-8chm6sXcCI8/0IEQCENAm/TxYSu7mY+6ofaFMlyuDVU=", - "pom": "sha256-HOL7NczYP8vJCuXFmN/bsilS0IVHgElEpbIfLEbKwL0=" + "org/jetbrains/kotlin#abi-tools-api/2.2.21": { + "jar": "sha256-I5kB8xfBibS0zIvF6WaUPcGeOSWVOeZouqXX7xjrkWo=", + "pom": "sha256-kkkKzKD0UFgdVs4FeWHY/6mDVYfmn2bpbQpxdbrOzYU=" }, - "org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.20": { - "module": "sha256-n+aVWzf+KQtlFiXPnGgea6IKjxLEZYzOUCblk1BaMSk=", - "pom": "sha256-P6gmRiy9hG0YAgLyLFGTQYy5zan2lcmUEjWpsbXBQdk=" + "org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.21": { + "module": "sha256-SVZZs54wVUHstxLmm2IuE+OK2SQPmoJ8oFhDS9mfIR0=", + "pom": "sha256-JQzsmn5XTCwRF+7PBCHjIAHqDzSwqQHH+k6tb+jd7aQ=" }, - "org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.20/gradle813": { - "jar": "sha256-OmlZW2x1+/ktMgFodFxpj/cRS4YHhBBQ1ISYgjAG6HE=" + "org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.21/gradle813": { + "jar": "sha256-J9z0rqpbu2TYYb0p7WDUgvD/2WJEyB4kJrnaxef9xj8=" }, - "org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/2.2.20": { - "jar": "sha256-07TapcbMI1Zfj7k2NI84xCGgRhFjdF02rt9E096UJQo=", - "pom": "sha256-L/XBHfd+t6JZdmzdqed47WW6SFxYxhO7ppAoauzi3H0=" + "org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/2.2.21": { + "jar": "sha256-JmFrjhshTWLwLRUzHK/3JcToI3ziCtFPXMznJKop588=", + "pom": "sha256-Bhpvb0xNvpCtDeOeUeeKuvtmf+jJsJXODA3qM1aPQh8=" }, - "org/jetbrains/kotlin#kotlin-assignment/2.2.20": { - "module": "sha256-xbfmG95gHQM75qCyXhkxfc9u434wVC/XRsRr/3gBj1o=", - "pom": "sha256-fh3mglHYFXQXuKIXn2YlW8m5zzFTPdkDukFVZlwwXGs=" + "org/jetbrains/kotlin#kotlin-assignment/2.2.21": { + "module": "sha256-GNfXYm3tHJiZC9JhNVjUmrJfY7eGx360iKmdirZaxhM=", + "pom": "sha256-rzH4fPfA2i55da7DPjYB0T/HeWaE0VVTaX3uJJtt7tQ=" }, - "org/jetbrains/kotlin#kotlin-assignment/2.2.20/gradle813": { - "jar": "sha256-MYCcvl5312WyQRFT6huuR2cQQGoXfjmhC/ZKYSOgRfI=" + "org/jetbrains/kotlin#kotlin-assignment/2.2.21/gradle813": { + "jar": "sha256-hxwwVHmuFrFE1AwgTr3/AZEwBejpjasXs2XFRaJZ9R0=" }, "org/jetbrains/kotlin#kotlin-bom/2.0.21": { "pom": "sha256-1Ufg3iVCLZY+IsepRPO13pQ8akmClbUtv/49KJXNm+g=" }, - "org/jetbrains/kotlin#kotlin-build-statistics/2.2.20": { - "jar": "sha256-+2VKT1vFY2h1kXMSnfSRB60J3FtBcrAXda+z+nJXndU=", - "pom": "sha256-tdU2T1fSH/FBgiBei2lf1oZNnYqleApu3EIJWEBHwRU=" + "org/jetbrains/kotlin#kotlin-build-statistics/2.2.21": { + "jar": "sha256-jf37K49n/NzEzuPvkKJa9GfKKVhTsOoBnQAQrOvW8Yo=", + "pom": "sha256-yL9i9tym159DbECxrwnbQvRuv0vNcrMHnfjHJbXAY1g=" }, - "org/jetbrains/kotlin#kotlin-build-tools-api/2.2.20": { - "jar": "sha256-/ZlHs6F2Iahvq9lTr4fzS9K7f4sm2uksHte+dHL0TDs=", - "pom": "sha256-AtR9SHfsMktJbZMTMkXNTTSLZSMDzyfvpj44ry+zzyo=" + "org/jetbrains/kotlin#kotlin-build-tools-api/2.2.21": { + "jar": "sha256-MWRcpSI5siHr0GCgD/+NhRb/3Ii72fTkzX3bQacGjHA=", + "pom": "sha256-Y/3PHe0qtFrXfASZefqkTxkPe7jurE+B+Yd+nfqf2fk=" }, - "org/jetbrains/kotlin#kotlin-build-tools-impl/2.2.20": { - "jar": "sha256-ZHiafwBWWSfy8/LRCfIwV009kwjtXW6Gv8qEPaZIfPc=", - "pom": "sha256-4vQ157rwHeL/kNCoc3r4+b+X/BUuWVuGp2C6ZOjmnfY=" + "org/jetbrains/kotlin#kotlin-build-tools-impl/2.2.21": { + "jar": "sha256-RYtj74/FCgoxgP5ojsG5lXRZkqBcSV2sYeWNEIiSeoA=", + "pom": "sha256-Ln/cogFlzxDnO2L4NfZ+7PQnyCPtYPGdXwButnQ0Wv4=" }, - "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.2.20": { - "jar": "sha256-HGw/gQv+akGry8NLOi72OfHj9K7tOpU6Swl07qT0GIk=", - "pom": "sha256-Bf8CX3+wky+xH6HhzK71KPdgJ9lWaA+INdQ4VCdi4go=" + "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.2.21": { + "jar": "sha256-lYj6aWrFUHr3ZP1WYN9olBheEnBOwbw/XLdyr0mH8pU=", + "pom": "sha256-CzPGTyYiujvIKDN4vbdQXyvjMKInWAcDitVDWbM935s=" }, - "org/jetbrains/kotlin#kotlin-compiler-runner/2.2.20": { - "jar": "sha256-+vloNPogBNeL2ORCD1go3j1CckJ9ZHR5gCTqbpz4XN0=", - "pom": "sha256-kbsVJI9OqUS2Mw8xA/HrVF0TvditSuxDe3R6WG57F6k=" + "org/jetbrains/kotlin#kotlin-compiler-runner/2.2.21": { + "jar": "sha256-o6Qi4GvNNaMqeY0ZHvbrs16ms5w1U+lB05wB5jH8XHc=", + "pom": "sha256-HxA9i94I3dYUvZg6vfy3lJE5xgasYM2KaJQf0Pse4SQ=" }, - "org/jetbrains/kotlin#kotlin-daemon-client/2.2.20": { - "jar": "sha256-cO983NwwEHe5s7ohqp6cVadq+z/73+9KtWKmd9GN+kw=", - "pom": "sha256-ihNtDxPrmDpr40/x4WPJznmFXkuiF09Fy0KqpnVT91Q=" + "org/jetbrains/kotlin#kotlin-daemon-client/2.2.21": { + "jar": "sha256-POLKPF17x8h8QUmsLFk9IaeR1ndiKa4SPbZFowF96BQ=", + "pom": "sha256-T2/dvBDZshZ4meNPoRP8mtdcxNbOWKuE+WFLY8BfjaM=" }, - "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.2.20": { - "jar": "sha256-fFyM0vi+rdMoMjm7nKIZoMr6GvAmgrQHsYHhF5cY8vc=", - "pom": "sha256-9Yhmv7yYZ8bWR1ec/3DUKHeZctvd2N5MJXh5y0N0FIk=" + "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.2.21": { + "jar": "sha256-kcBnPCLkSwVK4DFNMjhg6+Hzr/Pw68dP/4LEcz3eCb4=", + "pom": "sha256-Fwvb7LpX/wCiuNF+8seeCLhfZ99p2FO6CiWaQYO/uSM=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.2.20": { - "jar": "sha256-T8MqG+ZFynQE4hskRSCI+T6OmT6v/Sbza9Ndv3XGB1I=", - "pom": "sha256-sbbgEXktfKkv7K+/+sSlCPdvA5yfeuijI9GJKIgl9P4=" + "org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.2.21": { + "jar": "sha256-NZTEDHAF0ESVL4D3BBcrtv0YRCQQJRlPsWvubUXaLls=", + "pom": "sha256-VErpKrN3QI/B7TBOxBou7EKT4PLhObPS9v0nIF8UY38=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.20": { - "jar": "sha256-dgfuXHoMpT+lku58VA7oCJYqe62P7p7Xj+Z0hBRj2V0=", - "module": "sha256-T8vx/H5Uzr/pC5peD7RpYv7Vwi03I52iNfXi37xtUog=", - "pom": "sha256-C5E9oNIYhCAmOpBLtApkD9s1pTWnLwWC/llkHjoMSi4=" + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.21": { + "jar": "sha256-t7/Qf18eCkSvYS60hHTfYyjuD286anNkLORz8wZF4aU=", + "module": "sha256-HnS0hvlEq54Rb5pKriDFL8L5rFI6VS25fdZYFID+lAs=", + "pom": "sha256-m9RXg5guF17un6rUX1/3QVyWrrau8ufPjjUIr7Y51hc=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.20/gradle813": { - "jar": "sha256-dgfuXHoMpT+lku58VA7oCJYqe62P7p7Xj+Z0hBRj2V0=" + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.21/gradle813": { + "jar": "sha256-t7/Qf18eCkSvYS60hHTfYyjuD286anNkLORz8wZF4aU=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.2.20": { - "jar": "sha256-dtFu5ZzeHmpwVWtdQEhu+fEcFkOodJPBnE3zMWU4N9k=", - "pom": "sha256-xRuhScfyk1nSWk7RIS4otpNOGkdW9VLAAHvxFE0onB0=" + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.2.21": { + "jar": "sha256-S0vndO+5WFrw/aGA0zkD2CcuSX33uBuwkfqTOezaRb0=", + "pom": "sha256-uhvOJI5HRY7tRmheuiEreT/7fTfkKd/2cKIT3dEC0MA=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.2.20": { + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.2.21": { "jar": "sha256-7JacXwsJn4I4RiMiOPm9ZPPTdB5i6pBQrS5DL6150KA=", - "module": "sha256-/IW7KUlsw/X5DHjHonejkw7xFg8IQ/iu1ke3TGejtJQ=", - "pom": "sha256-NkQjJURfF7rCH1OGu0k4+D53K4NOWGBT1BRbGnXZ4oU=" + "module": "sha256-kVGuIjeH8cILcLJKEXeJtNFNDMSE5GJzLLIwp5f3W88=", + "pom": "sha256-KKWiq7pbWCk+JKngbmqskmJr4YLGXfyLLbaUlE5wraU=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.2.20": { - "jar": "sha256-U6MhUoJjIGAYUgSaC291OMqLtX/QnYeszRGLxo1D+OQ=", - "module": "sha256-EZdKVPSOCCXpdxML9u9qyZp/216yr53iZa9iTHY2g+U=", - "pom": "sha256-3uDjB7pub1GQPH5DPehSZ10eMOfyLPJGWxglVSZR7fs=" + "org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.2.21": { + "jar": "sha256-kI5uXIkLtJ28kmbczyi9sMJYxIZHA5rtcC/p1YZkAYY=", + "module": "sha256-/kRucdWLn1verY7wW2i0mGFzF+G5LUe5qztnTWTydmQ=", + "pom": "sha256-IIRTo2pr5JsHGhwQ6bRAQQZjbJO65b8wxtrFdMQM9bE=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.20": { - "module": "sha256-3CS/pH4EQigykOIfBpoFYUHR8IjWy57Kouqs4bR7a4w=", - "pom": "sha256-ucP9Lr1UhNYMX+DbeqEIeDA+7d/JP5Qvc1wHupmBh8w=" + "org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.21": { + "module": "sha256-TiOAKj1TACSsRlrNJkh9ajpwLugEzWEzScUQjeq/S6I=", + "pom": "sha256-5bWdPJpGu38Pe0nPyI1pjaVBpL0JClwX2aAKtHIQc4w=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.20/gradle813": { - "jar": "sha256-XTJbXCxdS8i/RBRdJOtNS+sGDRPRHr5IiYk27VzRVk4=" + "org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.21/gradle813": { + "jar": "sha256-t6UoZcal4WDSz2Hk1CPORKaiDeCmsj0DQEttAaKBFzc=" }, - "org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.2.20": { - "module": "sha256-P7tFda43xKd2rrhtj/k8aqEbDPLadXScUyDiWFCwIp4=", - "pom": "sha256-PG1GnpFfuzCWrEy4wvRsedAnw8WQ5lihBoihVx61eNg=" + "org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.2.21": { + "module": "sha256-3E/A81pVMqU6Qy7k/iJDEyVIVV8nX2PuaZDVAzP4zio=", + "pom": "sha256-JfRGZjOd7uAQanbqXvzPqzSvz9uWCnZy+4h/cboNqL0=" }, - "org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.2.20": { - "jar": "sha256-OYK+RbEpMOIYGbWJ2zcHyOhM4le/Ks5/xi/I3zaPWz4=", - "pom": "sha256-CzAJtJQmv6F3qtlLSBCbjKVMck6i5sUGgmo6lc9ZEOE=" + "org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.2.21": { + "jar": "sha256-WLxFHOYu1r79B3rBB+pfEzRD503XjPOkpI+GjmGDfos=", + "pom": "sha256-yJkqd6ltK5+NgTdMQL1x0y4h2f8c23mdFdSXGLEqEuE=" }, "org/jetbrains/kotlin#kotlin-metadata-jvm/2.2.20": { "jar": "sha256-hSTqyQ9+jg8TZog/LGyCDJO/ph3z12hXyNPoA89nMV0=", "pom": "sha256-e2qAtqLSZ2oEIvaWg4EyMVQlUfYbMgxochz7nh9ZCdA=" }, - "org/jetbrains/kotlin#kotlin-native-utils/2.2.20": { - "jar": "sha256-UBd3SirqQf+HEhNxFs1NgAP+mroSAMEG5lcw/rW7dEI=", - "pom": "sha256-U+++4FpxIhiQYPXuXspodjnOr+KfXlmW3phiopxnJyU=" + "org/jetbrains/kotlin#kotlin-native-utils/2.2.21": { + "jar": "sha256-50sUQG2uCgI4gYfGLBcxGDun0NjmBnVoLeURqQr6bFY=", + "pom": "sha256-1SJqfIYGn6mnIavJeuTaFaQO0WicirVQXhoa0tsg3F8=" }, "org/jetbrains/kotlin#kotlin-reflect/1.6.10": { "jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=", "pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak=" }, - "org/jetbrains/kotlin#kotlin-reflect/2.2.20": { - "jar": "sha256-ggkIOkp8TkdtmEKweDCPqWqW8Hpr2Z8F81hu4TKJqyY=", - "pom": "sha256-TidHQGbbg/uixZB0KJunEr6MhRV83guQUCmkRcJ19bo=" + "org/jetbrains/kotlin#kotlin-reflect/2.2.21": { + "jar": "sha256-RDgKvzfSRc5cDylPQ1EtHDmllkK/pGOSLHTpaHfPSfg=", + "pom": "sha256-5atrEFYKWlJWLDXNvnHdvkJ9Uetb/HAdzU9rlJvZ4D8=" }, - "org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.2.20": { - "jar": "sha256-WRNzsEtDtom0HgvIYqlslEx+DDHSMIH0aooe48a6Edc=", - "pom": "sha256-iSompWD3bch9NVEw9Akk2ZtL1gB212R0Ff6YkYjSLA4=" + "org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.2.21": { + "jar": "sha256-yweF5qeHDS9eqW9kcCDigS3snXAjAzMZu9sc5+XmVUg=", + "pom": "sha256-CcOMhkgRKRfUMPoji0Nxz4DbE86Dgu6KK6g0EPmd0yY=" }, - "org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.20": { - "module": "sha256-c7Eee8xPZZeWcN8Vx1aADHOiHaH9EJL56sWfON+cVjE=", - "pom": "sha256-LhNnvGXeGLQPpn2H9+JGXj4dYUviuLCdOQZRZ8JwK+M=" + "org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.21": { + "module": "sha256-2iXbk8+OvwbGM1L4PnIK14e8cD/Q54DxGRjQii7JgE4=", + "pom": "sha256-IU7uupPxsDquZnoJfbq/6z2XRel5zU0LJGLzj+vHd2Q=" }, - "org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.20/gradle813": { - "jar": "sha256-YZ6b4NCK9+W0TRIkJQ0jXiLvimiKzISPO4kC+mZAQws=" + "org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.21/gradle813": { + "jar": "sha256-tHyUm4u4DOaAcj+Lw8hw8ifDZHel6wLCtz1hEY1GMKY=" }, - "org/jetbrains/kotlin#kotlin-script-runtime/2.2.20": { - "jar": "sha256-XIvV3Xrh6i7rJ3j9vqoZpWIYSXX2yrigu2d55BkHMa4=", - "pom": "sha256-IpOhQenagKfpjYXtKkkuldsMAWW86rC3Klzp4tkrCAc=" + "org/jetbrains/kotlin#kotlin-script-runtime/2.2.21": { + "jar": "sha256-KxUZtCe1FNFTbBtCVnSwP+kUr2N5JAKOmVnGYlRC31E=", + "pom": "sha256-h2elQPxdviC34Sg6lfUQKX5sDJiy6sLtxNBhKi0PLq8=" }, - "org/jetbrains/kotlin#kotlin-scripting-common/2.2.20": { - "jar": "sha256-+5n/fwzZUtpo1UjT89ZErlB4sLlvybrwZewUZqKTuAU=", - "pom": "sha256-iTjGIFKXW7uW3OotqaeNS2sk2vLwnTWMGnqEHxaMtzo=" + "org/jetbrains/kotlin#kotlin-scripting-common/2.2.21": { + "jar": "sha256-QU7ZHD9eRJKyPLlTeEK0ZRA44l2thBB5OfQ0wiA/KpI=", + "pom": "sha256-7CWpeZRRdbrSFlRqSEsLj0SoZwVZGV4kCzR/H9oXcN8=" }, - "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.2.20": { - "jar": "sha256-2GJhDAAzQuUIjKIcRAQix9ijcA4ZnWA/ehAnjESIR2E=", - "pom": "sha256-PW9vFZH6P3r14jFlxowu4BclFYZFQ09eMBdF5kfHVhE=" + "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.2.21": { + "jar": "sha256-2TS50MJGvAliS3Bor1itV87xHb4q3bx7GdJQzOQt4ck=", + "pom": "sha256-EUhmLJXzbgCYEXj7LYldBrLs59BX7YRTLdNTu9bDVlA=" }, - "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.2.20": { - "jar": "sha256-e3kSNZL//r81xhag/xBDMscc3mN6ZX4JrbXfbD+cA84=", - "pom": "sha256-+l+wJ+4qSbPb/zh3VBtC+3CuzMN7oC4dOthipcZyVLc=" + "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.2.21": { + "jar": "sha256-eIowYMjnmX+K4WulwCgNBQBa8KQgKfGMsQxWJbl5+sM=", + "pom": "sha256-DKT5XDLUrpVOF06kHlutYseNvJOmTEUHb96czISrNgk=" }, - "org/jetbrains/kotlin#kotlin-scripting-jvm/2.2.20": { - "jar": "sha256-qR+5BJY0oyum09LpGgy5mD4KpOccDC4bKDg4qOBhYx8=", - "pom": "sha256-0df8RWSBne6v6OvdcfbyGBf/xVjr0U9HpW6NyTaW3Rk=" + "org/jetbrains/kotlin#kotlin-scripting-jvm/2.2.21": { + "jar": "sha256-g4IMX8xdKPBF+RTs1ZALu8+BFbDXAHM03gaf5scGaeY=", + "pom": "sha256-nR1Dsi27irmp3yJ6bVRYNB2v/sFQ73WV12XMXsvxeQg=" }, "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": { "jar": "sha256-M9FI2w4R3r0NkGd9KCQrztkH+cd3MAAP1ZeGcIkDnYY=", @@ -919,26 +919,26 @@ "jar": "sha256-FcjArLMRSDwGjRaXUBllR0tw39gKx5WA7KOgPPUeSh0=", "pom": "sha256-MQ1tXGVBPjEQuUAr2AdfyuP0vlGdH9kHMTahj+cnvFc=" }, - "org/jetbrains/kotlin#kotlin-stdlib/2.2.20": { - "jar": "sha256-iDbM/9NYX63amQEkSyDUKQHS881YEFjYQ04v+rzzo+c=", - "module": "sha256-yRj1IU0CGnLjdn8nVul9EDpSbgTxQj2jZj79+1hH25U=", - "pom": "sha256-SosIbmQxvPYjY39Ssv8ZLhrbkTg4dC5cDupwqN7kKcQ=" + "org/jetbrains/kotlin#kotlin-stdlib/2.2.21": { + "jar": "sha256-ZVij0jPaVqIJNLMhWfnbX4btWBbvCY94osIj3Gq7ed0=", + "module": "sha256-v7xlfd06jjfkyK1BeWjV6wsLFxyfzkj5YsKtMu5DTCE=", + "pom": "sha256-zzH5IxlsY67ezQpXwkJpvTcCpOR8C/C9ZLWtpd5SInI=" }, - "org/jetbrains/kotlin#kotlin-tooling-core/2.2.20": { + "org/jetbrains/kotlin#kotlin-tooling-core/2.2.21": { "jar": "sha256-dAFOxPPveM59p+Pmlk8sUmoxIdXFj++MopeeXzRFgvQ=", - "pom": "sha256-jvep2QYs59w/xlVxXdAoqZRLeElhPgEYR8XWs7mSgXE=" + "pom": "sha256-3TPmGTLBut893oXyBPY0yABL6WQnw6HKiGbMAR1xHfo=" }, - "org/jetbrains/kotlin#kotlin-util-io/2.2.20": { - "jar": "sha256-1DGva+puLcmInE/iawc84VfxEchgj+laGL/gi4F8/3Q=", - "pom": "sha256-xqXQGEjNBAz8j3uuYjLXktcFwpOi2nJmrmJszbNdagM=" + "org/jetbrains/kotlin#kotlin-util-io/2.2.21": { + "jar": "sha256-JmqkAmoQb1n878PxUXaIcK+RzvFeQBH6wKofH1Z9SfQ=", + "pom": "sha256-67UM9Bx0RJdvAsL5FbQXMlcsXzmUplgciOZN4LmY970=" }, - "org/jetbrains/kotlin#kotlin-util-klib-metadata/2.2.20": { - "jar": "sha256-vuSQHKU6WiHA22RZAdKwcK/2gkAkF91XiODjWTZFcTs=", - "pom": "sha256-vtAGUSIGX65328DEb/xBRqaFy7GLijApq9XaO/qhECc=" + "org/jetbrains/kotlin#kotlin-util-klib-metadata/2.2.21": { + "jar": "sha256-AiuVo9/tlJ18LkeCC82YNu4Fe3IVE/dzNh5DM/bHb4w=", + "pom": "sha256-87Mj0f6eM9x+nF7XfzBSg//WN4FdiMUHlFQRvXqiow8=" }, - "org/jetbrains/kotlin#kotlin-util-klib/2.2.20": { - "jar": "sha256-7XyAlrK75HetF8MXjeuoyDr1MourNr/iEJEL1bQZI0w=", - "pom": "sha256-2mwiR3qvQt2hbYWa2unj7Yq8khzLp/9RYTTMi9NZqpI=" + "org/jetbrains/kotlin#kotlin-util-klib/2.2.21": { + "jar": "sha256-VUAKkX5rmEphl+rni1tS7b3yzW4KfDhD95VEgbr7JD8=", + "pom": "sha256-o1Lf02Uns67w98DsZJDeydX8m+xPM02ETK6U+BdD3zA=" }, "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.8.0": { "pom": "sha256-Ejnp2+E5fNWXE0KVayURvDrOe2QYQuQ3KgiNz6i5rVU=" @@ -1203,11 +1203,19 @@ "com/fasterxml/jackson#jackson-parent/2.20": { "pom": "sha256-tDt/XGLoaxZPrnCuF9aRHF22B5mvAQVzYK/aguSEW+U=" }, + "com/fasterxml/jackson/core#jackson-annotations/2.17.2": { + "module": "sha256-KMxD6Y54gYA+HoKFIeOKt67S+XejbCVR3ReQ9DDz688=", + "pom": "sha256-Q3gYTWCK3Nu7BKd4vGRmhj8HpFUqcgREZckQQD+ewLs=" + }, "com/fasterxml/jackson/core#jackson-annotations/2.20": { "jar": "sha256-lZov+y1ZFDb1Hxg8alIfyJNHkS9xG/DK4AjN8EXZUxk=", "module": "sha256-wHDxTsg1jQlcAurootZcsAzLoOXFqnOwASlDM/5GiXE=", "pom": "sha256-TXQMRHjdCNCJ7NxtBjIopVoRp+jkl9pDOPhy+BFXlKQ=" }, + "com/fasterxml/jackson/core#jackson-core/2.17.2": { + "module": "sha256-OCgvt1xzPSOV3TTcC1nsy7Q6p8wxohomFrqqivy38jY=", + "pom": "sha256-F4IeGYjoMnB6tHGvGjBvSl7lATTyLY0nF7WNqFnrNbs=" + }, "com/fasterxml/jackson/core#jackson-core/2.19.2": { "jar": "sha256-qnfq8pKTqGjEc3IZT3xSh9d9k3CwTqJdP//B5JBLWIA=", "module": "sha256-Ua8uZ3g6XXJETeajB8jj7ZMAklbNJ+ghkVVZohZcCUI=", @@ -1897,9 +1905,6 @@ "net/java/dev/jna#jna/5.13.0": { "pom": "sha256-9RXCV4F49FJH7Mp6nh2xCVMbHELyQk4lPO6w9rjUI3Q=" }, - "net/java/dev/jna#jna/5.17.0": { - "pom": "sha256-UBoP8F2EpK0Q9t4lvpT0k5i3CjG+jzoO2fTGtE++/uQ=" - }, "net/java/dev/jna#jna/5.18.1": { "jar": "sha256-JgxLHiKx254RDuRBxPE84RX4QfpIxB14dQmGIUs5VVc=", "pom": "sha256-mLYq5v8oDXR/s1n8QuSP7RE9Rbw3Kagj3DC4MIqAZkU=" diff --git a/pkgs/by-name/ja/jabref/package.nix b/pkgs/by-name/ja/jabref/package.nix index 2e31f41c8b30..0a38413359f9 100644 --- a/pkgs/by-name/ja/jabref/package.nix +++ b/pkgs/by-name/ja/jabref/package.nix @@ -54,6 +54,7 @@ let url = ltwaUrl; hash = "sha256-jnS8Y9x8eg2L3L3RPnS6INTs19mEtwzfNIjJUw6HtIY="; }; + kotlinDslVersion = "6.4.2"; in stdenv.mkDerivation rec { version = "6.0-alpha.4"; @@ -93,6 +94,9 @@ stdenv.mkDerivation rec { sed -i -e '1a //REPOS file://${mitmCache}/https/repo.maven.apache.org/maven2,file://${mitmCache}/https/plugins.gradle.org/m2' build-support/src/main/java/*.java + substituteInPlace build-logic/build.gradle.kts \ + --replace-fail '`kotlin-dsl`' 'id("org.gradle.kotlin.kotlin-dsl") version "${kotlinDslVersion}"' + pushd jablib # Disable update check From 84ecbbc51d77d5347991f176f08fc66a52683e51 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:36:17 +0100 Subject: [PATCH 0595/1216] python313Packages.aiomisc: 17.9.9 -> 17.10.3 Changelog: https://github.com/aiokitchen/aiomisc/blob/master/CHANGELOG.md --- pkgs/development/python-modules/aiomisc/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/aiomisc/default.nix b/pkgs/development/python-modules/aiomisc/default.nix index 018bda2a0d44..8cb0f13580a7 100644 --- a/pkgs/development/python-modules/aiomisc/default.nix +++ b/pkgs/development/python-modules/aiomisc/default.nix @@ -10,7 +10,8 @@ fastapi, fetchPypi, logging-journald, - poetry-core, + setuptools, + setuptools-scm, pytestCheckHook, raven, rich, @@ -20,15 +21,18 @@ buildPythonPackage rec { pname = "aiomisc"; - version = "17.9.9"; + version = "17.10.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-c9dlFc6XFahTbg6EEBb1OiKpFJ/zlzIp34UQJc8CXKY="; + hash = "sha256-24ka982Wx4Bk2TlWuw6pvfRLh47l8QJvHD+sc+LOxVY="; }; - build-system = [ poetry-core ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ colorlog From f1a1441fc93293755aeff8488767ec4d12055a0d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:39:26 +0100 Subject: [PATCH 0596/1216] python313Packages.aiomisc: migrate to finalAttrs --- pkgs/development/python-modules/aiomisc/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/aiomisc/default.nix b/pkgs/development/python-modules/aiomisc/default.nix index 8cb0f13580a7..93afe50e7fcd 100644 --- a/pkgs/development/python-modules/aiomisc/default.nix +++ b/pkgs/development/python-modules/aiomisc/default.nix @@ -19,13 +19,13 @@ uvloop, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiomisc"; version = "17.10.3"; pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-24ka982Wx4Bk2TlWuw6pvfRLh47l8QJvHD+sc+LOxVY="; }; @@ -46,7 +46,7 @@ buildPythonPackage rec { pytestCheckHook setproctitle ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); optional-dependencies = { aiohttp = [ aiohttp ]; @@ -79,4 +79,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 82c63141ecab8b078a2ba0472357f396365ba78b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 21 Jan 2026 10:28:11 +0100 Subject: [PATCH 0597/1216] python313Packages.apprise: migrate to finalAttrs --- pkgs/development/python-modules/apprise/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix index ba148c750a0f..ff355afdcf64 100644 --- a/pkgs/development/python-modules/apprise/default.nix +++ b/pkgs/development/python-modules/apprise/default.nix @@ -21,13 +21,13 @@ testers, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "apprise"; version = "1.9.7"; pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-L3PMHgJk+xGf25t83oLo/eQKD1MayIXYxvDPD24TrsI="; }; @@ -68,16 +68,16 @@ buildPythonPackage rec { passthru = { tests.version = testers.testVersion { package = apprise; - version = "v${version}"; + version = "v${finalAttrs.version}"; }; }; meta = { description = "Push Notifications that work with just about every platform"; homepage = "https://github.com/caronc/apprise"; - changelog = "https://github.com/caronc/apprise/releases/tag/v${version}"; + changelog = "https://github.com/caronc/apprise/releases/tag/v${finalAttrs.version}"; license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ getchoo ]; mainProgram = "apprise"; }; -} +}) From 337e819fb4d17abdcb728e361bad187417a74f31 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 09:48:34 +0000 Subject: [PATCH 0598/1216] python3Packages.magika: fix build on aarch64-linux by disabling tests --- .../python-modules/magika/default.nix | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/magika/default.nix b/pkgs/development/python-modules/magika/default.nix index 504063f6e12c..a1846e289f69 100644 --- a/pkgs/development/python-modules/magika/default.nix +++ b/pkgs/development/python-modules/magika/default.nix @@ -1,20 +1,30 @@ { lib, + stdenv, buildPythonPackage, - click, fetchPypi, + + # build-system + hatchling, + + # dependencies + click, numpy, onnxruntime, - hatchling, python-dotenv, tabulate, tqdm, + + # tests pytestCheckHook, dacite, versionCheckHook, }: -buildPythonPackage rec { +let + isNotAarch64Linux = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); +in +buildPythonPackage (finalAttrs: { pname = "magika"; version = "1.0.1"; pyproject = true; @@ -23,7 +33,7 @@ buildPythonPackage rec { # Pypi tarball contains a pure python implementation of magika # while GitHub source requires compiling magika-cli src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-MT+Mv83Jp+VcJChicyMKJzK4mCXlipPeK1dlMTk7g5g="; }; @@ -63,14 +73,19 @@ buildPythonPackage rec { "test_magika_module_with_previously_missdetected_samples" ]; - pythonImportsCheck = [ "magika" ]; + # aarch64-linux fails cpuinfo test, because /sys/devices/system/cpu/ does not exist in the sandbox: + # terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException' + # + # -> Skip all tests that require importing magika + pythonImportsCheck = lib.optionals isNotAarch64Linux [ "magika" ]; + doCheck = isNotAarch64Linux; meta = { description = "Detect file content types with deep learning"; homepage = "https://github.com/google/magika"; - changelog = "https://github.com/google/magika/blob/python-v${version}/python/CHANGELOG.md"; + changelog = "https://github.com/google/magika/blob/python-v${finalAttrs.version}/python/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ mihaimaruseac ]; mainProgram = "magika-python-client"; }; -} +}) From fff5172bba7293ee7f724caa1bfd976c76aabdba Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 10:16:14 +0000 Subject: [PATCH 0599/1216] python3Packages.rembg: fix build on aarch64-linux by disabling tests --- pkgs/development/python-modules/rembg/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/rembg/default.nix b/pkgs/development/python-modules/rembg/default.nix index 58652d3d6d0f..209a1df7c07f 100644 --- a/pkgs/development/python-modules/rembg/default.nix +++ b/pkgs/development/python-modules/rembg/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, @@ -36,6 +37,9 @@ withCli ? false, }: +let + isNotAarch64Linux = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); +in buildPythonPackage (finalAttrs: { pname = "rembg"; version = "2.0.72"; @@ -106,7 +110,12 @@ buildPythonPackage (finalAttrs: { "NUMBA_CACHE_DIR" ]; - pythonImportsCheck = [ "rembg" ]; + # aarch64-linux fails cpuinfo test, because /sys/devices/system/cpu/ does not exist in the sandbox: + # terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException' + # + # -> Skip all tests that require importing rembg + pythonImportsCheck = lib.optionals isNotAarch64Linux [ "rembg" ]; + doCheck = isNotAarch64Linux; meta = { description = "Tool to remove background from images"; From 11e6e20a99a974365bf8f6e5ad135be0c358a6af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 10:28:19 +0000 Subject: [PATCH 0600/1216] libretro.gambatte: 0-unstable-2025-12-19 -> 0-unstable-2026-01-16 --- pkgs/applications/emulators/libretro/cores/gambatte.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/gambatte.nix b/pkgs/applications/emulators/libretro/cores/gambatte.nix index 05a0a5694398..991511adc86d 100644 --- a/pkgs/applications/emulators/libretro/cores/gambatte.nix +++ b/pkgs/applications/emulators/libretro/cores/gambatte.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "gambatte"; - version = "0-unstable-2025-12-19"; + version = "0-unstable-2026-01-16"; src = fetchFromGitHub { owner = "libretro"; repo = "gambatte-libretro"; - rev = "308255e4a3acb38a054ebb42a5e2fe5c50eebd66"; - hash = "sha256-a75F7kfrVfIVt5yvYIu+oVmpXlOdTDTs5IX1Q5NB8WU="; + rev = "9fe223d9c4b615c55840170c6e85e6e9fa4bd1d2"; + hash = "sha256-BBFT8+TLf5qbwo36BudPjeMRPLdSj2+0m4RnfeFrlOc="; }; meta = { From f2d8a154a5d63d8d22a23489ff4ccaa420ce6753 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 10:29:50 +0000 Subject: [PATCH 0601/1216] python3Packages.markitdown: fix build on aarch64-linux by disabling tests --- .../python-modules/markitdown/default.nix | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/markitdown/default.nix b/pkgs/development/python-modules/markitdown/default.nix index c47f7361a2ef..cffa8aa21a21 100644 --- a/pkgs/development/python-modules/markitdown/default.nix +++ b/pkgs/development/python-modules/markitdown/default.nix @@ -1,15 +1,22 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, + + # build-system hatchling, + + # dependencies beautifulsoup4, defusedxml, ffmpeg-headless, + lxml, magika, mammoth, markdownify, numpy, + olefile, openai, openpyxl, pandas, @@ -20,15 +27,20 @@ python-pptx, requests, speechrecognition, - youtube-transcript-api, - olefile, xlrd, - lxml, + youtube-transcript-api, + + # tests pytestCheckHook, + + # passthru gitUpdater, }: -buildPythonPackage rec { +let + isNotAarch64Linux = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); +in +buildPythonPackage (finalAttrs: { pname = "markitdown"; version = "0.1.4"; pyproject = true; @@ -36,11 +48,11 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "microsoft"; repo = "markitdown"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-WKA2eY8wY3SM9xZ7Cek5eUcJbO5q6eMDx2aTKfQnFvE="; }; - sourceRoot = "${src.name}/packages/markitdown"; + sourceRoot = "${finalAttrs.src.name}/packages/markitdown"; build-system = [ hatchling ]; @@ -71,7 +83,12 @@ buildPythonPackage rec { youtube-transcript-api ]; - pythonImportsCheck = [ "markitdown" ]; + # aarch64-linux fails cpuinfo test, because /sys/devices/system/cpu/ does not exist in the sandbox: + # terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException' + # + # -> Skip all tests that require importing markitdown + pythonImportsCheck = lib.optionals isNotAarch64Linux [ "markitdown" ]; + doCheck = isNotAarch64Linux; nativeCheckInputs = [ pytestCheckHook ]; @@ -88,8 +105,8 @@ buildPythonPackage rec { meta = { description = "Python tool for converting files and office documents to Markdown"; homepage = "https://github.com/microsoft/markitdown"; - changelog = "https://github.com/microsoft/markitdown/releases/tag/${src.tag}"; + changelog = "https://github.com/microsoft/markitdown/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = [ ]; }; -} +}) From 1baa98d054dada1745ba7e4007cc0d278c97bc58 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 21 Jan 2026 12:39:49 +0200 Subject: [PATCH 0602/1216] nano: add doc & man outputs --- pkgs/by-name/na/nano/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/na/nano/package.nix b/pkgs/by-name/na/nano/package.nix index a0a303a0d3d7..4273405a1456 100644 --- a/pkgs/by-name/na/nano/package.nix +++ b/pkgs/by-name/na/nano/package.nix @@ -43,7 +43,9 @@ stdenv.mkDerivation rec { outputs = [ "out" + "doc" "info" + "man" ]; configureFlags = [ From 64510883d7b1aa1891b89ae2aa04a27bd53befae Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 10:41:28 +0000 Subject: [PATCH 0603/1216] python3Packages.types-aiobotocore: 3.1.0 -> 3.1.1 --- pkgs/development/python-modules/types-aiobotocore/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix index ef8136422c3e..a26c671f8831 100644 --- a/pkgs/development/python-modules/types-aiobotocore/default.nix +++ b/pkgs/development/python-modules/types-aiobotocore/default.nix @@ -371,13 +371,13 @@ buildPythonPackage (finalAttrs: { pname = "types-aiobotocore"; - version = "3.1.0"; + version = "3.1.1"; pyproject = true; src = fetchPypi { pname = "types_aiobotocore"; inherit (finalAttrs) version; - hash = "sha256-nDbZ0pBEtCRleQD6mejAWPc9WnVek9IeS76w7qjxk5I="; + hash = "sha256-eXRYXhlJOdoscKe2KPbtsiZCdpqE5PbBqlMij/O4rnE="; }; build-system = [ setuptools ]; From c89c21a323373c0662fc3d265d423d8d3798525c Mon Sep 17 00:00:00 2001 From: Hugh Mandalidis Date: Wed, 21 Jan 2026 21:48:52 +1100 Subject: [PATCH 0604/1216] apache-airflow: remove pcre from build script --- pkgs/by-name/ap/apache-airflow/python-package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index 154886e64e0f..bce488ed44ec 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -310,13 +310,13 @@ buildPythonPackage rec { # Updates yarn.lock and package.json passthru.updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell - #!nix-shell -i bash -p common-updater-scripts curl pcre "python3.withPackages (ps: with ps; [ pyyaml ])" yarn2nix + #!nix-shell -i bash -p common-updater-scripts curl "python3.withPackages (ps: with ps; [ pyyaml ])" yarn2nix set -euo pipefail # Get new version new_version="$(curl -s https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html | - pcregrep -o1 'Airflow ([0-9.]+).' | head -1)" + grep -oE 'Airflow [0-9.]+' | head -1 | grep -oE '[0-9.]+')" update-source-version ${pname} "$new_version" # Update frontend From d3a7cc2747db41108a67f2a6f9f449cc8efd5bfd Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 21 Jan 2026 13:03:01 +0200 Subject: [PATCH 0605/1216] tig: add doc & man outputs --- pkgs/by-name/ti/tig/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/ti/tig/package.nix b/pkgs/by-name/ti/tig/package.nix index bae80381289d..360e5435f02f 100644 --- a/pkgs/by-name/ti/tig/package.nix +++ b/pkgs/by-name/ti/tig/package.nix @@ -77,6 +77,12 @@ stdenv.mkDerivation rec { --prefix PATH ':' "${git}/bin" ''; + outputs = [ + "out" + "doc" + "man" + ]; + meta = { homepage = "https://jonas.github.io/tig/"; description = "Text-mode interface for git"; From 92f567a06284c1e9e33079dcb2e1f88fef27fcf2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 11:08:14 +0000 Subject: [PATCH 0606/1216] python3Packages.sabctools: 9.3.0 -> 9.3.1 --- pkgs/development/python-modules/sabctools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sabctools/default.nix b/pkgs/development/python-modules/sabctools/default.nix index 072e4f14ea03..2c2b74e3c47b 100644 --- a/pkgs/development/python-modules/sabctools/default.nix +++ b/pkgs/development/python-modules/sabctools/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "sabctools"; - version = "9.3.0"; + version = "9.3.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-CE11hjSkZFSmeUh3V3U4y/z77wS/hBUHRo40Y19YnX4="; + hash = "sha256-oZMYxukDhEbE0ybCbGcD40PNy4ktBei4bk0rccb3B4k="; }; build-system = [ setuptools ]; From 12ebd346e5e53a0c7e5fe74448a343fb4a219551 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 21 Jan 2026 12:14:30 +0100 Subject: [PATCH 0607/1216] haskell.compiler.ghc9123: Don't apply backported ppc64 ELFv1 patch --- .../compilers/ghc/common-hadrian.nix | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index e744c5081760..669e4841618a 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -262,13 +262,19 @@ "sha256-vtjT+TL/7sYPu4rcVV3xCqJQ+uqkyBbf9l0KIi97j/0="; }) ] - ++ lib.optionals (lib.versionOlder version "9.14.1") [ - (fetchpatch { - name = "ghc-rts-Fix-compile-on-powerpc64-elf-v1.patch"; - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/05e5785a3157c71e327a8e9bdc80fa7082918739.patch"; - hash = "sha256-xP5v3cKhXeTRSFvRiKEn9hPxGXgVgykjTILKjh/pdDU="; - }) - ] + ++ + lib.optionals + ( + (lib.versions.majorMinor version == "9.12" && lib.versionOlder version "9.12.3") + || (lib.versions.majorMinor version != "9.12" && lib.versionOlder version "9.14.1") + ) + [ + (fetchpatch { + name = "ghc-rts-Fix-compile-on-powerpc64-elf-v1.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/05e5785a3157c71e327a8e9bdc80fa7082918739.patch"; + hash = "sha256-xP5v3cKhXeTRSFvRiKEn9hPxGXgVgykjTILKjh/pdDU="; + }) + ] # Fix build with gcc15 # https://gitlab.haskell.org/ghc/ghc/-/issues/25662 # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13863 From ff5730299dfd3f7e2fc98c6d469845f8a3c0d4b4 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 21 Jan 2026 12:15:57 +0100 Subject: [PATCH 0608/1216] gdb: fix loongarch64-linux build --- pkgs/by-name/gd/gdb/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gd/gdb/package.nix b/pkgs/by-name/gd/gdb/package.nix index 777e90734052..a9d78b415103 100644 --- a/pkgs/by-name/gd/gdb/package.nix +++ b/pkgs/by-name/gd/gdb/package.nix @@ -184,7 +184,9 @@ stdenv.mkDerivation (finalAttrs: { ] ++ optional (!hostCpuOnly) "--enable-targets=all" ++ [ - (enableFeature (!stdenv.hostPlatform.isStatic) "inprocess-agent") + (enableFeature ( + !stdenv.hostPlatform.isStatic && !stdenv.hostPlatform.isLoongArch64 + ) "inprocess-agent") ] # Workaround for Apple Silicon, "--target" must be "faked", see eg: https://github.com/Homebrew/homebrew-core/pull/209753 ++ optional ( From 7b34d1130fc23e34917a84c653f9f1ffebffde16 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 11:20:29 +0000 Subject: [PATCH 0609/1216] javaPackages.compiler.openjdk17: 17.0.17+10 -> 17.0.18+8 --- pkgs/development/compilers/openjdk/17/source.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/openjdk/17/source.json b/pkgs/development/compilers/openjdk/17/source.json index 110fdf3a2223..9d218e0c53f6 100644 --- a/pkgs/development/compilers/openjdk/17/source.json +++ b/pkgs/development/compilers/openjdk/17/source.json @@ -1,6 +1,6 @@ { - "hash": "sha256-U2/ZQ9m3fi2rni2RAXyr5laDvNq0T5M2wZX+FdmCwFc=", + "hash": "sha256-cA9jYzz9Dp4lcQjI2UsYbojtqIo6dx025kFJOAgmV5s=", "owner": "openjdk", "repo": "jdk17u", - "rev": "refs/tags/jdk-17.0.17+10" + "rev": "refs/tags/jdk-17.0.18+8" } From 9a0a3ce191d549de2cfa368470babe4f87d4611a Mon Sep 17 00:00:00 2001 From: Hugh Mandalidis Date: Wed, 21 Jan 2026 22:21:53 +1100 Subject: [PATCH 0610/1216] audacity: remove pcre from build inputs --- pkgs/by-name/au/audacity/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/au/audacity/package.nix b/pkgs/by-name/au/audacity/package.nix index 27cc3b3628df..6d1b67a6dd2c 100644 --- a/pkgs/by-name/au/audacity/package.nix +++ b/pkgs/by-name/au/audacity/package.nix @@ -33,7 +33,6 @@ libuuid, ffmpeg, soundtouch, - pcre, portaudio, # given up fighting their portaudio.patch? portmidi, linuxHeaders, @@ -115,7 +114,6 @@ stdenv.mkDerivation (finalAttrs: { lv2 mpg123 opusfile - pcre portmidi rapidjson serd From adcd6652179c495a35584f510e7618c64d6c99a9 Mon Sep 17 00:00:00 2001 From: M0ustach3 <37956764+M0ustach3@users.noreply.github.com> Date: Wed, 21 Jan 2026 12:38:24 +0100 Subject: [PATCH 0611/1216] pdns-recursor: 5.2.7 -> 5.3.4 --- pkgs/by-name/pd/pdns-recursor/package.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/pd/pdns-recursor/package.nix b/pkgs/by-name/pd/pdns-recursor/package.nix index 7ea8528413d4..331bfdefd549 100644 --- a/pkgs/by-name/pd/pdns-recursor/package.nix +++ b/pkgs/by-name/pd/pdns-recursor/package.nix @@ -15,29 +15,31 @@ rustPlatform, cargo, rustc, + python3, enableProtoBuf ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "pdns-recursor"; - version = "5.2.7"; + version = "5.3.4"; src = fetchurl { - url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.bz2"; - hash = "sha256-s7/I2M5uL94I71fMYLKl+JcOPn0TnVn74oaIKnYmObE="; + url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.xz"; + hash = "sha256-+1CoWH9LPVf4jcrMImpkxRVJkrDa/SD1uwNDVeNiRSQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src; - sourceRoot = "pdns-recursor-${finalAttrs.version}/settings/rust"; - hash = "sha256-A3NX1zj9+9qCLTkfca3v8Rr8oc/zL/Ruknjl3g1aMG4="; + sourceRoot = "pdns-recursor-${finalAttrs.version}/rec-rust-lib/rust"; + hash = "sha256-g0Mu1+ZRQyzC4nG5ueISaDzFtmFfy+CGt063/V5lo30="; }; - cargoRoot = "settings/rust"; + cargoRoot = "rec-rust-lib/rust"; nativeBuildInputs = [ cargo rustc + python3 rustPlatform.cargoSetupHook pkg-config ]; From d4d6af7c78524e641c03604d061a8d50bd80e725 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 21 Jan 2026 13:36:21 +0200 Subject: [PATCH 0612/1216] libewf: add lib, dev & man outputs --- pkgs/by-name/li/libewf/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/li/libewf/package.nix b/pkgs/by-name/li/libewf/package.nix index ad4398490d51..b950831600d2 100644 --- a/pkgs/by-name/li/libewf/package.nix +++ b/pkgs/by-name/li/libewf/package.nix @@ -31,6 +31,13 @@ stdenv.mkDerivation rec { "ac_cv_openssl_xts_duplicate_keys=yes" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + ]; + meta = { description = "Library for support of the Expert Witness Compression Format"; homepage = "https://sourceforge.net/projects/libewf/"; From 8e5edc1f750532ce15f1fb0e4db0194b7fb00d82 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 21 Jan 2026 13:50:12 +0200 Subject: [PATCH 0613/1216] libivykiss: add man & dev outputs --- pkgs/by-name/li/libivykis/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/li/libivykis/package.nix b/pkgs/by-name/li/libivykis/package.nix index ecb9a03dca77..e6232dd1daed 100644 --- a/pkgs/by-name/li/libivykis/package.nix +++ b/pkgs/by-name/li/libivykis/package.nix @@ -27,6 +27,12 @@ stdenv.mkDerivation rec { protobufc ]; + outputs = [ + "out" + "dev" + "man" + ]; + meta = { homepage = "https://libivykis.sourceforge.net/"; description = '' From 841991c642f2c47f57bae234cec22d7ddbfb084c Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 06:17:43 +0100 Subject: [PATCH 0614/1216] libcryptui: move to pkgs/by-name this shouldn't create any rebuilds --- .../libraries => by-name/li}/libcryptui/debian-patches.nix | 0 .../libraries => by-name/li}/libcryptui/debian-patches.txt | 0 .../default.nix => by-name/li/libcryptui/package.nix} | 6 ++++-- pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 4 insertions(+), 6 deletions(-) rename pkgs/{development/libraries => by-name/li}/libcryptui/debian-patches.nix (100%) rename pkgs/{development/libraries => by-name/li}/libcryptui/debian-patches.txt (100%) rename pkgs/{development/libraries/libcryptui/default.nix => by-name/li/libcryptui/package.nix} (93%) diff --git a/pkgs/development/libraries/libcryptui/debian-patches.nix b/pkgs/by-name/li/libcryptui/debian-patches.nix similarity index 100% rename from pkgs/development/libraries/libcryptui/debian-patches.nix rename to pkgs/by-name/li/libcryptui/debian-patches.nix diff --git a/pkgs/development/libraries/libcryptui/debian-patches.txt b/pkgs/by-name/li/libcryptui/debian-patches.txt similarity index 100% rename from pkgs/development/libraries/libcryptui/debian-patches.txt rename to pkgs/by-name/li/libcryptui/debian-patches.txt diff --git a/pkgs/development/libraries/libcryptui/default.nix b/pkgs/by-name/li/libcryptui/package.nix similarity index 93% rename from pkgs/development/libraries/libcryptui/default.nix rename to pkgs/by-name/li/libcryptui/package.nix index 5a476aeba795..5ce3f093ead0 100644 --- a/pkgs/development/libraries/libcryptui/default.nix +++ b/pkgs/by-name/li/libcryptui/package.nix @@ -10,6 +10,8 @@ glib, gnome, gtk3, + gtk3-x11, + gtk3' ? if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3, gtk-doc, gnupg, gpgme, @@ -37,14 +39,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config dbus-glib # dbus-binding-tool - gtk3 # AM_GLIB_GNU_GETTEXT + gtk3' # AM_GLIB_GNU_GETTEXT gtk-doc intltool autoreconfHook ]; buildInputs = [ glib - gtk3 + gtk3' gnupg gpgme dbus-glib diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ace44b4e8901..d4d5362cfbba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2954,10 +2954,6 @@ with pkgs; ksmoothdock = libsForQt5.callPackage ../applications/misc/ksmoothdock { }; - libcryptui = callPackage ../development/libraries/libcryptui { - gtk3 = if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3; - }; - limine-full = limine.override { enableAll = true; }; liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix { From afc6abd352172396402c53468ab302e439cc917c Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 06:24:42 +0100 Subject: [PATCH 0615/1216] libcxxrt: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/li/libcxxrt/package.nix} | 11 +++++++++-- pkgs/top-level/all-packages.nix | 8 -------- 2 files changed, 9 insertions(+), 10 deletions(-) rename pkgs/{development/libraries/libcxxrt/default.nix => by-name/li/libcxxrt/package.nix} (78%) diff --git a/pkgs/development/libraries/libcxxrt/default.nix b/pkgs/by-name/li/libcxxrt/package.nix similarity index 78% rename from pkgs/development/libraries/libcxxrt/default.nix rename to pkgs/by-name/li/libcxxrt/package.nix index 228106ac5caf..aee1dcb01ff5 100644 --- a/pkgs/development/libraries/libcxxrt/default.nix +++ b/pkgs/by-name/li/libcxxrt/package.nix @@ -1,12 +1,19 @@ { lib, stdenv, + overrideCC, + buildPackages, + stdenv' ? + if stdenv.hostPlatform.useLLVM or false then + overrideCC stdenv buildPackages.llvmPackages.tools.clangNoLibcxx + else + stdenv, fetchFromGitHub, cmake, unstableGitUpdater, }: -stdenv.mkDerivation { +stdenv'.mkDerivation { pname = "libcxxrt"; version = "4.0.10-unstable-2025-02-25"; @@ -32,7 +39,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $dev/include $out/lib cp ../src/cxxabi.h $dev/include - cp lib/libcxxrt${stdenv.hostPlatform.extensions.library} $out/lib + cp lib/libcxxrt${stdenv'.hostPlatform.extensions.library} $out/lib ''; passthru = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4d5362cfbba..8b846dff7d42 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7135,14 +7135,6 @@ with pkgs; libchipcard = callPackage ../development/libraries/aqbanking/libchipcard.nix { }; - libcxxrt = callPackage ../development/libraries/libcxxrt { - stdenv = - if stdenv.hostPlatform.useLLVM or false then - overrideCC stdenv buildPackages.llvmPackages.tools.clangNoLibcxx - else - stdenv; - }; - libdbiDriversBase = libdbiDrivers.override { libmysqlclient = null; sqlite = null; From fac100d6fce32a10bc20092259598793c16a518b Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 06:43:10 +0100 Subject: [PATCH 0616/1216] libdvdnav{,_4_2_1}: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/li/libdvdnav/package.nix} | 0 .../4.2.1.nix => by-name/li/libdvdnav_4_2_1/package.nix} | 6 ++++-- pkgs/top-level/all-packages.nix | 5 ----- 3 files changed, 4 insertions(+), 7 deletions(-) rename pkgs/{development/libraries/libdvdnav/default.nix => by-name/li/libdvdnav/package.nix} (100%) rename pkgs/{development/libraries/libdvdnav/4.2.1.nix => by-name/li/libdvdnav_4_2_1/package.nix} (96%) diff --git a/pkgs/development/libraries/libdvdnav/default.nix b/pkgs/by-name/li/libdvdnav/package.nix similarity index 100% rename from pkgs/development/libraries/libdvdnav/default.nix rename to pkgs/by-name/li/libdvdnav/package.nix diff --git a/pkgs/development/libraries/libdvdnav/4.2.1.nix b/pkgs/by-name/li/libdvdnav_4_2_1/package.nix similarity index 96% rename from pkgs/development/libraries/libdvdnav/4.2.1.nix rename to pkgs/by-name/li/libdvdnav_4_2_1/package.nix index 6b72938f7811..2af5f90057a8 100644 --- a/pkgs/development/libraries/libdvdnav/4.2.1.nix +++ b/pkgs/by-name/li/libdvdnav_4_2_1/package.nix @@ -3,9 +3,11 @@ stdenv, fetchurl, pkg-config, - libdvdread, + libdvdread_4_9_9, }: - +let + libdvdread = libdvdread_4_9_9; +in stdenv.mkDerivation rec { pname = "libdvdnav"; version = "4.2.1"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b846dff7d42..7baf6687d940 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7143,11 +7143,6 @@ with pkgs; libdbusmenu-gtk2 = libdbusmenu.override { gtkVersion = "2"; }; libdbusmenu-gtk3 = libdbusmenu.override { gtkVersion = "3"; }; - libdvdnav = callPackage ../development/libraries/libdvdnav { }; - libdvdnav_4_2_1 = callPackage ../development/libraries/libdvdnav/4.2.1.nix { - libdvdread = libdvdread_4_9_9; - }; - libdvdread = callPackage ../development/libraries/libdvdread { }; libdvdread_4_9_9 = callPackage ../development/libraries/libdvdread/4.9.9.nix { }; From 4ed18699f7c4dee7de08de2ad3f2b3275f0431dc Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 07:01:52 +0100 Subject: [PATCH 0617/1216] libdvdread{,_4_9_9}: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/li/libdvdread/package.nix} | 0 .../4.9.9.nix => by-name/li/libdvdread_4_9_9/package.nix} | 0 pkgs/top-level/all-packages.nix | 3 --- 3 files changed, 3 deletions(-) rename pkgs/{development/libraries/libdvdread/default.nix => by-name/li/libdvdread/package.nix} (100%) rename pkgs/{development/libraries/libdvdread/4.9.9.nix => by-name/li/libdvdread_4_9_9/package.nix} (100%) diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/by-name/li/libdvdread/package.nix similarity index 100% rename from pkgs/development/libraries/libdvdread/default.nix rename to pkgs/by-name/li/libdvdread/package.nix diff --git a/pkgs/development/libraries/libdvdread/4.9.9.nix b/pkgs/by-name/li/libdvdread_4_9_9/package.nix similarity index 100% rename from pkgs/development/libraries/libdvdread/4.9.9.nix rename to pkgs/by-name/li/libdvdread_4_9_9/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7baf6687d940..9024a74fc447 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7143,9 +7143,6 @@ with pkgs; libdbusmenu-gtk2 = libdbusmenu.override { gtkVersion = "2"; }; libdbusmenu-gtk3 = libdbusmenu.override { gtkVersion = "3"; }; - libdvdread = callPackage ../development/libraries/libdvdread { }; - libdvdread_4_9_9 = callPackage ../development/libraries/libdvdread/4.9.9.nix { }; - dwarfdump = libdwarf.bin; libfm-extra = libfm.override { From 54f8775171c36d817a3a885089642566dd61f77e Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 14:31:00 +0100 Subject: [PATCH 0618/1216] libextractor: move to pkgs/by-name this shouldn't create any rebuilds i removed the libmpeg = mpeg2dec, because mpeg2dec is just an alias for libmpeg see https://github.com/NixOS/nixpkgs/blob/5d361f1d1d9861315db845a33fa2ac6c77f075ef/pkgs/top-level/all-packages.nix#L7620 --- .../li}/libextractor/gst-hardcode-plugins.patch | 0 .../default.nix => by-name/li/libextractor/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 4 deletions(-) rename pkgs/{development/libraries => by-name/li}/libextractor/gst-hardcode-plugins.patch (100%) rename pkgs/{development/libraries/libextractor/default.nix => by-name/li/libextractor/package.nix} (100%) diff --git a/pkgs/development/libraries/libextractor/gst-hardcode-plugins.patch b/pkgs/by-name/li/libextractor/gst-hardcode-plugins.patch similarity index 100% rename from pkgs/development/libraries/libextractor/gst-hardcode-plugins.patch rename to pkgs/by-name/li/libextractor/gst-hardcode-plugins.patch diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/by-name/li/libextractor/package.nix similarity index 100% rename from pkgs/development/libraries/libextractor/default.nix rename to pkgs/by-name/li/libextractor/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9024a74fc447..9258b2d5afa9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7149,10 +7149,6 @@ with pkgs; extraOnly = true; }; - libextractor = callPackage ../development/libraries/libextractor { - libmpeg2 = mpeg2dec; - }; - libfive = libsForQt5.callPackage ../development/libraries/libfive { }; # Use Apple’s fork of libffi by default, which provides APIs and trampoline functionality that is not yet From 8d80ea9ad17256872c67dd86455891af6704341f Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 14:52:34 +0100 Subject: [PATCH 0619/1216] libffi{Real,_3_3}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libffi => by-name/li/libffiReal}/freebsd-tsan-pthread.patch | 0 .../libffi/default.nix => by-name/li/libffiReal/package.nix} | 0 .../libffi/3.3.nix => by-name/li/libffi_3_3/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 4 files changed, 2 deletions(-) rename pkgs/{development/libraries/libffi => by-name/li/libffiReal}/freebsd-tsan-pthread.patch (100%) rename pkgs/{development/libraries/libffi/default.nix => by-name/li/libffiReal/package.nix} (100%) rename pkgs/{development/libraries/libffi/3.3.nix => by-name/li/libffi_3_3/package.nix} (100%) diff --git a/pkgs/development/libraries/libffi/freebsd-tsan-pthread.patch b/pkgs/by-name/li/libffiReal/freebsd-tsan-pthread.patch similarity index 100% rename from pkgs/development/libraries/libffi/freebsd-tsan-pthread.patch rename to pkgs/by-name/li/libffiReal/freebsd-tsan-pthread.patch diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/by-name/li/libffiReal/package.nix similarity index 100% rename from pkgs/development/libraries/libffi/default.nix rename to pkgs/by-name/li/libffiReal/package.nix diff --git a/pkgs/development/libraries/libffi/3.3.nix b/pkgs/by-name/li/libffi_3_3/package.nix similarity index 100% rename from pkgs/development/libraries/libffi/3.3.nix rename to pkgs/by-name/li/libffi_3_3/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9258b2d5afa9..8183fc0f6bef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7155,9 +7155,7 @@ with pkgs; # merged upstream. This is needed by some packages (such as cffi). # # `libffiReal` is provided in case the upstream libffi package is needed on Darwin instead of the fork. - libffiReal = callPackage ../development/libraries/libffi { }; libffi = if stdenv.hostPlatform.isDarwin then darwin.libffi else libffiReal; - libffi_3_3 = callPackage ../development/libraries/libffi/3.3.nix { }; # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=blob;f=README;h=fd6e1a83f55696c1f7a08f6dfca08b2d6b7617ec;hb=70058cd9f944d620764e57c838209afae8a58c78#l118 libgpg-error-gen-posix-lock-obj = libgpg-error.override { From 5762bc6568c9421af6097877fe2aa80d7aa0938f Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 17 Jan 2026 14:57:57 +0100 Subject: [PATCH 0620/1216] libhandy{,_0}: move to pkgs/by-name this shouldn't create any rebuilds --- .../libhandy/default.nix => by-name/li/libhandy/package.nix} | 0 .../libhandy/0.x.nix => by-name/li/libhandy_0/package.nix} | 1 + pkgs/top-level/all-packages.nix | 5 ----- 3 files changed, 1 insertion(+), 5 deletions(-) rename pkgs/{development/libraries/libhandy/default.nix => by-name/li/libhandy/package.nix} (100%) rename pkgs/{development/libraries/libhandy/0.x.nix => by-name/li/libhandy_0/package.nix} (94%) diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/by-name/li/libhandy/package.nix similarity index 100% rename from pkgs/development/libraries/libhandy/default.nix rename to pkgs/by-name/li/libhandy/package.nix diff --git a/pkgs/development/libraries/libhandy/0.x.nix b/pkgs/by-name/li/libhandy_0/package.nix similarity index 94% rename from pkgs/development/libraries/libhandy/0.x.nix rename to pkgs/by-name/li/libhandy_0/package.nix index f6976ba19e0b..d1ef1ede527f 100644 --- a/pkgs/development/libraries/libhandy/0.x.nix +++ b/pkgs/by-name/li/libhandy_0/package.nix @@ -1,3 +1,4 @@ +# Needed for apps that still depend on the unstable version of the library (not libhandy-1) { lib, stdenv, diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8183fc0f6bef..b8e8ca599ae0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3082,11 +3082,6 @@ with pkgs; ; lerna = lerna_8; - libhandy = callPackage ../development/libraries/libhandy { }; - - # Needed for apps that still depend on the unstable version of the library (not libhandy-1) - libhandy_0 = callPackage ../development/libraries/libhandy/0.x.nix { }; - libint = callPackage ../development/libraries/libint { }; libintPsi4 = callPackage ../development/libraries/libint { enableFortran = false; From a947eef37da3d132f929302f41d41a7ef4974df1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 12:33:54 +0000 Subject: [PATCH 0621/1216] libretro.dosbox-pure: 0-unstable-2025-12-01 -> 0-unstable-2026-01-20 --- pkgs/applications/emulators/libretro/cores/dosbox-pure.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix index a482ad680bba..74248a1b7d40 100644 --- a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix +++ b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "dosbox-pure"; - version = "0-unstable-2025-12-01"; + version = "0-unstable-2026-01-20"; src = fetchFromGitHub { owner = "schellingb"; repo = "dosbox-pure"; - rev = "492d8a3996429dbaa4a13b2e90c522e7b34fc2bb"; - hash = "sha256-yNufp+HUzuLOiRhQfdP1ssKDTALwh28B8cRZ2rTJpis="; + rev = "c69ecd250eb76cdceae1dbb962116f706e4fa661"; + hash = "sha256-cCUHTaHDNn7k5mK589RoNXiPgFvEBCxCSyp+8azUtpg="; }; hardeningDisable = [ "format" ]; From 37c9e0a13d0a889db8a2810891d8b7d8861cb19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=B7=F0=90=91=91=F0=90=91=B4=F0=90=91=95=F0=90=91=91?= =?UTF-8?q?=F0=90=91=A9=F0=90=91=A4?= Date: Wed, 21 Jan 2026 19:40:32 +0700 Subject: [PATCH 0622/1216] =?UTF-8?q?ejabberd:=2025.10=20=E2=86=92=2026.01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/ej/ejabberd/package.nix | 4 ++-- pkgs/by-name/ej/ejabberd/rebar-deps.nix | 30 ++++++++++++------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/ej/ejabberd/package.nix b/pkgs/by-name/ej/ejabberd/package.nix index 7114fe139570..92c2732e6864 100644 --- a/pkgs/by-name/ej/ejabberd/package.nix +++ b/pkgs/by-name/ej/ejabberd/package.nix @@ -140,7 +140,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "ejabberd"; - version = "25.10"; + version = "26.01"; nativeBuildInputs = [ makeWrapper @@ -170,7 +170,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "processone"; repo = "ejabberd"; tag = finalAttrs.version; - hash = "sha256-dTu3feSOakSHdk+hMDvYQwog64O3e/z5NOsGM3Rq7WY="; + hash = "sha256-xhqH1hELosYC7dtHnyrlkCRlbgbM2SU7SLkowGVG9SI="; }; passthru.tests = { diff --git a/pkgs/by-name/ej/ejabberd/rebar-deps.nix b/pkgs/by-name/ej/ejabberd/rebar-deps.nix index cc082f0cc89d..3d16f909dff9 100644 --- a/pkgs/by-name/ej/ejabberd/rebar-deps.nix +++ b/pkgs/by-name/ej/ejabberd/rebar-deps.nix @@ -54,11 +54,11 @@ let }; xmpp = builder { name = "xmpp"; - version = "1.11.2"; + version = "1.12.0"; src = fetchHex { pkg = "xmpp"; - version = "1.11.2"; - sha256 = "sha256-u2gWROFePvwACKs6cXlE1nz2EaS340Q4KqY2dEe9UtI="; + version = "1.12.0"; + sha256 = "sha256-AUuuc2WfuiVncesAe8U0hhiscn3R0QuasVqf74cWIsg="; }; beamDeps = [ ezlib @@ -124,11 +124,11 @@ let }; p1_pgsql = builder { name = "p1_pgsql"; - version = "1.1.36"; + version = "1.1.38"; src = fetchHex { pkg = "p1_pgsql"; - version = "1.1.36"; - sha256 = "sha256-gryouJXIT0YA641gmjLLX91yp/W9k437KReeCMZD/Qk="; + version = "1.1.38"; + sha256 = ""; }; beamDeps = [ xmpp ]; }; @@ -144,21 +144,21 @@ let }; p1_mysql = builder { name = "p1_mysql"; - version = "1.0.26"; + version = "1.0.27"; src = fetchHex { pkg = "p1_mysql"; - version = "1.0.26"; - sha256 = "sha256-6hOAg/LFRxm5z1Sdv1gCooiwAZ6j5USbNUx0zAP6/ew="; + version = "1.0.27"; + sha256 = ""; }; beamDeps = [ ]; }; p1_acme = builder { name = "p1_acme"; - version = "1.0.29"; + version = "1.0.30"; src = fetchHex { pkg = "p1_acme"; - version = "1.0.29"; - sha256 = "sha256-CP049/vi3CiiN6obOLMGtzRVaVzIiBo93WoRt8Ufe8c="; + version = "1.0.30"; + sha256 = "sha256-KTXiCRa4BtOxFmlTpNkKaQ/YB4EJYUD+XKH2XVnr1oo="; }; beamDeps = [ base64url @@ -190,11 +190,11 @@ let }; jose = builder { name = "jose"; - version = "1.11.10"; + version = "1.11.12"; src = fetchHex { pkg = "jose"; - version = "1.11.10"; - sha256 = "sha256-DWzTb/i6F02ykUj8EStYQhhraKkM6fwrPsOv52WT5hQ="; + version = "1.11.12"; + sha256 = "sha256-MekrZT6SELaWdlzdiFQ3RX3hrdKpAR2S+M9j5GQbq3s="; }; beamDeps = [ ]; }; From b463561b2aa1bdadadd941db46d2c4f667cd6fa3 Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Wed, 21 Jan 2026 11:14:20 +0100 Subject: [PATCH 0623/1216] nixos/tailscale-serve: init Tailscale serve module --- .../manual/release-notes/rl-2605.section.md | 2 + nixos/modules/module-list.nix | 1 + .../services/networking/tailscale-serve.nix | 145 ++++++++++++++++++ 3 files changed, 148 insertions(+) create mode 100644 nixos/modules/services/networking/tailscale-serve.nix diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index d29cb9aa49dc..3f200e3eba94 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -20,6 +20,8 @@ - [reaction](https://reaction.ppom.me/), a daemon that scans program outputs for repeated patterns, and takes action. A common usage is to scan ssh and webserver logs, and to ban hosts that cause multiple authentication errors. A modern alternative to fail2ban. Available as [services.reaction](#opt-services.reaction.enable). +- [Tailscale Serve](https://tailscale.com/kb/1552/tailscale-services), configure Tailscale Serve for exposing local services to your tailnet. Available as [services.tailscale.serve](#opt-services.tailscale.serve.enable). + - [qui](https://github.com/autobrr/qui), a modern alternative webUI for qBittorrent, with multi-instance support. Written in Go/React. Available as [services.qui](#opt-services.qui.enable). - [LibreChat](https://www.librechat.ai/), open-source self-hostable ChatGPT clone with Agents and RAG APIs. Available as [services.librechat](#opt-services.librechat.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index bec540d6f504..1bf89a1c1f67 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1391,6 +1391,7 @@ ./services/networking/syncthing.nix ./services/networking/tailscale-auth.nix ./services/networking/tailscale-derper.nix + ./services/networking/tailscale-serve.nix ./services/networking/tailscale.nix ./services/networking/tayga.nix ./services/networking/tcpcrypt.nix diff --git a/nixos/modules/services/networking/tailscale-serve.nix b/nixos/modules/services/networking/tailscale-serve.nix new file mode 100644 index 000000000000..87ee4026c1c4 --- /dev/null +++ b/nixos/modules/services/networking/tailscale-serve.nix @@ -0,0 +1,145 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.tailscale.serve; + settingsFormat = pkgs.formats.json { }; + + # Build the serve config structure with svc: prefix on service names + serveConfig = { + version = "0.0.1"; + services = lib.mapAttrs' ( + name: serviceCfg: + lib.nameValuePair "svc:${name}" ( + { + endpoints = serviceCfg.endpoints; + } + // lib.optionalAttrs (serviceCfg.advertised != null) { + inherit (serviceCfg) advertised; + } + ) + ) cfg.services; + }; + + configFile = + if cfg.configFile != null then + cfg.configFile + else + settingsFormat.generate "tailscale-serve-config.json" serveConfig; +in +{ + meta.maintainers = with lib.maintainers; [ + bouk + ]; + + options.services.tailscale.serve = { + enable = lib.mkEnableOption "Tailscale Serve configuration"; + + configFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + Path to a Tailscale Serve configuration file in JSON format. + If set, this takes precedence over {option}`services.tailscale.serve.services`. + + See for the configuration format. + ''; + example = "/run/secrets/tailscale-serve.json"; + }; + + services = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + endpoints = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + description = '' + Map of incoming traffic patterns to local targets. + + Keys should be in the format `:` or `:`. + Currently only `tcp` protocol is supported. + + Values should be in the format `://` where protocol + is `http`, `https`, or `tcp`. + ''; + example = { + "tcp:443" = "https://localhost:443"; + "tcp:8080" = "http://localhost:8080"; + }; + }; + + advertised = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + default = null; + description = '' + Whether the service should accept new connections. + Defaults to `true` when not specified. + ''; + }; + }; + } + ); + default = { }; + description = '' + Services to configure for Tailscale Serve. + + Each attribute name should be the service name (without the `svc:` prefix). + The `svc:` prefix will be added automatically. + + See for details. + ''; + example = lib.literalExpression '' + { + web-server = { + endpoints = { + "tcp:443" = "https://localhost:443"; + }; + }; + api = { + endpoints = { + "tcp:8080" = "http://localhost:8080"; + }; + advertised = true; + }; + } + ''; + }; + }; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = config.services.tailscale.enable; + message = "services.tailscale.serve requires services.tailscale.enable to be true"; + } + { + assertion = cfg.configFile != null || cfg.services != { }; + message = "services.tailscale.serve requires either configFile or services to be set"; + } + ]; + + systemd.services.tailscale-serve = { + description = "Tailscale Serve Configuration"; + + after = [ + "tailscaled.service" + "tailscaled-autoconnect.service" + "tailscaled-set.service" + ]; + wants = [ "tailscaled.service" ]; + wantedBy = [ "multi-user.target" ]; + + restartTriggers = [ configFile ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${lib.getExe config.services.tailscale.package} serve set-config --all ${configFile}"; + }; + }; + }; +} From 6efd19704d833400212300191ba70b9f205ce01b Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Sat, 9 Aug 2025 12:57:30 +0200 Subject: [PATCH 0624/1216] python3Packages.svcs: init at 25.1.0 --- .../python-modules/svcs/default.nix | 73 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 75 insertions(+) create mode 100644 pkgs/development/python-modules/svcs/default.nix diff --git a/pkgs/development/python-modules/svcs/default.nix b/pkgs/development/python-modules/svcs/default.nix new file mode 100644 index 000000000000..08a1452b9bfb --- /dev/null +++ b/pkgs/development/python-modules/svcs/default.nix @@ -0,0 +1,73 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + + attrs, + hatch-fancy-pypi-readme, + hatch-vcs, + hatchling, + # test dependencies + aiohttp, + fastapi, + flask, + httpx, + pyramid, + pytest-asyncio, + pytestCheckHook, + starlette, + sybil, +}: + +buildPythonPackage rec { + pname = "svcs"; + version = "25.1.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "hynek"; + repo = "svcs"; + tag = version; + hash = "sha256-dDPmOKGifAGmAH3TD0NzJvR8lUB5qDWbxIwzHtNeF+4="; + }; + + build-system = [ + hatch-fancy-pypi-readme + hatch-vcs + hatchling + ]; + + dependencies = [ + attrs + ]; + + nativeCheckInputs = [ + aiohttp + fastapi + flask + httpx + pyramid + pytest-asyncio + pytestCheckHook + starlette + sybil + ]; + + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + "test_aclose_registry_ok" + "test_registrations" + "test_get_pings" + "test_client_pool_register_value" + ]; + + pythonImportsCheck = [ "svcs" ]; + + meta = { + description = "Flexible Service Locator for Python"; + homepage = "https://github.com/hynek/svcs"; + changelog = "https://github.com/hynek/svcs/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ taranarmo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3240f13cb592..68bfaf6ca7af 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18406,6 +18406,8 @@ self: super: with self; { sv-ttk = callPackage ../development/python-modules/sv-ttk { }; + svcs = callPackage ../development/python-modules/svcs { }; + svg-path = callPackage ../development/python-modules/svg-path { }; svg-py = callPackage ../development/python-modules/svg-py { }; From 5d883c1ecff2a55a74f3bc939c0ba4e51fa18bc6 Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Sat, 9 Aug 2025 12:56:33 +0200 Subject: [PATCH 0625/1216] python3Packages.issubclass: init at 0.1.2 --- .../python-modules/issubclass/default.nix | 30 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/python-modules/issubclass/default.nix diff --git a/pkgs/development/python-modules/issubclass/default.nix b/pkgs/development/python-modules/issubclass/default.nix new file mode 100644 index 000000000000..041ec408e62e --- /dev/null +++ b/pkgs/development/python-modules/issubclass/default.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, +}: + +buildPythonPackage rec { + pname = "issubclass"; + version = "0.1.2"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "zmievsa"; + repo = "issubclass"; + tag = version; + hash = "sha256-a4EUbQY5duicnxuwtpBQ/7UBmtmeU+ZaySEnT4lmgLs="; + }; + + build-system = [ poetry-core ]; + + pythonImportsCheck = [ "issubclass" ]; + + meta = { + description = "issubclass() builtin that doesn't raise TypeError when arguments are not classes"; + homepage = "https://pypi.org/project/issubclass"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ taranarmo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 68bfaf6ca7af..da4f85fe560a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7578,6 +7578,8 @@ self: super: with self; { israel-rail-api = callPackage ../development/python-modules/israel-rail-api { }; + issubclass = callPackage ../development/python-modules/issubclass { }; + itables = callPackage ../development/python-modules/itables { }; itanium-demangler = callPackage ../development/python-modules/itanium-demangler { }; From 19406b750c4fe71617174c73b284b83fe30486b3 Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Thu, 27 Mar 2025 10:06:28 +0100 Subject: [PATCH 0626/1216] python3Packages.pytest-fixture-classes: init at 1.0.3 --- .../pytest-fixture-classes/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/pytest-fixture-classes/default.nix diff --git a/pkgs/development/python-modules/pytest-fixture-classes/default.nix b/pkgs/development/python-modules/pytest-fixture-classes/default.nix new file mode 100644 index 000000000000..6765247d940f --- /dev/null +++ b/pkgs/development/python-modules/pytest-fixture-classes/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + poetry-core, + pytest, + pytestCheckHook, + typing-extensions, +}: + +buildPythonPackage rec { + pname = "pytest-fixture-classes"; + version = "1.0.3"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "zmievsa"; + repo = "pytest-fixture-classes"; + tag = version; + hash = "sha256-A3HsDhCGxoJnkl841tZ/7lIn8UyGy5NRjVWODZV7aOQ="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + typing-extensions + ]; + + pythonImportsCheck = [ "pytest_fixture_classes" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + meta = { + description = "Fixtures as classes that work well with dependency injection, autocompletetion, type checkers, and language servers"; + homepage = "https://github.com/zmievsa/pytest-fixture-classes"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ taranarmo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index da4f85fe560a..596879868cb3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14965,6 +14965,8 @@ self: super: with self; { pytest-filter-subpackage = callPackage ../development/python-modules/pytest-filter-subpackage { }; + pytest-fixture-classes = callPackage ../development/python-modules/pytest-fixture-classes { }; + pytest-fixture-config = callPackage ../development/python-modules/pytest-fixture-config { }; pytest-flake8 = callPackage ../development/python-modules/pytest-flake8 { }; From ba61bcfe8c72c6f853c2f7c22e52bad17f66ec44 Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Wed, 26 Mar 2025 10:33:42 +0100 Subject: [PATCH 0627/1216] python3Packages.cadwyn: init at 5.6.1 Newer versions currently don't build with fastapi 0.121 Co-authored-by: Ethan Carter Edwards --- .../python-modules/cadwyn/default.nix | 73 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 75 insertions(+) create mode 100644 pkgs/development/python-modules/cadwyn/default.nix diff --git a/pkgs/development/python-modules/cadwyn/default.nix b/pkgs/development/python-modules/cadwyn/default.nix new file mode 100644 index 000000000000..0049172411ce --- /dev/null +++ b/pkgs/development/python-modules/cadwyn/default.nix @@ -0,0 +1,73 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + pytestCheckHook, + # runtime dependencies + fastapi, + issubclass, + jinja2, + pydantic, + starlette, + typing-extensions, + typing-inspection, + # test dependencies + dirty-equals, + httpx, + inline-snapshot, + pydantic-settings, + pytest-fixture-classes, + python-multipart, + svcs, + typer, + uvicorn, +}: + +buildPythonPackage rec { + pname = "cadwyn"; + version = "5.6.1"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "zmievsa"; + repo = "cadwyn"; + tag = version; + hash = "sha256-VVi79c/Y1mu520H/7gy9lGdBIVuKsYedU49P501NQao="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + fastapi + issubclass + jinja2 + pydantic + starlette + typing-extensions + typing-inspection + ]; + + pythonImportsCheck = [ "cadwyn" ]; + + nativeCheckInputs = [ + dirty-equals + httpx + inline-snapshot + pydantic-settings + pytest-fixture-classes + pytestCheckHook + python-multipart + svcs + typer + uvicorn + ]; + + meta = { + description = "Production-ready community-driven modern Stripe-like API versioning in FastAPI"; + homepage = "https://github.com/zmievsa/cadwyn"; + changelog = "https://github.com/zmievsa/cadwyn/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ taranarmo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 596879868cb3..5846bd415e0e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2383,6 +2383,8 @@ self: super: with self; { cachy = callPackage ../development/python-modules/cachy { }; + cadwyn = callPackage ../development/python-modules/cadwyn { }; + caffe = toPythonModule ( pkgs.caffe.override { pythonSupport = true; From f96cdc8f978adfe69819e295d2de7fab15747d2a Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Mon, 31 Mar 2025 15:47:32 +0200 Subject: [PATCH 0628/1216] python3Packages.retryhttp: init at 1.3.1 --- .../python-modules/retryhttp/default.nix | 50 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/retryhttp/default.nix diff --git a/pkgs/development/python-modules/retryhttp/default.nix b/pkgs/development/python-modules/retryhttp/default.nix new file mode 100644 index 000000000000..8cc37882c709 --- /dev/null +++ b/pkgs/development/python-modules/retryhttp/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + # build system + setuptools, + setuptools-scm, + # runtime + httpx, + pydantic, + requests, + tenacity, + types-requests, +}: + +buildPythonPackage rec { + pname = "retryhttp"; + version = "1.3.1"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "austind"; + repo = "retryhttp"; + tag = "release/v${version}"; + hash = "sha256-Jz073CTeIfPjcOQUGdb6/Q5OfEXZW5hTiEPKrfAK0Gg="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + httpx + pydantic + requests + tenacity + types-requests + ]; + + pythonImportsCheck = [ "retryhttp" ]; + + meta = { + description = "Retry potentially transient HTTP errors in Python"; + homepage = "https://github.com/austind/retryhttp"; + changelog = "https://github.com/austind/retryhttp/releases/tag/release%2Fv${version}"; + license = lib.licenses.apsl20; + maintainers = with lib.maintainers; [ taranarmo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5846bd415e0e..60009f33a1cf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16482,6 +16482,8 @@ self: super: with self; { retry2 = callPackage ../development/python-modules/retry2 { }; + retryhttp = callPackage ../development/python-modules/retryhttp { }; + retrying = callPackage ../development/python-modules/retrying { }; returns = callPackage ../development/python-modules/returns { }; From af47bd53b67539a7dd51e9a5da4de5be003ae103 Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Wed, 8 Oct 2025 09:26:30 +0200 Subject: [PATCH 0629/1216] python3Packages.greenback: init at 1.2.1 --- .../python-modules/greenback/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/greenback/default.nix diff --git a/pkgs/development/python-modules/greenback/default.nix b/pkgs/development/python-modules/greenback/default.nix new file mode 100644 index 000000000000..fcf90d4ce115 --- /dev/null +++ b/pkgs/development/python-modules/greenback/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + asgiref, + greenlet, + importlib-metadata, + outcome, + setuptools, + sniffio, +}: + +buildPythonPackage rec { + pname = "greenback"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "oremanj"; + repo = "greenback"; + tag = "v${version}"; + hash = "sha256-u7kihdE5EH3Xbq4dQGY4ojiootjw3muYnoI7d2MrMkE="; + }; + + build-system = [ + importlib-metadata + setuptools + ]; + + dependencies = [ + asgiref + greenlet + outcome + sniffio + ]; + + pythonImportsCheck = [ "greenback" ]; + + meta = { + description = "Use anyio and asyncio from synchronous code"; + homepage = "https://github.com/oremanj/greenback"; + changelog = "https://github.com/oremanj/greenback/blob/${src.rev}/CHANGES.rst"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ taranarmo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 60009f33a1cf..cd7ea6ef5339 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6578,6 +6578,8 @@ self: super: with self; { green = callPackage ../development/python-modules/green { }; + greenback = callPackage ../development/python-modules/greenback { }; + greeneye-monitor = callPackage ../development/python-modules/greeneye-monitor { }; # built-in for pypi From 8626fc4fd8c6108ed3576febd43ad34567bc3674 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 7 Jan 2026 16:31:09 +0100 Subject: [PATCH 0630/1216] apache-airflow: refactor Use replace-fail, tag and sort some deps and use writableTmpDirAsHomeHook. --- pkgs/by-name/ap/apache-airflow/package.nix | 6 +++--- pkgs/by-name/ap/apache-airflow/python-package.nix | 13 ++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/package.nix b/pkgs/by-name/ap/apache-airflow/package.nix index ba341a97bdf5..2565d93106c5 100644 --- a/pkgs/by-name/ap/apache-airflow/package.nix +++ b/pkgs/by-name/ap/apache-airflow/package.nix @@ -55,7 +55,7 @@ let ]; postPatch = '' substituteInPlace connexion/__init__.py \ - --replace "2020.0.dev1" "${version}" + --replace-fail "2020.0.dev1" "${version}" ''; }; werkzeug = pySuper.werkzeug.overridePythonAttrs rec { @@ -155,7 +155,7 @@ let # with pytest-httpbin 1.x preCheck = '' substituteInPlace pyproject.toml \ - --replace '[tool.pytest.ini_options]' '[tool.notpytest.ini_options]' + --replace-fail '[tool.pytest.ini_options]' '[tool.notpytest.ini_options]' ''; }; pytest-httpbin = pySuper.pytest-httpbin.overridePythonAttrs rec { @@ -221,7 +221,7 @@ let src = fetchFromGitHub { owner = "gitpython-developers"; repo = "smmap"; - rev = "refs/tags/v${version}"; + tag = "v${version}"; hash = "sha256-0Y175kjv/8UJpSxtLpWH4/VT7JrcVPAq79Nf3rtHZZM="; }; }; diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index bce488ed44ec..2f5dab9fb159 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, writeScript, + writableTmpDirAsHomeHook, # javascript fetchYarnDeps, @@ -92,10 +93,10 @@ let }; nativeBuildInputs = [ - yarnConfigHook - yarnBuildHook nodejs webpack-cli + yarnBuildHook + yarnConfigHook ]; # The webpack license plugin tries to create /3rd-party-licenses when given the @@ -205,7 +206,9 @@ buildPythonPackage rec { src = airflow-src; pyproject = true; - nativeBuildInputs = [ hatchling ]; + nativeBuildInputs = [ writableTmpDirAsHomeHook ]; + + build-system = [ hatchling ]; dependencies = [ alembic @@ -283,8 +286,6 @@ buildPythonPackage rec { postInstall = '' cp -rv ${airflow-frontend}/static/dist $out/${python.sitePackages}/airflow/www/static - # Needed for pythonImportsCheck below - export HOME=$(mktemp -d) ''; pythonImportsCheck = [ @@ -293,9 +294,7 @@ buildPythonPackage rec { ++ providerImports; preCheck = '' - export AIRFLOW_HOME=$HOME export AIRFLOW__CORE__UNIT_TEST_MODE=True - export AIRFLOW_DB="$HOME/airflow.db" export PATH=$PATH:$out/bin ''; From cf4435aea53d7c52bb4327a337b4e7ea23c54dee Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 8 Jan 2026 12:30:01 +0100 Subject: [PATCH 0631/1216] apache-airflow: move build dependenies to build-system --- .../ap/apache-airflow/python-package.nix | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index 2f5dab9fb159..cfc670fa04aa 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -208,7 +208,17 @@ buildPythonPackage rec { nativeBuildInputs = [ writableTmpDirAsHomeHook ]; - build-system = [ hatchling ]; + build-system = [ + gitdb + gitpython + hatchling + packaging + pathspec + pluggy + smmap + tomli + trove-classifiers + ]; dependencies = [ alembic @@ -224,8 +234,6 @@ buildPythonPackage rec { flask-login flask-session fsspec - gitdb - gitpython gunicorn lazy-object-proxy linkify-it-py @@ -234,25 +242,19 @@ buildPythonPackage rec { methodtools opentelemetry-api opentelemetry-exporter-otlp - packaging pandas - pathspec pendulum - pluggy psutil python-daemon python-nvd3 python-slugify rich-argparse setproctitle - smmap sqlalchemy sqlalchemy-jsonfield tabulate tenacity termcolor - tomli - trove-classifiers universal-pathlib ] ++ providerPackages; From f4efd2c84eff1dd78da76a7c07cd2635b5645382 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 7 Jan 2026 16:31:34 +0100 Subject: [PATCH 0632/1216] apache-airflow: remove left-overs Once upon a time, these were important, but not anymore. --- pkgs/by-name/ap/apache-airflow/python-package.nix | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index cfc670fa04aa..58978b74e492 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -73,15 +73,9 @@ let owner = "apache"; repo = "airflow"; tag = version; - # Download using the git protocol rather than using tarballs, because the - # GitHub archive tarballs don't appear to include tests - forceFetchGit = true; - hash = "sha256-q5/CM+puXE31+15F3yZmcrR74LrqHppdCDUqjLQXPfk="; + hash = "sha256-APmZ/ylAcZuW5du2JJdMeAQ9g0VNAsXB+ZBPr0OEprg="; }; - # airflow bundles a web interface, which is built using webpack by an undocumented shell script in airflow's source tree. - # This replicates this shell script, fixing bugs in yarn.lock and package.json - airflow-frontend = stdenv.mkDerivation rec { name = "airflow-frontend"; @@ -105,10 +99,6 @@ let sed -i 's!../../../../3rd-party-licenses/LICENSES-ui.txt!/3rd-party-licenses/LICENSES-ui.txt!' webpack.config.js ''; - postBuild = '' - find package.json yarn.lock static/css static/js -type f | sort | xargs md5sum > static/dist/sum.md5 - ''; - installPhase = '' mkdir -p $out/static/ cp -r static/dist $out/static From e53f050baa46e79b9ec58ac4c2e4d22d835c564f Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 8 Jan 2026 12:04:28 +0100 Subject: [PATCH 0633/1216] apache-airflow: move update script to separate file --- .../ap/apache-airflow/python-package.nix | 23 +------------------ pkgs/by-name/ap/apache-airflow/update.sh | 18 +++++++++++++++ 2 files changed, 19 insertions(+), 22 deletions(-) create mode 100755 pkgs/by-name/ap/apache-airflow/update.sh diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index 58978b74e492..e3056ce7c4d0 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - writeScript, writableTmpDirAsHomeHook, # javascript @@ -298,27 +297,7 @@ buildPythonPackage rec { "bash_operator_kill" # psutil.AccessDenied ]; - # Updates yarn.lock and package.json - passthru.updateScript = writeScript "update.sh" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p common-updater-scripts curl "python3.withPackages (ps: with ps; [ pyyaml ])" yarn2nix - - set -euo pipefail - - # Get new version - new_version="$(curl -s https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html | - grep -oE 'Airflow [0-9.]+' | head -1 | grep -oE '[0-9.]+')" - update-source-version ${pname} "$new_version" - - # Update frontend - cd ./pkgs/servers/apache-airflow - curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/yarn.lock - curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/package.json - yarn2nix > yarn.nix - - # update provider dependencies - ./update-providers.py - ''; + passthru.updateScript = ./update.sh; # Note on testing the web UI: # You can (manually) test the web UI as follows: diff --git a/pkgs/by-name/ap/apache-airflow/update.sh b/pkgs/by-name/ap/apache-airflow/update.sh new file mode 100755 index 000000000000..319e9c70f3d6 --- /dev/null +++ b/pkgs/by-name/ap/apache-airflow/update.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p common-updater-scripts curl pcre "python3.withPackages (ps: with ps; [ pyyaml ])" yarn2nix + +set -euo pipefail + +# Get new version +new_version="$(curl -s https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html | + pcregrep -o1 'Airflow ([0-9.]+).' | head -1)" +update-source-version apache-airflow "$new_version" + +# Update frontend +cd ./pkgs/servers/apache-airflow +curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/yarn.lock +curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/package.json +yarn2nix > yarn.nix + +# update provider dependencies +./update-providers.py From cdca713f0e55a6b7c35a8fa4ae4784c0d3c4c010 Mon Sep 17 00:00:00 2001 From: SkohTV Date: Wed, 21 Jan 2026 08:13:01 -0500 Subject: [PATCH 0634/1216] python3Packages.banks: 2.2.0 -> 2.3.0 --- pkgs/development/python-modules/banks/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/banks/default.nix b/pkgs/development/python-modules/banks/default.nix index 83db9ac6b498..213b90d4e75d 100644 --- a/pkgs/development/python-modules/banks/default.nix +++ b/pkgs/development/python-modules/banks/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "banks"; - version = "2.2.0"; + version = "2.3.0"; pyproject = true; src = fetchFromGitHub { owner = "masci"; repo = "banks"; tag = "v${version}"; - hash = "sha256-lzU1SwgZ7EKCmpDtCp4jKDBIdZVB+S1s/Oh3GfZCmtg="; + hash = "sha256-6+BQS9srj2VT2XcGe9g5Ios6g/vk3GcOXgCWEKq6YHI="; }; SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; From b0251fe76ca2cfea09722f01b04f31edb4c0876a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 13:23:44 +0000 Subject: [PATCH 0635/1216] phpstan: 2.1.34 -> 2.1.35 --- pkgs/by-name/ph/phpstan/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ph/phpstan/package.nix b/pkgs/by-name/ph/phpstan/package.nix index 4b80a9c2c136..eb47f69e6e59 100644 --- a/pkgs/by-name/ph/phpstan/package.nix +++ b/pkgs/by-name/ph/phpstan/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "phpstan"; - version = "2.1.34"; + version = "2.1.35"; src = fetchFromGitHub { owner = "phpstan"; repo = "phpstan"; tag = finalAttrs.version; - hash = "sha256-/SSOLJiZunLDoxsKmVxICjymFLLu0aOXCTn2jNklTyA="; + hash = "sha256-1X+Z4z7VN36DbxWCOu1mvEWQaAJL9tbh3JWMAaHnT5c="; }; nativeBuildInputs = [ From 71afd742a6db63f277a4b6b3423b6f82b623f0a0 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:30:41 -0300 Subject: [PATCH 0636/1216] freedink: add maintainer iedame --- pkgs/by-name/fr/freedink/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fr/freedink/package.nix b/pkgs/by-name/fr/freedink/package.nix index 3917d5cc78ac..403987aa189c 100644 --- a/pkgs/by-name/fr/freedink/package.nix +++ b/pkgs/by-name/fr/freedink/package.nix @@ -119,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://gnu.org/software/freedink/"; # Formerly http://www.freedink.org license = lib.licenses.gpl3Plus; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; platforms = lib.platforms.all; mainProgram = "freedink"; }; From 30a144a5819b441a11d5360f09f70b8a7e1e29b3 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:28:29 +0100 Subject: [PATCH 0637/1216] electron_{37,38,39}-bin: updates --- .../tools/electron/binary/info.json | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json index 75b264f1475e..695c7b8a8525 100644 --- a/pkgs/development/tools/electron/binary/info.json +++ b/pkgs/development/tools/electron/binary/info.json @@ -12,35 +12,35 @@ }, "37": { "hashes": { - "aarch64-darwin": "62d8cd68fec502201db9d4aa940ef9e3ad0004f27e46d6f56c8cf8924da477e7", - "aarch64-linux": "deebbca4a0348ff7dd8564ee413bf7ed0d99c8d71951881286115e82bc4f22ba", - "armv7l-linux": "1c53701c915b4180bf09557374944a93050a601c2d36ec5ef014f1f1f620e4ab", + "aarch64-darwin": "24529be1f2f87c587d06c7474607f1b57d1184b3f45d916cac33791de3a70014", + "aarch64-linux": "37a228821184136fa86a8727bec19ab400524dd7d4bca78937de5d50704592d1", + "armv7l-linux": "db4c1f6c8f012ddd15965c5f8837a61b65d0c3f8f296d81e3f0bf7158ef9779f", "headers": "0lwcdw882hjb2vhj9vvngkwq5l6nrh7d2hr9adpqdm1any4rssl5", - "x86_64-darwin": "334478ae40a5a1ea2bc33ec787352073d15f50eb7a164dfbc1f9e7abb203ded8", - "x86_64-linux": "f773866342de11ba59ca73bb3cf373302839cc3e41c94f6a3ed7c13c110b3b5c" + "x86_64-darwin": "e545e2a41e5fd7d28bf1349b4f60f1bcfd8e4c216f57b2d3e698ec1c00b719cf", + "x86_64-linux": "c0b4edd6bd9858cda4cf7ab299e69a2d3ecd2e5fcca78507bc0851ba35614660" }, - "version": "37.10.2" + "version": "37.10.3" }, "38": { "hashes": { - "aarch64-darwin": "90ac7f8b3a6b6efb83fb5e3b85498456932a2897b862b689312ddde8d9d203c1", - "aarch64-linux": "0aa21bf35d9c7214b0809f85a101472a92bc7b93cf6bc0fd019b94ba309c9b09", - "armv7l-linux": "6ea202c53a5db24c1a50a939e54aa0ba87987eea462e33c5a25530bd243e8532", - "headers": "03ml730a2gli6cmr2lnzbjw9apx2zpgviap4xzw5xa9m76jvdc8h", - "x86_64-darwin": "c72b7b42b53f154a928b3b6778422ec27ac4123040366aabda80cdce67038470", - "x86_64-linux": "d43bd3ff3f7f9f56825f66a29165ff620d84695d4d06769855acf02c4baa7b9c" + "aarch64-darwin": "b91e12ec6695f969ccf792d95dc7ea5da35f399cec2bed4d7b25d8a1f545b5de", + "aarch64-linux": "73e87c432fa52b9005e12e23a1fcffcfada853de19492f905c50dbb46fd778df", + "armv7l-linux": "a78ff548aa93586ce01c6406f49d1f8979a30542f286d05adb56e61a3147bba5", + "headers": "1f1381qc705fv50sbm0g5f6wm8pkwqvrbhb1kvi3i9mk2910y14m", + "x86_64-darwin": "459dd05f00c29d435112596f87bc5bd0aeb16796dff0744e5421086417877d24", + "x86_64-linux": "fe428cd212680e1d6df61fa67efc260b9221d089c7a14c9863f18bcbeace5628" }, - "version": "38.7.1" + "version": "38.7.2" }, "39": { "hashes": { - "aarch64-darwin": "2128a27c1b0fd80be9d608fb293639f76611b4108eca1e045c933fd04097a7b1", - "aarch64-linux": "c58c5904d6015cbbfa5f04fbda5c83b9a276a3565b5f3fa166795c789b055cdd", - "armv7l-linux": "d7c2f0b5038c49b1e637f8dbda945be4e6f3a6d7ebf802543e6ef5093c9641ff", - "headers": "0gaz44jv57aava01fvl35kqdl5yaf6ca7dzsx5f279qkpfyrhx2k", - "x86_64-darwin": "f8085a04dc35bfe0c32c36e6feffde07de16459bf36dfab422760181717f5ac0", - "x86_64-linux": "5eb51ebcb60487c4fc3a5b74ffb57a03eefd48def32200adf310ffaba4153d64" + "aarch64-darwin": "064edf951e0ab546809e217a417401023fd7e3b662de8be0316e8173f6f3db6d", + "aarch64-linux": "468d3096630953a52fc051abd48714004b58ac550f9c7e798c256c774811b0f2", + "armv7l-linux": "37a889a488e7a64d86961ad774f20e3cbb5dd965d76a6efd98c83488c33964e0", + "headers": "0ywhsg295d390mgm1dd64jgzag35gib65b3ybzilsg58d4gvvp5g", + "x86_64-darwin": "484c7f39235ea6c2c87b2ce5149436daa4eec97c9a6b11dc662f01ec1b81969e", + "x86_64-linux": "a676357322bdf28153ba3ad67e8558dd54d76757fe2b1ad48c53f4a5e20614c6" }, - "version": "39.2.3" + "version": "39.3.0" } } From c2093fa2153813120116f64d0efde5aabc88fd67 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:28:44 +0100 Subject: [PATCH 0638/1216] electron-chromedriver_{37,38,39}: updates --- .../tools/electron/chromedriver/info.json | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/pkgs/development/tools/electron/chromedriver/info.json b/pkgs/development/tools/electron/chromedriver/info.json index af3a14d07017..3ea54074c51d 100644 --- a/pkgs/development/tools/electron/chromedriver/info.json +++ b/pkgs/development/tools/electron/chromedriver/info.json @@ -12,35 +12,35 @@ }, "37": { "hashes": { - "aarch64-darwin": "30cfb8b90b0fad7cd0ef473fc03e761d28f98e1a398ff255956e3704c6da0727", - "aarch64-linux": "8a536ad3e2d2f0b9e99fc3085a9990f6d70c1de676d0f57219d2094ef1805ffd", - "armv7l-linux": "b8d774cf0188324538412201be8827d4224d658129eaf5e66f91c0448cc633f2", + "aarch64-darwin": "aa9dda4d536fd98e2620eb39de689e441fe799869c29e53db5c2c4351f1b4aba", + "aarch64-linux": "e7e4b0b21d8e685ef5ad32d8281025fc80cf4cb5bd9476642c26d702c8f3a59e", + "armv7l-linux": "f14f0122e94d6df6f04f682c4e14d1f21608b256b5c90c34c6567e3487b904dc", "headers": "0lwcdw882hjb2vhj9vvngkwq5l6nrh7d2hr9adpqdm1any4rssl5", - "x86_64-darwin": "9d3655a3c4a409c9d422e762a913bf6d19c5ca728ac1de5a13e6c6e98c4b263a", - "x86_64-linux": "2a1fcc98587a23b4022c4d921016f24126ab1071b395760a0339de5f019f9771" + "x86_64-darwin": "20e0fa9b41808153dbf54c1c44d3c6f136a35295b9f7d5ee3b3f32397cbc6319", + "x86_64-linux": "ced6d8721ce57a3fa10d2bc614e4d49ab031c46629ed5af03a253ce7def8b747" }, - "version": "37.10.2" + "version": "37.10.3" }, "38": { "hashes": { - "aarch64-darwin": "3faa6337db37dbb0e3e11fe66a6c93087bb5db79df25d2f1296a28edad8b2958", - "aarch64-linux": "bf0078dd84a4af9c636ecad448f824ebc2a99da10376746d8b1b600746e84de0", - "armv7l-linux": "8d41e3c53f5ab9d06b36a2a456cb35604802f1246adb100490a7770bef29a165", - "headers": "03ml730a2gli6cmr2lnzbjw9apx2zpgviap4xzw5xa9m76jvdc8h", - "x86_64-darwin": "c4ff20f9b683e1907072302c0cfc38ec0c47eca75b71098d916a6a82d87ff1bb", - "x86_64-linux": "997ab3fd934c1ac0ab479565e1def9b2eb6fe6d8a23fd585c8d62250ef05c704" + "aarch64-darwin": "6327236404c59f28ae0892d3898d240fe5e40c944019196afd1c9f03b3cc4a5a", + "aarch64-linux": "1e29832d58ed5582869cee4739b442b6641a4d36bdf350e12cfbd54b9ab7f773", + "armv7l-linux": "016b3f9d1f526f6943440379d431185f69ac4501d0f8acfa3b728dcc8944ab03", + "headers": "1f1381qc705fv50sbm0g5f6wm8pkwqvrbhb1kvi3i9mk2910y14m", + "x86_64-darwin": "4a5e11cf313bc337b1ba373643b55801869f7245ddff1287fee3dfa1d3d8c0be", + "x86_64-linux": "e083831cec7c952bab51cf49ff380558195edd01678a21eb71a67eddbebf87c1" }, - "version": "38.7.1" + "version": "38.7.2" }, "39": { "hashes": { - "aarch64-darwin": "1e88807c749e69c9a1b2abef105cf30dbec4fddc365afcaa624b1e2df80fe636", - "aarch64-linux": "8de5ed25a12029ca999455c1cadf28341ec5e0de87a3a0c27dbb24df99f154b1", - "armv7l-linux": "766b16d8b1297738a0d1fa7e44d992142558f6e12820197746913385590f033e", - "headers": "0gaz44jv57aava01fvl35kqdl5yaf6ca7dzsx5f279qkpfyrhx2k", - "x86_64-darwin": "5cadee0db7684ae48a7f9f4f1310c3f6e1518b0fa88cf3efb36f58984763d43d", - "x86_64-linux": "f35049fe3d8dbfdb7c541b59bdca6982b571761bb8cb7fc85515ceaea9451de9" + "aarch64-darwin": "3d5ef8b78ce4f35320a76a241bbc67f7a1922cedbfe338de111e5fd617677ca8", + "aarch64-linux": "e0f1fa67b9f1ba8f15b2fc0aa0570e80d68261286a19862638a4f26c6966ecf2", + "armv7l-linux": "8a4f46da6a51c97e3296c13aa480a7714e7bd5e8fa46876526ece89c8ae5b182", + "headers": "0ywhsg295d390mgm1dd64jgzag35gib65b3ybzilsg58d4gvvp5g", + "x86_64-darwin": "ed1951ecc55949c65452e1f8cd29b2348c8fd7932c2b1e11279987525b4658bc", + "x86_64-linux": "44e15ac6c421e7bc7b36c55721085e5ccd4996c0770785dc78c55baaf4f73322" }, - "version": "39.2.3" + "version": "39.3.0" } } From 707e8a27368cb5d18948f05d78ae28536783577d Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Tue, 20 Jan 2026 21:53:50 +0100 Subject: [PATCH 0639/1216] electron-source.electron_{37,38,39}: updates, use yarn-berry --- pkgs/development/tools/electron/common.nix | 61 ++++++++++++---------- pkgs/development/tools/electron/info.json | 44 ++++++++-------- pkgs/development/tools/electron/update.py | 6 +-- 3 files changed, 57 insertions(+), 54 deletions(-) diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix index 128dc4c2cc32..cf1ff3564fdf 100644 --- a/pkgs/development/tools/electron/common.nix +++ b/pkgs/development/tools/electron/common.nix @@ -2,31 +2,34 @@ lib, stdenv, chromium, - nodejs, - fetchYarnDeps, fetchNpmDeps, fetchpatch, - fixup-yarn-lock, - npmHooks, - yarn, - libnotify, - unzip, + pkgsBuildHost, - pipewire, - libsecret, - libpulseaudio, - speechd-minimal, - info, gclient2nix, + nodejs, + npmHooks, + yarn-berry_4, + unzip, + + libnotify, + libpulseaudio, + libsecret, + pipewire, + speechd-minimal, + + info, }: let gclientDeps = gclient2nix.importGclientDeps info.deps; + yarn-berry = yarn-berry_4; in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { packageName = "electron"; inherit (info) version; + buildTargets = [ "electron:copy_node_headers" "electron:electron_dist_zip" @@ -41,19 +44,16 @@ in moveToDev = false; nativeBuildInputs = base.nativeBuildInputs ++ [ - nodejs - yarn - fixup-yarn-lock - unzip - npmHooks.npmConfigHook gclient2nix.gclientUnpackHook + nodejs + npmHooks.npmConfigHook + yarn-berry + yarn-berry.yarnBerryConfigHook + unzip ]; + buildInputs = base.buildInputs ++ [ libnotify ]; - electronOfflineCache = fetchYarnDeps { - yarnLock = gclientDeps."src/electron".path + "/yarn.lock"; - sha256 = info.electron_yarn_hash; - }; npmDeps = fetchNpmDeps rec { src = gclientDeps."src".path; # Assume that the fetcher always unpack the source, @@ -61,6 +61,16 @@ in sourceRoot = "${src.name}/third_party/node"; hash = info.chromium_npm_hash; }; + + npmRoot = "third_party/node"; + + yarnOfflineCache = yarn-berry.fetchYarnBerryDeps { + src = gclientDeps."src/electron".path; + hash = info.electron_yarn_hash; + }; + + dontYarnBerryInstallDeps = true; # we'll run the hook manually + inherit gclientDeps; unpackPhase = null; # prevent chromium's unpackPhase from being used sourceRoot = "src"; @@ -136,8 +146,6 @@ in }) ]; - npmRoot = "third_party/node"; - postPatch = '' mkdir -p third_party/jdk/current/bin @@ -186,15 +194,10 @@ in EOF '' + '' - ( cd electron - export HOME=$TMPDIR/fake_home - yarn config --offline set yarn-offline-mirror $electronOfflineCache - fixup-yarn-lock yarn.lock - yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive + YARN_ENABLE_SCRIPTS=0 yarnBerryConfigHook ) - ( cd .. PATH=$PATH:${ diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json index 7e4cd2dd554c..cf20ede8704e 100644 --- a/pkgs/development/tools/electron/info.json +++ b/pkgs/development/tools/electron/info.json @@ -56,10 +56,10 @@ }, "src/electron": { "args": { - "hash": "sha256-I8C0lT1VnNP4fSMp5LReFe8tQj/3IM1Ko6SohY187Cc=", + "hash": "sha256-ssEFUO6UFZI5/a49oPbYXMhYCyHnE+HGK8H26jKN5JE=", "owner": "electron", "repo": "electron", - "tag": "v37.10.2" + "tag": "v37.10.3" }, "fetcher": "fetchFromGitHub" }, @@ -1326,10 +1326,10 @@ "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "0hm126bl9cscs2mjb3yx2yr4b22agqp9r0c5kv25r3lvc020r9pk", + "electron_yarn_hash": "sha256-ouaxVsLQ+IapxTJxM7KFuLq9PSsMRhPwrWYT/opxE0I=", "modules": "136", "node": "22.21.1", - "version": "37.10.2" + "version": "37.10.3" }, "38": { "chrome": "140.0.7339.249", @@ -1388,10 +1388,10 @@ }, "src/electron": { "args": { - "hash": "sha256-1C17jQP8TFxBTHhIz+fHB83OFOykzZToPOrwzl+NN9Q=", + "hash": "sha256-gSW1dI2PBGaLleuekWEI8Om/HE+V7w7QPy3wWxfN0V0=", "owner": "electron", "repo": "electron", - "tag": "v38.7.1" + "tag": "v38.7.2" }, "fetcher": "fetchFromGitHub" }, @@ -2650,13 +2650,13 @@ "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "1knhw3blk3bl2a8nl58ik272qj2q0cpqiih5gcsds1na3bbkbn2z", + "electron_yarn_hash": "sha256-R5AHeNFOeH7ZXipzM9u08KG5zJhkDDTW4kGt3BYYN64=", "modules": "139", "node": "22.21.1", - "version": "38.7.1" + "version": "38.7.2" }, "39": { - "chrome": "142.0.7444.175", + "chrome": "142.0.7444.265", "chromium": { "deps": { "gn": { @@ -2665,15 +2665,15 @@ "version": "0-unstable-2025-09-18" } }, - "version": "142.0.7444.175" + "version": "142.0.7444.265" }, "chromium_npm_hash": "sha256-i1eQ4YlrWSgY522OlFtGDDPmxE2zd1hDM03AzR8RafE=", "deps": { "src": { "args": { - "hash": "sha256-nRZWCvoGYS4gxoJidkKGqTMGUuFfXfhIrHc3j/xRlaI=", + "hash": "sha256-VJKx61JTIGg4j/kNqtOWkYOsy0xYYZbuyoiKFVcbZgc=", "postFetch": "rm -rf $(find $out/third_party/blink/web_tests ! -name BUILD.gn -mindepth 1 -maxdepth 1); rm -r $out/content/test/data; rm -rf $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ", - "tag": "142.0.7444.175", + "tag": "142.0.7444.265", "url": "https://chromium.googlesource.com/chromium/src.git" }, "fetcher": "fetchFromGitiles" @@ -2712,10 +2712,10 @@ }, "src/electron": { "args": { - "hash": "sha256-Zvu8Puh7j/u84cigKtfhOjBcxIYKJAv1mmbmIFRwdNY=", + "hash": "sha256-udrEpPg2LDThZDTXJ1jpkIEiDwlD7lRUJsV6HSwN0i8=", "owner": "electron", "repo": "electron", - "tag": "v39.2.3" + "tag": "v39.3.0" }, "fetcher": "fetchFromGitHub" }, @@ -2745,8 +2745,8 @@ }, "src/third_party/angle": { "args": { - "hash": "sha256-PM7msE9678QFyr7qp47Bc0vTntsSCeB/cirg9ME6TZk=", - "rev": "7b27cb13556246035dfc7b308702b1b20710df47", + "hash": "sha256-CCjQue8xv/t81I3ncqS6Ib3hjcs+FKCB+yvNUE+A+Dc=", + "rev": "7628a2726022fc768f2464ed5060bbc97e13f77a", "url": "https://chromium.googlesource.com/angle/angle.git" }, "fetcher": "fetchFromGitiles" @@ -3009,8 +3009,8 @@ }, "src/third_party/devtools-frontend/src": { "args": { - "hash": "sha256-qiucde85rKA7TefveIa++sOF+MzT56pe8pHUUCj9Zeo=", - "rev": "f063edc91e3610a60fb9d486ae8694f2a11fcd17", + "hash": "sha256-4SIqiDQtelkjdzTSDfB5GCymh+24MoiN77NNCxTV6qU=", + "rev": "747b0d1aebe33e5fc3d32677eb88315ab000eb5e", "url": "https://chromium.googlesource.com/devtools/devtools-frontend" }, "fetcher": "fetchFromGitiles" @@ -3991,16 +3991,16 @@ }, "src/v8": { "args": { - "hash": "sha256-jECAfgeAgdkhbI/8BgT9TakR9Ylha2zPznjZzibPQbE=", - "rev": "baea8d627b70725fb777ebc1074f8ec4110ef6cb", + "hash": "sha256-FNEyH9sT59A0SFRloRMbK1YOy/slwtAz2/+T4mlCdWs=", + "rev": "8fa4e7c7469cd4d321e2241b86f684d52197a615", "url": "https://chromium.googlesource.com/v8/v8.git" }, "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "19mpwfjb85d9kw1awiymj47h06rjk6vxqcgfajh612cgwkbz4m6f", + "electron_yarn_hash": "sha256-veyZGCQJO23iQk4gmFo5oLASxamiYm4tAQSUS12IGxg=", "modules": "140", "node": "22.21.1", - "version": "39.2.3" + "version": "39.3.0" } } diff --git a/pkgs/development/tools/electron/update.py b/pkgs/development/tools/electron/update.py index 2ae0c2e4664d..ed97795fdbbb 100755 --- a/pkgs/development/tools/electron/update.py +++ b/pkgs/development/tools/electron/update.py @@ -1,5 +1,5 @@ #! /usr/bin/env nix-shell -#! nix-shell -i python -p python3.pkgs.joblib python3.pkgs.click python3.pkgs.click-log nix nurl prefetch-yarn-deps prefetch-npm-deps gclient2nix +#! nix-shell -i python -p python3.pkgs.joblib python3.pkgs.click python3.pkgs.click-log nix nurl prefetch-npm-deps yarn-berry_4.yarn-berry-fetcher nix-prefetch-git gclient2nix """ electron updater @@ -115,12 +115,12 @@ def get_chromium_gn_source(chromium_tag: str) -> dict: @memory.cache def get_electron_yarn_hash(electron_tag: str) -> str: - print(f"prefetch-yarn-deps", file=sys.stderr) + print(f"yarn-berry-fetcher prefetch", file=sys.stderr) with tempfile.TemporaryDirectory() as tmp_dir: with open(tmp_dir + "/yarn.lock", "w") as f: f.write(get_electron_file(electron_tag, "yarn.lock")) return ( - subprocess.check_output(["prefetch-yarn-deps", tmp_dir + "/yarn.lock"]) + subprocess.check_output(["yarn-berry-fetcher", "prefetch", tmp_dir + "/yarn.lock"]) .decode("utf-8") .strip() ) From a0cf3bfc962fc8650b3b347275b4c118a101f2b3 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:34:50 -0300 Subject: [PATCH 0640/1216] unciv: add maintainer iedame --- pkgs/by-name/un/unciv/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix index 93e954eaf113..cbf5a3663440 100644 --- a/pkgs/by-name/un/unciv/package.nix +++ b/pkgs/by-name/un/unciv/package.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { description = "Open-source Android/Desktop remake of Civ V"; mainProgram = "unciv"; homepage = "https://github.com/yairm210/Unciv"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.mpl20; platforms = lib.platforms.all; From f2814676d4276d1a7c3de7a29e393f524047dba6 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:36:18 -0300 Subject: [PATCH 0641/1216] typioca: add maintainer iedame --- pkgs/by-name/ty/typioca/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ty/typioca/package.nix b/pkgs/by-name/ty/typioca/package.nix index fc428d9876ef..42be81882dc3 100644 --- a/pkgs/by-name/ty/typioca/package.nix +++ b/pkgs/by-name/ty/typioca/package.nix @@ -36,7 +36,7 @@ buildGoModule (finalAttrs: { homepage = "https://github.com/bloznelis/typioca"; changelog = "https://github.com/bloznelis/typioca/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; mainProgram = "typioca"; }; }) From ec2924a5380a8cd95d9076d11d983678fd48e956 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:37:33 -0300 Subject: [PATCH 0642/1216] scanmem: add maintainer iedame --- pkgs/by-name/sc/scanmem/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/sc/scanmem/package.nix b/pkgs/by-name/sc/scanmem/package.nix index cdfa36491f18..361bf233dd5d 100644 --- a/pkgs/by-name/sc/scanmem/package.nix +++ b/pkgs/by-name/sc/scanmem/package.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://github.com/scanmem/scanmem"; description = "Memory scanner for finding and poking addresses in executing processes"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; platforms = lib.platforms.linux; license = lib.licenses.gpl3Plus; }; From f4f0d71815c26a7b9c7da07e84ecb03ee28e0d64 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:39:59 -0300 Subject: [PATCH 0643/1216] ringracers: add maintainer iedame --- pkgs/by-name/ri/ringracers/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ri/ringracers/package.nix b/pkgs/by-name/ri/ringracers/package.nix index 9b42418ae36a..a5d6ea698c7e 100644 --- a/pkgs/by-name/ri/ringracers/package.nix +++ b/pkgs/by-name/ri/ringracers/package.nix @@ -114,7 +114,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://kartkrew.org"; platforms = lib.platforms.linux ++ lib.platforms.darwin; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ donovanglover ]; + maintainers = with lib.maintainers; [ + donovanglover + iedame + ]; mainProgram = "ringracers"; }; }) From 97d35d94bf4b08ae00af91ed8114ec3e9feae8b1 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:43:12 -0300 Subject: [PATCH 0644/1216] lincity: add maintainer iedame --- pkgs/by-name/li/lincity/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/lincity/package.nix b/pkgs/by-name/li/lincity/package.nix index 7f32ad174340..b399b8c0427c 100644 --- a/pkgs/by-name/li/lincity/package.nix +++ b/pkgs/by-name/li/lincity/package.nix @@ -84,6 +84,6 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "xlincity"; license = lib.licenses.gpl2Plus; homepage = "https://sourceforge.net/projects/lincity"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; }; }) From e32ad2a8d46089ab016b92a70607af93b454f639 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:44:29 -0300 Subject: [PATCH 0645/1216] lincity-ng: add maintainer iedame --- pkgs/by-name/li/lincity-ng/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/lincity-ng/package.nix b/pkgs/by-name/li/lincity-ng/package.nix index bf18626698d7..734b8868105c 100644 --- a/pkgs/by-name/li/lincity-ng/package.nix +++ b/pkgs/by-name/li/lincity-ng/package.nix @@ -77,7 +77,10 @@ stdenv.mkDerivation (finalAttrs: { description = "City building game"; mainProgram = "lincity-ng"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ raskin ]; + maintainers = with lib.maintainers; [ + raskin + iedame + ]; platforms = lib.platforms.linux; }; }) From f142f8a2bb2caa9c1cd516f3efa84742125757fe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 13:47:38 +0000 Subject: [PATCH 0646/1216] oauth2c: 1.18.0 -> 1.19.0 --- pkgs/by-name/oa/oauth2c/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/oa/oauth2c/package.nix b/pkgs/by-name/oa/oauth2c/package.nix index b96bafcf07da..53024b634f28 100644 --- a/pkgs/by-name/oa/oauth2c/package.nix +++ b/pkgs/by-name/oa/oauth2c/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "oauth2c"; - version = "1.18.0"; + version = "1.19.0"; src = fetchFromGitHub { owner = "cloudentity"; repo = "oauth2c"; rev = "v${version}"; - hash = "sha256-1l7NtRKOCUuVsGC7K/TmSbzwGGybJ3owMDn2b4b/BeU="; + hash = "sha256-Bh4gWskmY2nWTckUT1FX7vRDz/gg670A77CQTZhz3mg="; }; vendorHash = "sha256-I2pOyjKghvHHGEuVqODhysD++f2hD+BF7WJxWbrLcWA="; From 67549f5eea3a9b3386599d884697abfd7a1067fe Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:51:22 -0300 Subject: [PATCH 0647/1216] bbedit: add maintainer iedame --- pkgs/by-name/bb/bbedit/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bb/bbedit/package.nix b/pkgs/by-name/bb/bbedit/package.nix index 948111ed505b..2c39f1e6ca57 100644 --- a/pkgs/by-name/bb/bbedit/package.nix +++ b/pkgs/by-name/bb/bbedit/package.nix @@ -34,7 +34,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Powerful and full-featured professional HTML and text editor for macOS"; homepage = "https://www.barebones.com/products/bbedit/"; license = lib.licenses.unfree; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; platforms = lib.platforms.darwin; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; From b2c38580bdd808371cfe243e43e118dbf84d7f9f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 13:51:41 +0000 Subject: [PATCH 0648/1216] naabu: 2.3.7 -> 2.4.0 --- pkgs/by-name/na/naabu/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/na/naabu/package.nix b/pkgs/by-name/na/naabu/package.nix index 647fac2fdba7..d7d036d91c00 100644 --- a/pkgs/by-name/na/naabu/package.nix +++ b/pkgs/by-name/na/naabu/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "naabu"; - version = "2.3.7"; + version = "2.4.0"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "naabu"; tag = "v${version}"; - hash = "sha256-caiUb++eaZN+v/uZ/kgBMztv0saSiBrpqQ2QMbgjLlY="; + hash = "sha256-Jubam5UoWYWK8AoRVxbaibzU9Qv/X7VFfGtQxoY008Y="; }; - vendorHash = "sha256-RGDMOR65IWtkBnVX2NCIu20vvuQNi0+mBcf0Sc8EXJg="; + vendorHash = "sha256-h0/mTUbgCwzIAvIh9i1ZAgMa9undo8DkC0jGOZdUu20="; buildInputs = [ libpcap ]; From ad62341bc11087332d8fe8311f8a2b5d2f92f9fe Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 10:52:53 -0300 Subject: [PATCH 0649/1216] backrest: add maintainer iedame --- pkgs/by-name/ba/backrest/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ba/backrest/package.nix b/pkgs/by-name/ba/backrest/package.nix index f738027fb23f..71de8e51e37b 100644 --- a/pkgs/by-name/ba/backrest/package.nix +++ b/pkgs/by-name/ba/backrest/package.nix @@ -123,7 +123,7 @@ buildGoModule { homepage = "https://github.com/garethgeorge/backrest"; changelog = "https://github.com/garethgeorge/backrest/releases/tag/v${version}"; license = lib.licenses.gpl3Only; - maintainers = [ ]; + maintainers = with lib.maintainers; [ iedame ]; mainProgram = "backrest"; platforms = lib.platforms.unix; }; From 2bf2d06752e8edff6861380ba292ac7e9b9a24ee Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sun, 23 Nov 2025 16:42:35 +0100 Subject: [PATCH 0650/1216] chuck: 1.4.2.0 -> 1.5.5.6, refactor, move to pkgs/by-name --- pkgs/applications/audio/chuck/default.nix | 51 -------------- .../ch}/chuck/darwin-limits.patch | 0 pkgs/by-name/ch/chuck/package.nix | 70 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 -- 4 files changed, 70 insertions(+), 55 deletions(-) delete mode 100644 pkgs/applications/audio/chuck/default.nix rename pkgs/{applications/audio => by-name/ch}/chuck/darwin-limits.patch (100%) create mode 100644 pkgs/by-name/ch/chuck/package.nix diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix deleted file mode 100644 index c8bac3d8d664..000000000000 --- a/pkgs/applications/audio/chuck/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - stdenv, - lib, - fetchurl, - alsa-lib, - bison, - flex, - libsndfile, - which, - DarwinTools, - xcbuild, -}: - -stdenv.mkDerivation rec { - version = "1.4.2.0"; - pname = "chuck"; - - src = fetchurl { - url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz"; - sha256 = "sha256-hIwsC9rYgXWSTFqUufKGqoT0Gnsf4nR4KQ0iSVbj8xg="; - }; - - nativeBuildInputs = [ - flex - bison - which - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - DarwinTools - xcbuild - ]; - - buildInputs = [ libsndfile ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib; - - patches = [ ./darwin-limits.patch ]; - - makeFlags = [ - "-C src" - "DESTDIR=$(out)/bin" - ]; - buildFlags = [ (if stdenv.hostPlatform.isDarwin then "mac" else "linux-alsa") ]; - - meta = { - description = "Programming language for real-time sound synthesis and music creation"; - homepage = "http://chuck.cs.princeton.edu"; - license = lib.licenses.gpl2; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ ftrvxmtrx ]; - mainProgram = "chuck"; - }; -} diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/by-name/ch/chuck/darwin-limits.patch similarity index 100% rename from pkgs/applications/audio/chuck/darwin-limits.patch rename to pkgs/by-name/ch/chuck/darwin-limits.patch diff --git a/pkgs/by-name/ch/chuck/package.nix b/pkgs/by-name/ch/chuck/package.nix new file mode 100644 index 000000000000..981bc503daa3 --- /dev/null +++ b/pkgs/by-name/ch/chuck/package.nix @@ -0,0 +1,70 @@ +{ + stdenv, + lib, + fetchFromGitHub, + bison, + flex, + pkg-config, + darwin, + xcbuild, + libsndfile, + alsa-lib, + libjack2, + libpulseaudio, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + version = "1.5.5.6"; + pname = "chuck"; + + src = fetchFromGitHub { + owner = "ccrma"; + repo = "chuck"; + tag = "chuck-${finalAttrs.version}"; + hash = "sha256-KBmMpycNCjRZJPdRR3HG5nqHQhhVOENciRpiQ7buyok="; + }; + + nativeBuildInputs = [ + bison + flex + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.DarwinTools + xcbuild + ]; + + buildInputs = [ + libsndfile + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + alsa-lib + libpulseaudio + libjack2 + ]; + + makeFlags = [ + "-C src" + "DESTDIR=$(out)/bin" + # fix hardcoded gcc + "CC=cc" + "CXX=c++" + ]; + buildFlags = [ (if stdenv.hostPlatform.isDarwin then "mac" else "linux-all") ]; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=chuck-(.*)" ]; }; + + meta = { + description = "Programming language for real-time sound synthesis and music creation"; + homepage = "http://chuck.cs.princeton.edu"; + license = with lib.licenses; [ + gpl2Plus + # or + mit + ]; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ ftrvxmtrx ]; + mainProgram = "chuck"; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 746d96f57baf..3e36a6a42ee5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10347,10 +10347,6 @@ with pkgs; chromium = callPackage ../applications/networking/browsers/chromium (config.chromium or { }); - chuck = callPackage ../applications/audio/chuck { - inherit (darwin) DarwinTools; - }; - clipgrab = libsForQt5.callPackage ../applications/video/clipgrab { }; cni = callPackage ../applications/networking/cluster/cni { }; From f38e26a28b7a2bcc2cdca90e72818a2fa5018f2f Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sun, 23 Nov 2025 16:44:26 +0100 Subject: [PATCH 0651/1216] chuck: drop ftrvxmtrx as maintainer they haven't updated the package for like 2.5 years --- pkgs/by-name/ch/chuck/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ch/chuck/package.nix b/pkgs/by-name/ch/chuck/package.nix index 981bc503daa3..d1a5e7919138 100644 --- a/pkgs/by-name/ch/chuck/package.nix +++ b/pkgs/by-name/ch/chuck/package.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { mit ]; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ ftrvxmtrx ]; + maintainers = [ ]; mainProgram = "chuck"; }; }) From 50b4fac9e10f5ed7f0f479ad3b306a0c94630dcf Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 13 Jan 2026 10:52:36 +0100 Subject: [PATCH 0652/1216] nixos/pdns-recursor: remove old-settings --- .../services/networking/pdns-recursor.nix | 72 ++++++------------- nixos/tests/pdns-recursor.nix | 4 -- 2 files changed, 20 insertions(+), 56 deletions(-) diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix index 172f45c61331..bed9eb636086 100644 --- a/nixos/modules/services/networking/pdns-recursor.nix +++ b/nixos/modules/services/networking/pdns-recursor.nix @@ -48,23 +48,6 @@ let } ); - configFile = - if cfg.old-settings != { } then - # Convert recursor.conf to recursor.yml and merge it - let - conf = pkgs.writeText "recursor.conf" ( - concatStringsSep "\n" (mapAttrsToList (name: val: "${name}=${serialize val}") cfg.old-settings) - ); - - yaml = settingsFormat.generate "recursor.yml" cfg.yaml-settings; - in - pkgs.runCommand "recursor-merged.yml" { } '' - ${pkgs.pdns-recursor}/bin/rec_control show-yaml --config ${conf} > override.yml - ${pkgs.yq-go}/bin/yq '. *= load("override.yml")' ${yaml} > $out - '' - else - settingsFormat.generate "recursor.yml" cfg.yaml-settings; - in { options.services.pdns-recursor = { @@ -196,30 +179,7 @@ in ''; }; - old-settings = mkOption { - type = configType; - default = { }; - example = literalExpression '' - { - loglevel = 8; - log-common-errors = true; - } - ''; - description = '' - Older PowerDNS Recursor settings. Use this option to configure - Recursor settings not exposed in a NixOS option or to bypass one. - See the full documentation at - - for the available options. - - ::: {.warning} - This option is provided for backward compatibility only - and will be removed in the next release of NixOS. - ::: - ''; - }; - - yaml-settings = mkOption { + settings = mkOption { type = settingsFormat.type; default = { }; example = literalExpression '' @@ -249,11 +209,12 @@ in config = mkIf cfg.enable { - environment.etc."/pdns-recursor/recursor.yml".source = configFile; + environment.etc."/pdns-recursor/recursor.yml".source = + settingsFormat.generate "recursor.yml" cfg.settings; networking.resolvconf.useLocalResolver = lib.mkDefault true; - services.pdns-recursor.yaml-settings = { + services.pdns-recursor.settings = { incoming = mkDefaultAttrs { listen = cfg.dns.address; port = cfg.dns.port; @@ -301,15 +262,6 @@ in users.groups.pdns-recursor = { }; - warnings = lib.optional (cfg.old-settings != { }) '' - pdns-recursor has changed its configuration file format from pdns-recursor.conf - (mapped to `services.pdns-recursor.old-settings`) to the newer pdns-recursor.yml - (mapped to `services.pdns-recursor.yaml-settings`). - - Support for the older format will be removed in a future version, so please migrate - your settings over. See . - ''; - }; imports = [ @@ -320,16 +272,32 @@ in ] "To change extra Recursor settings use services.pdns-recursor.settings instead.") (mkRenamedOptionModule + [ + "services" + "pdns-recursor" + "yaml-settings" + ] [ "services" "pdns-recursor" "settings" ] + ) + + (mkRemovedOptionModule [ "services" "pdns-recursor" "old-settings" ] + '' + pdns-recursor has changed its configuration file format from pdns-recursor.conf + (mapped to `services.pdns-recursor.old-settings`) to the newer pdns-recursor.yml + (mapped to `services.pdns-recursor.settings`). + + Support for the older format has been removed, please migrate your settings over. + See . + '' ) ]; diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix index 0c326d7db965..160d9a0fd2a0 100644 --- a/nixos/tests/pdns-recursor.nix +++ b/nixos/tests/pdns-recursor.nix @@ -7,7 +7,6 @@ nodes.server = { services.pdns-recursor.enable = true; services.pdns-recursor.exportHosts = true; - services.pdns-recursor.old-settings.dnssec-log-bogus = true; networking.hosts."192.0.2.1" = [ "example.com" ]; }; @@ -18,8 +17,5 @@ with subtest("can resolve names"): assert "192.0.2.1" in server.succeed("host example.com localhost") - - with subtest("old-settings have been merged in"): - server.succeed("${lib.getExe pkgs.yq-go} -e .dnssec.log_bogus /etc/pdns-recursor/recursor.yml") ''; } From 6eee2f536c74a75f1aeae2e6f7c7d390744ff7ae Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Wed, 21 Jan 2026 15:20:56 +0100 Subject: [PATCH 0653/1216] ty: 0.0.12 -> 0.0.13 Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.13 Diff: https://github.com/astral-sh/ty/compare/0.0.12...0.0.13 --- pkgs/by-name/ty/ty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index e99f9b8f2784..250c486dc1af 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.12"; + version = "0.0.13"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-HbIntp5dhJgR3WdX3mtxhghHo5twQFiGfbHprWSsei8="; + hash = "sha256-2KPnFNutndxE5ap0E9BCL5w6vpnfow8GIY4/N9dgYy8="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-OerZoJcgxCMytyrdI3xZmtRj/7/SJHJsdO92N/WXWU0="; + cargoHash = "sha256-E/kR6AxzpIqKMM80+ute5Z6LUL5f39RYfj7BnGOg6V4="; nativeBuildInputs = [ installShellFiles ]; From db177cfff3e94e4acb530dae5dc1c40eada24821 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 14:21:03 +0000 Subject: [PATCH 0654/1216] openhue-cli: 0.22.1 -> 0.23 --- pkgs/by-name/op/openhue-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/openhue-cli/package.nix b/pkgs/by-name/op/openhue-cli/package.nix index 0edfdcfd50d1..8d0e0829f8ea 100644 --- a/pkgs/by-name/op/openhue-cli/package.nix +++ b/pkgs/by-name/op/openhue-cli/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "openhue-cli"; - version = "0.22.1"; + version = "0.23"; src = fetchFromGitHub { owner = "openhue"; repo = "openhue-cli"; tag = finalAttrs.version; - hash = "sha256-2MvtE1B9dN31rnjAs+f+cAYhM0D61A+wbtcdMfAyOY8="; + hash = "sha256-YkTlXON31cfA4EAS3RMhplVj7mFF3hx/CyiUrcQOkqc="; leaveDotGit = true; postFetch = '' cd "$out" @@ -23,7 +23,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-3930OjQ26n7J3XDWjCthfQjORP5wpJ3ZZK/m6/wi2X4="; + vendorHash = "sha256-S2CPDbgHcDYo6T2IIshmZkIatGLNMIdAMNBjowiMkwo="; env.CGO_ENABLED = 0; From 737deb4493ad1737594fb79c0eadebcdbcab1c1e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 14:27:41 +0000 Subject: [PATCH 0655/1216] havn: 0.3.3 -> 0.3.4 --- pkgs/by-name/ha/havn/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ha/havn/package.nix b/pkgs/by-name/ha/havn/package.nix index a1646b021ce8..71e6cc2151ae 100644 --- a/pkgs/by-name/ha/havn/package.nix +++ b/pkgs/by-name/ha/havn/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "havn"; - version = "0.3.3"; + version = "0.3.4"; src = fetchFromGitHub { owner = "mrjackwills"; repo = "havn"; tag = "v${finalAttrs.version}"; - hash = "sha256-r+HaM54JuHhlNMTxfX6Dmc5EK7zAWavE623kRhAnN7Y="; + hash = "sha256-1NzOEnLgfvANE4N4Kt2HxJSxV8EdI1OWTsP993kUi4U="; }; - cargoHash = "sha256-J1RjxsChLbi5OrP+IObHq4LOEWNBCwQiwyV35EyYIuI="; + cargoHash = "sha256-Ja99sc28n/djr+TpO9lQRMZ+fcc3nI7iO291p2qfjDI="; checkFlags = [ # Skip tests that require network access From e877b3f8cb3e7081ab399ff79731b08e0b438c76 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 14:29:26 +0000 Subject: [PATCH 0656/1216] framework-tool: 0.4.5 -> 0.5.0 --- pkgs/by-name/fr/framework-tool/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fr/framework-tool/package.nix b/pkgs/by-name/fr/framework-tool/package.nix index 0a98787317a7..fec50684f259 100644 --- a/pkgs/by-name/fr/framework-tool/package.nix +++ b/pkgs/by-name/fr/framework-tool/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "framework-tool"; - version = "0.4.5"; + version = "0.5.0"; src = fetchFromGitHub { owner = "FrameworkComputer"; repo = "framework-system"; tag = "v${version}"; - hash = "sha256-WhdKU6vyOm5R9RInw9Fj8gELztLn4m5rFGgHbnItguU="; + hash = "sha256-wgleuZ0txkmv0+tyr31PiVTNyTSc+OPy/jJwL1Ryyu4="; }; - cargoHash = "sha256-A7/Q4p26W0AzqlLguL2OJtmm7dAsBU/Yb636ScYXrPs="; + cargoHash = "sha256-W+k/PAcdwl9mvajB9D4SUH4o5VqpeD/BnK6ZEJzPpmI="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ udev ]; From e19ce84e47a20a30f622c082cc441fc97324dd01 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 14:31:33 +0000 Subject: [PATCH 0657/1216] python3Packages.torchtune: use finalAttrs pattern --- pkgs/development/python-modules/torchtune/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/torchtune/default.nix b/pkgs/development/python-modules/torchtune/default.nix index 1fac454501f0..ce757924e984 100644 --- a/pkgs/development/python-modules/torchtune/default.nix +++ b/pkgs/development/python-modules/torchtune/default.nix @@ -35,7 +35,7 @@ writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "torchtune"; version = "0.6.1"; pyproject = true; @@ -43,7 +43,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "meta-pytorch"; repo = "torchtune"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-evhQBpZiUXriL0PAYkEzGypH21iRs37Ix6Nl5YAyeQ0="; }; @@ -134,11 +134,11 @@ buildPythonPackage rec { meta = { description = "PyTorch native post-training library"; homepage = "https://github.com/meta-pytorch/torchtune"; - changelog = "https://github.com/meta-pytorch/torchtune/releases/tag/${src.tag}"; + changelog = "https://github.com/meta-pytorch/torchtune/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ GaetanLepage sarahec ]; }; -} +}) From 530a975b502bdca1d187f48ee6e9fee5581be929 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 14:31:54 +0000 Subject: [PATCH 0658/1216] python3Packages.executorch: use finalAttrs pattern --- .../development/python-modules/executorch/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/executorch/default.nix b/pkgs/development/python-modules/executorch/default.nix index 9013410fb89d..0ffade9dc6b9 100644 --- a/pkgs/development/python-modules/executorch/default.nix +++ b/pkgs/development/python-modules/executorch/default.nix @@ -46,7 +46,7 @@ writableTmpDirAsHomeHook, yaspin, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "executorch"; version = "1.0.1"; pyproject = true; @@ -54,7 +54,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "pytorch"; repo = "executorch"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; # The ExecuTorch repo must be cloned into a directory named exactly `executorch`. # See https://github.com/pytorch/executorch/issues/6475 for progress on a fix for this restriction. @@ -63,7 +63,6 @@ buildPythonPackage rec { fetchSubmodules = true; hash = "sha256-h+nmipFDO/cdPTQXrjM5EkH//wHKBAvlDIp6SBbGN/8="; }; - # src = /home/gaetan/nix/nixpkgs-packages/executorch; postPatch = # Hardcode the default flatc binary path to the nixpkgs flatc @@ -89,7 +88,7 @@ buildPythonPackage rec { ''; env = { - BUILD_VERSION = version; + BUILD_VERSION = finalAttrs.version; }; build-system = [ @@ -194,7 +193,7 @@ buildPythonPackage rec { meta = { description = "On-device AI across mobile, embedded and edge for PyTorch"; homepage = "https://github.com/pytorch/executorch"; - changelog = "https://github.com/pytorch/executorch/releases/tag/v${version}"; + changelog = "https://github.com/pytorch/executorch/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ GaetanLepage ]; badPlatforms = [ @@ -204,4 +203,4 @@ buildPythonPackage rec { lib.systems.inspect.patterns.isDarwin ]; }; -} +}) From c46e5e5e5f4d5ac40c0bc65dab39e1a73cfaf72b Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 14:32:12 +0000 Subject: [PATCH 0659/1216] python3Packages.executorch: fix build with GCC 15 Tracking: https://github.com/NixOS/nixpkgs/issues/475479 --- pkgs/development/python-modules/executorch/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/executorch/default.nix b/pkgs/development/python-modules/executorch/default.nix index 0ffade9dc6b9..faf18e94ed5d 100644 --- a/pkgs/development/python-modules/executorch/default.nix +++ b/pkgs/development/python-modules/executorch/default.nix @@ -85,6 +85,15 @@ buildPythonPackage (finalAttrs: { --replace-fail \ "CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR)" \ "CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR)" + '' + # Fix build with GCC>=15 + + '' + substituteInPlace third-party/flatcc/include/flatcc/portable/grisu3_print.h \ + --replace-fail \ + 'static char hexdigits[16] = "0123456789ABCDEF";' \ + 'static char hexdigits[17] = "0123456789ABCDEF";' + + sed -i "1i #include " backends/apple/coreml/runtime/inmemoryfs/memory_buffer.hpp ''; env = { From cae93b24836783e409a3b4521f578ec61f556e46 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 14:38:34 +0000 Subject: [PATCH 0660/1216] python3Packages.executorch: relax scikit-learn dependency --- pkgs/development/python-modules/executorch/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/executorch/default.nix b/pkgs/development/python-modules/executorch/default.nix index faf18e94ed5d..95d8a94df950 100644 --- a/pkgs/development/python-modules/executorch/default.nix +++ b/pkgs/development/python-modules/executorch/default.nix @@ -125,6 +125,7 @@ buildPythonPackage (finalAttrs: { "pytest-xdist" ]; pythonRelaxDeps = [ + "scikit-learn" "torchao" ]; dependencies = [ From 4511ba4db79a7e5ef7ece6ba95501605245257c7 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 14:40:16 +0000 Subject: [PATCH 0661/1216] air-formatter: 0.8.0 -> 0.8.1 Diff: https://github.com/posit-dev/air/compare/0.8.0...0.8.1 Changelog: https://github.com/posit-dev/air/blob/0.8.1/CHANGELOG.md --- pkgs/by-name/ai/air-formatter/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ai/air-formatter/package.nix b/pkgs/by-name/ai/air-formatter/package.nix index 2f081926e983..6cccc54235af 100644 --- a/pkgs/by-name/ai/air-formatter/package.nix +++ b/pkgs/by-name/ai/air-formatter/package.nix @@ -7,23 +7,22 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "air-formatter"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "posit-dev"; repo = "air"; tag = finalAttrs.version; - hash = "sha256-LNU//dQico54GhZdehynEuukfGuU8rQvfFO4zvRsZL0="; + hash = "sha256-+AsKwigWikAv8NOaIYVvrH3Pub7Q9qV5YOp2jYU2GkE="; }; - cargoHash = "sha256-9HRDUTYzKLYuh9KCcnvPXB6gDKcht79TOZZ3ze9+gbg="; + cargoHash = "sha256-ndd4ps2X/+a62p3dlv8jxhr2bbBG88rytI1XBVntk+g="; useNextest = true; nativeInstallCheckInputs = [ versionCheckHook ]; - versionCheckProgram = "${placeholder "out"}/bin/air"; doInstallCheck = true; cargoBuildFlags = [ "-p air" ]; From fe9b00a608cbe0dca5f18ab146eeb4ea826a69f0 Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 21 Jan 2026 14:38:46 +0000 Subject: [PATCH 0662/1216] radicle-node: 1.6.0 -> 1.6.1 --- pkgs/by-name/ra/radicle-node/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ra/radicle-node/package.nix b/pkgs/by-name/ra/radicle-node/package.nix index 71d01408459e..ff4638e104d5 100644 --- a/pkgs/by-name/ra/radicle-node/package.nix +++ b/pkgs/by-name/ra/radicle-node/package.nix @@ -18,13 +18,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-node"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z3gqcJUoA1n9HaHKufZs5FCSGazv5"; tag = "releases/${finalAttrs.version}"; - hash = "sha256-j7GTtx9Dq3xZeEsgIlaRq1Vbc9aJfn22WCkNTGjvH1Q="; + hash = "sha256-7kwtWuYdYG3MDHThCkY5OZmx4pWaQXMYoOlJszmV2rM="; leaveDotGit = true; postFetch = '' git -C $out rev-parse HEAD > $out/.git_head From c2aa33708c623e8d69f18f9d94090c076ae12050 Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 21 Jan 2026 14:37:24 +0000 Subject: [PATCH 0663/1216] fastfetch: 2.57.1 -> 2.58.0 Changelog: https://github.com/fastfetch-cli/fastfetch/releases/tag/2.58.0 Diff: https://github.com/fastfetch-cli/fastfetch/compare/2.57.1...2.58.0 --- pkgs/by-name/fa/fastfetch/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix index fb8a7ea1f23d..98dee9336f1f 100644 --- a/pkgs/by-name/fa/fastfetch/package.nix +++ b/pkgs/by-name/fa/fastfetch/package.nix @@ -59,13 +59,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "fastfetch"; - version = "2.57.1"; + version = "2.58.0"; src = fetchFromGitHub { owner = "fastfetch-cli"; repo = "fastfetch"; tag = finalAttrs.version; - hash = "sha256-svv6JPRgiXzzjL/CjtEybo0A1B8jr1K0xRO9lCBj1J4="; + hash = "sha256-kWMR2qtwgzpYZmbqkpNkII6MuMFb13jkBtI/1pdgSgE="; }; outputs = [ From 4db10e8223ee3e26e1336c3029f33e9ef92c6a15 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 20 Jan 2026 23:26:41 +0000 Subject: [PATCH 0664/1216] python3Packages.wandb: 0.21.4 -> 0.24.0 Diff: https://github.com/wandb/wandb/compare/v0.21.4...v0.24.0 Changelog: https://github.com/wandb/wandb/raw/v0.24.0/CHANGELOG.md --- .../python-modules/wandb/default.nix | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index e7b2ef517b11..56aa5a429995 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -2,10 +2,12 @@ lib, stdenv, fetchFromGitHub, + pythonAtLeast, ## wandb-core - buildGo125Module, + buildGoModule, gitMinimal, + writableTmpDirAsHomeHook, versionCheckHook, ## gpu-stats @@ -20,11 +22,9 @@ # dependencies click, - docker-pycreds, gitpython, platformdirs, protobuf, - psutil, pydantic, pyyaml, requests, @@ -72,16 +72,15 @@ torch, torchvision, tqdm, - writableTmpDirAsHomeHook, }: let - version = "0.21.4"; + version = "0.24.0"; src = fetchFromGitHub { owner = "wandb"; repo = "wandb"; tag = "v${version}"; - hash = "sha256-1l68nU/rmYg/Npg1EVraGr2tu/lkNAo9M7Q0IyckEoc="; + hash = "sha256-dICa/sIFEHI59gJxrvWyI9Uc3rbwXi+Xh60O/hElZh0="; }; gpu-stats = rustPlatform.buildRustPackage { @@ -108,7 +107,7 @@ let }; }; - wandb-core = buildGo125Module rec { + wandb-core = buildGoModule rec { pname = "wandb-core"; inherit src version; @@ -126,6 +125,7 @@ let nativeBuildInputs = [ gitMinimal + writableTmpDirAsHomeHook ]; nativeInstallCheckInputs = [ @@ -151,7 +151,7 @@ let }; in -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "wandb"; pyproject = true; @@ -193,11 +193,9 @@ buildPythonPackage rec { dependencies = [ click - docker-pycreds gitpython platformdirs protobuf - psutil pydantic pyyaml requests @@ -382,16 +380,19 @@ buildPythonPackage rec { # Breaks in sandbox: "Timed out waiting for wandb service to start" "test_setup_offline" + ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # AttributeError: '...' object has no attribute '__annotations__' + "test_watch_graph_torch_jit" + "test_watch_parameters_torch_jit" ]; - pythonImportsCheck = [ "wandb" ]; - meta = { description = "CLI and library for interacting with the Weights and Biases API"; homepage = "https://github.com/wandb/wandb"; - changelog = "https://github.com/wandb/wandb/raw/v${version}/CHANGELOG.md"; + changelog = "https://github.com/wandb/wandb/raw/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ samuela ]; broken = gpu-stats.meta.broken || wandb-core.meta.broken; }; -} +}) From b95c92c96c823c8f8f9cb1bd11515a967d0307d1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 00:07:45 +0000 Subject: [PATCH 0665/1216] python3Packages.lerobot: 0.4.0 -> 0.4.2 Diff: https://github.com/huggingface/lerobot/compare/v0.4.0...v0.4.2 Changelog: https://github.com/huggingface/lerobot/releases/tag/v0.4.2 --- .../python-modules/lerobot/default.nix | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/lerobot/default.nix b/pkgs/development/python-modules/lerobot/default.nix index a49cb26b1ec1..4a3783819b24 100644 --- a/pkgs/development/python-modules/lerobot/default.nix +++ b/pkgs/development/python-modules/lerobot/default.nix @@ -34,18 +34,19 @@ # tests pytestCheckHook, writableTmpDirAsHomeHook, + pytest-timeout, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "lerobot"; - version = "0.4.0"; + version = "0.4.2"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "lerobot"; - tag = "v${version}"; - hash = "sha256-RVe1X0qBPm+okO3Gi/UdkuvuX0m4RlbhIs+NJLlC9wU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-qBbXFvVQ+cESBrNy8NIoT6GR6dqzeLbRNe3JmcpiiTw="; }; # ValueError: mutable default for field value is not allowed: use default_factory @@ -67,12 +68,12 @@ buildPythonPackage rec { pythonRelaxDeps = [ "av" - "datasets" "draccus" "gymnasium" "rerun-sdk" "torch" "torchvision" + "wandb" ]; dependencies = [ @@ -109,6 +110,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook writableTmpDirAsHomeHook + pytest-timeout ]; disabledTests = [ @@ -124,6 +126,9 @@ buildPythonPackage rec { "test_dataset_initialization" "test_factory" "test_from_pretrained_nonexistent_path" + "test_load_config_nonexistent_path_tries_hub" + "test_make_env_from_hub_async" + "test_make_env_from_hub_with_trust" "test_policy_defaults" "test_save_and_load_pretrained" @@ -149,18 +154,24 @@ buildPythonPackage rec { # Regex: "Can't instantiate abstract class NonCallableStep with abstract method __call_" # Input: "Can't instantiate abstract class NonCallableStep without an implementation for abstract method '__call__'" "test_construction_rejects_step_without_call" + + # TypeError: 'NoneType' object is not subscriptable + "test_pi0_rtc_inference_with_prev_chunk" ]; disabledTestPaths = [ # Sometimes hang forever on some CPU models "tests/policies/test_sac_policy.py" + + # Sometimes hang forever + "tests/policies/rtc/test_modeling_rtc.py" ]; meta = { description = "Making AI for Robotics more accessible with end-to-end learning"; homepage = "https://github.com/huggingface/lerobot"; - changelog = "https://github.com/huggingface/lerobot/releases/tag/v${version}"; + changelog = "https://github.com/huggingface/lerobot/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) From f97194c7ae4df32dcf5468983773f710f7aaf56d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 15:00:29 +0000 Subject: [PATCH 0666/1216] complgen: 0.7.0 -> 0.7.1 --- pkgs/by-name/co/complgen/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/complgen/package.nix b/pkgs/by-name/co/complgen/package.nix index 8ba5d924072b..077bf1f8d3e1 100644 --- a/pkgs/by-name/co/complgen/package.nix +++ b/pkgs/by-name/co/complgen/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "complgen"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "adaszko"; repo = "complgen"; tag = "v${finalAttrs.version}"; - hash = "sha256-GUI18RFVIBUu3DA6oVs1BWcsxGzctA68z8PamqJ5aus="; + hash = "sha256-fHSDYrfCoLQ4tU1DbrpD3iApufBv5qAGTIFri229pyE="; }; - cargoHash = "sha256-XbrWp1+z7VTD4ggh9+tG3fqXWOD1nYSeNzViHqmOmWg="; + cargoHash = "sha256-a6bGE2xxv8IdKlo98X8KNeQl8e//dc9pfaBgGHhx+5M="; meta = { changelog = "https://github.com/adaszko/complgen/blob/v${finalAttrs.version}/CHANGELOG.md"; From 68e2df0d951487840bb9cab3e68de7ac83eaaeeb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 15:01:23 +0000 Subject: [PATCH 0667/1216] cloudlist: 1.2.2 -> 1.3.0 --- pkgs/by-name/cl/cloudlist/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/cloudlist/package.nix b/pkgs/by-name/cl/cloudlist/package.nix index 43f2eea7fa7e..6ab016c85db9 100644 --- a/pkgs/by-name/cl/cloudlist/package.nix +++ b/pkgs/by-name/cl/cloudlist/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "cloudlist"; - version = "1.2.2"; + version = "1.3.0"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "cloudlist"; tag = "v${version}"; - hash = "sha256-xCGGyPfD6cQgVTowh8ZO9Ak3xH5Hct51Vm18FJWLF1E="; + hash = "sha256-Tm2gqRZxfeu5gOndVeeFU9HCePpXyx/G73VzVuJRRzY="; }; - vendorHash = "sha256-PW9Yu8d5PPIL6cc692N8e5qO73drEgfu7JrVeihggcs="; + vendorHash = "sha256-LkjJrxrK1N+6v6ilMT68lu21B3NemxdquMIA5e8r1a0="; subPackages = [ "cmd/cloudlist/" ]; From 5d4365c7a52756cb4776bc894f7c195818bd89a8 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 21 Jan 2026 16:09:30 +0100 Subject: [PATCH 0668/1216] linux/common-config: remove obsolete hack Tested that 6.18 and 6.19 now build without this. --- pkgs/os-specific/linux/kernel/common-config.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 6c071d109a41..cfbe9dac4eb4 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -563,10 +563,6 @@ let # Enable CEC over DisplayPort DRM_DP_CEC = whenOlder "6.10" yes; DRM_DISPLAY_DP_AUX_CEC = whenAtLeast "6.10" yes; - - # Required for Nova - # FIXME: remove after https://gitlab.freedesktop.org/drm/rust/kernel/-/commit/3d3352e73a55a4ccf110f8b3419bbe2fbfd8a030 lands - RUST_FW_LOADER_ABSTRACTIONS = lib.mkIf withRust (whenAtLeast "6.12" yes); } // lib.optionalAttrs From 00bdc81d087d3fac7fc53a4980f8b07571fe8d31 Mon Sep 17 00:00:00 2001 From: axolord <24368475+Axolord@users.noreply.github.com> Date: Sun, 14 Dec 2025 15:06:48 +0100 Subject: [PATCH 0669/1216] quickemu: 4.9.7 -> 4.9.7-unstable-2025-12-28 fixes many bugs, especially related to windows guests. quickemu has not tagged a new version in quite some time and guides users to "just use the current commit". See https://github.com/quickemu-project/quickemu/issues/1698 for more information. --- pkgs/by-name/qu/quickemu/package.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/qu/quickemu/package.nix b/pkgs/by-name/qu/quickemu/package.nix index 7048dacba1f4..a9cd5bf9e163 100644 --- a/pkgs/by-name/qu/quickemu/package.nix +++ b/pkgs/by-name/qu/quickemu/package.nix @@ -1,7 +1,6 @@ { lib, fetchFromGitHub, - fetchpatch, stdenv, makeWrapper, gitUpdater, @@ -58,23 +57,15 @@ in stdenv.mkDerivation (finalAttrs: { pname = "quickemu"; - version = "4.9.7"; + version = "4.9.7-unstable-2025-12-28"; src = fetchFromGitHub { owner = "quickemu-project"; repo = "quickemu"; - rev = finalAttrs.version; - hash = "sha256-sCoCcN6950pH33bRZsLoLc1oSs5Qfpj9Bbywn/uA6Bc="; + rev = "7ea4e95508a7898bc63c3b5e1588066184d4c79b"; + hash = "sha256-pj6YQc7e4I6XvGq/uGGq2z/UhAs3ZeKrsJd8oLWjauA="; }; - patches = [ - (fetchpatch { - name = "correctly-handle-version-10.0.0-of-qemu.patch"; - url = "https://github.com/quickemu-project/quickemu/commit/f25205f4513c4fa72be6940081c62e613d1fddc6.patch"; - hash = "sha256-OAXGyhMVDwbUypEPj/eRnH0wZYaL9WLGjbyoobe20UY="; - }) - ]; - postPatch = '' sed -i \ -e '/OVMF_CODE_4M.secboot.fd/s|ovmfs=(|ovmfs=("${OVMFFull.firmware}","${OVMFFull.variables}" |' \ From 6459780d56e6be3b89bee30b598210b9a4a4a0f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 15:10:38 +0000 Subject: [PATCH 0670/1216] cargo-codspeed: 4.2.1 -> 4.3.0 --- pkgs/by-name/ca/cargo-codspeed/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-codspeed/package.nix b/pkgs/by-name/ca/cargo-codspeed/package.nix index 61d2fdfb6143..b0a4afe6efaa 100644 --- a/pkgs/by-name/ca/cargo-codspeed/package.nix +++ b/pkgs/by-name/ca/cargo-codspeed/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-codspeed"; - version = "4.2.1"; + version = "4.3.0"; src = fetchFromGitHub { owner = "CodSpeedHQ"; repo = "codspeed-rust"; tag = "v${finalAttrs.version}"; - hash = "sha256-ljq9d9T3Cx5hDAjP4dbhSnbCYaU1KB42aDhQvRyI7Ws="; + hash = "sha256-aOuKz7LEQU9hqJUw0M759A4zk8+9UhiMAnO7OwBc+T0="; }; - cargoHash = "sha256-ryKZyl5CuxFsX1dLadJnCyorssVoD2w5kueKDJP80qU="; + cargoHash = "sha256-K1xm8Kw7TMspFmqvW4qRf4QXddarw3eUDTIuwbg1pGA="; nativeBuildInputs = [ curl From 1c5d27d3aeb2dcde4eb72af6d42a0b545a3c71b4 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 2 Dec 2025 17:01:01 +0200 Subject: [PATCH 0671/1216] spotifycli: init at 2.1.0 https://github.com/doronbehar/spotifycli --- pkgs/by-name/sp/spotifycli/package.nix | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/by-name/sp/spotifycli/package.nix diff --git a/pkgs/by-name/sp/spotifycli/package.nix b/pkgs/by-name/sp/spotifycli/package.nix new file mode 100644 index 000000000000..afdcb100d5dc --- /dev/null +++ b/pkgs/by-name/sp/spotifycli/package.nix @@ -0,0 +1,40 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: + +buildGoModule (finalAttrs: { + pname = "spotifycli"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "doronbehar"; + repo = "spotifycli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-AJysKgk58R0LwcXO0UzpgYmflJlAIqvaiyMRP8R9xGE="; + }; + + vendorHash = "sha256-MJtOJ4ZYSspumvPnK0ANL1wvWng9Na4+IlmBCoA80Hw="; + + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd spotifycli \ + --bash <($out/bin/spotifycli completion bash) \ + --zsh <($out/bin/spotifycli completion zsh ) \ + --fish <($out/bin/spotifycli completion fish) + ''; + + meta = { + description = "CLI to manage Spotify playlists"; + homepage = "https://github.com/doronbehar/spotifycli"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ doronbehar ]; + mainProgram = "spotifycli"; + }; +}) From 9451c7bc5328a972cef3d6d48f105cb1edeb30a4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 15:30:12 +0000 Subject: [PATCH 0672/1216] python3Packages.bloodyad: 2.5.2 -> 2.5.3 --- pkgs/development/python-modules/bloodyad/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bloodyad/default.nix b/pkgs/development/python-modules/bloodyad/default.nix index 08444aa02e8e..34149bf73584 100644 --- a/pkgs/development/python-modules/bloodyad/default.nix +++ b/pkgs/development/python-modules/bloodyad/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "bloodyad"; - version = "2.5.2"; + version = "2.5.3"; pyproject = true; src = fetchFromGitHub { owner = "CravateRouge"; repo = "bloodyAD"; tag = "v${version}"; - hash = "sha256-RWh73ZlzvTn1nGjQm9Keacvgm0AP0MGCYo/fM45nsmk="; + hash = "sha256-xevh8bPTyroZEiYqG5tbcjhhxjjQWencZTV4Iy/0U28="; }; pythonRelaxDeps = [ "cryptography" ]; From bc47b38162e6a88068032f467503c554a5313c97 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 15:39:23 +0000 Subject: [PATCH 0673/1216] vimPlugins.zig-vim: 0-unstable-2025-12-07 -> 0-unstable-2026-01-16 --- .../editors/vim/plugins/non-generated/zig-vim/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/zig-vim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/zig-vim/default.nix index f984fa0e52ee..53186307e380 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/zig-vim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/zig-vim/default.nix @@ -6,14 +6,14 @@ }: vimUtils.buildVimPlugin { pname = "zig.vim"; - version = "0-unstable-2025-12-07"; + version = "0-unstable-2026-01-16"; src = fetchFromGitea { domain = "codeberg.org"; owner = "ziglang"; repo = "zig.vim"; - rev = "74bdb43c9d5da8d6b715809b79f92ef8f711df8e"; - hash = "sha256-RmrRgJ6YdExMwmua6nGv6W7DPP98k2URIaJTm+O4uR8="; + rev = "fc01f73ce0636723a03b784b63a7a89f2f9a84ae"; + hash = "sha256-bWvwb6k9jyoAqtp07UfYkyUsGo2N8Yvv7H6zq1eiwP8="; }; passthru.updateScript = nix-update-script { From 50c028684c702dacee5ad14436088d6a4a7d37fd Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Wed, 21 Jan 2026 15:39:41 +0000 Subject: [PATCH 0674/1216] rkbin: 0-unstable-2025-01-24 -> 0-unstable-2025-06-13 --- pkgs/by-name/rk/rkbin/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/rk/rkbin/package.nix b/pkgs/by-name/rk/rkbin/package.nix index 922b699b1aa6..541819239650 100644 --- a/pkgs/by-name/rk/rkbin/package.nix +++ b/pkgs/by-name/rk/rkbin/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "rkbin"; - version = "0-unstable-2025-01-24"; + version = "0-unstable-2025-06-13"; src = fetchFromGitHub { owner = "rockchip-linux"; repo = "rkbin"; - rev = "f43a462e7a1429a9d407ae52b4745033034a6cf9"; - hash = "sha256-geESfZP8ynpUz/i/thpaimYo3kzqkBX95gQhMBzNbmk="; + rev = "74213af1e952c4683d2e35952507133b61394862"; + hash = "sha256-gNCZwJd9pjisk6vmvtRNyGSBFfAYOADTa5Nd6Zk+qEk="; }; installPhase = '' @@ -23,11 +23,11 @@ stdenvNoCC.mkDerivation { ''; passthru = { - BL31_RK3568 = "${rkbin}/bin/rk35/rk3568_bl31_v1.44.elf"; - BL31_RK3588 = "${rkbin}/bin/rk35/rk3588_bl31_v1.48.elf"; + BL31_RK3568 = "${rkbin}/bin/rk35/rk3568_bl31_v1.45.elf"; + BL31_RK3588 = "${rkbin}/bin/rk35/rk3588_bl31_v1.51.elf"; TPL_RK3566 = "${rkbin}/bin/rk35/rk3566_ddr_1056MHz_v1.23.bin"; TPL_RK3568 = "${rkbin}/bin/rk35/rk3568_ddr_1056MHz_v1.23.bin"; - TPL_RK3588 = "${rkbin}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin"; + TPL_RK3588 = "${rkbin}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.19.bin"; }; meta = { From 0ea6238a428472ce830f71359e8d4f89f22e0bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 21 Jan 2026 16:45:09 +0100 Subject: [PATCH 0675/1216] mediagoblin: fix meta maintainers --- pkgs/by-name/me/mediagoblin/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/me/mediagoblin/package.nix b/pkgs/by-name/me/mediagoblin/package.nix index f9a71182c4ca..6c6269d9ce22 100644 --- a/pkgs/by-name/me/mediagoblin/package.nix +++ b/pkgs/by-name/me/mediagoblin/package.nix @@ -175,6 +175,9 @@ python.pkgs.buildPythonApplication rec { description = "Free software media publishing platform that anyone can run"; homepage = "https://mediagoblin.org/"; license = lib.licenses.agpl3Plus; - teams = with lib.maintainers; [ SuperSandro2000 ]; + maintainers = with lib.maintainers; [ + # for the C3D2 + SuperSandro2000 + ]; }; } From f0842d8ceb8c360db35716c0088d1fe5fa4a63f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 21 Jan 2026 16:45:19 +0100 Subject: [PATCH 0676/1216] mediawiki: fix meta maintainers --- pkgs/by-name/me/mediawiki/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/me/mediawiki/package.nix b/pkgs/by-name/me/mediawiki/package.nix index 44d2c3a23a54..5274b8886943 100644 --- a/pkgs/by-name/me/mediawiki/package.nix +++ b/pkgs/by-name/me/mediawiki/package.nix @@ -40,6 +40,9 @@ stdenvNoCC.mkDerivation rec { license = lib.licenses.gpl2Plus; homepage = "https://www.mediawiki.org/"; platforms = lib.platforms.all; - teams = with lib.maintainers; [ SuperSandro2000 ]; + maintainers = with lib.maintainers; [ + # for the C3D2 + SuperSandro2000 + ]; }; } From bbd588aa5a53dbad88162cfae7f20e6a4f5de2d3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 15:56:59 +0000 Subject: [PATCH 0677/1216] luau: 0.704 -> 0.705 --- pkgs/by-name/lu/luau/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lu/luau/package.nix b/pkgs/by-name/lu/luau/package.nix index 8117d0a1987c..a50a2930e7e4 100644 --- a/pkgs/by-name/lu/luau/package.nix +++ b/pkgs/by-name/lu/luau/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "luau"; - version = "0.704"; + version = "0.705"; src = fetchFromGitHub { owner = "luau-lang"; repo = "luau"; tag = finalAttrs.version; - hash = "sha256-4fqtp8iWOfqymikjT8uluuqK2//pZbZ236NJCmz+9WE="; + hash = "sha256-M0niHRtx/Xu3H5CJXbqB2VCXFsthvPDNcr29egY3ncI="; }; nativeBuildInputs = [ cmake ]; From a1f9769077bbd0c1d0413940d5729d5f0753ad5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 16:00:04 +0000 Subject: [PATCH 0678/1216] terraform-providers.vancluever_acme: 2.42.0 -> 2.43.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..525d0480f10e 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1418,11 +1418,11 @@ "vendorHash": null }, "vancluever_acme": { - "hash": "sha256-0XO19ahaRrIxg785dHb/RPBXuGWyP5y0prAN7D9w6IE=", + "hash": "sha256-Fjn1eNqB0Ye5MRg8+YsPwMBdkvsVELTzf2wvHluFzN8=", "homepage": "https://registry.terraform.io/providers/vancluever/acme", "owner": "vancluever", "repo": "terraform-provider-acme", - "rev": "v2.42.0", + "rev": "v2.43.0", "spdx": "MPL-2.0", "vendorHash": "sha256-LAM2pzTIRdspYnXboDA+iGwt7uaI+/ItXPAgOJUELps=" }, From 21a63c1acf49e719f7f0664979bdff32982a998c Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 21 Jan 2026 16:39:04 +0100 Subject: [PATCH 0679/1216] python3Packages.resvg-py: init at 0.2.6 --- .../python-modules/resvg-py/default.nix | 61 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 63 insertions(+) create mode 100644 pkgs/development/python-modules/resvg-py/default.nix diff --git a/pkgs/development/python-modules/resvg-py/default.nix b/pkgs/development/python-modules/resvg-py/default.nix new file mode 100644 index 000000000000..ce60f88d0455 --- /dev/null +++ b/pkgs/development/python-modules/resvg-py/default.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + rustPlatform, + pytest, + pyperclip, + xvfb-run, + xclip, +}: + +buildPythonPackage (finalAttrs: { + pname = "resvg-py"; + version = "0.2.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "baseplate-admin"; + repo = "resvg-py"; + tag = finalAttrs.version; + hash = "sha256-lNNAIEEzwPEs/Qup6PXkMWezGHEAVs4VxuwBv5DgjWE="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-OrXWiMIgqZ2opl3XfC2zVwN9w0xz2u08mRA883tN6pM="; + }; + + build-system = [ + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + ]; + + nativeCheckInputs = [ + pytest + pyperclip + ] + ++ lib.optionals stdenv.isLinux [ + xclip + xvfb-run + ]; + + checkPhase = '' + runHook preCheck + ${lib.optionalString stdenv.hostPlatform.isLinux "xvfb-run"} python -m pytest ${lib.optionalString stdenv.hostPlatform.isDarwin "-k \"not test_multiple_layer_svg\""} + runHook postCheck + ''; + + pythonImportsCheck = [ + "resvg_py" + ]; + + meta = { + changelog = "https://github.com/baseplate-admin/resvg-py/releases/tag/${finalAttrs.src.tag}"; + description = "High level wrapper of resvg for python"; + homepage = "https://github.com/baseplate-admin/resvg-py"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3240f13cb592..b3a484b61860 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16466,6 +16466,8 @@ self: super: with self; { result = callPackage ../development/python-modules/result { }; + resvg-py = callPackage ../development/python-modules/resvg-py { }; + rethinkdb = callPackage ../development/python-modules/rethinkdb { }; retinaface = callPackage ../development/python-modules/retinaface { }; From d43fc5e0f4b5f81a09b4d0fb4146fb37afaef943 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 21 Jan 2026 16:42:37 +0100 Subject: [PATCH 0680/1216] esphome: 2025.12.7 -> 2026.1.0 https://github.com/esphome/esphome/releases/tag/2026.1.0 --- pkgs/by-name/es/esphome/dashboard.nix | 6 +++--- pkgs/by-name/es/esphome/package.nix | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/es/esphome/dashboard.nix b/pkgs/by-name/es/esphome/dashboard.nix index 4ca493db7b3a..d292fa9657e6 100644 --- a/pkgs/by-name/es/esphome/dashboard.nix +++ b/pkgs/by-name/es/esphome/dashboard.nix @@ -13,19 +13,19 @@ buildPythonPackage rec { pname = "esphome-dashboard"; - version = "20251013.0"; + version = "20260110.0"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "dashboard"; tag = version; - hash = "sha256-PZf9YLtHqeR+5BRVv1yOMVt6NVlbJTj98ukGnO0RV0Q="; + hash = "sha256-h8g/MRfOBkiCKNTOM4I6OimsE5ljgsIMQLl1eZLfP3U="; }; npmDeps = fetchNpmDeps { inherit src; - hash = "sha256-wWDM4ODlZAjjDonzS4czdBPBaRS0Px2KUlE4AfsqNIQ="; + hash = "sha256-DkK2WG7oWHvwYflNdwOMfE0OVP2ICEGAhhTH2rix9zc="; }; build-system = [ setuptools ]; diff --git a/pkgs/by-name/es/esphome/package.nix b/pkgs/by-name/es/esphome/package.nix index 9e1dc9cd80b7..147f8c36b499 100644 --- a/pkgs/by-name/es/esphome/package.nix +++ b/pkgs/by-name/es/esphome/package.nix @@ -33,14 +33,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "2025.12.7"; + version = "2026.1.0"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "esphome"; tag = version; - hash = "sha256-KC3LbY5mU4xig3kftIuemSz/RAnJ7wZ8eSccr9BKz9Q="; + hash = "sha256-TDXOftuj0ls+1TF6LXoX2Q+PzicL0nJP+1SJHi6qvMA="; }; patches = [ @@ -95,6 +95,7 @@ python.pkgs.buildPythonApplication rec { pyparsing pyserial pyyaml + resvg-py ruamel-yaml tornado tzdata From c532c5fc816f9a0ebe2cf478d7a8d8d44a88241b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 21 Jan 2026 18:02:52 +0200 Subject: [PATCH 0681/1216] bridge-utils: add man output --- pkgs/by-name/br/bridge-utils/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/br/bridge-utils/package.nix b/pkgs/by-name/br/bridge-utils/package.nix index 1a2acae1f3f6..07b59bcc327d 100644 --- a/pkgs/by-name/br/bridge-utils/package.nix +++ b/pkgs/by-name/br/bridge-utils/package.nix @@ -27,6 +27,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; + outputs = [ + "out" + "man" + ]; + meta = { description = "Userspace tool to configure linux bridges (deprecated in favour or iproute2)"; mainProgram = "brctl"; From 50a30fb1ef1315328f09248815471eebc9c49665 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 15:58:26 +0000 Subject: [PATCH 0682/1216] python3Packages.glymur: 0.13.6 -> 0.14.4 Diff: https://github.com/quintusdias/glymur/compare/v0.13.6...v0.14.4 Changelog: https://github.com/quintusdias/glymur/blob/refs/tags/v0.14.4/CHANGES.txt --- .../python-modules/glymur/default.nix | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/pkgs/development/python-modules/glymur/default.nix b/pkgs/development/python-modules/glymur/default.nix index 10dac7a8050a..8014d12938aa 100644 --- a/pkgs/development/python-modules/glymur/default.nix +++ b/pkgs/development/python-modules/glymur/default.nix @@ -3,37 +3,39 @@ stdenv, buildPythonPackage, fetchFromGitHub, - fetchpatch, - glibc, + replaceVars, + openjpeg, libtiff, + glibc, + + # build-system + setuptools, + setuptools-scm, + + # dependencies lxml, numpy, - openjpeg, + pillow, + + # tests + addBinToPathHook, pytestCheckHook, scikit-image, - setuptools, - replaceVars, }: buildPythonPackage (finalAttrs: { pname = "glymur"; - version = "0.13.6"; + version = "0.14.4"; pyproject = true; src = fetchFromGitHub { owner = "quintusdias"; repo = "glymur"; tag = "v${finalAttrs.version}"; - hash = "sha256-tIvDhlFPpDxC3CgBDT0RN9MM8ycY+J1hjcLXzx14Zhs="; + hash = "sha256-9CvsknpvBIHe2HEqwN43RRhRxh8D0eHQ/T9W3/eVJlQ="; }; patches = [ - # Numpy 2.x compatibility, https://github.com/quintusdias/glymur/pull/675 - (fetchpatch { - name = "numpy2-compat.patch"; - url = "https://github.com/quintusdias/glymur/commit/89b159299035ebb05776c3b90278f410ca6dba64.patch"; - hash = "sha256-C/Q5WZmW5YtN3U8fxKljfqwKHtFLfR2LQ69Tj8SuIWg="; - }) (replaceVars ./set-lib-paths.patch { openjp2_lib = "${lib.getLib openjpeg}/lib/libopenjp2${stdenv.hostPlatform.extensions.sharedLibrary}"; tiff_lib = "${lib.getLib libtiff}/lib/libtiff${stdenv.hostPlatform.extensions.sharedLibrary}"; @@ -41,28 +43,31 @@ buildPythonPackage (finalAttrs: { ]; postPatch = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - substituteInPlace glymur/lib/tiff.py \ - --replace-fail "glymur_config('c')" "ctypes.CDLL('${lib.getLib glibc}/lib/libc.so.6')" + substituteInPlace glymur/lib/_tiff.py \ + --replace-fail \ + 'glymur_config("c")' \ + 'ctypes.CDLL("${lib.getLib glibc}/lib/libc.so.6")' ''; __propagatedImpureHostDeps = lib.optional stdenv.hostPlatform.isDarwin "/usr/lib/libc.dylib"; - build-system = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ lxml numpy + pillow ]; nativeCheckInputs = [ + addBinToPathHook pytestCheckHook scikit-image ]; - preCheck = '' - export PATH="$out/bin:$PATH" - ''; - disabledTestPaths = [ # this test involves glymur's different ways of finding the openjpeg path on # fsh systems by reading an .rc file and such, and is obviated by the patch @@ -74,7 +79,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Tools for accessing JPEG2000 files"; homepage = "https://github.com/quintusdias/glymur"; - changelog = "https://github.com/quintusdias/glymur/blob/${finalAttrs.src.rev}/CHANGES.txt"; + changelog = "https://github.com/quintusdias/glymur/blob/${finalAttrs.src.tag}/CHANGES.txt"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ tomasajt ]; }; From ddb9facbc713f324677b53287279b2db15c8fc4c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 16:14:36 +0000 Subject: [PATCH 0683/1216] python3Packages.parfive: fix python 3.14 compatibility --- .../development/python-modules/parfive/default.nix | 14 +++++++++----- .../parfive/fix-python-3-14-compat.patch | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/python-modules/parfive/fix-python-3-14-compat.patch diff --git a/pkgs/development/python-modules/parfive/default.nix b/pkgs/development/python-modules/parfive/default.nix index 7c506fb134d7..5c2dbb3dab69 100644 --- a/pkgs/development/python-modules/parfive/default.nix +++ b/pkgs/development/python-modules/parfive/default.nix @@ -21,18 +21,22 @@ tqdm, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "parfive"; version = "2.2.0"; + pyproject = true; src = fetchFromGitHub { owner = "Cadair"; repo = "parfive"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-DIjS2q/SOrnLspomLHk8ZJ+krdzMyQfbIpXxad30s1k="; }; - pyproject = true; + patches = [ + # SyntaxError: 'return' in a 'finally' block + ./fix-python-3-14-compat.patch + ]; build-system = [ setuptools-scm ]; @@ -72,8 +76,8 @@ buildPythonPackage rec { description = "HTTP and FTP parallel file downloader"; mainProgram = "parfive"; homepage = "https://parfive.readthedocs.io/"; - changelog = "https://github.com/Cadair/parfive/releases/tag/${src.tag}"; + changelog = "https://github.com/Cadair/parfive/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = [ lib.maintainers.sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/parfive/fix-python-3-14-compat.patch b/pkgs/development/python-modules/parfive/fix-python-3-14-compat.patch new file mode 100644 index 000000000000..c4be169bf6dd --- /dev/null +++ b/pkgs/development/python-modules/parfive/fix-python-3-14-compat.patch @@ -0,0 +1,14 @@ +diff --git a/parfive/downloader.py b/parfive/downloader.py +index 7a4116b..370ea78 100644 +--- a/parfive/downloader.py ++++ b/parfive/downloader.py +@@ -317,8 +317,7 @@ class Downloader: + task.cancel() + dl_results = await asyncio.gather(*tasks, return_exceptions=True) + +- finally: +- return self._format_results(dl_results, main_pb) ++ return self._format_results(dl_results, main_pb) + + def _format_results(self, retvals, main_pb): + # Squash all nested lists into a single flat list From 9bac056a72c7f3dfbd4ed7c13bf17cb239bb735a Mon Sep 17 00:00:00 2001 From: WilliButz Date: Tue, 16 Dec 2025 12:04:04 +0100 Subject: [PATCH 0684/1216] nixos/systemd: expose factory-reset units --- nixos/modules/system/boot/systemd.nix | 7 +++++++ nixos/modules/system/boot/systemd/initrd.nix | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 7fb5c2259062..7a606afcdd9d 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -213,6 +213,12 @@ let # Capsule support "capsule@.service" "capsule.slice" + + # Factory reset + "factory-reset.target" + "systemd-factory-reset-request.service" + "systemd-factory-reset-reboot.service" + "systemd-tpm2-clear.service" ] ++ cfg.additionalUpstreamSystemUnits; @@ -222,6 +228,7 @@ let "local-fs.target.wants" "multi-user.target.wants" "timers.target.wants" + "factory-reset.target.wants" ]; proxy_env = config.networking.proxy.envVars; diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index 53a73641f245..0c20432e58f4 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -65,6 +65,8 @@ let "syslog.socket" "systemd-ask-password-console.path" "systemd-ask-password-console.service" + "systemd-factory-reset-complete.service" + "factory-reset-now.target" "systemd-fsck@.service" "systemd-halt.service" "systemd-hibernate-resume.service" @@ -555,6 +557,7 @@ in "${cfg.package}/lib/systemd/systemd-sysctl" "${cfg.package}/lib/systemd/systemd-bsod" "${cfg.package}/lib/systemd/systemd-sysroot-fstab-check" + "${cfg.package}/lib/systemd/systemd-factory-reset" # generators "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator" @@ -562,6 +565,7 @@ in "${cfg.package}/lib/systemd/system-generators/systemd-gpt-auto-generator" "${cfg.package}/lib/systemd/system-generators/systemd-hibernate-resume-generator" "${cfg.package}/lib/systemd/system-generators/systemd-run-generator" + "${cfg.package}/lib/systemd/system-generators/systemd-factory-reset-generator" # utilities needed by systemd "${cfg.package.util-linux}/bin/mount" From fc1a08753174c4c5e3ea0d8b7b470e3ca2e95f0a Mon Sep 17 00:00:00 2001 From: WilliButz Date: Mon, 19 Jan 2026 17:48:34 +0100 Subject: [PATCH 0685/1216] nixos/tests/systemd-repart: add test for factory reset --- nixos/tests/systemd-repart.nix | 102 +++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/nixos/tests/systemd-repart.nix b/nixos/tests/systemd-repart.nix index 96a33633dc46..01faf69d6a51 100644 --- a/nixos/tests/systemd-repart.nix +++ b/nixos/tests/systemd-repart.nix @@ -277,4 +277,106 @@ in assert "Adding new partition 2 to partition table." in systemd_repart_logs ''; }; + + factory-reset = makeTest { + name = "systemd-repart-factory-reset"; + meta.maintainers = with maintainers; [ willibutz ]; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ common ]; + + virtualisation = { + useEFIBoot = true; + tpm.enable = true; + efi.OVMF = pkgs.OVMFFull; + useDefaultFilesystems = false; + fileSystems = { + "/state" = { + device = "/dev/mapper/state"; + fsType = "ext4"; + }; + }; + }; + + boot = { + loader.systemd-boot.enable = true; + + initrd = { + systemd = { + enable = true; + # avoids reaching cryptsetup.target before recreation of the + # "state" volume completed, during the factory reset + services.systemd-repart.before = [ + "systemd-cryptsetup@state.service" + ]; + repart = { + enable = true; + extraArgs = [ + "--tpm2-pcrs=platform-code" + ]; + }; + }; + luks.devices = lib.mkVMOverride { + state = { + device = "/dev/disk/by-partlabel/state"; + crypttabExtraOpts = [ "tpm2-device=auto" ]; + }; + }; + }; + }; + + systemd.repart.partitions = { + "10-esp".Type = "esp"; + "20-root".Type = "linux-generic"; + "30-state" = { + Type = "linux-generic"; + Label = "state"; + Format = "ext4"; + Encrypt = "tpm2"; + SizeMinBytes = "64M"; + SizeMaxBytes = "64M"; + FactoryReset = true; + }; + }; + + # doesn't actually reboot through the service because otherwise the test + # instrumentation becomes very unreliable, instead uses machine.reboot() + systemd.services.systemd-factory-reset-reboot.enable = false; + }; + + testScript = + { nodes, ... }: + # python + '' + ${useDiskImage { + inherit (nodes) machine; + sizeDiff = "+64M"; + }} + + machine.start(allow_reboot=True) + machine.wait_for_unit("default.target") + + first_uuid = machine.succeed("blkid -s UUID -o value /dev/disk/by-label/state") + + machine.succeed("mountpoint /state") + machine.succeed("touch /state/foo") + + with subtest("factory reset requested through target"): + machine.systemctl("start factory-reset.target") + + # reboot manually to keep control over test vm + machine.reboot() + machine.wait_for_unit("default.target") + + with subtest("state partition recreated and empty after reset"): + second_uuid = machine.succeed("blkid -s UUID -o value /dev/disk/by-label/state") + t.assertNotEqual(first_uuid, second_uuid) + + machine.succeed("mountpoint /state") + machine.fail("test -e /state/foo") + ''; + }; + } From 42fbcc277f39a64e53a8bd2cad9c429f5a8d58d8 Mon Sep 17 00:00:00 2001 From: Stas Lyakhov Date: Wed, 21 Jan 2026 16:23:50 +0000 Subject: [PATCH 0686/1216] chipsec: migrate package to pkgs/by-name --- pkgs/{tools/security => by-name/ch}/chipsec/log-path.diff | 0 .../chipsec/default.nix => by-name/ch/chipsec/package.nix} | 0 pkgs/top-level/all-packages.nix | 5 ----- pkgs/top-level/linux-kernels.nix | 2 +- 4 files changed, 1 insertion(+), 6 deletions(-) rename pkgs/{tools/security => by-name/ch}/chipsec/log-path.diff (100%) rename pkgs/{tools/security/chipsec/default.nix => by-name/ch/chipsec/package.nix} (100%) diff --git a/pkgs/tools/security/chipsec/log-path.diff b/pkgs/by-name/ch/chipsec/log-path.diff similarity index 100% rename from pkgs/tools/security/chipsec/log-path.diff rename to pkgs/by-name/ch/chipsec/log-path.diff diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/by-name/ch/chipsec/package.nix similarity index 100% rename from pkgs/tools/security/chipsec/default.nix rename to pkgs/by-name/ch/chipsec/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 58207a8984a4..bab62fed9a53 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1522,11 +1522,6 @@ with pkgs; certipy = with python3Packages; toPythonApplication certipy-ad; - chipsec = callPackage ../tools/security/chipsec { - kernel = null; - withDriver = false; - }; - fedora-backgrounds = recurseIntoAttrs (callPackage ../data/misc/fedora-backgrounds { }); coconut = with python312Packages; toPythonApplication coconut; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 96a9f223aa00..43335fb607bd 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -373,7 +373,7 @@ in ch9344 = callPackage ../os-specific/linux/ch9344 { }; - chipsec = callPackage ../tools/security/chipsec { + chipsec = callPackage ../by-name/ch/chipsec/package.nix { inherit kernel; withDriver = true; }; From d501e848032e5204dba4407e7fb9e1761c9ca064 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 16:16:10 +0000 Subject: [PATCH 0687/1216] python3Packages.sunpy: 7.0.2 -> 7.1.0 Diff: https://github.com/sunpy/sunpy/compare/v7.0.2...v7.1.0 --- .../python-modules/sunpy/default.nix | 141 ++++++++++-------- 1 file changed, 76 insertions(+), 65 deletions(-) diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix index 32c14b3dcc01..53e83a5e27e8 100644 --- a/pkgs/development/python-modules/sunpy/default.nix +++ b/pkgs/development/python-modules/sunpy/default.nix @@ -1,74 +1,80 @@ { lib, - asdf, - asdf-astropy, - astropy, - beautifulsoup4, buildPythonPackage, - contourpy, - dask, - drms, - extension-helpers, fetchFromGitHub, - fsspec, - glymur, - h5netcdf, - h5py, - hypothesis, - lxml, - matplotlib, + + # build-system + extension-helpers, numpy, - opencv-python, - packaging, - pandas, - parfive, - pyerfa, - pytest-astropy, - pytestCheckHook, - pytest-mock, - python-dateutil, - pythonOlder, - reproject, - requests, - scikit-image, - scipy, setuptools, setuptools-scm, + + # dependencies + astropy, + fsspec, + packaging, + parfive, + pyerfa, + requests, + + # optional-dependencies + # asdf + asdf, + asdf-astropy, + # dask + dask, + # image + scipy, + # jpeg + glymur, + lxml, + # jupyter + itables, + ipywidgets, + # map + contourpy, + matplotlib, + reproject, + # net + beautifulsoup4, + drms, + python-dateutil, tqdm, - writableTmpDirAsHomeHook, zeep, + # opencv + opencv-python, + # scikit-image + scikit-image, + # timeseries + h5netcdf, + h5py, + pandas, + + # tests + hypothesis, + pytest-astropy, + pytest-mock, + pytestCheckHook, + writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sunpy"; - version = "7.0.2"; + version = "7.1.0"; pyproject = true; - disabled = pythonOlder "3.11"; - src = fetchFromGitHub { owner = "sunpy"; repo = "sunpy"; - tag = "v${version}"; - hash = "sha256-1LT6Dr9OZYIZkOICSYD8lt5v3Gn1gZGN4GWeJL6IH5w="; + tag = "v${finalAttrs.version}"; + hash = "sha256-FeKmg3dZfbbjt1lDliF4uXf8PvM3J5HWtYqKRriJ4l0="; }; - # As of 2025-10-15, this requires numpy >=1.25.0,<2.3. - # (The >=1.25.0 constraint is in dependencies, the <2.3 in build-system) - # We can't use 1.x because it's not supported on Python 3.13+. - # And since numpy 2.x is at 2.3.2, it's not supported. - # However, the upper bound is "for matching the numpy deprecation policy", - # so relaxing it should be OK. (It silently was overridden previously, - # due to the use of `format = "setuptools"` instead of `pyproject = true`) - postPatch = '' - substituteInPlace pyproject.toml --replace-fail "numpy>=2.0.0rc1,<2.3" "numpy" - ''; - build-system = [ extension-helpers + numpy setuptools setuptools-scm # Technically needs setuptools-scm[toml], but that's our default. - numpy ]; dependencies = [ @@ -82,7 +88,7 @@ buildPythonPackage rec { ] ++ parfive.optional-dependencies.ftp; - optional-dependencies = { + optional-dependencies = lib.fix (self: { asdf = [ asdf asdf-astropy @@ -93,6 +99,10 @@ buildPythonPackage rec { glymur lxml ]; + jupyter = [ + itables + ipywidgets + ]; map = [ contourpy matplotlib @@ -125,30 +135,30 @@ buildPythonPackage rec { # We can't use `with` here because "map" would still be the builtin, and # we can't below because scikit-image would still be this package's argument. core = lib.concatLists [ - optional-dependencies.image - optional-dependencies.map - optional-dependencies.net - optional-dependencies.timeseries - optional-dependencies.visualization + self.image + self.map + self.net + self.timeseries + self.visualization ]; all = lib.concatLists [ - optional-dependencies.core - optional-dependencies.asdf - optional-dependencies.jpeg2000 - optional-dependencies.opencv + self.core + self.asdf + self.jpeg2000 + self.opencv # optional-dependencies.spice - optional-dependencies.scikit-image + self.scikit-image ]; - }; + }); nativeCheckInputs = [ hypothesis pytest-astropy - pytestCheckHook pytest-mock + pytestCheckHook writableTmpDirAsHomeHook ] - ++ optional-dependencies.all; + ++ finalAttrs.passthru.optional-dependencies.all; disabledTests = [ "rst" # Docs @@ -156,6 +166,7 @@ buildPythonPackage rec { "test_find_dependencies" # Needs cdflib # Needs mpl-animators "sunpy.coordinates.utils.GreatArc" + "test_cutout_not_on_disk_when_tracking" "test_expand_list_generator_map" "test_great_arc_different_observer" "test_great_arc_points_differentiates" @@ -196,14 +207,14 @@ buildPythonPackage rec { "sunpy/coordinates/tests/test_spice.py" ]; - pytestFlags = [ "-Wignore::DeprecationWarning" ]; - pythonImportsCheck = [ "sunpy" ]; meta = { description = "Python for Solar Physics"; homepage = "https://sunpy.org"; + downloadPage = "github.com/sunpy/sunpy"; + changelog = "https://docs.sunpy.org/en/stable/whatsnew/changelog.html"; license = lib.licenses.bsd2; maintainers = [ ]; }; -} +}) From db922aa40b70388a7e5fbb7092e759cc91a0350a Mon Sep 17 00:00:00 2001 From: Stas Lyakhov Date: Wed, 21 Jan 2026 16:27:38 +0000 Subject: [PATCH 0688/1216] chipsec: 1.13.17 -> 1.13.19 --- pkgs/by-name/ch/chipsec/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ch/chipsec/package.nix b/pkgs/by-name/ch/chipsec/package.nix index d5e53541d06f..45345a756c21 100644 --- a/pkgs/by-name/ch/chipsec/package.nix +++ b/pkgs/by-name/ch/chipsec/package.nix @@ -11,14 +11,14 @@ python3.pkgs.buildPythonApplication rec { pname = "chipsec"; - version = "1.13.17"; + version = "1.13.19"; pyproject = true; src = fetchFromGitHub { owner = "chipsec"; repo = "chipsec"; tag = version; - hash = "sha256-8QiFIk9bq/yX26jw9aOd6wtt+WDUwfLBUVD5hL30RKE="; + hash = "sha256-QJDoUnmZhKimgVnKCarc70b1OZAF3uIKqefuXjD7dOg="; }; patches = [ From e075f892c3d55c181ad464de4b86797a7a50de3e Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 21 Jan 2026 17:31:29 +0100 Subject: [PATCH 0689/1216] nixos/release-notes: warn of pdns-recursor.old-settings removal --- nixos/doc/manual/release-notes/rl-2505.section.md | 8 ++++---- nixos/doc/manual/release-notes/rl-2605.section.md | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index cbaf33c5ed40..3b8575bff47e 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -275,11 +275,11 @@ Alongside many enhancements to NixOS modules and general system improvements, th and thus doesn't qualify as default. - PowerDNS Recursor has been updated to version 5.1.2, which comes with a new YAML configuration format (`recursor.yml`) - and deprecates the previous format (`recursor.conf`). Accordingly, the NixOS option `services.pdns-recursor.settings` - has been renamed to [old-settings](#opt-services.pdns-recursor.old-settings) and will be provided for backward compatibility - until the next NixOS release. Users are asked to migrate their settings to the new [yaml-settings](#opt-services.pdns-recursor.old-settings) + and deprecates the previous format (`recursor.conf`). Accordingly, the NixOS option {option}`services.pdns-recursor.settings` + has been renamed to `old-settings` and will be provided for backward compatibility + until the next NixOS release. Users are asked to migrate their settings to the new `yaml-settings`. option following this [guide](https://doc.powerdns.com/recursor/appendices/yamlconversion.html). - Note that options other than `services.pdns-recursor.settings` are unaffacted by this change. + Note that options other than {option}`services.pdns-recursor.settings` are unaffacted by this change. - The `virtualisation.hypervGuest.videoMode` option has been removed. Standard tooling can now be used to configure display modes for Hyper-V VMs. diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index d29cb9aa49dc..87267314e9f4 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -97,6 +97,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - `pdns` has been updated to version [v5.0.x](https://doc.powerdns.com/authoritative/changelog/5.0.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-5-0-0) for details. +- In the PowerDNS Recursor module, following the deprecation period started with NixOS 25.05, the option {option}`services.pdns-recursor.old-settings` has been removed and {option}`services.pdns-recursor.yaml-settings` consequently renamed to [](#opt-services.pdns-recursor.settings). + - `services.angrr` now uses TOML for configuration. Define policies with `services.angrr.settings` (generate TOML file) or point to a file using `services.angrr.configFile`. The legacy options `services.angrr.period`, `services.angrr.ownedOnly`, and `services.angrr.removeRoot` have been removed. See `man 5 angrr` and the description of `services.angrr.settings` options for examples and details. - `services.pingvin-share` has been removed as the `pingvin-share.backend` package was broken and the project was archived upstream. From 57e6651df1a53018580d17cfca71986d1ef7a6f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 16:34:27 +0000 Subject: [PATCH 0690/1216] kiro: 0.8.86 -> 0.8.140 --- pkgs/by-name/ki/kiro/package.nix | 2 +- pkgs/by-name/ki/kiro/sources.json | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ki/kiro/package.nix b/pkgs/by-name/ki/kiro/package.nix index 223487c071a7..41235eda4bc1 100644 --- a/pkgs/by-name/ki/kiro/package.nix +++ b/pkgs/by-name/ki/kiro/package.nix @@ -15,7 +15,7 @@ in inherit useVSCodeRipgrep; commandLineArgs = extraCommandLineArgs; - version = "0.8.86"; + version = "0.8.140"; pname = "kiro"; # You can find the current VSCode version in the About dialog: diff --git a/pkgs/by-name/ki/kiro/sources.json b/pkgs/by-name/ki/kiro/sources.json index d4def8e00728..83f8a860d358 100644 --- a/pkgs/by-name/ki/kiro/sources.json +++ b/pkgs/by-name/ki/kiro/sources.json @@ -1,14 +1,14 @@ { "x86_64-linux": { - "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.8.86/tar/kiro-ide-0.8.86-stable-linux-x64.tar.gz", - "hash": "sha256-Qa8Yy6pHDk2id9749HY068sEulhIV1CcQYjo3P7XRNg=" + "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.8.140/tar/kiro-ide-0.8.140-stable-linux-x64.tar.gz", + "hash": "sha256-nF4i7hSRMEvDCQ9b4rfU5X2M5x76kU6tEfxbo36vBFY=" }, "x86_64-darwin": { - "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.8.86/kiro-ide-0.8.86-stable-darwin-x64.dmg", - "hash": "sha256-fyuvVj4gbAVRKwHF8qkSSV7E3HcPBIKkPGhY3C2NRlc=" + "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.8.140/kiro-ide-0.8.140-stable-darwin-x64.dmg", + "hash": "sha256-1Pqos729ShVUop1BjYzYOxo3v5Qyige896qMulWmpqE=" }, "aarch64-darwin": { - "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.8.86/kiro-ide-0.8.86-stable-darwin-arm64.dmg", - "hash": "sha256-HVq0b7oe2Ly2At4emLwSQCoWNpiOBnpS0uOSlwn9BMo=" + "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.8.140/kiro-ide-0.8.140-stable-darwin-arm64.dmg", + "hash": "sha256-kDcyVJIezj4ZfID2lsnMzZgfb+J8b6u0egAu6lPaiP8=" } } From 31e093d3b0ed6702fe682e82916f212f6fb0d440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 21 Jan 2026 17:28:07 +0100 Subject: [PATCH 0691/1216] stdenv-bootstrap-tools: coreutils might miss bin/runcon This fixes the build, tested nix build -f pkgs/top-level/release.nix stdenvBootstrapTools.x86_64-unknown-linux-gnu.test https://hydra.nixos.org/build/319154291/nixlog/8/tail https://github.com/NixOS/nixpkgs/pull/460517#issuecomment-3779280430 --- pkgs/stdenv/darwin/stdenv-bootstrap-tools.nix | 2 +- pkgs/stdenv/linux/stdenv-bootstrap-tools.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/darwin/stdenv-bootstrap-tools.nix b/pkgs/stdenv/darwin/stdenv-bootstrap-tools.nix index 46c463bf4884..2a83899d77cc 100644 --- a/pkgs/stdenv/darwin/stdenv-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/stdenv-bootstrap-tools.nix @@ -128,7 +128,7 @@ stdenv.mkDerivation (finalAttrs: { # Copy coreutils, bash, etc. cp ${getBin coreutils_}/bin/* $out/bin - (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users) + (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk shuf who whoami shred users && rm -f runcon) cp -d ${getBin bashNonInteractive}/bin/{ba,}sh $out/bin cp -d ${getBin diffutils}/bin/* $out/bin diff --git a/pkgs/stdenv/linux/stdenv-bootstrap-tools.nix b/pkgs/stdenv/linux/stdenv-bootstrap-tools.nix index e4f1ae734205..eb052a915ba2 100644 --- a/pkgs/stdenv/linux/stdenv-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/stdenv-bootstrap-tools.nix @@ -108,7 +108,7 @@ stdenv.mkDerivation (finalAttrs: { + '' # Copy coreutils, bash, etc. cp -d ${coreutilsMinimal.out}/bin/* $out/bin - (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users) + (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk shuf who whoami shred users && rm -f runcon) cp ${bashNonInteractive.out}/bin/bash $out/bin cp ${findutils.out}/bin/find $out/bin From a72b3aee328ceae5b8e61b2259463a9095923bbf Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Wed, 21 Jan 2026 17:42:30 +0100 Subject: [PATCH 0692/1216] python3Packages.ypy-websocket: drop This package was archived upstream [1]. [1] https://github.com/y-crdt/ypy-websocket --- .../python-modules/jupyter-ydoc/default.nix | 6 +- .../python-modules/ypy-websocket/default.nix | 68 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 - 4 files changed, 4 insertions(+), 73 deletions(-) delete mode 100644 pkgs/development/python-modules/ypy-websocket/default.nix diff --git a/pkgs/development/python-modules/jupyter-ydoc/default.nix b/pkgs/development/python-modules/jupyter-ydoc/default.nix index 89426c8b90e1..421e16fbe59d 100644 --- a/pkgs/development/python-modules/jupyter-ydoc/default.nix +++ b/pkgs/development/python-modules/jupyter-ydoc/default.nix @@ -12,8 +12,8 @@ pytestCheckHook, # tests + pycrdt-websocket, websockets, - ypy-websocket, }: buildPythonPackage rec { @@ -39,8 +39,8 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + pycrdt-websocket websockets - ypy-websocket ]; # requires a Node.js environment @@ -48,7 +48,7 @@ buildPythonPackage rec { meta = { changelog = "https://github.com/jupyter-server/jupyter_ydoc/blob/${src.tag}/CHANGELOG.md"; - description = "Document structures for collaborative editing using Ypy"; + description = "Document structures for collaborative editing using Yjs/pycrdt"; homepage = "https://github.com/jupyter-server/jupyter_ydoc"; license = lib.licenses.bsd3; teams = [ lib.teams.jupyter ]; diff --git a/pkgs/development/python-modules/ypy-websocket/default.nix b/pkgs/development/python-modules/ypy-websocket/default.nix deleted file mode 100644 index 13cf2bbe3d17..000000000000 --- a/pkgs/development/python-modules/ypy-websocket/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - - # build-system - hatchling, - - # dependencies - aiosqlite, - anyio, - y-py, - - # testing - pytest-asyncio, - pytestCheckHook, - uvicorn, - websockets, -}: - -buildPythonPackage rec { - pname = "ypy-websocket"; - version = "0.12.4"; - pyproject = true; - - src = fetchFromGitHub { - owner = "y-crdt"; - repo = "ypy-websocket"; - tag = "v${version}"; - hash = "sha256-48x+MUhev9dErC003XOP3oGKd5uOghlBFgcR8Nm/0xs="; - }; - - build-system = [ hatchling ]; - - pythonRelaxDeps = [ "aiofiles" ]; - - dependencies = [ - aiosqlite - anyio - y-py - ]; - - pythonImportsCheck = [ "ypy_websocket" ]; - - __darwinAllowLocalNetworking = true; - - nativeCheckInputs = [ - pytest-asyncio - pytestCheckHook - uvicorn - websockets - ]; - - disabledTestPaths = [ - # requires installing yjs Node.js module - "tests/test_ypy_yjs.py" - # Depends on no longer maintained ypy - "tests/test_asgi.py" - ]; - - meta = { - changelog = "https://github.com/y-crdt/ypy-websocket/blob/${src.rev}/CHANGELOG.md"; - description = "WebSocket Connector for Ypy"; - homepage = "https://github.com/y-crdt/ypy-websocket"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 756c28ec3492..f4b2d782230d 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -538,6 +538,7 @@ mapAliases { xbox-webapi = throw "xbox-webapi was removed because Home Assistant switched to python-xbox"; # added 2025-12-03 XlsxWriter = throw "'XlsxWriter' has been renamed to/replaced by 'xlsxwriter'"; # Converted to throw 2025-10-29 Yapsy = throw "'Yapsy' has been renamed to/replaced by 'yapsy'"; # Converted to throw 2025-10-29 + ypy-websocket = throw "'ypy-websocket' has been removed as it was archived upstream; consider using 'pycrdt-websocket' instead"; # Added 2026-01-21 z3 = throw "'z3' has been renamed to/replaced by 'z3-solver'"; # Converted to throw 2025-10-29 zc-buildout221 = throw "'zc-buildout221' has been renamed to/replaced by 'zc-buildout'"; # Converted to throw 2025-10-29 zc_lockfile = throw "'zc_lockfile' has been renamed to/replaced by 'zc-lockfile'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3240f13cb592..f077210e4f44 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -21052,8 +21052,6 @@ self: super: with self; { yoyo-migrations = callPackage ../development/python-modules/yoyo-migrations { }; - ypy-websocket = callPackage ../development/python-modules/ypy-websocket { }; - yq = callPackage ../development/python-modules/yq { inherit (pkgs) jq; }; yt-dlp = toPythonModule (pkgs.yt-dlp.override { python3Packages = self; }); From 09f253e365fb8f5edf96a255701a2db878aeb6c5 Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Wed, 21 Jan 2026 17:46:33 +0100 Subject: [PATCH 0693/1216] python3Packages.y-py: drop This package was archived upstream [1]. [1] https://github.com/y-crdt/ypy --- .../python-modules/pycrdt/default.nix | 2 - .../python-modules/y-py/default.nix | 48 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 - 4 files changed, 1 insertion(+), 52 deletions(-) delete mode 100644 pkgs/development/python-modules/y-py/default.nix diff --git a/pkgs/development/python-modules/pycrdt/default.nix b/pkgs/development/python-modules/pycrdt/default.nix index 34c0484ee440..da505140c3e4 100644 --- a/pkgs/development/python-modules/pycrdt/default.nix +++ b/pkgs/development/python-modules/pycrdt/default.nix @@ -12,7 +12,6 @@ pydantic, pytestCheckHook, trio, - y-py, nix-update-script, }: @@ -50,7 +49,6 @@ buildPythonPackage rec { pydantic pytestCheckHook trio - y-py ]; pytestFlags = [ diff --git a/pkgs/development/python-modules/y-py/default.nix b/pkgs/development/python-modules/y-py/default.nix deleted file mode 100644 index 872ec058b9cf..000000000000 --- a/pkgs/development/python-modules/y-py/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - lib, - stdenv, - buildPythonPackage, - fetchPypi, - rustPlatform, - cargo, - rustc, - libiconv, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "y-py"; - version = "0.6.2"; - pyproject = true; - - src = fetchPypi { - pname = "y_py"; - inherit version; - hash = "sha256-R1eoKlBAags6MzqgEiAZozG9bxbkn+1n3KQj+Siz/U0="; - }; - - cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname version src; - hash = "sha256-Wh25tLOVhAYFLqjOrKSu4klB1hGSOMconC1xZG31Dbw="; - }; - - nativeBuildInputs = [ - rustPlatform.cargoSetupHook - rustPlatform.maturinBuildHook - cargo - rustc - ]; - - buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; - - pythonImportsCheck = [ "y_py" ]; - - nativeCheckInputs = [ pytestCheckHook ]; - - meta = { - description = "Python bindings for Y-CRDT"; - homepage = "https://github.com/y-crdt/ypy"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index f4b2d782230d..76cc374d42c7 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -537,6 +537,7 @@ mapAliases { xapp = throw "'xapp' has been renamed to/replaced by 'python-xapp'"; # Converted to throw 2025-10-29 xbox-webapi = throw "xbox-webapi was removed because Home Assistant switched to python-xbox"; # added 2025-12-03 XlsxWriter = throw "'XlsxWriter' has been renamed to/replaced by 'xlsxwriter'"; # Converted to throw 2025-10-29 + y-py = throw "'y-py' has been removed as it was archived upstream; consider using 'pycrdt' instead"; # Added 2026-01-21 Yapsy = throw "'Yapsy' has been renamed to/replaced by 'yapsy'"; # Converted to throw 2025-10-29 ypy-websocket = throw "'ypy-websocket' has been removed as it was archived upstream; consider using 'pycrdt-websocket' instead"; # Added 2026-01-21 z3 = throw "'z3' has been renamed to/replaced by 'z3-solver'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f077210e4f44..9766076552d1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -20952,8 +20952,6 @@ self: super: with self; { xyzservices = callPackage ../development/python-modules/xyzservices { }; - y-py = callPackage ../development/python-modules/y-py { }; - yabadaba = callPackage ../development/python-modules/yabadaba { }; yacs = callPackage ../development/python-modules/yacs { }; From c4e1b8157eace39fdcf4ae7852d5dbc81c05ef5a Mon Sep 17 00:00:00 2001 From: axolord <24368475+Axolord@users.noreply.github.com> Date: Wed, 21 Jan 2026 16:11:54 +0100 Subject: [PATCH 0694/1216] quickemu: fix version test --- pkgs/by-name/qu/quickemu/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/qu/quickemu/package.nix b/pkgs/by-name/qu/quickemu/package.nix index a9cd5bf9e163..b3d89964854b 100644 --- a/pkgs/by-name/qu/quickemu/package.nix +++ b/pkgs/by-name/qu/quickemu/package.nix @@ -74,6 +74,9 @@ stdenv.mkDerivation (finalAttrs: { -e 's/Icon=.*qemu.svg/Icon=qemu/' \ -e 's,\[ -x "\$(command -v smbd)" \],true,' \ quickemu + + substituteInPlace quickemu \ + --replace-fail 'readonly VERSION="4.9.8"' 'readonly VERSION="${finalAttrs.version}"' ''; nativeBuildInputs = [ From ace01cc35e2415051b3f2de69d58ae9127b171cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 16:52:30 +0000 Subject: [PATCH 0695/1216] gemini-cli-bin: 0.24.4 -> 0.25.0 --- pkgs/by-name/ge/gemini-cli-bin/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ge/gemini-cli-bin/package.nix b/pkgs/by-name/ge/gemini-cli-bin/package.nix index 976a8ed25215..aa35c96df451 100644 --- a/pkgs/by-name/ge/gemini-cli-bin/package.nix +++ b/pkgs/by-name/ge/gemini-cli-bin/package.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "gemini-cli-bin"; - version = "0.24.4"; + version = "0.25.0"; src = fetchurl { url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini.js"; - hash = "sha256-xteIV43P5qPOamxsGjCXeCkd1zQmNNbMhvzSWc26DQU="; + hash = "sha256-7Co3DPZs/ZtdLfhZnOcpdFFQPnyeLkvxTZG+tv+FbBQ="; }; dontUnpack = true; From 9a1f90a4e5832f02ede5b5e2f114bedc1a51a4da Mon Sep 17 00:00:00 2001 From: Luvrok Date: Wed, 21 Jan 2026 19:59:52 +0300 Subject: [PATCH 0696/1216] yaziPlugins.yatline: update on 2026-01-21 --- pkgs/by-name/ya/yazi/plugins/yatline/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ya/yazi/plugins/yatline/default.nix b/pkgs/by-name/ya/yazi/plugins/yatline/default.nix index ca487e5bdc0b..381954efcaab 100644 --- a/pkgs/by-name/ya/yazi/plugins/yatline/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/yatline/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "yatline.yazi"; - version = "25.5.31-unstable-2025-06-12"; + version = "25.5.31-unstable-2026-01-21"; src = fetchFromGitHub { owner = "imsi32"; repo = "yatline.yazi"; - rev = "88bd1c58357d472fe7e8daf9904936771fc49795"; - hash = "sha256-RkQKZQAa5U9eMWk1Q0doueJZiuP4elUJ0dM1XKLSnDo="; + rev = "3227a30b21f69b68df513754b5a00d6e75cece57"; + hash = "sha256-yhptHABQ0alVab2i367D5grJyG7SrfHH8H4JuGeYFyk="; }; meta = { From dd3c754771132a699b6b1bd8cfc7f25ca57f482b Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 21 Jan 2026 18:01:09 +0100 Subject: [PATCH 0697/1216] python3Packages.chalice: relax pip constraint --- pkgs/development/python-modules/chalice/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/chalice/default.nix b/pkgs/development/python-modules/chalice/default.nix index e949afd1320a..a0b91b8a7ec7 100644 --- a/pkgs/development/python-modules/chalice/default.nix +++ b/pkgs/development/python-modules/chalice/default.nix @@ -50,6 +50,8 @@ buildPythonPackage rec { six ]; + pythonRelaxDeps = [ "pip" ]; + nativeCheckInputs = [ hypothesis pytestCheckHook From 0730a314f968877b4cb9787c36a1a11ddd4053cd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 17:02:49 +0000 Subject: [PATCH 0698/1216] fiddler-everywhere: 7.5.0 -> 7.6.0 --- pkgs/by-name/fi/fiddler-everywhere/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fi/fiddler-everywhere/package.nix b/pkgs/by-name/fi/fiddler-everywhere/package.nix index 1e85cc341a5d..cac0f5c6e67a 100644 --- a/pkgs/by-name/fi/fiddler-everywhere/package.nix +++ b/pkgs/by-name/fi/fiddler-everywhere/package.nix @@ -8,11 +8,11 @@ let pname = "fiddler-everywhere"; - version = "7.5.0"; + version = "7.6.0"; src = fetchurl { url = "https://downloads.getfiddler.com/linux/fiddler-everywhere-${version}.AppImage"; - hash = "sha256-IwZ2Jt9s2kDgjCM3pm5o3iLb2xYtp596109/nLXFgvs="; + hash = "sha256-wBFLfZ/z4NH0YswQcwAYbvSLZkW1kZ0pBxhVCREV0qk="; }; appimageContents = appimageTools.extract { From fe898039cb43be1504e72805ab5f15478e6baed2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 17:06:31 +0000 Subject: [PATCH 0699/1216] python3Packages.mkdocstrings: 1.0.0 -> 1.0.1 --- pkgs/development/python-modules/mkdocstrings/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mkdocstrings/default.nix b/pkgs/development/python-modules/mkdocstrings/default.nix index d79454834553..03f5472230c2 100644 --- a/pkgs/development/python-modules/mkdocstrings/default.nix +++ b/pkgs/development/python-modules/mkdocstrings/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "mkdocstrings"; - version = "1.0.0"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "mkdocstrings"; repo = "mkdocstrings"; tag = version; - hash = "sha256-PQ8TL/eMYNX0gXvWhq/Rop2bv1oCoO7o3dxlCK9tbGE="; + hash = "sha256-dRDelPj2zO31gZzPDh7BxdBemGNaTPbzhlmWH1JYmaM="; }; postPatch = '' From 780204b43bfd981d9d6f9217cf36b6b1c45dd75f Mon Sep 17 00:00:00 2001 From: Bernard Fortz Date: Tue, 20 Jan 2026 17:43:18 +0000 Subject: [PATCH 0700/1216] bitwig-studio: fix onset detection when started from the desktop launcher --- pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix index 1e510beaa20a..e99f707d0823 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix @@ -92,11 +92,7 @@ stdenv.mkDerivation rec { # Removing it will force it to use our version. rm $out/libexec/lib/bitwig-studio/libxcb-imdkit.so.1 - substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \ - $out/share/applications/com.bitwig.BitwigStudio.desktop \ - --replace-fail "Exec=bitwig-studio" "Exec=$out/bin/bitwig-studio" - - runHook postInstall + runHook postInstall ''; postFixup = '' From bfd63ae9bd0737ec8936ac77f31f2ff6f9a7f312 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 21 Jan 2026 08:11:45 +0100 Subject: [PATCH 0701/1216] stract: fix build --- pkgs/by-name/st/stract/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/st/stract/package.nix b/pkgs/by-name/st/stract/package.nix index d7b839c9dba9..0fce322fc851 100644 --- a/pkgs/by-name/st/stract/package.nix +++ b/pkgs/by-name/st/stract/package.nix @@ -58,6 +58,14 @@ rustPlatform.buildRustPackage { rm -rf target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/build/ ''; + checkFlags = [ + # error: struct `MyCustomDocument` is never constructed + "--skip=schema::document" + # thread 'ampc::dht::tests::proptest_chaos' panicked at crates/core/src/ampc/dht/mod.rs:670:33: + # assertion `left == right` failed + "--skip=ampc::dht::tests::proptest_chaos" + ]; + passthru.updateScript = unstableGitUpdater { }; meta = { From 41319358d9a6fea1d8c089b04060d1bd38fa59d6 Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 21 Jan 2026 17:21:44 +0000 Subject: [PATCH 0702/1216] radicle-httpd: 0.22.0 -> 0.23.0 Changelog: https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/tree/radicle-httpd/CHANGELOG.md --- pkgs/by-name/ra/radicle-explorer/package.nix | 4 ++-- pkgs/by-name/ra/radicle-httpd/package.nix | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ra/radicle-explorer/package.nix b/pkgs/by-name/ra/radicle-explorer/package.nix index 908549bc7d56..75a993bf3aec 100644 --- a/pkgs/by-name/ra/radicle-explorer/package.nix +++ b/pkgs/by-name/ra/radicle-explorer/package.nix @@ -62,7 +62,7 @@ lib.fix ( self: lib.makeOverridable ( { - npmDepsHash ? "sha256-7/DH0p66FTfC0N42FhWTqehg5m/yq929ANhL4jAt7Ss=", + npmDepsHash ? "sha256-nVfFeJXSPO1GVkBkWflARZl2Geyt5ARTn0HVglnPlc0=", patches ? [ ], }@args: buildNpmPackage { @@ -75,7 +75,7 @@ lib.fix ( # radicle-httpd using a more limited sparse checkout we need to carry a # separate hash. src = radicle-httpd.src.override { - hash = "sha256-PzokSJkcyFDAaih5gekp4GCQMm0sfF7fAK7iZbX1/S4="; + hash = "sha256-Zt9RiuloWmb1eL6f2Gotvy+FMTUvSokOEGOIBrBeO/E="; sparseCheckout = [ ]; }; diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index ad75b7928b4b..befead34f38f 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-httpd"; - version = "0.22.0"; + version = "0.23.0"; env.RADICLE_VERSION = finalAttrs.version; @@ -25,12 +25,12 @@ rustPlatform.buildRustPackage (finalAttrs: { repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; tag = "releases/${finalAttrs.version}"; sparseCheckout = [ "radicle-httpd" ]; - hash = "sha256-NA5U+Ac6imbtNabvaeYATfUbbmT48uqWAcbJ+ukJcDs="; + hash = "sha256-OpDW6qJOHN4f4smhc1vNO0DRzJW6114gQV4K1ZNicag="; }; sourceRoot = "${finalAttrs.src.name}/radicle-httpd"; - cargoHash = "sha256-9xyuoOuoFWu7oItQporJuGA8EIfEMrCvPaRPnwYMzmM="; + cargoHash = "sha256-m/2pP1mCU4SvPXU3qWOpbh3H/ykTOGgERYcP8Iu5DDs="; nativeBuildInputs = [ asciidoctor @@ -78,6 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: { repositories on a Radicle node via their web browser. ''; homepage = "https://radicle.xyz"; + changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/tree/radicle-httpd/CHANGELOG.md"; # cargo.toml says MIT and asl20, LICENSE file says GPL3 license = with lib.licenses; [ gpl3Only From 5b5ffd1b209f55294ee6ecabb5b6d37f8e2f0d6e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 17:40:56 +0000 Subject: [PATCH 0703/1216] phpunit: 12.5.4 -> 12.5.6 --- pkgs/by-name/ph/phpunit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ph/phpunit/package.nix b/pkgs/by-name/ph/phpunit/package.nix index b399bd1486f1..a457b8c8356a 100644 --- a/pkgs/by-name/ph/phpunit/package.nix +++ b/pkgs/by-name/ph/phpunit/package.nix @@ -8,16 +8,16 @@ php.buildComposerProject2 (finalAttrs: { pname = "phpunit"; - version = "12.5.4"; + version = "12.5.6"; src = fetchFromGitHub { owner = "sebastianbergmann"; repo = "phpunit"; tag = finalAttrs.version; - hash = "sha256-asHHNHUBt4EO/vLQdc5JyffgUqgOeJSXSG+b5bL0IQk="; + hash = "sha256-F2/LMJwLzLz7YuJPq2J6ypgtY9ps5ExiHX6UGvtKh3E="; }; - vendorHash = "sha256-ypZLrCNNh/QUa5cvA6zuh3b/eyE0YMH0Diiet7cDveI="; + vendorHash = "sha256-YqDdlspt9hGMzSoC41pMZLucP/luv6Fo2VGQ7pPa5pk="; passthru = { updateScript = nix-update-script { }; From d3d23d6b58767fbf68c260107c9014be28b9bb1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 21 Jan 2026 09:39:00 -0800 Subject: [PATCH 0704/1216] python3Packages.google-auth: 2.45.0 -> 2.47.0 Diff: https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.47.0 Changelog: https://github.com/googleapis/google-auth-library-python/blob/v2.47.0/CHANGELOG.md --- pkgs/development/python-modules/google-auth/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix index 5de111ad5b8d..7b3539a3de72 100644 --- a/pkgs/development/python-modules/google-auth/default.nix +++ b/pkgs/development/python-modules/google-auth/default.nix @@ -4,7 +4,6 @@ aiohttp, aioresponses, buildPythonPackage, - cachetools, cryptography, flask, freezegun, @@ -25,20 +24,19 @@ buildPythonPackage rec { pname = "google-auth"; - version = "2.45.0"; + version = "2.47.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-auth-library-python"; tag = "v${version}"; - hash = "sha256-CONPYm88g8AvGlb7HBMKyWFTGntkgEkDZ2RHKyqoYhw="; + hash = "sha256-kgiqKeS8NTlz56yYKE8U/eKFQjHD6CJHOH5IKLgOeDk="; }; build-system = [ setuptools ]; dependencies = [ - cachetools pyasn1-modules rsa ]; From 1814fd57558b6b84700423b1b82a5a6692a66615 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 17:47:50 +0000 Subject: [PATCH 0705/1216] libation: 13.1.1 -> 13.1.3 --- pkgs/by-name/li/libation/deps.json | 335 ++++++++++++--------------- pkgs/by-name/li/libation/package.nix | 4 +- 2 files changed, 152 insertions(+), 187 deletions(-) diff --git a/pkgs/by-name/li/libation/deps.json b/pkgs/by-name/li/libation/deps.json index 3ff222f65471..8475769658d2 100644 --- a/pkgs/by-name/li/libation/deps.json +++ b/pkgs/by-name/li/libation/deps.json @@ -6,8 +6,8 @@ }, { "pname": "AAXClean.Codecs", - "version": "2.1.2.1", - "hash": "sha256-LfzCFcrV1i+4dXYUuEUIumLqiAMZcwkXwy9MlYfcBMM=" + "version": "2.1.3.1", + "hash": "sha256-GeIQgSPzAhpNfulGWA9tJmnFDN1CsSnerq9rKaK8poE=" }, { "pname": "AudibleApi", @@ -21,13 +21,13 @@ }, { "pname": "Avalonia", - "version": "11.3.8", - "hash": "sha256-0cM3VVudDUELNE/fWehuCplPKLITjw1hbg9IGtIm20g=" + "version": "11.3.11", + "hash": "sha256-FSMuXVA5q5L5evwos5bIsuT81suO8FbCjEF3OvAL9p0=" }, { "pname": "Avalonia", - "version": "11.3.9", - "hash": "sha256-bjSH8REHeK19bh8IacmyllDPaWND+TJdkhKGc8LVvjE=" + "version": "11.3.8", + "hash": "sha256-0cM3VVudDUELNE/fWehuCplPKLITjw1hbg9IGtIm20g=" }, { "pname": "Avalonia.Angle.Windows.Natives", @@ -41,63 +41,63 @@ }, { "pname": "Avalonia.Controls.ColorPicker", - "version": "11.3.9", - "hash": "sha256-Kk3AmO7foyO5JdnGKfE9KwtVyGwe6SgUZnXCX/OuZjo=" + "version": "11.3.11", + "hash": "sha256-Ki6O9HYbseQPV3DsvwmJ+ERimi/WmvzelNJDKP6loo0=" }, { "pname": "Avalonia.Controls.DataGrid", - "version": "11.3.9", - "hash": "sha256-VpJNTCaug7rtEfO2z1fFkAPXW2Y/lQSUInt6cVZC6DA=" + "version": "11.3.11", + "hash": "sha256-xCRjXSd7ocHxuEzBhLokSHRrgtt4akJ7LUIC2oQ43io=" }, { "pname": "Avalonia.Desktop", - "version": "11.3.9", - "hash": "sha256-ib4psuecjBXKow0UC6oXvcVNhizFKokadCVqmwyQtCc=" + "version": "11.3.11", + "hash": "sha256-oFivO8/0rir4BwQsTeWs3bSnb7RmldwxYmI77j5pt8k=" }, { "pname": "Avalonia.Diagnostics", - "version": "11.3.9", - "hash": "sha256-psajJAfqzLpMVx3//nezH7TixDJepN3/y6GwNn8k+TM=" + "version": "11.3.11", + "hash": "sha256-p38+O0VDqZ8u5VOzImP21/U5wyP1BUp2UrLLc9HSfwE=" }, { "pname": "Avalonia.FreeDesktop", - "version": "11.3.9", - "hash": "sha256-+adR3ErHqoqTBAJ5hMiyP6efX/hCAcWWCowCqA0Bxrw=" + "version": "11.3.11", + "hash": "sha256-UE2/w9cw3YDzsw3HuhI2sTPy8reH9C71ufmHOpzvlSQ=" }, { "pname": "Avalonia.Native", - "version": "11.3.9", - "hash": "sha256-cQ9/MKZ03jaLqAGRDLCzws5OfP/mSOoPRr1OxXNGa3o=" + "version": "11.3.11", + "hash": "sha256-vw67lp/oOt+2lqdJ5PK2FY93jqPTcgZqOAXLtSXlJ8s=" }, { "pname": "Avalonia.Remote.Protocol", - "version": "11.3.9", - "hash": "sha256-HxHN91T0BbQMkcZwozuVOQwmywm1oayTLYvUozwt1J0=" + "version": "11.3.11", + "hash": "sha256-l1f3rVygtI268llwbN0NvTDSfXwZE3CyRw8w5tbHBC4=" }, { "pname": "Avalonia.Skia", - "version": "11.3.9", - "hash": "sha256-KCL1LNUd2i+50vQpDgfI+aMkIBUWtxExyuc43QIK21o=" + "version": "11.3.11", + "hash": "sha256-89TGu50JfEVFo+QZgyOR0uOagC/xoJvqfnrHep3W/cc=" }, { "pname": "Avalonia.Themes.Fluent", - "version": "11.3.9", - "hash": "sha256-4HuNP/nSB7T+n9KZQgXNvbgudG3eITnDACj8Y2NV6OU=" + "version": "11.3.11", + "hash": "sha256-tiJ0xAFf0UVSH7LASPtg/7ils7+vZjw2UKBMydyUR3Q=" }, { "pname": "Avalonia.Themes.Simple", - "version": "11.3.9", - "hash": "sha256-0MyHPZbkp0DduFwoOMScAOKpqQ/Zs6DOUfexVLKzSco=" + "version": "11.3.11", + "hash": "sha256-AJS5Ls0tJ6PCr2mnr1PpxGWX4sII8mpe2R+VCFYRg44=" }, { "pname": "Avalonia.Win32", - "version": "11.3.9", - "hash": "sha256-OwWQymPLmN362vMD6kZk8dBD/+lSpvGqIW0T/AquYig=" + "version": "11.3.11", + "hash": "sha256-6/NG4OrB/4YisXzJ51GPuq3uDn8oEUWyJRAqejyMCQw=" }, { "pname": "Avalonia.X11", - "version": "11.3.9", - "hash": "sha256-B8P+m2VyPwXCyVWGAKewZCqO8fycgYWjWx830VbR79A=" + "version": "11.3.11", + "hash": "sha256-2fiQvKxU/r71UOAQgy0zwSHVCM2uG2sdEUhObd5TrQQ=" }, { "pname": "ClosedXML", @@ -151,8 +151,8 @@ }, { "pname": "Google.Protobuf", - "version": "3.33.2", - "hash": "sha256-iSEReaFbdV+86nnB6tfUzexzh6r06ItaaWwcRcvPwIM=" + "version": "3.33.4", + "hash": "sha256-0XlseTCX3deAoElf8gicq7ZEjql1NSGYaQwgtX1+BbY=" }, { "pname": "HarfBuzzSharp", @@ -200,45 +200,20 @@ "hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0=" }, { - "pname": "Microsoft.Build", - "version": "17.7.2", - "hash": "sha256-k35nFdPxC8t0zAltVSmAJtsepp/ubNIjPOsJ6k8jSqM=" + "pname": "Microsoft.Build.Framework", + "version": "17.11.31", + "hash": "sha256-YS4oASrmC5dmZrx5JPS7SfKmUpIJErlUpVDsU3VrfFE=" }, { "pname": "Microsoft.Build.Framework", - "version": "17.14.28", - "hash": "sha256-7RzEyIipumafwLW1xN1q23114NafG6PT0+RADElNsiM=" - }, - { - "pname": "Microsoft.Build.Framework", - "version": "17.7.2", - "hash": "sha256-fNWmVQYFTJDveAGmxEdNqJRAczV6+Ep8RA8clKBJFqw=" - }, - { - "pname": "Microsoft.Build.Tasks.Core", - "version": "17.14.28", - "hash": "sha256-M9zRXYijH2HtLlRXbrUK1a1LQ9zkT+DC9ZmMiiVZwv0=" - }, - { - "pname": "Microsoft.Build.Tasks.Core", - "version": "17.7.2", - "hash": "sha256-OrV/qWgZHzGlNUmaSfX5wDBcmg1aQeF3/OUHpSH+uZU=" + "version": "18.0.2", + "hash": "sha256-fO31KAdDs2J0RUYD1ov9UB3ucsbALan7K0YdWW+yg7A=" }, { "pname": "Microsoft.Build.Tasks.Git", "version": "8.0.0", "hash": "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA=" }, - { - "pname": "Microsoft.Build.Utilities.Core", - "version": "17.14.28", - "hash": "sha256-VFfO+UpyTpw2X/qiCCOCYzvMLuu7B+XVSSpJZQLkPzU=" - }, - { - "pname": "Microsoft.Build.Utilities.Core", - "version": "17.7.2", - "hash": "sha256-oatF0KfuP1nb4+OLNKg2/R/ZLO4EiACaO5leaxMEY4A=" - }, { "pname": "Microsoft.CodeAnalysis.Analyzers", "version": "3.11.0", @@ -246,94 +221,129 @@ }, { "pname": "Microsoft.CodeAnalysis.Common", - "version": "4.14.0", - "hash": "sha256-ne/zxH3GqoGB4OemnE8oJElG5mai+/67ASaKqwmL2BE=" + "version": "5.0.0", + "hash": "sha256-g4ALvBSNyHEmSb1l5TFtWW7zEkiRmhqLx4XWZu9sr2U=" }, { "pname": "Microsoft.CodeAnalysis.CSharp", - "version": "4.14.0", - "hash": "sha256-5Mzj3XkYYLkwDWh17r1NEXSbXwwWYQPiOmkSMlgo1JY=" + "version": "5.0.0", + "hash": "sha256-ctBCkQGFpH/xT5rRE3xibu9YxPD108RuC4a4Z25koG8=" }, { "pname": "Microsoft.CodeAnalysis.CSharp.Workspaces", - "version": "4.14.0", - "hash": "sha256-aNbV1a0yYBs0fpQawG6LXcbyoE8en+YFSpV5vcYE4J4=" + "version": "5.0.0", + "hash": "sha256-yWVcLt/f2CouOfFy966glGdtSFy+RcgrU1dd9UtlL/Q=" }, { "pname": "Microsoft.CodeAnalysis.Workspaces.Common", - "version": "4.14.0", - "hash": "sha256-0YfeaJe01WBUm9avy4a8FacQJXA1NkpnDpiXu4yz88I=" + "version": "5.0.0", + "hash": "sha256-Bir5e1gEhgQQ6upQmVKQHAKLRfenAu60DAzNupNnZsQ=" }, { "pname": "Microsoft.CodeAnalysis.Workspaces.MSBuild", - "version": "4.14.0", - "hash": "sha256-5SJfpRqzqCK0UbkmAaJpA/r1XJb0YAriMMeQHYC4d+o=" + "version": "5.0.0", + "hash": "sha256-+58+iqTayTiE0pDaog1U8mjaDA8bNNDLA8gjCQZZudo=" }, { "pname": "Microsoft.Data.Sqlite.Core", - "version": "10.0.0", - "hash": "sha256-04jYg9EbrQc+LH6wKh3ASCCNau6wZ5Gq0tDYd8oIHAs=" + "version": "10.0.2", + "hash": "sha256-gpArXkjFSk62NA88ZYwWc0m4/2UsJyd9/8TCAsI8u4w=" }, { "pname": "Microsoft.EntityFrameworkCore", "version": "10.0.0", "hash": "sha256-xfgrlxhtOkQwF5Q7j8gSm41URJiH8IuJ/T/Dh88++hE=" }, + { + "pname": "Microsoft.EntityFrameworkCore", + "version": "10.0.2", + "hash": "sha256-FS6T8EnaWCMtj4PnZhh+oF8mcM44VlM3wkTSMlpte9A=" + }, { "pname": "Microsoft.EntityFrameworkCore.Abstractions", "version": "10.0.0", "hash": "sha256-UDgZbRQcGPaKsE53EH6bvJiv+Q4KSxAbnsVhTVFGG4Q=" }, + { + "pname": "Microsoft.EntityFrameworkCore.Abstractions", + "version": "10.0.2", + "hash": "sha256-qkDfIJpcPO2kk4n5OE/13hI/0mUygpTofInn95XjRZI=" + }, { "pname": "Microsoft.EntityFrameworkCore.Analyzers", "version": "10.0.0", "hash": "sha256-7Q0jYJO50cqGI+u6gLpootbB8GZvgsgtg0F9FZI1jig=" }, + { + "pname": "Microsoft.EntityFrameworkCore.Analyzers", + "version": "10.0.2", + "hash": "sha256-yOv78rgAACBz1zjitpcZbQQ3zx8huJongZTHkhN4PQ0=" + }, { "pname": "Microsoft.EntityFrameworkCore.Design", - "version": "10.0.0", - "hash": "sha256-wHIw05vHNtiv3K4xS1u+crZTn+kr7UJXoKOYwTr4SxY=" + "version": "10.0.2", + "hash": "sha256-bTShsGux0y/49PIIMb/4ZX3x5+rPacvT5/NcooNCI1Y=" }, { "pname": "Microsoft.EntityFrameworkCore.Relational", "version": "10.0.0", "hash": "sha256-vOP2CE5YA551BlpbOuIy6RuAiAEPEpCVS1cEE33/zN4=" }, + { + "pname": "Microsoft.EntityFrameworkCore.Relational", + "version": "10.0.2", + "hash": "sha256-Y4jPpoYhKizg5wF6QfkBX4sYlE2FU1bYhfoDN3xkhKM=" + }, { "pname": "Microsoft.EntityFrameworkCore.Sqlite", - "version": "10.0.0", - "hash": "sha256-tcBTibp0uApuqynWhxTintjkcC2oMfUQ8BJ2ORGWkKY=" + "version": "10.0.2", + "hash": "sha256-s/bwWC9SdFKr93Oz57pImCB6hf/FYa+sCxtMYC7w+vQ=" }, { "pname": "Microsoft.EntityFrameworkCore.Sqlite.Core", - "version": "10.0.0", - "hash": "sha256-Y5cM2fSh6b75L3dRdF0odXz4gKIYip/JIO1rsdkeOGM=" + "version": "10.0.2", + "hash": "sha256-oIw6neqiY9JUyYg1lNi92ddDq6pWVOsn7DIBlGPOh+A=" }, { "pname": "Microsoft.EntityFrameworkCore.Tools", - "version": "10.0.0", - "hash": "sha256-gqqJc38tmM3u9bbyboTxgN0nhtIH5cwwdU4ICHDgAFg=" + "version": "10.0.2", + "hash": "sha256-dZCv8joGQQMrDNAgpB5c7CY+xdLeaZtOD3kt0VbQkto=" }, { "pname": "Microsoft.Extensions.Caching.Abstractions", - "version": "10.0.0", - "hash": "sha256-IciARPnXx/S6HZc4t2ED06UyUwfZI9LKSzwKSGdpsfI=" + "version": "10.0.2", + "hash": "sha256-nKmQuZTt1g5/8gBajo7wdCV64kdCucdiQR8JTt7ZZb0=" }, { "pname": "Microsoft.Extensions.Caching.Memory", "version": "10.0.0", "hash": "sha256-AMgDSm1k6q0s17spGtyR5q8nAqUFDOxl/Fe38f9M+d4=" }, + { + "pname": "Microsoft.Extensions.Caching.Memory", + "version": "10.0.2", + "hash": "sha256-sRUF7DM0s1yzZnfjM/hF9A/IysE6Er23gZ6jST+RWh0=" + }, { "pname": "Microsoft.Extensions.Configuration", "version": "10.0.0", "hash": "sha256-MsLskVPpkCvov5+DWIaALCt1qfRRX4u228eHxvpE0dg=" }, + { + "pname": "Microsoft.Extensions.Configuration", + "version": "10.0.2", + "hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c=" + }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", "version": "10.0.0", "hash": "sha256-GcgrnTAieCV7AVT13zyOjfwwL86e99iiO/MiMOxPGG0=" }, + { + "pname": "Microsoft.Extensions.Configuration.Abstractions", + "version": "10.0.2", + "hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE=" + }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", "version": "9.0.0", @@ -349,15 +359,25 @@ "version": "10.0.0", "hash": "sha256-rN+3rqrHiTaBfHgP+E4dA8Qm2cFJPfbEcd93yKLsqlQ=" }, + { + "pname": "Microsoft.Extensions.Configuration.FileExtensions", + "version": "10.0.2", + "hash": "sha256-oOHg4UShuRyaflHJL1YLbkHSlwQtpZW2wONnsTKKiE4=" + }, { "pname": "Microsoft.Extensions.Configuration.Json", "version": "10.0.0", "hash": "sha256-VCFukgsxiQ2MFGE6RDMFTGopBHbcZL2t0ER7ENaFXRY=" }, + { + "pname": "Microsoft.Extensions.Configuration.Json", + "version": "10.0.2", + "hash": "sha256-RDfVyrOP9E5kVax3VswqJzPFTHSm3MZ45gSRLO0qFWs=" + }, { "pname": "Microsoft.Extensions.DependencyInjection", - "version": "10.0.0", - "hash": "sha256-LYm9hVlo/R9c2aAKHsDYJ5vY9U0+3Jvclme3ou3BtvQ=" + "version": "10.0.2", + "hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ=" }, { "pname": "Microsoft.Extensions.DependencyInjection", @@ -369,6 +389,11 @@ "version": "10.0.0", "hash": "sha256-9iodXP39YqgxomnOPOxd/mzbG0JfOSXzFoNU3omT2Ps=" }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "10.0.2", + "hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg=" + }, { "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", "version": "9.0.0", @@ -376,8 +401,8 @@ }, { "pname": "Microsoft.Extensions.DependencyModel", - "version": "10.0.0", - "hash": "sha256-oCcIjmwH8H0n9bT3wQBWdotMvYuoiazfiKrXAs2bLiI=" + "version": "10.0.2", + "hash": "sha256-w/dGIjtZiGH+KW3969BPOdQpQEV+WB7RPTa2MK2DavE=" }, { "pname": "Microsoft.Extensions.DependencyModel", @@ -389,21 +414,41 @@ "version": "10.0.0", "hash": "sha256-CHDs2HCN8QcfuYQpgNVszZ5dfXFe4yS9K2GoQXecc20=" }, + { + "pname": "Microsoft.Extensions.FileProviders.Abstractions", + "version": "10.0.2", + "hash": "sha256-tibCkkT9WliU2E/i0ufx7/Va6H6QZX4hR/1oUp8ecgQ=" + }, { "pname": "Microsoft.Extensions.FileProviders.Physical", "version": "10.0.0", "hash": "sha256-2Rw/cwBO+/A3QY2IjN/c8Y0LhtC1qTBL7VdJiD1J2UQ=" }, + { + "pname": "Microsoft.Extensions.FileProviders.Physical", + "version": "10.0.2", + "hash": "sha256-HtzaL9KEFkyIyG31RIjj57yFBw6Ja3U6UYLP0LLesvw=" + }, { "pname": "Microsoft.Extensions.FileSystemGlobbing", "version": "10.0.0", "hash": "sha256-ETfVTdsdBtp69EggLg/AARTQW4lLQYVdVldXIQrsjZA=" }, + { + "pname": "Microsoft.Extensions.FileSystemGlobbing", + "version": "10.0.2", + "hash": "sha256-WHqwQLBlb4w+fw1KZVPvunir5cM/4jXExWRofgfVAxs=" + }, { "pname": "Microsoft.Extensions.Logging", "version": "10.0.0", "hash": "sha256-P+zPAadLL63k/GqK34/qChqQjY9aIRxZfxlB9lqsSrs=" }, + { + "pname": "Microsoft.Extensions.Logging", + "version": "10.0.2", + "hash": "sha256-9+gfQwK32JMYscW1YvyCWEzc9mRZOjCACoD9U1vVaJI=" + }, { "pname": "Microsoft.Extensions.Logging", "version": "9.0.0", @@ -414,6 +459,11 @@ "version": "10.0.0", "hash": "sha256-BnhgGZc01HwTSxogavq7Ueq4V7iMA3wPnbfRwQ4RhGk=" }, + { + "pname": "Microsoft.Extensions.Logging.Abstractions", + "version": "10.0.2", + "hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8=" + }, { "pname": "Microsoft.Extensions.Logging.Abstractions", "version": "9.0.0", @@ -421,8 +471,8 @@ }, { "pname": "Microsoft.Extensions.Options", - "version": "10.0.0", - "hash": "sha256-j5MOqZSKeUtxxzmZjzZMGy0vELHdvPraqwTQQQNVsYA=" + "version": "10.0.2", + "hash": "sha256-12AfUEDdta/pmZUyEyqSUfOk0YoA7JOfGmIYnZQ//qk=" }, { "pname": "Microsoft.Extensions.Options", @@ -434,21 +484,16 @@ "version": "10.0.0", "hash": "sha256-Dup08KcptLjlnpN5t5//+p4n8FUTgRAq4n/w1s6us+I=" }, + { + "pname": "Microsoft.Extensions.Primitives", + "version": "10.0.2", + "hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA=" + }, { "pname": "Microsoft.Extensions.Primitives", "version": "9.0.0", "hash": "sha256-ZNLusK1CRuq5BZYZMDqaz04PIKScE2Z7sS2tehU7EJs=" }, - { - "pname": "Microsoft.NET.StringTools", - "version": "17.14.28", - "hash": "sha256-UzREyvDxkiOQ4cEOQ5UCjkwXGrldIDCcbefECTPGjXI=" - }, - { - "pname": "Microsoft.NET.StringTools", - "version": "17.7.2", - "hash": "sha256-hQE07TCgcQuyu9ZHVq2gPDb0+xe8ECJUdrgh17bJP4o=" - }, { "pname": "Microsoft.SourceLink.Common", "version": "8.0.0", @@ -459,6 +504,11 @@ "version": "8.0.0", "hash": "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0=" }, + { + "pname": "Microsoft.VisualStudio.SolutionPersistence", + "version": "1.0.52", + "hash": "sha256-KZGPtOXe6Hv8RrkcsgoLKTRyaCScIpQEa2NhNB3iOXw=" + }, { "pname": "Mono.TextTemplating", "version": "3.0.0", @@ -639,16 +689,6 @@ "version": "6.0.0", "hash": "sha256-uPetUFZyHfxjScu5x4agjk9pIhbCkt5rG4Axj25npcQ=" }, - { - "pname": "System.CodeDom", - "version": "7.0.0", - "hash": "sha256-7IPt39cY+0j0ZcRr/J45xPtEjnSXdUJ/5ai3ebaYQiE=" - }, - { - "pname": "System.CodeDom", - "version": "9.0.0", - "hash": "sha256-578lcBgswW0eM16r0EnJzfGodPx86RxxFoZHc2PSzsw=" - }, { "pname": "System.Composition", "version": "9.0.0", @@ -684,31 +724,11 @@ "version": "10.0.0", "hash": "sha256-wiKDcpzYRM2Qsb9EE5luJYpjeItQXJT8LvdruqeqZtg=" }, - { - "pname": "System.Configuration.ConfigurationManager", - "version": "7.0.0", - "hash": "sha256-SgBexTTjRn23uuXvkzO0mz0qOfA23MiS4Wv+qepMLZE=" - }, - { - "pname": "System.Configuration.ConfigurationManager", - "version": "9.0.0", - "hash": "sha256-+pLnTC0YDP6Kjw5DVBiFrV/Q3x5is/+6N6vAtjvhVWk=" - }, { "pname": "System.Diagnostics.EventLog", "version": "10.0.0", "hash": "sha256-pN3tld926Fp0n5ZNjjzIJviUQrynlOAB0vhc1aoso6E=" }, - { - "pname": "System.Diagnostics.EventLog", - "version": "9.0.0", - "hash": "sha256-tPvt6yoAp56sK/fe+/ei8M65eavY2UUhRnbrREj/Ems=" - }, - { - "pname": "System.Formats.Nrbf", - "version": "9.0.0", - "hash": "sha256-c4qf6CocQUZB0ySGQd8s15PXY7xfrjQqMGXxkwytKyw=" - }, { "pname": "System.IO.Packaging", "version": "8.0.1", @@ -729,76 +749,21 @@ "version": "6.1.0", "hash": "sha256-zACYoZmKxHo0qKY8FOVa7jIsw7dN7WjdXdRRV95qY2Y=" }, - { - "pname": "System.Reflection.MetadataLoadContext", - "version": "7.0.0", - "hash": "sha256-VYl6SFD130K9Aw4eJH16ApJ9Sau4Xu0dcxEip2veuTI=" - }, { "pname": "System.Reflection.TypeExtensions", "version": "4.7.0", "hash": "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM=" }, - { - "pname": "System.Resources.Extensions", - "version": "9.0.0", - "hash": "sha256-y2gLEMuAy6QfEyNJxABC/ayMWGnwlpX735jsUQLktho=" - }, - { - "pname": "System.Security.Cryptography.Pkcs", - "version": "7.0.0", - "hash": "sha256-3J3vL9hcKSuZjT2GKappa2A9p2xJm1nH2asTNAl8ZCA=" - }, - { - "pname": "System.Security.Cryptography.Pkcs", - "version": "7.0.2", - "hash": "sha256-qS5Z/Yo8J+f3ExVX5Qkcpj1Z57oUZqz5rWa1h5bVpl8=" - }, - { - "pname": "System.Security.Cryptography.Pkcs", - "version": "9.0.0", - "hash": "sha256-AjG14mGeSc2Ka4QSelGBM1LrGBW3VJX60lnihKyJjGY=" - }, { "pname": "System.Security.Cryptography.ProtectedData", "version": "10.0.0", "hash": "sha256-hoR1lVXVEUXfItNzJ23/SRybLBqaf4ZYzJBjlWgHpSM=" }, - { - "pname": "System.Security.Cryptography.ProtectedData", - "version": "9.0.0", - "hash": "sha256-gPgPU7k/InTqmXoRzQfUMEKL3QuTnOKowFqmXTnWaBQ=" - }, - { - "pname": "System.Security.Cryptography.Xml", - "version": "7.0.1", - "hash": "sha256-CH8+JVC8LyCSW75/6ZQ7ecMbSOAE1c16z4dG8JTp01w=" - }, - { - "pname": "System.Security.Cryptography.Xml", - "version": "9.0.0", - "hash": "sha256-SQJWwAFrJUddEU6JiZB52FM9tGjRlJAYH8oYVzG5IJU=" - }, - { - "pname": "System.Security.Permissions", - "version": "7.0.0", - "hash": "sha256-DOFoX+AKRmrkllykHheR8FfUXYx/Ph+I/HYuReQydXI=" - }, - { - "pname": "System.Security.Permissions", - "version": "9.0.0", - "hash": "sha256-BFrA9ottmQtLIAiKiGRbfSUpzNJwuaOCeFRDN4Z0ku0=" - }, { "pname": "System.ServiceProcess.ServiceController", "version": "10.0.0", "hash": "sha256-94SnWmBG5zcg2JmzFb6H3KKBnyi7OtYhRY7imxju3d8=" }, - { - "pname": "System.Windows.Extensions", - "version": "9.0.0", - "hash": "sha256-RErD+Ju15qtnwdwB7E0SjjJGAnhXwJyC7UPcl24Z3Vs=" - }, { "pname": "Tmds.DBus.Protocol", "version": "0.21.2", diff --git a/pkgs/by-name/li/libation/package.nix b/pkgs/by-name/li/libation/package.nix index 05fc502a2be5..bf5f9f89802a 100644 --- a/pkgs/by-name/li/libation/package.nix +++ b/pkgs/by-name/li/libation/package.nix @@ -13,13 +13,13 @@ buildDotnetModule rec { pname = "libation"; - version = "13.1.1"; + version = "13.1.3"; src = fetchFromGitHub { owner = "rmcrackan"; repo = "Libation"; tag = "v${version}"; - hash = "sha256-c/K8jAWwul0FQGYxEbuhQnqXe5+R57TzOXwWUv68M1Q="; + hash = "sha256-gK0UZ+3EZGVEiy+O47GhU4wsHmdPIbrHWyHnUOtWrm8="; }; sourceRoot = "${src.name}/Source"; From 2f09c7026453bcf04468c11e6bd2b8e0fdbdb8fe Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 21 Jan 2026 18:56:13 +0100 Subject: [PATCH 0706/1216] stdenv.mkDerivation: remove unused variables --- pkgs/stdenv/generic/make-derivation.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 62aa85f9b7aa..cdfeb34a2411 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -5,10 +5,8 @@ stdenv: let # Lib attributes are inherited to the lexical scope for performance reasons. inherit (lib) - any assertMsg attrNames - boolToString concatLists concatMap concatMapStrings @@ -17,7 +15,6 @@ let elemAt extendDerivation filter - findFirst getDev head imap1 @@ -199,10 +196,8 @@ let inherit (hostPlatform) isLinux - isDarwin isWindows isCygwin - isOpenBSD isStatic isMusl ; From fbf513003e7794a5155f691bdb4b0cf90a5f46c9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:09:30 +0000 Subject: [PATCH 0707/1216] typescript-go: 0-unstable-2026-01-14 -> 0-unstable-2026-01-21 --- pkgs/by-name/ty/typescript-go/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/typescript-go/package.nix b/pkgs/by-name/ty/typescript-go/package.nix index 96c62a6e7090..83ae24763093 100644 --- a/pkgs/by-name/ty/typescript-go/package.nix +++ b/pkgs/by-name/ty/typescript-go/package.nix @@ -10,13 +10,13 @@ let in buildGoModule { pname = "typescript-go"; - version = "0-unstable-2026-01-14"; + version = "0-unstable-2026-01-21"; src = fetchFromGitHub { owner = "microsoft"; repo = "typescript-go"; - rev = "f5bcdfc02e6527b774418a26ee817c4397da8546"; - hash = "sha256-tNpRCXj/QoYP2uw7nWaQZAnQtktYgVfZZ1/L+N+/xys="; + rev = "01cac67dfdfcce7262431f282e6f515861897ed0"; + hash = "sha256-6Ukhujb0EVJr3PYVTuM3MKPMpzshMy1NphSsgXsHRgQ="; fetchSubmodules = false; }; From 6cd79ebe14eff2ee0ccde35255a4cfd45360d426 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:37:40 +0000 Subject: [PATCH 0708/1216] python3Packages.reflex: 0.8.25 -> 0.8.26 --- pkgs/development/python-modules/reflex/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/reflex/default.nix b/pkgs/development/python-modules/reflex/default.nix index 49f29978690d..9ee405aa9985 100644 --- a/pkgs/development/python-modules/reflex/default.nix +++ b/pkgs/development/python-modules/reflex/default.nix @@ -49,14 +49,14 @@ buildPythonPackage (finalAttrs: { pname = "reflex"; - version = "0.8.25"; + version = "0.8.26"; pyproject = true; src = fetchFromGitHub { owner = "reflex-dev"; repo = "reflex"; tag = "v${finalAttrs.version}"; - hash = "sha256-pp4onogav+kad0JpBRPnar30elP1aYuhA9AMoSjjRss="; + hash = "sha256-pV7J+O7WaD7hzrjvqOFtrj8CKT+SX6KWHot/VxEMtZQ="; }; # For some reason, pre_commit is supposedly missing when python>=3.14 From 943d7391d9bc7c9f6f1700c011e73c24906a4a5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:44:14 +0000 Subject: [PATCH 0709/1216] libretro.play: 0-unstable-2026-01-14 -> 0-unstable-2026-01-19 --- pkgs/applications/emulators/libretro/cores/play.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/play.nix b/pkgs/applications/emulators/libretro/cores/play.nix index d12aeee7c7b8..f73057a79706 100644 --- a/pkgs/applications/emulators/libretro/cores/play.nix +++ b/pkgs/applications/emulators/libretro/cores/play.nix @@ -14,13 +14,13 @@ }: mkLibretroCore { core = "play"; - version = "0-unstable-2026-01-14"; + version = "0-unstable-2026-01-19"; src = fetchFromGitHub { owner = "jpd002"; repo = "Play-"; - rev = "48ddb5671398cd0b96901f0ba7ec2543df8548eb"; - hash = "sha256-xZJG4Bjh3Nkb7IOGIBZmcRF92eFT3C/dNTSJ0RAFFTA="; + rev = "bf245b03076b97eed14abd54c79537a59ecc2bd9"; + hash = "sha256-2Tm/CQt+LwAIEWsBRtgm/rZngSHqEohx45UlkaTCHbA="; fetchSubmodules = true; }; From f38c6b016e70671c87f95a653fb7da009f453722 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:46:58 +0000 Subject: [PATCH 0710/1216] python3Packages.google-cloud-shell: 1.13.0 -> 1.14.0 --- .../development/python-modules/google-cloud-shell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-shell/default.nix b/pkgs/development/python-modules/google-cloud-shell/default.nix index 48f3e4100abf..2de83610d898 100644 --- a/pkgs/development/python-modules/google-cloud-shell/default.nix +++ b/pkgs/development/python-modules/google-cloud-shell/default.nix @@ -14,13 +14,13 @@ buildPythonPackage rec { pname = "google-cloud-shell"; - version = "1.13.0"; + version = "1.14.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_shell"; inherit version; - hash = "sha256-B6SZJm7rGZDIFbF0kHPcBidBF0d+ONIKtUcpjwslkgE="; + hash = "sha256-hnlYocYjIiPjO4HparvKTC0pFtRXAkRVB9O9TYHOjFU="; }; build-system = [ setuptools ]; From 299d28b45923758e6adbe8ed2fc2bad61a20af7d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:51:17 +0000 Subject: [PATCH 0711/1216] lazyworktree: 1.23.0 -> 1.26.0 --- pkgs/by-name/la/lazyworktree/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/la/lazyworktree/package.nix b/pkgs/by-name/la/lazyworktree/package.nix index b86687bffbc9..7c1c5cb86ea3 100644 --- a/pkgs/by-name/la/lazyworktree/package.nix +++ b/pkgs/by-name/la/lazyworktree/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "lazyworktree"; - version = "1.23.0"; + version = "1.26.0"; src = fetchFromGitHub { owner = "chmouel"; repo = "lazyworktree"; tag = "v${finalAttrs.version}"; - hash = "sha256-qF9196fzKgU9iS7wlOBCYqxtxsauri7CWBEAPCVxo9g="; + hash = "sha256-NEZ8bMI7FxiHuCmFy7sjDlZv4aoX431VRQHQXigaHOM="; }; - vendorHash = "sha256-Ch/SsuHrCIFefIuQgK0fp5qSg9JX1zPwLEDsMDYIqxE="; + vendorHash = "sha256-6Fxri3Ge2iaMluc5h5tL03yXeJcHT6kG3O2ewDG7Acs="; nativeBuildInputs = [ installShellFiles ]; From 56378cf1aa86ad42480dafab11e96135862bcebd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:53:07 +0000 Subject: [PATCH 0712/1216] exoscale-cli: 1.90.0 -> 1.90.1 --- pkgs/by-name/ex/exoscale-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ex/exoscale-cli/package.nix b/pkgs/by-name/ex/exoscale-cli/package.nix index 47197da6b2b7..7f67c14216b8 100644 --- a/pkgs/by-name/ex/exoscale-cli/package.nix +++ b/pkgs/by-name/ex/exoscale-cli/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "exoscale-cli"; - version = "1.90.0"; + version = "1.90.1"; src = fetchFromGitHub { owner = "exoscale"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-dDs0pwOxdwXqYm8al1TUXoZVaBL4vE/PwCcQFhSUarE="; + sha256 = "sha256-mRHENBxxumb0eO74N0f04GItlI0jcsKnug45uLxuMdI="; }; vendorHash = null; From 66e1f2685b1f365fb97f39a8464d068de35afc69 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 18:56:18 +0000 Subject: [PATCH 0713/1216] stackit-cli: 0.51.0 -> 0.52.0 --- pkgs/by-name/st/stackit-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stackit-cli/package.nix b/pkgs/by-name/st/stackit-cli/package.nix index c4993bbd4eed..7b00c93cf007 100644 --- a/pkgs/by-name/st/stackit-cli/package.nix +++ b/pkgs/by-name/st/stackit-cli/package.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "stackit-cli"; - version = "0.51.0"; + version = "0.52.0"; src = fetchFromGitHub { owner = "stackitcloud"; repo = "stackit-cli"; rev = "v${version}"; - hash = "sha256-6fbWMgLHSTbBKqxRTSGvOdJop1xx2vAFkN+j8gsuO9U="; + hash = "sha256-eBNr4JuzMkO7gFNz5H9Anh1hAcBgFTWvz6jT9oNzeQ8="; }; - vendorHash = "sha256-Xo1oQJBd093O8IKfkKq146AuGgqzupMN+PROPKsOz4E="; + vendorHash = "sha256-ujdLPiETHFoP+YfJUCZcAoZolB6bCtjsE7OaYWOTA1A="; subPackages = [ "." ]; From cc7966a335a0a1c64a79c4d8056e6e9d3bee9376 Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Wed, 21 Jan 2026 20:03:28 +0100 Subject: [PATCH 0714/1216] elements: 23.2.4 -> 23.3.1 --- pkgs/applications/blockchains/elements/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/blockchains/elements/default.nix b/pkgs/applications/blockchains/elements/default.nix index ffe27fa9b87b..0803e814480c 100644 --- a/pkgs/applications/blockchains/elements/default.nix +++ b/pkgs/applications/blockchains/elements/default.nix @@ -26,23 +26,15 @@ stdenv.mkDerivation rec { pname = if withGui then "elements" else "elementsd"; - version = "23.2.4"; + version = "23.3.1"; src = fetchFromGitHub { owner = "ElementsProject"; repo = "elements"; rev = "elements-${version}"; - sha256 = "sha256-UNjYkEZBjGuhkwBxSkNXjBBcLQqoan/afCLhoR2lOY4="; + sha256 = "sha256-hqHKH9B6EITwZ4F+YdPJI4n3Z3EeXdPYbzRoNODlThY="; }; - patches = [ - # upnp: fix build with miniupnpc 2.2.8 - (fetchpatch2 { - url = "https://github.com/bitcoin/bitcoin/commit/8acdf66540834b9f9cf28f16d389e8b6a48516d5.patch?full_index=1"; - hash = "sha256-oDvHUvwAEp0LJCf6QBESn38Bu359TcPpLhvuLX3sm6M="; - }) - ]; - nativeBuildInputs = [ autoreconfHook pkg-config From 63259895e5e5f38f46b0080b7dd429d52801f88c Mon Sep 17 00:00:00 2001 From: Mathtician Date: Wed, 21 Jan 2026 13:14:19 -0600 Subject: [PATCH 0715/1216] outguess: fix build outguess does not build with the current version of GCC. Added a postPatch to remove K&R-style function declarations. Package now compiles but has otherwise been minimally tested. --- pkgs/by-name/ou/outguess/package.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/by-name/ou/outguess/package.nix b/pkgs/by-name/ou/outguess/package.nix index 903c4754ffad..3d682afab665 100644 --- a/pkgs/by-name/ou/outguess/package.nix +++ b/pkgs/by-name/ou/outguess/package.nix @@ -22,6 +22,17 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--with-generic-jconfig" ]; + # Fix build with modern compilers (GCC 14+) + # The bundled jpeg-6b-steg library uses K&R-style function declarations + # that are incompatible with modern C standards + postPatch = '' + substituteInPlace src/jpeg-6b-steg/jmorecfg.h \ + --replace-fail '#define JMETHOD(type,methodname,arglist) type (*methodname) ()' \ + '#define JMETHOD(type,methodname,arglist) type (*methodname) arglist' + substituteInPlace src/jpeg-6b-steg/jpeglib.h \ + --replace-fail '#ifdef HAVE_PROTOTYPES' '#if 1 /* Force ANSI prototypes */' + ''; + meta = { description = "Universal steganographic tool that allows the insertion of hidden information into the redundant bits of data sources"; homepage = "https://github.com/resurrecting-open-source-projects/outguess"; From 0678ad485c1cbb6335cc57f87a337bfb4622431a Mon Sep 17 00:00:00 2001 From: andre4ik3 Date: Sun, 18 Jan 2026 07:08:10 +0000 Subject: [PATCH 0716/1216] fex: 2512 -> 2601 --- pkgs/by-name/fe/fex/package.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fe/fex/package.nix b/pkgs/by-name/fe/fex/package.nix index 22c2f199c903..8e251069a1e6 100644 --- a/pkgs/by-name/fe/fex/package.nix +++ b/pkgs/by-name/fe/fex/package.nix @@ -95,13 +95,13 @@ let in llvmPackages.stdenv.mkDerivation (finalAttrs: { pname = "fex"; - version = "2512"; + version = "2601"; src = fetchFromGitHub { owner = "FEX-Emu"; repo = "FEX"; tag = "FEX-${finalAttrs.version}"; - hash = "sha256-G61FdzNctTp8jarTcnBXd+MQpMxnPqd33hblvi9UXNo="; + hash = "sha256-AfHOD3S3zDwe85Zr8XEMmI+LrdVEZdXJ9FWQQ+oUNik="; leaveDotGit = true; postFetch = '' @@ -156,6 +156,12 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: { substituteInPlace Source/Tools/FEXConfig/main.qml \ --replace-fail "config: \"Thunk" "config: \"UnusedThunk" \ --replace-fail "title: qsTr(\"Library forwarding:\")" "visible: false; title: qsTr(\"Library forwarding:\")" + + # Temporarily disable failing tests. TODO: investigate the root cause of these failures + rm \ + unittests/ASM/Primary/Primary_63_2.asm \ + unittests/32Bit_ASM/Secondary/07_XX_04.asm \ + unittests/ASM/Secondary/07_XX_04.asm ''; nativeBuildInputs = [ From b6ec3a74a291703ba08e0cf27ebf4c1f3099fea1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 19:21:33 +0000 Subject: [PATCH 0717/1216] cdk8s-cli: 2.203.16 -> 2.203.18 --- pkgs/by-name/cd/cdk8s-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cd/cdk8s-cli/package.nix b/pkgs/by-name/cd/cdk8s-cli/package.nix index 4532115e199b..cdc4ae59661a 100644 --- a/pkgs/by-name/cd/cdk8s-cli/package.nix +++ b/pkgs/by-name/cd/cdk8s-cli/package.nix @@ -12,18 +12,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "cdk8s-cli"; - version = "2.203.16"; + version = "2.203.18"; src = fetchFromGitHub { owner = "cdk8s-team"; repo = "cdk8s-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-PLdB0f7CMuvArlLfY+7G9UUUTURtiy/nHcgiSZoW01c="; + hash = "sha256-P/I8e7FWC4HgqPUe5839oh8sRrIQoCJqCvlw6+Wz/aw="; }; yarnOfflineCache = fetchYarnDeps { inherit (finalAttrs) src; - hash = "sha256-GBkgzzkw5h2eajuIYO3gazDLoYYqc8Bx5NjWs8jVbaM="; + hash = "sha256-IefCjyrUlHAFC8563M5/UM7d+4Sx9zvW7QMLxW5pJgQ="; }; nativeBuildInputs = [ From 0d77f27859e52599b619258b5a19de453ff5fe83 Mon Sep 17 00:00:00 2001 From: Angelo Delefortrie Date: Wed, 21 Jan 2026 20:33:19 +0100 Subject: [PATCH 0718/1216] rauthy: 0.33.4 -> 0.34.0 --- pkgs/by-name/ra/rauthy/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ra/rauthy/package.nix b/pkgs/by-name/ra/rauthy/package.nix index c76eca31bb32..94d1928bb9cd 100644 --- a/pkgs/by-name/ra/rauthy/package.nix +++ b/pkgs/by-name/ra/rauthy/package.nix @@ -8,24 +8,24 @@ pkg-config, perl, wasm-pack, - wasm-bindgen-cli_0_2_106, + wasm-bindgen-cli_0_2_108, binaryen, lld, }: let - version = "0.33.4"; + version = "0.34.0"; pname = "rauthy"; src = fetchFromGitHub { owner = "sebadob"; repo = "rauthy"; tag = "v${version}"; - hash = "sha256-MhurQyfB+ydIdnCAu5+h6EeKwPHyQix0dDYIvaV3Juk="; + hash = "sha256-ZYugnemiZpa8gmXCRgZc/9att/vUribC1+vpS7vhgl8="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit src pname version; - hash = "sha256-rFJHXWr50dLHILSgAHLCzgiD543r6xctjw60MOOR7HU="; + hash = "sha256-ixl4mlQJw8Gr7Rrnm8B2Iz8xI7IAne8OR9Dri0k3kqY="; }; # Wasm modules are needed to build the frontend and are part of the main Rust repo. @@ -40,7 +40,7 @@ let nativeBuildInputs = [ writableTmpDirAsHomeHook wasm-pack - wasm-bindgen-cli_0_2_106 + wasm-bindgen-cli_0_2_108 binaryen lld ]; @@ -77,7 +77,7 @@ let "-p2" ]; - npmDepsHash = "sha256-rTN+CbwnX157qqPLpUfjoCofFiwKYJJH9Oy0MeRFWXE="; + npmDepsHash = "sha256-F8/zbqI7Nmm8GLtkL25QDX222yzhlg7NA32tpBa8b5o="; preBuild = '' mkdir -p ./src/wasm/ From 37776e2e7ba9eb200299de7b777348cb044f9097 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 19:53:23 +0000 Subject: [PATCH 0719/1216] python3Packages.google-cloud-securitycenter: 1.41.0 -> 1.42.0 --- .../python-modules/google-cloud-securitycenter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix index 00b82e82dbea..07bbce5f9b75 100644 --- a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix +++ b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix @@ -13,13 +13,13 @@ buildPythonPackage rec { pname = "google-cloud-securitycenter"; - version = "1.41.0"; + version = "1.42.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_securitycenter"; inherit version; - hash = "sha256-JHbPkOVw19KQok3NV0j6AecKRw7NMH9WjsbAapISDiM="; + hash = "sha256-zwCV0I0vBIgvVRXG31JX8M00u8mzXGMCw/5QpEMKa+Q="; }; build-system = [ setuptools ]; From 935320bc01c20cc6adcc0d6e7f2f62efe4b4a463 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 19:57:16 +0000 Subject: [PATCH 0720/1216] grpc-gateway: 2.27.4 -> 2.27.5 --- pkgs/by-name/gr/grpc-gateway/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gr/grpc-gateway/package.nix b/pkgs/by-name/gr/grpc-gateway/package.nix index 482b1520591b..3ce546e565f6 100644 --- a/pkgs/by-name/gr/grpc-gateway/package.nix +++ b/pkgs/by-name/gr/grpc-gateway/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "grpc-gateway"; - version = "2.27.4"; + version = "2.27.5"; src = fetchFromGitHub { owner = "grpc-ecosystem"; repo = "grpc-gateway"; tag = "v${version}"; - sha256 = "sha256-4bhEQTVV04EyX/qJGNMIAQDcMWcDVr1tFkEjBHpc2CA="; + sha256 = "sha256-xPm5oBxmtCfrOAIKoLMQFZA7PAp/buz6QRwQ8HFFpq4="; }; - vendorHash = "sha256-ohZW/uPdt08Y2EpIQ2yeyGSjV9O58+QbQQqYrs6O8/g="; + vendorHash = "sha256-eEif65wAE06UNkkmDHz781DDuFPOTLkdvDq++XSP8XY="; ldflags = [ "-X=main.version=${version}" From 73232a3caef831c5d77a374bbca554d5b45b4302 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:00:21 +0000 Subject: [PATCH 0721/1216] goodhosts: 1.1.2 -> 1.1.3 --- pkgs/by-name/go/goodhosts/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/goodhosts/package.nix b/pkgs/by-name/go/goodhosts/package.nix index ef9daeab99e5..b1e5d6aa86d7 100644 --- a/pkgs/by-name/go/goodhosts/package.nix +++ b/pkgs/by-name/go/goodhosts/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "goodhosts"; - version = "1.1.2"; + version = "1.1.3"; src = fetchFromGitHub { owner = "goodhosts"; repo = "cli"; rev = "v${version}"; - hash = "sha256-ZasS7AYGYPV+nzp9JbJC5pD0yQ+ik+QnuL+3qC1uqFk="; + hash = "sha256-+KlAJV+CeycQHwxrRI9kMkKlDLs8bS+/QwaYv70LEfU="; }; ldflags = [ @@ -24,7 +24,7 @@ buildGoModule rec { mv $out/bin/cli $out/bin/goodhosts ''; - vendorHash = "sha256-t/pdJWz6rLnBbH8iq9Nqy+E+DD2770UCEcowwStPdqM="; + vendorHash = "sha256-FsjCpwvehmRm67Tqwld+0vn4IFO6E46SJnLwRjKVAiw="; meta = { description = "CLI tool for managing hostfiles"; From 5c34d6293b7da6bb1c79847b07fe631de2ed784c Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Wed, 21 Jan 2026 16:40:25 +0200 Subject: [PATCH 0722/1216] python314Packages.ibis-framework: fix build by adding "-Wignore::pytest.PytestUnraisableExceptionWarning" --- pkgs/development/python-modules/ibis-framework/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix index c91d339074be..40062a4ba80e 100644 --- a/pkgs/development/python-modules/ibis-framework/default.nix +++ b/pkgs/development/python-modules/ibis-framework/default.nix @@ -148,6 +148,8 @@ buildPythonPackage (finalAttrs: { ++ lib.optionals (pythonAtLeast "3.14") [ # DeprecationWarning: '_UnionGenericAlias' is deprecated and slated for removal in Python 3.17 "-Wignore::DeprecationWarning" + # Multiple tests with warnings fail without it + "-Wignore::pytest.PytestUnraisableExceptionWarning" ]; enabledTestMarks = testBackends ++ [ "core" ]; From 6c8eefec604f137e524e5448c7c5f8687092abc9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:05:15 +0000 Subject: [PATCH 0723/1216] gh: 2.85.0 -> 2.86.0 --- pkgs/by-name/gh/gh/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index d7f8e3c8f2ef..27436f623268 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -10,13 +10,13 @@ buildGoModule rec { pname = "gh"; - version = "2.85.0"; + version = "2.86.0"; src = fetchFromGitHub { owner = "cli"; repo = "cli"; tag = "v${version}"; - hash = "sha256-XngvPEVrUNKuNs+9/osXEagwqe0KW25xFwEjcPfMO0M="; + hash = "sha256-+MPhDgXIVfYGp5ALI5GjRoeLRRUtNgpzUawxoqR76iE="; }; vendorHash = "sha256-pBHEqMgEoR3sWNbQjGBNso7WLP9Rz2gu89Bzu+7jz5c="; From 5e99f9175ddb7a3af28be9126d2e361175721ad0 Mon Sep 17 00:00:00 2001 From: Gon Solo Date: Wed, 21 Jan 2026 21:05:34 +0100 Subject: [PATCH 0724/1216] netgen-vlsi: 1.5.314 -> 1.5.315 --- pkgs/by-name/ne/netgen-vlsi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/netgen-vlsi/package.nix b/pkgs/by-name/ne/netgen-vlsi/package.nix index f878476fd6cf..8992ffddc133 100644 --- a/pkgs/by-name/ne/netgen-vlsi/package.nix +++ b/pkgs/by-name/ne/netgen-vlsi/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "netgen"; - version = "1.5.314"; + version = "1.5.315"; src = fetchFromGitHub { owner = "RTimothyEdwards"; repo = "netgen"; tag = finalAttrs.version; - hash = "sha256-g8d/faYjhL6WXSShqWn9n+4cUJ8qKtqyEgyIRsrHo5o="; + hash = "sha256-dXCZm5zVwn23y7DLPSUrTKGMcu/FjdVKsyry59lEt7U="; }; strictDeps = true; From 40eda79d26eecbfe05bbdfbe1acff73dc006763e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:05:50 +0000 Subject: [PATCH 0725/1216] terraform-providers.integrations_github: 6.9.1 -> 6.10.2 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..5cde33b24b67 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -751,11 +751,11 @@ "vendorHash": null }, "integrations_github": { - "hash": "sha256-I9mQ3oNzU6+n7XPmyhbIgr/d80wcLy5s1s3v96fYbkU=", + "hash": "sha256-WN8G05llSdh7IE7mJelrehTkNNtWBMG8Co/YLJUNLmk=", "homepage": "https://registry.terraform.io/providers/integrations/github", "owner": "integrations", "repo": "terraform-provider-github", - "rev": "v6.9.1", + "rev": "v6.10.2", "spdx": "MIT", "vendorHash": null }, From fc95ae217208cf6895b6517bf5d0e1601b82e78b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:15:56 +0000 Subject: [PATCH 0726/1216] terraform-providers.datadog_datadog: 3.84.0 -> 3.85.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..11fcfcb9f1a6 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -274,13 +274,13 @@ "vendorHash": "sha256-3o6YRDrq4rQhNAFyqiGJrAoxuAykWw85OExRGSE3kGI=" }, "datadog_datadog": { - "hash": "sha256-xBfk4Pvu4caOOW5qxNdbaEb4NAOL9/5KMgBCpBfvghU=", + "hash": "sha256-AOffUquIVHmeYk3WbkekSwZQAC4FXY82+dQMgGQ8/H8=", "homepage": "https://registry.terraform.io/providers/DataDog/datadog", "owner": "DataDog", "repo": "terraform-provider-datadog", - "rev": "v3.84.0", + "rev": "v3.85.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-FrMa8ah8WM/XlQwwHTvK0tPaSUnCx2ArQDWXw7ULwTk=" + "vendorHash": "sha256-0hMKqv++nheXRu8DBcGOItaVKCnr0nPv/jGtNe05cp8=" }, "datadrivers_nexus": { "hash": "sha256-Lm5CZ+eBDUNIL2KuK/iKc5dTif7P+E9II714vwvYuyU=", From 66d992295ac4bca561b50d874d296121e10e822f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:22:10 +0000 Subject: [PATCH 0727/1216] airwindows: 0-unstable-2026-01-11 -> 0-unstable-2026-01-18 --- pkgs/by-name/ai/airwindows/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ai/airwindows/package.nix b/pkgs/by-name/ai/airwindows/package.nix index 37f61ef13c60..084830f733f3 100644 --- a/pkgs/by-name/ai/airwindows/package.nix +++ b/pkgs/by-name/ai/airwindows/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation { pname = "airwindows"; - version = "0-unstable-2026-01-11"; + version = "0-unstable-2026-01-18"; src = fetchFromGitHub { owner = "airwindows"; repo = "airwindows"; - rev = "53a648baed26d12df3351b3301ea9cc741a35648"; - hash = "sha256-GN6AuqrHfFItFe8s1xU3LpltnTKEhasrvyI+3H9z7rU="; + rev = "fe67011732dada5da0cdba5550d4244c657d0aaa"; + hash = "sha256-/eAa8qLRoplQoEYocdrczEI5RSCTMTxSezw0WAtk47w="; }; # we patch helpers because honestly im spooked out by where those variables From d046bbfe91341ad3b486c87ae65dba4a12163031 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:30:11 +0000 Subject: [PATCH 0728/1216] python3Packages.google-cloud-videointelligence: 2.17.0 -> 2.18.0 --- .../python-modules/google-cloud-videointelligence/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix index 9d29bd3616dd..9cfa53b6a7d4 100644 --- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix +++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix @@ -14,13 +14,13 @@ buildPythonPackage rec { pname = "google-cloud-videointelligence"; - version = "2.17.0"; + version = "2.18.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_videointelligence"; inherit version; - hash = "sha256-AAi05hjj6oNYg+Ay2GYMhsa5M8mP4L+t2gNghv8DcoQ="; + hash = "sha256-sq45vSLRhiGGhKKXwvovpjblh05p059xlQTXKfRGOf0="; }; build-system = [ setuptools ]; From 6c44ec1f6873c26e0b12b39c59f5e5bbc27109a2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 14:57:41 +0000 Subject: [PATCH 0729/1216] crowdin-cli: 4.12.0 -> 4.13.0 --- pkgs/by-name/cr/crowdin-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cr/crowdin-cli/package.nix b/pkgs/by-name/cr/crowdin-cli/package.nix index 949730407316..e8e3e27c12da 100644 --- a/pkgs/by-name/cr/crowdin-cli/package.nix +++ b/pkgs/by-name/cr/crowdin-cli/package.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "crowdin-cli"; - version = "4.12.0"; + version = "4.13.0"; src = fetchurl { url = "https://github.com/crowdin/crowdin-cli/releases/download/${finalAttrs.version}/crowdin-cli.zip"; - hash = "sha256-y6JBlZ1h/1iWr8r+323sYpQNpzM3pHtC/CzQt4HL7MQ="; + hash = "sha256-XnRubOEtaCAH0lJHyBGi7qjLFGZA7tfOGdaaGNOsogY="; }; nativeBuildInputs = [ From 565a6109b4285b8ab298d8127d1c0ed0efe21a87 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:30:40 +0000 Subject: [PATCH 0730/1216] python3Packages.rchitect: 0.4.8 -> 0.4.9 --- pkgs/development/python-modules/rchitect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rchitect/default.nix b/pkgs/development/python-modules/rchitect/default.nix index 30478f3d2082..5df10c44be29 100644 --- a/pkgs/development/python-modules/rchitect/default.nix +++ b/pkgs/development/python-modules/rchitect/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "rchitect"; - version = "0.4.8"; + version = "0.4.9"; pyproject = true; src = fetchFromGitHub { owner = "randy3k"; repo = "rchitect"; tag = "v${version}"; - hash = "sha256-R1Zr0M6NQw+8MYHSm8ll5oe/P1Q/apO4xnWdWVFTgWQ="; + hash = "sha256-xIBDPYuEdYrwpHQBSXfZcEkLra+b0bKy5ILNDCS2Vz0="; }; postPatch = '' From 65c73146aa7dae5402d44255b4ce546d75bd4972 Mon Sep 17 00:00:00 2001 From: Darren Rambaud <225436867+debtquity@users.noreply.github.com> Date: Wed, 21 Jan 2026 14:32:21 -0600 Subject: [PATCH 0731/1216] stalwart-mail: 0.14.1 -> 0.15.4 * diff: https://github.com/stalwartlabs/stalwart/compare/v0.14.1...v0.15.4 * changelog: https://github.com/stalwartlabs/stalwart/releases/tag/v0.15.4 * remove `elastic` since it's no longer a feature and included by default (see: https://github.com/stalwartlabs/stalwart/discussions/2632#discussioncomment-15458542) * add `azure` and `nats` build features to align with upstream (see: https://github.com/stalwartlabs/stalwart/blob/659419212050bab50f600493fbe48a28aed44ac5/Dockerfile.build#L127) Resolves: NixOS/nixpkgs#473375 --- pkgs/by-name/st/stalwart-mail/package.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix index 89f81f4a97cf..4be73405bd7e 100644 --- a/pkgs/by-name/st/stalwart-mail/package.nix +++ b/pkgs/by-name/st/stalwart-mail/package.nix @@ -21,16 +21,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "stalwart-mail" + (lib.optionalString stalwartEnterprise "-enterprise"); - version = "0.14.1"; + version = "0.15.4"; src = fetchFromGitHub { owner = "stalwartlabs"; repo = "stalwart"; tag = "v${finalAttrs.version}"; - hash = "sha256-Wsk4n6jLOAFhxYb5Hw8XvQem0xccGGoD729nRz3bRF0="; + hash = "sha256-MIy1/8r5CMrTbVTjLFuUneoL3J38kZIgUMweoeaf3L0="; }; - cargoHash = "sha256-LFXpv8/rHQwzdKEyS4VplQSwFUnZrgv0qDIhZUOGfpo="; + cargoHash = "sha256-jVD11wz9Ab1E9KdNG4kp8Jqm2rJ2aUWuFTAOBga6Fgg="; depsBuildBuild = [ pkg-config @@ -61,9 +61,10 @@ rustPlatform.buildRustPackage (finalAttrs: { "postgres" "mysql" "rocks" - "elastic" "s3" "redis" + "azure" + "nats" ] ++ lib.optionals withFoundationdb [ "foundationdb" ] ++ lib.optionals stalwartEnterprise [ "enterprise" ]; @@ -87,7 +88,7 @@ rustPlatform.buildRustPackage (finalAttrs: { mkdir -p $out/lib/systemd/system substitute resources/systemd/stalwart-mail.service $out/lib/systemd/system/stalwart-mail.service \ - --replace "__PATH__" "$out" + --replace-fail "__PATH__" "$out" ''; checkFlags = lib.forEach [ @@ -169,6 +170,9 @@ rustPlatform.buildRustPackage (finalAttrs: { # left: ElementEnd # right: Bytes([...]) "responses::tests::parse_responses" + # thread 'store::search_tests' (912386) panicked at tests/src/store/mod.rs:116:10: + # Missing store type. Try running `STORE= cargo test`: NotPresent + "store::search_tests" ] (test: "--skip=${test}"); doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); From 8fcbf7b89279e7812a506173d28be3d1eb532b62 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Wed, 21 Jan 2026 21:33:30 +0100 Subject: [PATCH 0732/1216] airwin2rack: remove unneeded dependencies --- pkgs/by-name/ai/airwin2rack/package.nix | 40 +++---------------------- 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/pkgs/by-name/ai/airwin2rack/package.nix b/pkgs/by-name/ai/airwin2rack/package.nix index 4c378cbd5f45..f7117fee4681 100644 --- a/pkgs/by-name/ai/airwin2rack/package.nix +++ b/pkgs/by-name/ai/airwin2rack/package.nix @@ -9,29 +9,15 @@ pkg-config, alsa-lib, xorg, + fontconfig, freetype, - libGLU, libjack2, juce, - webkitgtk_4_1, - libsysprof-capture, - pcre2, - util-linux, - libselinux, - libsepol, - libthai, - libxkbcommon, - libdatrie, - libepoxy, libsoup_3, - lerc, - sqlite, libdeflate, xz, libwebp, glib, - gtk3-x11, - curl, vcv-rack, jansson, glew, @@ -105,27 +91,11 @@ stdenv.mkDerivation { xorg.libXinerama xorg.libXrandr xorg.libXrender - xorg.libXtst - xorg.libXdmcp - libGLU + fontconfig libjack2 freetype - webkitgtk_4_1 glib - gtk3-x11 - curl - libsysprof-capture - pcre2 - util-linux - libselinux - libsepol - libthai - libxkbcommon - libdatrie - libepoxy libsoup_3 - lerc - sqlite libdeflate xz # liblzma libwebp @@ -163,7 +133,7 @@ stdenv.mkDerivation { ln -s ${clapJuceExtensions} src-juce/clap-juce-extensions ''; - preConfigure = lib.optionalString enableVCVRack ''export RACK_DIR=${vcvRackSdk}''; + preConfigure = lib.optionalString enableVCVRack "export RACK_DIR=${vcvRackSdk}"; buildPhase = '' runHook preBuild @@ -208,14 +178,12 @@ stdenv.mkDerivation { "-lXinerama" "-lXrandr" "-lXrender" - "-lXtst" - "-lXdmcp" ] ); meta = { description = "JUCE Plugin Version of Airwindows Consolidated"; - homepage = "https://airwindows.com/"; + homepage = "https://github.com/baconpaul/airwin2rack"; platforms = [ "x86_64-linux" ]; license = with lib.licenses; From 0fc9a4dc8028561d245abedfee6ffd28293724c2 Mon Sep 17 00:00:00 2001 From: Mynacol Date: Mon, 1 Dec 2025 16:14:00 +0000 Subject: [PATCH 0733/1216] nixos/swap: resolve shellcheck warnings And enable `enableStrictShellChecks` to ensure it stays that way. --- nixos/modules/config/swap.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/config/swap.nix b/nixos/modules/config/swap.nix index 496ccb21e7c6..fa09b61ddec0 100644 --- a/nixos/modules/config/swap.nix +++ b/nixos/modules/config/swap.nix @@ -297,7 +297,7 @@ in ${lib.optionalString (sw.size != null) '' currentSize=$(( $(stat -c "%s" "$DEVICE" 2>/dev/null || echo 0) / 1024 / 1024 )) if [[ ! -b "$DEVICE" && "${toString sw.size}" != "$currentSize" ]]; then - if [[ $(stat -f -c %T "$(dirname "$DEVICE")") == "btrfs" ]]; then + if [[ "$(stat -f -c %T "$(dirname "$DEVICE")")" == "btrfs" ]]; then # Use btrfs mkswapfile to speed up the creation of swapfile. rm -f "$DEVICE" btrfs filesystem mkswapfile --size "${toString sw.size}M" --uuid clear "$DEVICE" @@ -331,6 +331,7 @@ in mkswap ${sw.realDevice} ''} ''; + enableStrictShellChecks = true; unitConfig.RequiresMountsFor = [ "${dirOf sw.device}" ]; unitConfig.DefaultDependencies = false; # needed to prevent a cycle From 58c8ec3b27b222bfbe2d47e70877b7f7ecf2deb6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:44:20 +0000 Subject: [PATCH 0734/1216] strawberry: 1.2.16 -> 1.2.17 --- pkgs/by-name/st/strawberry/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/strawberry/package.nix b/pkgs/by-name/st/strawberry/package.nix index e9faff43c7a8..69b8f90c8761 100644 --- a/pkgs/by-name/st/strawberry/package.nix +++ b/pkgs/by-name/st/strawberry/package.nix @@ -38,13 +38,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "strawberry"; - version = "1.2.16"; + version = "1.2.17"; src = fetchFromGitHub { owner = "jonaski"; repo = "strawberry"; rev = finalAttrs.finalPackage.version; - hash = "sha256-4V/geww/M0FD3McBuz8MgkwdXA7j+d71SJn5Q4AZrvU="; + hash = "sha256-ZyWVOpa1laBUNW5lwbNeAmVBXEOLlXy+Xz8vbtuLi/8="; }; # the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead From ce8377da561c325783aae39ee51bf2ad39bd04d3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 20:54:57 +0000 Subject: [PATCH 0735/1216] apko: 1.0.2 -> 1.0.4 --- pkgs/by-name/ap/apko/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ap/apko/package.nix b/pkgs/by-name/ap/apko/package.nix index be44ac3d4ae7..1abcceb294dd 100644 --- a/pkgs/by-name/ap/apko/package.nix +++ b/pkgs/by-name/ap/apko/package.nix @@ -11,13 +11,13 @@ buildGoModule (finalAttrs: { pname = "apko"; - version = "1.0.2"; + version = "1.0.4"; src = fetchFromGitHub { owner = "chainguard-dev"; repo = "apko"; tag = "v${finalAttrs.version}"; - hash = "sha256-rUJ/znxHysPdy4AFujbisUrCW0L0cgh03jLt3YY/tis="; + hash = "sha256-18i2xiVDjIRG0RD5R7t2BsyB9N+hhYOOByV6snGBCkM="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -29,7 +29,7 @@ buildGoModule (finalAttrs: { find "$out" -name .git -print0 | xargs -0 rm -rf ''; }; - vendorHash = "sha256-ol9uJq/HPdv5E2MB+KUturqwsa8s3xqULwXu9bAWjr0="; + vendorHash = "sha256-P8/0VSx4JfWgbMUuvo1Z0BhtC1TgGITSHLMHSzigeEg="; nativeBuildInputs = [ installShellFiles ]; From 1455b99d1bce6e40b65d2d248c64852ddece458e Mon Sep 17 00:00:00 2001 From: Darren Rambaud <225436867+debtquity@users.noreply.github.com> Date: Wed, 21 Jan 2026 14:57:54 -0600 Subject: [PATCH 0736/1216] stalwart.webadmin: 0.1.32 -> 0.1.37 * diff: https://github.com/stalwartlabs/webadmin/compare/v0.1.32...v0.1.37 * changelog: https://github.com/stalwartlabs/webadmin/releases/tag/v0.1.37 Related to: NixOS/nixpkgs#473375 --- pkgs/by-name/st/stalwart-mail/webadmin.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stalwart-mail/webadmin.nix b/pkgs/by-name/st/stalwart-mail/webadmin.nix index 818314de323d..e77e8ba4c90d 100644 --- a/pkgs/by-name/st/stalwart-mail/webadmin.nix +++ b/pkgs/by-name/st/stalwart-mail/webadmin.nix @@ -17,13 +17,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "webadmin"; - version = "0.1.32"; + version = "0.1.37"; src = fetchFromGitHub { owner = "stalwartlabs"; repo = "webadmin"; tag = "v${finalAttrs.version}"; - hash = "sha256-HmQBMU7o0A20SY4tBw4SPVfHFfw8e0JsNQDNdZcex24="; + hash = "sha256-82QvuLkp6j6nJs7jX4NRcnxZ+KNv9RREpM+x8dicfGo="; }; npmDeps = fetchNpmDeps { @@ -31,7 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-na1HEueX8w7kuDp8LEtJ0nD1Yv39cyk6sEMpS1zix2s="; }; - cargoHash = "sha256-a2+3uNNSLfb81QXjZfftbwpgjORPRSgC056U3FINP4o="; + cargoHash = "sha256-qYIg1BthkpS77I6duYGGX168Y/IO8Mx4SWMQbE0BwDA="; postPatch = '' # Using local tailwindcss for compilation From 0a8db1ea10ac3c7ba2987a324b7f5d9de06dd864 Mon Sep 17 00:00:00 2001 From: Jhony Elmer Angulo Fabian Date: Wed, 21 Jan 2026 15:58:48 -0500 Subject: [PATCH 0737/1216] codex: 0.87.0 -> 0.88.0 --- pkgs/by-name/co/codex/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/codex/package.nix b/pkgs/by-name/co/codex/package.nix index 06140b708772..04e8b608b7d6 100644 --- a/pkgs/by-name/co/codex/package.nix +++ b/pkgs/by-name/co/codex/package.nix @@ -14,18 +14,18 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "codex"; - version = "0.87.0"; + version = "0.88.0"; src = fetchFromGitHub { owner = "openai"; repo = "codex"; tag = "rust-v${finalAttrs.version}"; - hash = "sha256-XdfB0izL2w5IYLr8RUiP9Dytg6cOONNk9EtVnvzv83k="; + hash = "sha256-Ff6Ut1GwRPd2oB4/YojKgS/CYMG0TVizXOHKfpKClqY="; }; sourceRoot = "${finalAttrs.src.name}/codex-rs"; - cargoHash = "sha256-Ryr5mFc+StT1d+jBtRsrOzMtyEJf7W1HbMbnC84ps4s="; + cargoHash = "sha256-eLao+Jaq7+Bu9QNHDJYD3zX2BQvlX/BSTYr4gpCD++Q="; nativeBuildInputs = [ installShellFiles From 9b73d051d430d64cd92306a674281c942c7f0c0e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 21:02:52 +0000 Subject: [PATCH 0738/1216] autosuspend: 9.0.0 -> 9.0.1 --- pkgs/by-name/au/autosuspend/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/au/autosuspend/package.nix b/pkgs/by-name/au/autosuspend/package.nix index c8208b263d1c..75d441dcca0b 100644 --- a/pkgs/by-name/au/autosuspend/package.nix +++ b/pkgs/by-name/au/autosuspend/package.nix @@ -7,7 +7,7 @@ python3.pkgs.buildPythonApplication rec { pname = "autosuspend"; - version = "9.0.0"; + version = "9.0.1"; pyproject = true; disabled = python3.pythonOlder "3.11"; @@ -16,7 +16,7 @@ python3.pkgs.buildPythonApplication rec { owner = "languitar"; repo = "autosuspend"; tag = "v${version}"; - hash = "sha256-JOH4QzoiLR1Pp/RVz0nrLxjQw92pDxXTu414jbpCMqk="; + hash = "sha256-PVxsdCPGu+bhjfAF5Hu4Xa3lETARitbBUKuy7ursAUE="; }; build-system = with python3.pkgs; [ From 7a055af8e7ccb3473cfa733818c8100e80f47e4e Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Wed, 14 Jan 2026 12:13:36 -0800 Subject: [PATCH 0739/1216] nixos/services.picom: use libconfig to generate the config The custom formatter didn't correctly handle arrays (of primitives) versus lists (of composite types), which made it impossible to use the new picom rules system. --- nixos/modules/services/x11/picom.nix | 103 +++++---------------------- 1 file changed, 17 insertions(+), 86 deletions(-) diff --git a/nixos/modules/services/x11/picom.nix b/nixos/modules/services/x11/picom.nix index 33d53930dff0..399f2a66370b 100644 --- a/nixos/modules/services/x11/picom.nix +++ b/nixos/modules/services/x11/picom.nix @@ -20,43 +20,8 @@ let mkDefaultAttrs = mapAttrs (n: v: mkDefault v); - # Basically a tinkered lib.generators.mkKeyValueDefault - # It either serializes a top-level definition "key: { values };" - # or an expression "key = { values };" - mkAttrsString = - top: - mapAttrsToList ( - k: v: - let - sep = if (top && isAttrs v) then ":" else "="; - in - "${escape [ sep ] k}${sep}${mkValueString v};" - ); - - # This serializes a Nix expression to the libconfig format. - mkValueString = - v: - if types.bool.check v then - boolToString v - else if types.int.check v then - toString v - else if types.float.check v then - toString v - else if types.str.check v then - "\"${escape [ "\"" ] v}\"" - else if builtins.isList v then - "[ ${concatMapStringsSep " , " mkValueString v} ]" - else if types.attrs.check v then - "{ ${concatStringsSep " " (mkAttrsString false v)} }" - else - throw '' - invalid expression used in option services.picom.settings: - ${v} - ''; - - toConf = attrs: concatStringsSep "\n" (mkAttrsString true cfg.settings); - - configFile = pkgs.writeText "picom.conf" (toConf cfg.settings); + libconfig = pkgs.formats.libconfig { }; + configFile = libconfig.generate "picom.conf" cfg.settings; in { @@ -279,56 +244,22 @@ in ''; }; - settings = - with types; - let - scalar = - oneOf [ - bool - int - float - str - ] - // { - description = "scalar types"; + settings = mkOption { + type = libconfig.type; + default = { }; + example = literalExpression '' + blur = + { method = "gaussian"; + size = 10; + deviation = 5.0; }; - - libConfig = - oneOf [ - scalar - (listOf libConfig) - (attrsOf libConfig) - ] - // { - description = "libconfig type"; - }; - - topLevel = attrsOf libConfig // { - description = '' - libconfig configuration. The format consists of an attributes - set (called a group) of settings. Each setting can be a scalar type - (boolean, integer, floating point number or string), a list of - scalars or a group itself - ''; - }; - - in - mkOption { - type = topLevel; - default = { }; - example = literalExpression '' - blur = - { method = "gaussian"; - size = 10; - deviation = 5.0; - }; - ''; - description = '' - Picom settings. Use this option to configure Picom settings not exposed - in a NixOS option or to bypass one. For the available options see the - CONFIGURATION FILES section at {manpage}`picom(1)`. - ''; - }; + ''; + description = '' + Picom settings. Use this option to configure Picom settings not exposed + in a NixOS option or to bypass one. For the available options see the + CONFIGURATION FILES section at {manpage}`picom(1)`. + ''; + }; }; config = mkIf cfg.enable { From 1d96f7ba68f07075786791a11f40a156a9b41cf5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 21:09:52 +0000 Subject: [PATCH 0740/1216] python3Packages.playwrightcapture: 1.36.1 -> 1.36.2 --- pkgs/development/python-modules/playwrightcapture/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/playwrightcapture/default.nix b/pkgs/development/python-modules/playwrightcapture/default.nix index 617091524324..00823daa9188 100644 --- a/pkgs/development/python-modules/playwrightcapture/default.nix +++ b/pkgs/development/python-modules/playwrightcapture/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "playwrightcapture"; - version = "1.36.1"; + version = "1.36.2"; pyproject = true; src = fetchFromGitHub { owner = "Lookyloo"; repo = "PlaywrightCapture"; tag = "v${version}"; - hash = "sha256-EXF4X+KM7AvwvxkU9KFUM4pc1q8IGLo8fpycdVmTnuY="; + hash = "sha256-/lXoubcwV/Lt/qg17BhMM6p+0XUgAe2pMtowobs3MA8="; }; pythonRelaxDeps = [ From 6edfe0abf2f619391d4f21fc27d9c7566c2a974d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 21:11:00 +0000 Subject: [PATCH 0741/1216] terraform-providers.siderolabs_talos: 0.10.0 -> 0.10.1 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..7a571b575ea3 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1202,11 +1202,11 @@ "vendorHash": "sha256-OJlD1P+CUEsLk2xSsQ2QQBvGewYNly1dIJh8kMi+ChE=" }, "siderolabs_talos": { - "hash": "sha256-NsIFyngT6/bU744fftNWWHU43W3sXO/0yzzAKSEH9/Q=", + "hash": "sha256-9VL2aa6wZFAfQ/rkfMKwWdDU9Vs6GwZzsvQpUfm7rME=", "homepage": "https://registry.terraform.io/providers/siderolabs/talos", "owner": "siderolabs", "repo": "terraform-provider-talos", - "rev": "v0.10.0", + "rev": "v0.10.1", "spdx": "MPL-2.0", "vendorHash": "sha256-i5Qi2rs1NpOlOkM80Uj0GfQRbobp9+6lAgt2iN2uEn0=" }, From 8b47dae6e6d7b233fce2d723f9ba5fd96f0d751f Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Wed, 21 Jan 2026 22:12:31 +0100 Subject: [PATCH 0742/1216] airwin2rack: 2.13.0-unstable-2025-12-07 -> 2.13.0-unstable-2026-01-19 --- pkgs/by-name/ai/airwin2rack/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ai/airwin2rack/package.nix b/pkgs/by-name/ai/airwin2rack/package.nix index f7117fee4681..bd9db16c3cc5 100644 --- a/pkgs/by-name/ai/airwin2rack/package.nix +++ b/pkgs/by-name/ai/airwin2rack/package.nix @@ -42,7 +42,7 @@ let vcvRackSdk = srcOnly vcv-rack; pname = "airwin2rack"; - version = "2.13.0-unstable-2025-12-07"; + version = "2.13.0-unstable-2026-01-19"; in stdenv.mkDerivation { inherit pname; @@ -51,8 +51,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "baconpaul"; repo = "airwin2rack"; - rev = "a797d6c7a453006c6a08db32d7bb373ecccb572b"; - hash = "sha256-+xGLVp4eR7Xb2dSEyfyHfAcoZGRSzL49l/U89N2VX+w="; + rev = "ed3700c223be0fd5eddf6d57b66216fff8389c2c"; + hash = "sha256-JHARxie6y3mD/ZLEMGmfK8/b5GBcN/7lHpm7kI5BpTs="; fetchSubmodules = true; }; From aaa36bb4d8a6fa5a9f757cf6af934df420041eef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 21:43:12 +0000 Subject: [PATCH 0743/1216] terraform-providers.hetznercloud_hcloud: 1.58.0 -> 1.59.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..550d7b48bfe6 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -706,13 +706,13 @@ "vendorHash": null }, "hetznercloud_hcloud": { - "hash": "sha256-p0MR+e3iSEhDJwXHSqG1spJ5rt+TV6yQVm7V18spFi0=", + "hash": "sha256-phAc3QHDtTt76ThmsEW4u4SDC5r2Dv7uh4cxD/HurAA=", "homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud", "owner": "hetznercloud", "repo": "terraform-provider-hcloud", - "rev": "v1.58.0", + "rev": "v1.59.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-8gBaOdoUjmeomi8+H2gMypKnJdkXGzgzu8K0ATqMfxE=" + "vendorHash": "sha256-642sABI6g4T3OoZLuOdo9YzXSxi1d35WsVkUwzxKT7I=" }, "huaweicloud_huaweicloud": { "hash": "sha256-4YCixNM2I/v8pn6CAiNQf2tXKTeNjAWpHGDF3yOwIYs=", From 9944f229053026d263afcad8b1df0aea522ca369 Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Thu, 18 Dec 2025 11:25:44 +0100 Subject: [PATCH 0744/1216] julia_112: 1.12.1 -> 1.12.4 --- pkgs/development/compilers/julia/default.nix | 4 ++-- pkgs/development/compilers/julia/generic.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index a9495faa466f..a1e43af55d0c 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -87,8 +87,8 @@ in julia_112 = wrapJulia ( callPackage (import ./generic.nix { - version = "1.12.1"; - hash = "sha256-iR0Wu5HIqU1aY1WoLBf6PCRY64kWDUKEQ6CyobhB6lI="; + version = "1.12.4"; + hash = "sha256-bqYMBTleKQErY5NOaGsNqhzBVZR75CmuCyR7PqfnvpM="; }) { stdenv = gcc14Stdenv; diff --git a/pkgs/development/compilers/julia/generic.nix b/pkgs/development/compilers/julia/generic.nix index 37a556233e85..0eb5c787f4d3 100644 --- a/pkgs/development/compilers/julia/generic.nix +++ b/pkgs/development/compilers/julia/generic.nix @@ -85,8 +85,8 @@ stdenv.mkDerivation rec { '' + lib.optionalString (lib.versionAtLeast version "1.11") '' substituteInPlace deps/curl.mk \ - --replace-fail 'cd $(dir $<) && $(TAR) jxf $(notdir $<)' \ - 'cd $(dir $<) && $(TAR) jxf $(notdir $<) && sed -i "s|/usr/bin/env perl|${lib.getExe buildPackages.perl}|" curl-$(CURL_VER)/scripts/cd2nroff' + --replace-fail 'jxf $(notdir $<)' \ + 'jxf $(notdir $<) && sed -i "s|/usr/bin/env perl|${lib.getExe buildPackages.perl}|" curl-$(CURL_VER)/scripts/cd2nroff' '' + lib.optionalString (lib.versionOlder version "1.12") '' substituteInPlace deps/tools/common.mk \ From d94c7f7cc87fd510d545aa53bcfa4cda53a98d3b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 21:52:50 +0000 Subject: [PATCH 0745/1216] terraform-providers.aminueza_minio: 3.12.0 -> 3.13.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..54a8d832cbba 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -54,11 +54,11 @@ "vendorHash": "sha256-ogQLStDbsM0aRf4QIbITB8Z+L9DUtZwoAPK6T4xylXI=" }, "aminueza_minio": { - "hash": "sha256-G6eQeoxIeuUJK7LF8gByOrNP27i3p0OccZNxL2DxDw0=", + "hash": "sha256-gl1mD4Ital/xhtWZW9UbalTJqYLJ2tr8ImDFLiTyyFg=", "homepage": "https://registry.terraform.io/providers/aminueza/minio", "owner": "aminueza", "repo": "terraform-provider-minio", - "rev": "v3.12.0", + "rev": "v3.13.0", "spdx": "AGPL-3.0", "vendorHash": "sha256-6Tw4rCOzrvN2pK83NejdJJBjljfDfHEniIX+EdfqujA=" }, From e50b405461b3e084c972d750c8d2f449934c9d73 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 21 Jan 2026 21:37:40 +0000 Subject: [PATCH 0746/1216] [staging-next] Reapply "onnxruntime,python3.pkgs.onnxruntime: fix runtime w/ glibc-2.42" This reverts commit a2f23245d9a8c03cfcd0be1754fd94db922a3db0. --- pkgs/by-name/on/onnxruntime/package.nix | 42 ++++++++++--------- .../python-modules/onnxruntime/default.nix | 4 ++ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index 4b932dc5996b..8ea0c6837ee7 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -317,26 +317,28 @@ effectiveStdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "onnxruntime_USE_COMPOSABLE_KERNEL_CK_TILE" false) ]; - env = - lib.optionalAttrs rocmSupport { - MIOPEN_PATH = rocmPackages.miopen; - # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing - # fatal error: 'rocrand/rocrand.h' file not found - HIPFLAGS = lib.concatMapStringsSep " " (pkg: "-I${lib.getInclude pkg}/include") [ - rocmPackages.hipblas - rocmPackages.hipcub - rocmPackages.hiprand - rocmPackages.hipsparse - rocmPackages.rocblas - rocmPackages.rocprim - rocmPackages.rocrand - rocmPackages.rocthrust - ]; - } - // lib.optionalAttrs effectiveStdenv.hostPlatform.isMusl { - NIX_CFLAGS_COMPILE = "-DFLATBUFFERS_LOCALE_INDEPENDENT=0"; - GTEST_FILTER = "*:-ContribOpTest.StringNormalizer*"; - }; + env = { + NIX_LDFLAGS = "-z,noexecstack"; + } + // lib.optionalAttrs rocmSupport { + MIOPEN_PATH = rocmPackages.miopen; + # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing + # fatal error: 'rocrand/rocrand.h' file not found + HIPFLAGS = lib.concatMapStringsSep " " (pkg: "-I${lib.getInclude pkg}/include") [ + rocmPackages.hipblas + rocmPackages.hipcub + rocmPackages.hiprand + rocmPackages.hipsparse + rocmPackages.rocblas + rocmPackages.rocprim + rocmPackages.rocrand + rocmPackages.rocthrust + ]; + } + // lib.optionalAttrs effectiveStdenv.hostPlatform.isMusl { + NIX_CFLAGS_COMPILE = "-DFLATBUFFERS_LOCALE_INDEPENDENT=0"; + GTEST_FILTER = "*:-ContribOpTest.StringNormalizer*"; + }; doCheck = !( diff --git a/pkgs/development/python-modules/onnxruntime/default.nix b/pkgs/development/python-modules/onnxruntime/default.nix index 9685d85a72a3..ebd0e28cd243 100644 --- a/pkgs/development/python-modules/onnxruntime/default.nix +++ b/pkgs/development/python-modules/onnxruntime/default.nix @@ -38,6 +38,10 @@ buildPythonPackage { chmod +w dist ''; + env = { + NIX_LDFLAGS = "-z,noexecstack"; + }; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; # This project requires fairly large dependencies such as sympy which we really don't always need. From 7f234a5dc4633787666ed662a4657504d299326b Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Wed, 21 Jan 2026 22:55:16 +0100 Subject: [PATCH 0747/1216] xsm: Use the correct dependency name --- pkgs/by-name/xs/xsm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xs/xsm/package.nix b/pkgs/by-name/xs/xsm/package.nix index a8bc165c4991..e79b84e9b6f0 100644 --- a/pkgs/by-name/xs/xsm/package.nix +++ b/pkgs/by-name/xs/xsm/package.nix @@ -15,7 +15,7 @@ # run time dependencies iceauth, smproxy, - twm, + tab-window-manager, xterm, }: stdenv.mkDerivation (finalAttrs: { @@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { lib.makeBinPath [ iceauth smproxy - twm + tab-window-manager xterm ] } From 5e4cf54cb146ebbed56fe833b74e79194c1135d9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:03:46 +0000 Subject: [PATCH 0748/1216] scala-cli: 1.11.0 -> 1.12.0 --- pkgs/by-name/sc/scala-cli/sources.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/sc/scala-cli/sources.json b/pkgs/by-name/sc/scala-cli/sources.json index b5196be85564..3097a1892d0e 100644 --- a/pkgs/by-name/sc/scala-cli/sources.json +++ b/pkgs/by-name/sc/scala-cli/sources.json @@ -1,21 +1,21 @@ { - "version": "1.11.0", + "version": "1.12.0", "assets": { "aarch64-darwin": { "asset": "scala-cli-aarch64-apple-darwin.gz", - "sha256": "1xj5mb853qqsrrvqb3xpnh7x9yakf9vrb0xfszi5jw819ayidf4f" + "sha256": "1jax22azbc5v0dchw5hmv1kg3gb4aa9d886b2nlqirn96b60jayn" }, "aarch64-linux": { "asset": "scala-cli-aarch64-pc-linux.gz", - "sha256": "1lrwhbk0drzaq11q6jg4aszypfdsqqnwvsk50cz213jqvnzdazhc" + "sha256": "1hbx1vzc8x13zwv94cx0922279hcafc8aq30pvr0xc91345m5xv2" }, "x86_64-darwin": { "asset": "scala-cli-x86_64-apple-darwin.gz", - "sha256": "0hd2qhhk4ifciijdp3fsn1v9zqsmhh70mqa6b7km97lq4g1dx77r" + "sha256": "18p015h3v5ppcqdvh7vrkxnlyx9lbjdz27cmw0fypbdfc2p2gwqs" }, "x86_64-linux": { "asset": "scala-cli-x86_64-pc-linux.gz", - "sha256": "1jvd5fl85lhl57wj684g1p2rhwql83lfcjpwyflzgg370v052z3r" + "sha256": "0cymryl1vv1vn7jqcrsy6n98gj3393q3n6mk6nxspmx94zrwdhia" } } } From 91d2625d206557ab84021e23661c0862e84cae95 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sat, 10 Jan 2026 13:54:36 +0100 Subject: [PATCH 0749/1216] top-level/splice.nix: remove special treatment for xorg This removes the special treatment of Xorg in `splice.nix` by either inheriting the still-used aliases in `all-packages.nix` or adding the unused ones to `aliases.nix`. --- pkgs/top-level/aliases.nix | 86 +++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 58 ++++++++++++++++++++++ pkgs/top-level/splice.nix | 20 +------- 3 files changed, 145 insertions(+), 19 deletions(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 2afa87a9aaab..93739ac9c970 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -600,6 +600,7 @@ mapAliases { emulationstation = throw "emulationstation was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23 emulationstation-de = throw "emulationstation-de was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23 enchant2 = warnAlias "'enchant2' has been renamed to 'enchant_2'" enchant_2; # Added 2026-01-14 + encodings = font-encodings; # Added 2026-01-19 enyo-doom = throw "'enyo-doom' has been renamed to/replaced by 'enyo-launcher'"; # Converted to throw 2025-10-27 epapirus-icon-theme = throw "'epapirus-icon-theme' has been removed because 'papirus-icon-theme' no longer supports building with elementaryOS icon support"; # Added 2025-06-15 eris-go = throw "'eris-go' has been removed due to a hostile upstream moving tags and breaking src FODs"; # Added 2025-09-01 @@ -652,6 +653,37 @@ mapAliases { flutter327 = throw "flutter327 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2025-10-28 fmsynth = throw "'fmsynth' has been removed as it was broken and unmaintained both upstream and in nixpkgs."; # Added 2025-09-01 follow = warnAlias "follow has been renamed to folo" folo; # Added 2025-05-18 + fontadobe75dpi = font-adobe-75dpi; # Added 2026-01-19 + fontadobeutopia75dpi = font-adobe-utopia-75dpi; # Added 2026-01-19 + fontadobeutopiatype1 = font-adobe-utopia-type1; # Added 2026-01-19 + fontalias = font-alias; # Added 2026-01-19 + fontarabicmisc = font-arabic-misc; # Added 2026-01-19 + fontbh75dpi = font-bh-75dpi; # Added 2026-01-19 + fontbhlucidatypewriter75dpi = font-bh-lucidatypewriter-75dpi; # Added 2026-01-19 + fontbhttf = font-bh-ttf; # Added 2026-01-19 + fontbhtype1 = font-bh-type1; # Added 2026-01-19 + fontbitstream75dpi = font-bitstream-75dpi; # Added 2026-01-19 + fontbitstreamspeedo = throw "Bitstream Speedo is an obsolete font format that hasn't been supported by Xorg since 2005"; # added 2025-09-24 + fontbitstreamtype1 = font-bitstream-type1; # Added 2026-01-19 + fontcronyxcyrillic = font-cronyx-cyrillic; # Added 2026-01-19 + fontcursormisc = font-cursor-misc; # Added 2026-01-19 + fontdaewoomisc = font-daewoo-misc; # Added 2026-01-19 + fontdecmisc = font-dec-misc; # Added 2026-01-19 + fontibmtype1 = font-ibm-type1; # Added 2026-01-19 + fontisasmisc = font-isas-misc; # Added 2026-01-19 + fontjismisc = font-jis-misc; # Added 2026-01-19 + fontmicromisc = font-micro-misc; # Added 2026-01-19 + fontmisccyrillic = font-misc-cyrillic; # Added 2026-01-19 + fontmiscethiopic = font-misc-ethiopic; # Added 2026-01-19 + fontmiscmeltho = font-misc-meltho; # Added 2026-01-19 + fontmiscmisc = font-misc-misc; # Added 2026-01-19 + fontmuttmisc = font-mutt-misc; # Added 2026-01-19 + fontschumachermisc = font-schumacher-misc; # Added 2026-01-19 + fontscreencyrillic = font-screen-cyrillic; # Added 2026-01-19 + fontsonymisc = font-sony-misc; # Added 2026-01-19 + fontsunmisc = font-sun-misc; # Added 2026-01-19 + fontwinitzkicyrillic = font-winitzki-cyrillic; # Added 2026-01-19 + fontxfree86type1 = font-xfree86-type1; # Added 2026-01-19 forceSystem = warnAlias "forceSystem is deprecated in favour of explicitly importing Nixpkgs" ( system: _: (import self.path { localSystem = { inherit system; }; }) ); # Converted to warning 2025-10-28 @@ -944,7 +976,10 @@ mapAliases { libtransmission_3 = throw "libtransmission_3 has been removed in favour of libtransmission_4. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; # Converted to throw 2025-10-26 libuinputplus = throw "'libuinputplus' has been removed, as it was unmaintained upstream since 2021, no longer builds, and is no longer used by anything"; # Added 2025-11-02 libviper = throw "'libviper' was removed as it is broken and not maintained upstream"; # Added 2025-05-17 + libWindowsWM = libwindowswm; # Added 2026-01-19 libwnck3 = throw "'libwnck3' has been renamed to/replaced by 'libwnck'"; # Converted to throw 2025-10-27 + libXfont = libxfont_1; # Added 2026-01-19 + libXtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 lightdm_gtk_greeter = throw "'lightdm_gtk_greeter' has been renamed to/replaced by 'lightdm-gtk-greeter'"; # Converted to throw 2025-10-27 lightly-boehs = throw "'lightly-boehs' has been removed, as it is only compatible with Plasma 5, which is EOL"; # Added 2025-08-20 lightly-qt = throw "'lightly-qt' has been removed, as it is only compatible with Plasma 5, which is EOL"; # Added 2025-08-20 @@ -1815,19 +1850,70 @@ mapAliases { xbrightness = throw "'xbrightness' has been removed as it is unmaintained"; # Added 2025-08-28 xbursttools = throw "'xbursttools' has been removed as it is broken and unmaintained upstream."; # Added 2025-06-12 xcb-util-cursor-HEAD = warnAlias "'xcb-util-cursor-HEAD' has been removed; use 'libxcb-cursor' instead" libxcb-cursor; # added 2026-01-12 + xcursorthemes = xcursor-themes; # Added 2026-01-19 xdragon = throw "'xdragon' has been renamed to/replaced by 'dragon-drop'"; # Converted to throw 2025-10-27 xf86_input_cmt = xf86-input-cmt; # Added 2025-12-12 xf86_input_wacom = xf86-input-wacom; # Added 2025-12-12 + xf86inputjoystick = xf86-input-joystick; # Added 2026-01-19 + xf86inputkeyboard = xf86-input-keyboard; # Added 2026-01-19 + xf86inputmouse = xf86-input-mouse; # Added 2026-01-19 + xf86inputsynaptics = xf86-input-synaptics; # Added 2026-01-19 + xf86inputvmmouse = xf86-input-vmmouse; # Added 2026-01-19 + xf86inputvoid = xf86-input-void; # Added 2026-01-19 + xf86videoamdgpu = xf86-video-amdgpu; # Added 2026-01-19 + xf86videoapm = xf86-video-apm; # Added 2026-01-19 + xf86videoark = xf86-video-ark; # Added 2026-01-19 + xf86videoast = xf86-video-ast; # Added 2026-01-19 + xf86videoati = xf86-video-ati; # Added 2026-01-19 + xf86videochips = xf86-video-chips; # Added 2026-01-19 + xf86videocirrus = xf86-video-cirrus; # Added 2026-01-19 + xf86videodummy = xf86-video-dummy; # Added 2026-01-19 + xf86videofbdev = xf86-video-fbdev; # Added 2026-01-19 + xf86videogeode = xf86-video-geode; # Added 2026-01-19 + xf86videoglide = throw "The Xorg Glide video driver has been archived upstream due to being obsolete"; # added 2025-12-13 + xf86videoglint = throw "The Xorg GLINT/Permedia video driver has been broken since xorg 21. see https://gitlab.freedesktop.org/xorg/driver/xf86-video-glint/-/issues/1"; # added 2025-12-13 + xf86videoi128 = xf86-video-i128; # Added 2026-01-19 + xf86videoi740 = xf86-video-i740; # Added 2026-01-19 + xf86videointel = xf86-video-intel; # Added 2026-01-19 + xf86videomga = xf86-video-mga; # Added 2026-01-19 + xf86videoneomagic = xf86-video-neomagic; # Added 2026-01-19 + xf86videonewport = throw "The Xorg Newport video driver is broken and hasn't had a release since 2012"; # added 2025-12-13 + xf86videonv = xf86-video-nv; # Added 2026-01-19 + xf86videoomap = xf86-video-omap; # Added 2026-01-19 + xf86videoopenchrome = xf86-video-openchrome; # Added 2026-01-19 + xf86videoqxl = xf86-video-qxl; # Added 2026-01-19 + xf86videor128 = xf86-video-r128; # Added 2026-01-19 + xf86videos3virge = xf86-video-s3virge; # Added 2026-01-19 + xf86videosavage = xf86-video-savage; # Added 2026-01-19 + xf86videosiliconmotion = xf86-video-siliconmotion; # Added 2026-01-19 + xf86videosis = xf86-video-sis; # Added 2026-01-19 + xf86videosisusb = xf86-video-sisusb; # Added 2026-01-19 + xf86videosuncg6 = xf86-video-suncg6; # Added 2026-01-19 + xf86videosunffb = xf86-video-sunffb; # Added 2026-01-19 + xf86videosunleo = xf86-video-sunleo; # Added 2026-01-19 + xf86videotdfx = xf86-video-tdfx; # Added 2026-01-19 + xf86videotga = throw "The Xorg TGA (aka DEC 21030) video driver is broken and hasn't had a release since 2012"; # added 2025-12-13 + xf86videotrident = xf86-video-trident; # Added 2026-01-19 + xf86videov4l = xf86-video-v4l; # Added 2026-01-19 + xf86videovboxvideo = xf86-video-vbox; # Added 2026-01-19 + xf86videovesa = xf86-video-vesa; # Added 2026-01-19 + xf86videovmware = xf86-video-vmware; # Added 2026-01-19 + xf86videovoodoo = xf86-video-voodoo; # Added 2026-01-19 + xf86videowsfb = throw "The Xorg BSD wsdisplay framebuffer video driver is broken and hasn't had a release since 2012"; # added 2025-12-13 xflux = throw "'xflux' has been removed as it was unmaintained"; # Added 2025-08-22 xflux-gui = throw "'xflux-gui' has been removed as it was unmaintained"; # Added 2025-08-22 xinput_calibrator = xinput-calibrator; # Added 2025-08-28 xjump = throw "'xjump' has been removed as it is unmaintained"; # Added 2025-08-22 + xkeyboardconfig_custom = xkeyboard-config_custom; # Added 2026-01-19 xmlada = throw "'xmlada' has been renamed to/replaced by 'gnatPackages.xmlada'"; # Converted to throw 2025-10-27 xmlroff = throw "'xmlroff' has been removed as it is unmaintained and broken"; # Added 2025-05-18 xo = throw "Use 'dbtpl' instead of 'xo'"; # Added 2025-09-28 xonsh-unwrapped = throw "'xonsh-unwrapped' has been renamed to/replaced by 'python3Packages.xonsh'"; # Converted to throw 2025-10-27 xorg-autoconf = util-macros; # Added 2025-08-18 + xorgdocs = xorg-docs; # Added 2026-01-19 + xorgsgmldoctools = xorg-sgml-doctools; # Added 2026-01-19 xsw = throw "'xsw' has been removed due to lack of upstream maintenance"; # Added 2025-08-22 + xtrap = throw "XTrap was a proposed X11 extension that hasn't been in Xorg since X11R6 in 1994, it is deprecated and archived upstream."; # added 2025-12-13 xulrunner = throw "'xulrunner' has been renamed to/replaced by 'firefox-unwrapped'"; # Converted to throw 2025-10-27 xxgdb = throw "'xxgdb' seems inactive and doesn't compile with glibc 2.42"; # Added 2025-09-28 yabar = throw "'yabar' has been removed as the upstream project was archived"; # Added 2025-06-10 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f1774d927b81..a574447568ad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9143,6 +9143,64 @@ with pkgs; f = lib.callPackageWith __splicedPackages ../servers/x11/xorg { }; }); + inherit (xorg) + fontadobe100dpi + fontadobeutopia100dpi + fontbh100dpi + fontbhlucidatypewriter100dpi + fontbitstream100dpi + fontutil + libAppleWM + libFS + libICE + libSM + libX11 + libXScrnSaver + libXau + libXaw + libXcomposite + libXcursor + libXdamage + libXdmcp + libXext + libXfixes + libXfont2 + libXft + libXi + libXinerama + libXmu + libXp + libXpm + libXpresent + libXrandr + libXrender + libXres + libXt + libXtst + libXv + libXvMC + libXxf86dga + libXxf86misc + libXxf86vm + libpthreadstubs + mkfontdir + utilmacros + xcbproto + xcbutil + xcbutilcursor + xcbutilerrors + xcbutilimage + xcbutilkeysyms + xcbutilrenderutil + xcbutilwm + xf86inputevdev + xf86inputlibinput + xf86videonouveau + xkeyboardconfig + xorgcffiles + xorgserver + ; + zabbixFor = version: rec { agent = (callPackages ../servers/monitoring/zabbix/agent.nix { }).${version}; proxy-mysql = diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix index 66721e3bee56..50adc32168e5 100644 --- a/pkgs/top-level/splice.nix +++ b/pkgs/top-level/splice.nix @@ -106,25 +106,7 @@ let ; }; - splicedPackagesWithXorg = - splicedPackages - // removeAttrs splicedPackages.xorg [ - "callPackage" - "newScope" - "overrideScope" - "packages" - ]; - - packagesWithXorg = - pkgs - // removeAttrs pkgs.xorg [ - "callPackage" - "newScope" - "overrideScope" - "packages" - ]; - - pkgsForCall = if actuallySplice then splicedPackagesWithXorg else packagesWithXorg; + pkgsForCall = if actuallySplice then splicedPackages else pkgs; in From 88280d0a212826898917053e1c32b0d8c2f802b2 Mon Sep 17 00:00:00 2001 From: Reylak Date: Wed, 21 Jan 2026 11:30:52 -0300 Subject: [PATCH 0750/1216] phantom: init at 0-unstable-2025-12-22 --- pkgs/by-name/ph/phantom/package.nix | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pkgs/by-name/ph/phantom/package.nix diff --git a/pkgs/by-name/ph/phantom/package.nix b/pkgs/by-name/ph/phantom/package.nix new file mode 100644 index 000000000000..48c1909604c0 --- /dev/null +++ b/pkgs/by-name/ph/phantom/package.nix @@ -0,0 +1,53 @@ +{ + stdenv, + fetchFromGitea, + qt6, + cmark-gfm, + cmake, + pkg-config, + lib, +}: + +stdenv.mkDerivation { + pname = "phantom"; + version = "0.0.0-unstable-2025-12-22"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "ItsZariep"; + repo = "Phantom"; + rev = "7bba1e0a2d9b33d881fb999bb543324d14355505"; + hash = "sha256-KjQX6Hxp4hcRJWRF/CDxZGQtzQqozGWxxHn0VpOzR0U="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + qt6.wrapQtAppsHook + cmake + pkg-config + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtwebengine + cmark-gfm + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp phantom-qt $out/bin + + runHook postInstall + ''; + + meta = with lib; { + description = "Markdown editor with support for multi-tab"; + homepage = "https://codeberg.org/ItsZariep/Phantom"; + license = licenses.gpl3Only; + mainProgram = "phantom"; + platforms = platforms.all; + maintainers = with maintainers; [ reylak ]; + }; +} From 70d148766d99283d05791da65d1b5417650234e1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:07:16 +0000 Subject: [PATCH 0751/1216] livekit: 1.9.6 -> 1.9.11 --- pkgs/by-name/li/livekit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/livekit/package.nix b/pkgs/by-name/li/livekit/package.nix index a9493b824345..2013e291f032 100644 --- a/pkgs/by-name/li/livekit/package.nix +++ b/pkgs/by-name/li/livekit/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "livekit"; - version = "1.9.6"; + version = "1.9.11"; src = fetchFromGitHub { owner = "livekit"; repo = "livekit"; rev = "v${version}"; - hash = "sha256-hDBdxuAWFJr5iAFOjGdUwO7zNgsVmFXIRaII1T5m20Y="; + hash = "sha256-mmDTY4nWUowSHPTSlvfVaNlv0Rp176H5FvJsYrNnt/8="; }; - vendorHash = "sha256-hgziX88Ty3HYQKgpgu/LqdtzqcfjZktZstsve6jVKk4="; + vendorHash = "sha256-yEAIfef7Ryepcpq9Te+Iamod1SfqXZoluhFaYGYcsVc="; subPackages = [ "cmd/server" ]; From a9edddeadb6e33d1953b60dc938625b8a3574452 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:08:20 +0000 Subject: [PATCH 0752/1216] vscode-extensions.redhat.ansible: 26.1.0 -> 26.1.3 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index f0dd8556189a..3131b5e1f649 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -3840,8 +3840,8 @@ let mktplcRef = { name = "ansible"; publisher = "redhat"; - version = "26.1.0"; - hash = "sha256-xehZZ11C2Bjee1glpnPZaJ25DpbXSCsZONWWy4YNlRo="; + version = "26.1.3"; + hash = "sha256-iBAlDqi7u/srkgBBLha/JCHZnpccz37BdZ7zVJVfJYY="; }; meta = { description = "Ansible language support"; From db3df3272d306ac483d3c5c1856d8153dcd8678c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:08:54 +0000 Subject: [PATCH 0753/1216] mhabit: 1.23.3+142 -> 1.23.6+145 --- pkgs/by-name/mh/mhabit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mh/mhabit/package.nix b/pkgs/by-name/mh/mhabit/package.nix index b1d11829cb4a..82aec6204858 100644 --- a/pkgs/by-name/mh/mhabit/package.nix +++ b/pkgs/by-name/mh/mhabit/package.nix @@ -12,13 +12,13 @@ }: let - version = "1.23.3+142"; + version = "1.23.6+145"; src = fetchFromGitHub { owner = "FriesI23"; repo = "mhabit"; tag = "v${version}"; - hash = "sha256-jseb1AcM+AygVLFN3O5P2LiQppxOuLWMmBON0FRqPFQ="; + hash = "sha256-9+UXMOogySW3f9LPaj0YSfov1cSgLb3I+jWvAV8yEsM="; }; in flutter338.buildFlutterApplication { From aaa054f922e5df4414963d47ecd8917ff1f09bd2 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 21 Jan 2026 22:13:46 +0000 Subject: [PATCH 0754/1216] rust-analyzer-unwrapped: 2026-01-12 -> 2026-01-19 Changes: https://github.com/rust-lang/rust-analyzer/releases/tag/2026-01-19 --- pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix index ec4c165b3e32..2303b4838817 100644 --- a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix +++ b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix @@ -13,15 +13,15 @@ rustPlatform.buildRustPackage rec { pname = "rust-analyzer-unwrapped"; - version = "2026-01-12"; + version = "2026-01-19"; - cargoHash = "sha256-2lutUe9+VZqMXPfFP6zjg2wQR7Amdc0U6Ih3OXvwCEk="; + cargoHash = "sha256-0eVrWPe/S4lwwmgk8T76tAenEfFri9Y8PtRpGJ6b7BQ="; src = fetchFromGitHub { owner = "rust-lang"; repo = "rust-analyzer"; rev = version; - hash = "sha256-xSOqy4OwQtkuPtptNQDkKs36K4xdrebEHnchoMhIpug="; + hash = "sha256-sJMJ64vN2LaeMJ8C8daD/rmOzqsrTpwVAaykL/J+BG0="; }; cargoBuildFlags = [ From 949a791086f56046831a091d4337b1025e6bbde6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Wed, 21 Jan 2026 23:14:34 +0100 Subject: [PATCH 0755/1216] harbor-cli: fix-build --- pkgs/by-name/ha/harbor-cli/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ha/harbor-cli/package.nix b/pkgs/by-name/ha/harbor-cli/package.nix index 4788ff4c2e85..fbfa8928552d 100644 --- a/pkgs/by-name/ha/harbor-cli/package.nix +++ b/pkgs/by-name/ha/harbor-cli/package.nix @@ -15,7 +15,7 @@ buildGoModule (finalAttrs: { owner = "goharbor"; repo = "harbor-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZlpOBYUQ6J3RsFHkoPo9Y039DpBlJTWRCkXFyLKXshU="; + hash = "sha256-bU42N2+zyOqdiJFbgaqcxsApdslQFOleythDE6hs8sY="; }; vendorHash = "sha256-qTaXIkZ1g7jsPV4IkduIS6REIhs9JJcS2mOg3V77DTg="; From 2e0d70dda4ae6150368801de4a736723b86c20a4 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0756/1216] libreoffice: set pname and version --- pkgs/applications/office/libreoffice/wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix index 59fbc699961d..f136b0e8ba99 100644 --- a/pkgs/applications/office/libreoffice/wrapper.nix +++ b/pkgs/applications/office/libreoffice/wrapper.nix @@ -121,7 +121,7 @@ let in runCommand "${unwrapped.name}-wrapped" { - inherit (unwrapped) meta; + inherit (unwrapped) meta pname version; paths = [ unwrapped ]; nativeBuildInputs = [ makeWrapper From 28299ca836c1d99b8259d83799bac08623e6e728 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0757/1216] alsa-lib-with-plugins: set pname and version --- pkgs/by-name/al/alsa-lib-with-plugins/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/al/alsa-lib-with-plugins/package.nix b/pkgs/by-name/al/alsa-lib-with-plugins/package.nix index 0eb4a9ca72e5..f61331f5b56c 100644 --- a/pkgs/by-name/al/alsa-lib-with-plugins/package.nix +++ b/pkgs/by-name/al/alsa-lib-with-plugins/package.nix @@ -15,6 +15,7 @@ let in runCommand "${alsa-lib.pname}-${alsa-lib.version}" { + inherit (alsa-lib) pname version; meta = { description = "Wrapper to ease access to ALSA plugins"; mainProgram = "aserver"; From 525cf221bbbd04fa86d945283b59409f52dc01fd Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0758/1216] bigquery-emulator: use pname and version instead of name --- pkgs/by-name/bi/bigquery-emulator/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bi/bigquery-emulator/package.nix b/pkgs/by-name/bi/bigquery-emulator/package.nix index b0bdc2b54223..bda65e4a026d 100644 --- a/pkgs/by-name/bi/bigquery-emulator/package.nix +++ b/pkgs/by-name/bi/bigquery-emulator/package.nix @@ -13,7 +13,7 @@ buildGoModule.override stdenv = pkgs.clangStdenv; } { - name = pname; + inherit pname version; src = fetchFromGitHub { owner = "goccy"; From efc0f6d27d30daccb015d24a75ad2aeb35471a4e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:34:31 +0000 Subject: [PATCH 0759/1216] python3Packages.pyrdfa3: 3.6.4 -> 3.6.5 --- pkgs/development/python-modules/pyrdfa3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyrdfa3/default.nix b/pkgs/development/python-modules/pyrdfa3/default.nix index 56c854b026a0..e9967e47a988 100644 --- a/pkgs/development/python-modules/pyrdfa3/default.nix +++ b/pkgs/development/python-modules/pyrdfa3/default.nix @@ -10,12 +10,12 @@ buildPythonPackage (finalAttrs: { pname = "pyrdfa3"; - version = "3.6.4"; + version = "3.6.5"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-ZHEtGkvyGCllKzlxW62m58A7zxnLSfliwZCjj0YXIkM="; + hash = "sha256-D8KP8UJq+AWxAK/3Fi22pD+iFeN/krzpsRO0Zf61Y+o="; }; build-system = [ setuptools ]; From 725f8a08a450687097526e1319bb7e8c66357d4a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:41:04 +0000 Subject: [PATCH 0760/1216] opkssh: 0.11.0 -> 0.12.0 --- pkgs/by-name/op/opkssh/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opkssh/package.nix b/pkgs/by-name/op/opkssh/package.nix index dfe71e26bbbb..2911f791f417 100644 --- a/pkgs/by-name/op/opkssh/package.nix +++ b/pkgs/by-name/op/opkssh/package.nix @@ -8,18 +8,18 @@ buildGoModule (finalAttrs: { pname = "opkssh"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "openpubkey"; repo = "opkssh"; tag = "v${finalAttrs.version}"; - hash = "sha256-l1FizvOO4oCNHEJEClwOupnjQzthvGO/vRTq1PhJDao="; + hash = "sha256-DTxELj3OifKrEEzMCk7JVjVUoIKEofzUj4MdR6tYYZc="; }; ldflags = [ "-X main.Version=${finalAttrs.version}" ]; - vendorHash = "sha256-AdQtYqhwhkvvr9bbSWylACg75nC/K7hxb13bP5itusM="; + vendorHash = "sha256-t8BaV5DlAXcqytqiGczzSUENV4GIql3KovLAn/mRdh8="; nativeInstallCheckInputs = [ versionCheckHook From 0bbc7efe28cbae6d0a8b4700128dd96f40ec951a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 21 Jan 2026 23:45:45 +0100 Subject: [PATCH 0761/1216] python3Packages.pydantic-compat: fix --- pkgs/development/python-modules/pydantic-compat/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pydantic-compat/default.nix b/pkgs/development/python-modules/pydantic-compat/default.nix index db5ef91c20bb..79dbb49fe927 100644 --- a/pkgs/development/python-modules/pydantic-compat/default.nix +++ b/pkgs/development/python-modules/pydantic-compat/default.nix @@ -46,6 +46,7 @@ buildPythonPackage rec { # deprecated, and will be removed in Pydantic V3. Instead, you should access this attribute from # the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. "-Wignore::pydantic.warnings.PydanticDeprecatedSince211" + "-Wignore::pydantic.warnings.PydanticDeprecatedSince212" ]; meta = { From 9c3c593bc16900c3b95ef1afb7b43e80f574799e Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:50:43 +1000 Subject: [PATCH 0762/1216] opentofu: 1.11.3 -> 1.11.4 Diff: https://github.com/opentofu/opentofu/compare/v1.11.3...v1.11.4 Changelog: https://github.com/opentofu/opentofu/blob/v1.11.4/CHANGELOG.md --- pkgs/by-name/op/opentofu/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/op/opentofu/package.nix b/pkgs/by-name/op/opentofu/package.nix index c06f7190a8b2..cc7eb976b32d 100644 --- a/pkgs/by-name/op/opentofu/package.nix +++ b/pkgs/by-name/op/opentofu/package.nix @@ -16,13 +16,13 @@ let package = buildGoModule rec { pname = "opentofu"; - version = "1.11.3"; + version = "1.11.4"; src = fetchFromGitHub { owner = "opentofu"; repo = "opentofu"; tag = "v${version}"; - hash = "sha256-r5GwFWzXYXX06swmBS+yXIjKwSMArPYd5h+xJlZBdy4="; + hash = "sha256-Yz+T1B97s2bdJIhJmGGly9KZx1gOvsbavF+HbJh+8Tg="; }; vendorHash = "sha256-WO5OtKwluks5nuSHJ4NO1+EKhtCrJE9MuMGmu5fYKM4="; @@ -33,6 +33,10 @@ let "github.com/opentofu/opentofu/version.dev=no" ]; + postPatch = '' + substituteInPlace go.mod --replace-fail 'go 1.25.6' 'go 1.25.5' + ''; + nativeBuildInputs = [ installShellFiles ]; patches = [ ./provider-path-0_15.patch ]; From a70347d4fd442a6fa46bea1a04f91b31713c2dec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:54:03 +0000 Subject: [PATCH 0763/1216] worker-build: 0.7.3 -> 0.7.4 --- pkgs/by-name/wo/worker-build/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wo/worker-build/package.nix b/pkgs/by-name/wo/worker-build/package.nix index fbdb8aeec39b..81ce70935c72 100644 --- a/pkgs/by-name/wo/worker-build/package.nix +++ b/pkgs/by-name/wo/worker-build/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "worker-build"; - version = "0.7.3"; + version = "0.7.4"; src = fetchFromGitHub { owner = "cloudflare"; repo = "workers-rs"; tag = "v${version}"; - hash = "sha256-OWtlW9aJwDIfwRK6y1ajx8OLL1mMhbr6RDPuk+8Pyo0="; + hash = "sha256-LeW0CHYBaib81AqftYpW38FFR3P7q7OJE2NmrK9oi9Q="; fetchSubmodules = true; }; - cargoHash = "sha256-dcew0BCU1NqADquJ08MWLskrNox8LP/fA2QIC6LqETQ="; + cargoHash = "sha256-W1m7W7LepgZ3WPjmZ7qXlu3WnvZkpGO35sHryOFqhfk="; buildAndTestSubdir = "worker-build"; From 04b901355a1318696d477041ccfb61d1a1f534b8 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:54:57 +1000 Subject: [PATCH 0764/1216] dnscontrol: 4.31.0 -> 4.31.1 Diff: https://github.com/StackExchange/dnscontrol/compare/v4.31.0...v4.31.1 Changelog: https://github.com/StackExchange/dnscontrol/releases/tag/v4.31.1 --- pkgs/by-name/dn/dnscontrol/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dn/dnscontrol/package.nix b/pkgs/by-name/dn/dnscontrol/package.nix index a00c491bc8b7..cc636e8c2d0b 100644 --- a/pkgs/by-name/dn/dnscontrol/package.nix +++ b/pkgs/by-name/dn/dnscontrol/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "dnscontrol"; - version = "4.31.0"; + version = "4.31.1"; src = fetchFromGitHub { owner = "StackExchange"; repo = "dnscontrol"; tag = "v${finalAttrs.version}"; - hash = "sha256-8Pb/njUjiyUQZA3UnZ+4INJBnmXCo+F7+BhCDt1hJGQ="; + hash = "sha256-c0jQF6XGg0jTMqBbTwRA/ZfD/qocCHILoSujeqJ+lp4="; }; vendorHash = "sha256-GMzLaV3LQNa4K111P6DLG28KAAgj9AHyPua4XSih14k="; From 3bc27e943b2ef206fc12e255fd8f65cf9022f129 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:54:57 +0000 Subject: [PATCH 0765/1216] websurfx: 1.24.29 -> 1.24.35 --- pkgs/by-name/we/websurfx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/we/websurfx/package.nix b/pkgs/by-name/we/websurfx/package.nix index e44878f3465b..4c24e97cc2e3 100644 --- a/pkgs/by-name/we/websurfx/package.nix +++ b/pkgs/by-name/we/websurfx/package.nix @@ -6,7 +6,7 @@ pkg-config, }: let - version = "1.24.29"; + version = "1.24.35"; in rustPlatform.buildRustPackage { pname = "websurfx"; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage { owner = "neon-mmd"; repo = "websurfx"; tag = "v${version}"; - hash = "sha256-LBMPx/IRxqkdD3dwLwoFHqjnuMUApffaq3ccu4WA2v4="; + hash = "sha256-qf8RU7cNHzXSjyzlRtHxuoxGlkSWNYTmYu/Z0hiqQpc="; }; nativeBuildInputs = [ @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage { openssl ]; - cargoHash = "sha256-oLeVLNJ69tX8cuUVbe6WfAnR2In08iSJLqIhz4/fG20="; + cargoHash = "sha256-A9Cg9zZ4FNTTdA+oIvxVH2D2627t+mhNLnRKDsVeKb8="; postPatch = '' substituteInPlace src/handler.rs \ From 99ab01875ed2b2b5553c26b611dd4ee95e2cb8ea Mon Sep 17 00:00:00 2001 From: faukah Date: Wed, 21 Jan 2026 20:59:28 +0100 Subject: [PATCH 0766/1216] imagemagick6: 6.9.13-10 -> 6.9.13-38 --- pkgs/applications/graphics/ImageMagick/6.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix index 885053e8445d..6721d21baa54 100644 --- a/pkgs/applications/graphics/ImageMagick/6.x.nix +++ b/pkgs/applications/graphics/ImageMagick/6.x.nix @@ -70,13 +70,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "imagemagick"; - version = "6.9.13-10"; + version = "6.9.13-38"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick6"; rev = finalAttrs.version; - sha256 = "sha256-AdlJaCJOrN+NkkzzzgELtgAr5iZ9dvlVYVc7tYiM+R8="; + sha256 = "sha256-49o1jFFs7GrQMBvkoUvTmlI5TDnS1mVycghuaOfDrIc="; }; outputs = [ From 8f710b77655919e8c0cac5a65676e5feb547346f Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 21 Jan 2026 23:52:25 +0100 Subject: [PATCH 0767/1216] python3Packages.app-model: 0.4.0 -> 0.5.1 changelog: - https://github.com/pyapp-kit/app-model/releases/tag/v0.5.0 - https://github.com/pyapp-kit/app-model/releases/tag/v0.5.1 changes: - https://github.com/pyapp-kit/app-model/compare/v0.4.0...v0.5.1 --- pkgs/development/python-modules/app-model/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/app-model/default.nix b/pkgs/development/python-modules/app-model/default.nix index 29d5d3e2a142..e89a6b09f151 100644 --- a/pkgs/development/python-modules/app-model/default.nix +++ b/pkgs/development/python-modules/app-model/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "app-model"; - version = "0.4.0"; + version = "0.5.1"; pyproject = true; src = fetchFromGitHub { owner = "pyapp-kit"; repo = "app-model"; tag = "v${version}"; - hash = "sha256-T7aUwdne1rUzhVRotlxDvEBm3mi/frUQziZdLo53Lsg="; + hash = "sha256-zKaCxozT6OOPfrXMDic5d5DMb/I9tTiJFlX21Cc1yjY="; }; build-system = [ From eabdcafa18c90df4d44cabb406ce5286fe4ff76d Mon Sep 17 00:00:00 2001 From: Heinz Deinhart Date: Thu, 22 Jan 2026 00:04:07 +0100 Subject: [PATCH 0768/1216] ddnet: 19.6 -> 19.7 https://ddnet.org/downloads/#19.7 https://github.com/ddnet/ddnet/compare/19.6...19.7 --- pkgs/by-name/dd/ddnet/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dd/ddnet/package.nix b/pkgs/by-name/dd/ddnet/package.nix index faec95dc4e5d..cd584368a7f8 100644 --- a/pkgs/by-name/dd/ddnet/package.nix +++ b/pkgs/by-name/dd/ddnet/package.nix @@ -32,13 +32,13 @@ stdenv.mkDerivation rec { pname = "ddnet"; - version = "19.6"; + version = "19.7"; src = fetchFromGitHub { owner = "ddnet"; repo = "ddnet"; tag = version; - hash = "sha256-U0Yd3Xus0hsBpbXUsEC7EyoMtmsOXZJT4c3cFai918g="; + hash = "sha256-HjTkl4KOvQpAlLcUpfn5Ujr4IDfosUY2ueh0ZxE8KAs="; }; cargoDeps = rustPlatform.fetchCargoVendor { From b783c7be89873e81353d440fb4bcaa5c56564343 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Thu, 22 Jan 2026 00:04:23 +0100 Subject: [PATCH 0769/1216] python3Packages.app-model: use finalAttrs --- pkgs/development/python-modules/app-model/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/app-model/default.nix b/pkgs/development/python-modules/app-model/default.nix index e89a6b09f151..8f0a36b3ce13 100644 --- a/pkgs/development/python-modules/app-model/default.nix +++ b/pkgs/development/python-modules/app-model/default.nix @@ -12,7 +12,7 @@ typing-extensions, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "app-model"; version = "0.5.1"; pyproject = true; @@ -20,7 +20,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "pyapp-kit"; repo = "app-model"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-zKaCxozT6OOPfrXMDic5d5DMb/I9tTiJFlX21Cc1yjY="; }; @@ -44,8 +44,8 @@ buildPythonPackage rec { meta = { description = "Module to implement generic application schema"; homepage = "https://github.com/pyapp-kit/app-model"; - changelog = "https://github.com/pyapp-kit/app-model/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/pyapp-kit/app-model/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 297e91481fdab653ba04f0914dcb9b7e6243927e Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 21 Jan 2026 22:46:31 +0100 Subject: [PATCH 0770/1216] python3Packages.agentic-thread-hunting-framework: 0.2.2 -> 0.4.0 --- .../agentic-threat-hunting-framework/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix index c9b661eee919..a123ba6428ff 100644 --- a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix +++ b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix @@ -5,23 +5,25 @@ setuptools, click, jinja2, + python-dotenv, pyyaml, rich, pytest-cov-stub, pytestCheckHook, scikit-learn, + requests, }: buildPythonPackage rec { pname = "agentic-threat-hunting-framework"; - version = "0.2.2"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "Nebulock-Inc"; repo = "agentic-threat-hunting-framework"; tag = "v${version}"; - hash = "sha256-rt7WmBCbSqoZBpwGi7dzh8QDw8Iby3LSdavnCot1Hr0="; + hash = "sha256-WU58wQGlUgbOqcIE7EKtABNvTKtvTiRO9iJLW4gXDlI="; }; build-system = [ setuptools ]; @@ -29,6 +31,7 @@ buildPythonPackage rec { dependencies = [ click jinja2 + python-dotenv pyyaml rich ]; @@ -40,6 +43,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-cov-stub pytestCheckHook + requests ]; pythonImportsCheck = [ "athf" ]; From c952ced000e833370ed7730c03b41dee10188988 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 21 Jan 2026 22:47:02 +0100 Subject: [PATCH 0771/1216] python3Packages.agentic-thread-hunting-framework: use finalAttrs --- .../agentic-threat-hunting-framework/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix index a123ba6428ff..cbce1c8e2635 100644 --- a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix +++ b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix @@ -14,7 +14,7 @@ requests, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "agentic-threat-hunting-framework"; version = "0.4.0"; pyproject = true; @@ -22,7 +22,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "Nebulock-Inc"; repo = "agentic-threat-hunting-framework"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-WU58wQGlUgbOqcIE7EKtABNvTKtvTiRO9iJLW4gXDlI="; }; @@ -51,8 +51,8 @@ buildPythonPackage rec { meta = { description = "Framework for agentic threat hunting"; homepage = "https://github.com/Nebulock-Inc/agentic-threat-hunting-framework"; - changelog = "https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/releases/tag/${src.tag}"; + changelog = "https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 484b5ac3215a39d01e342087bf15a9f3ead1446c Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:39 -0600 Subject: [PATCH 0772/1216] ocamlPackages.alcotest: migrate to finalAttrs --- pkgs/development/ocaml-modules/alcotest/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix index 305bb6a153a3..0a5cb3a78873 100644 --- a/pkgs/development/ocaml-modules/alcotest/default.nix +++ b/pkgs/development/ocaml-modules/alcotest/default.nix @@ -11,12 +11,12 @@ ocaml-syntax-shims, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "alcotest"; version = "1.9.1"; src = fetchurl { - url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-${version}.tbz"; + url = "https://github.com/mirage/alcotest/releases/download/${finalAttrs.version}/alcotest-${finalAttrs.version}.tbz"; hash = "sha256-HinDtB1DKQYhBbcj39o6/4a4zvXnx1ANDkkfxf145II="; }; @@ -39,4 +39,4 @@ buildDunePackage rec { license = lib.licenses.isc; maintainers = [ lib.maintainers.ericbmerritt ]; }; -} +}) From 819de537dc2854605226ec128f36e8a8149a901d Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:39 -0600 Subject: [PATCH 0773/1216] ocamlPackages.algaeff: migrate to finalAttrs --- pkgs/development/ocaml-modules/algaeff/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/algaeff/default.nix b/pkgs/development/ocaml-modules/algaeff/default.nix index 0e867f8a0838..7190900057b1 100644 --- a/pkgs/development/ocaml-modules/algaeff/default.nix +++ b/pkgs/development/ocaml-modules/algaeff/default.nix @@ -6,7 +6,7 @@ qcheck-core, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "algaeff"; version = "2.0.0"; @@ -14,8 +14,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "RedPRL"; - repo = pname; - rev = version; + repo = "algaeff"; + rev = finalAttrs.version; hash = "sha256-VRZfULbXKRcExU1bnEu/X1KPX+L+dzcRYZVD985rQT4="; }; @@ -31,4 +31,4 @@ buildDunePackage rec { license = lib.licenses.asl20; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From 93471ee12a4f97ab431a3ddeea4e96ceb7e53871 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:39 -0600 Subject: [PATCH 0774/1216] ocamlPackages.alsa: migrate to finalAttrs --- pkgs/development/ocaml-modules/alsa/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/alsa/default.nix b/pkgs/development/ocaml-modules/alsa/default.nix index bc4c994dc525..fdf08692138f 100644 --- a/pkgs/development/ocaml-modules/alsa/default.nix +++ b/pkgs/development/ocaml-modules/alsa/default.nix @@ -6,7 +6,7 @@ alsa-lib, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "alsa"; version = "0.3.0"; @@ -15,7 +15,7 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "savonet"; repo = "ocaml-alsa"; - rev = version; + rev = finalAttrs.version; sha256 = "1qy22g73qc311rmv41w005rdlj5mfnn4yj1dx1jhqzr31zixl8hj"; }; @@ -28,4 +28,4 @@ buildDunePackage rec { license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ dandellion ]; }; -} +}) From ffaa27b50a311b76f18b31716f70cc94193f00f6 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:39 -0600 Subject: [PATCH 0775/1216] ocamlPackages.ancient: migrate to finalAttrs --- pkgs/development/ocaml-modules/ancient/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/ancient/default.nix b/pkgs/development/ocaml-modules/ancient/default.nix index 65743757be89..78d2f5e9a637 100644 --- a/pkgs/development/ocaml-modules/ancient/default.nix +++ b/pkgs/development/ocaml-modules/ancient/default.nix @@ -3,14 +3,14 @@ buildDunePackage, fetchurl, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "ancient"; version = "0.10.0"; minimalOCamlVersion = "4.12"; src = fetchurl { - url = "https://github.com/OCamlPro/ocaml-ancient/releases/download/${version}/ancient-${version}.tbz"; + url = "https://github.com/OCamlPro/ocaml-ancient/releases/download/${finalAttrs.version}/ancient-${finalAttrs.version}.tbz"; hash = "sha256-XeVUPrdg7QSV7V0Tz8Mkj5jvzKtYD9DON+tt9kkuCHM="; }; @@ -35,8 +35,8 @@ buildDunePackage rec { file in and see the structures. ''; homepage = "https://github.com/OCamlPro/ocaml-ancient"; - changelog = "https://raw.githubusercontent.com/OCamlPro/ocaml-ancient/refs/tags/${version}/CHANGES.md"; + changelog = "https://raw.githubusercontent.com/OCamlPro/ocaml-ancient/refs/tags/${finalAttrs.version}/CHANGES.md"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ momeemt ]; }; -} +}) From 58fcdf99ba3309ccc8241b206a3a74f1e6ddddf1 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:40 -0600 Subject: [PATCH 0776/1216] ocamlPackages.angstrom: migrate to finalAttrs --- pkgs/development/ocaml-modules/angstrom/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/angstrom/default.nix b/pkgs/development/ocaml-modules/angstrom/default.nix index 423267fb2b1b..2c2dce35b4fc 100644 --- a/pkgs/development/ocaml-modules/angstrom/default.nix +++ b/pkgs/development/ocaml-modules/angstrom/default.nix @@ -10,7 +10,7 @@ gitUpdater, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "angstrom"; version = "0.16.1"; @@ -18,8 +18,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "inhabitedtype"; - repo = pname; - rev = version; + repo = "angstrom"; + rev = finalAttrs.version; hash = "sha256-EPqDK+7RU2vHEHvuoTXb8V2FkdXQ6tGu0ghbNPS3gZ4="; }; @@ -39,4 +39,4 @@ buildDunePackage rec { license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ sternenseemann ]; }; -} +}) From 711d5f251b25132c4462a3873e23ac4e4804e2b0 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:40 -0600 Subject: [PATCH 0777/1216] ocamlPackages.ansiterminal: migrate to finalAttrs --- pkgs/development/ocaml-modules/ansiterminal/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix index 07652e61dd94..cc8798286914 100644 --- a/pkgs/development/ocaml-modules/ansiterminal/default.nix +++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix @@ -4,12 +4,12 @@ fetchurl, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "ANSITerminal"; version = "0.8.5"; src = fetchurl { - url = "https://github.com/Chris00/ANSITerminal/releases/download/${version}/ANSITerminal-${version}.tbz"; + url = "https://github.com/Chris00/ANSITerminal/releases/download/${finalAttrs.version}/ANSITerminal-${finalAttrs.version}.tbz"; hash = "sha256-q3OyGLajAmfSu8QzEtzzE5gbiwvsVV2SsGuHZkst0w4="; }; @@ -33,4 +33,4 @@ buildDunePackage rec { ]; maintainers = [ lib.maintainers.jirkamarsik ]; }; -} +}) From b6817939a39791e22837845c619fa799a3476930 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:40 -0600 Subject: [PATCH 0778/1216] ocamlPackages.ao: migrate to finalAttrs --- pkgs/development/ocaml-modules/ao/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/ao/default.nix b/pkgs/development/ocaml-modules/ao/default.nix index 77cbcf271744..174fa054490e 100644 --- a/pkgs/development/ocaml-modules/ao/default.nix +++ b/pkgs/development/ocaml-modules/ao/default.nix @@ -6,14 +6,14 @@ libao, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "ao"; version = "0.2.4"; src = fetchFromGitHub { owner = "savonet"; repo = "ocaml-ao"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-HhJdb4i9B4gz3emgDCDT4riQuAsY4uP/47biu7EZ+sk="; }; @@ -26,4 +26,4 @@ buildDunePackage rec { license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ dandellion ]; }; -} +}) From 271f8626519d8114f318a4a9f8e8de8ddf30f114 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:40 -0600 Subject: [PATCH 0779/1216] ocamlPackages.apron: migrate to finalAttrs --- pkgs/development/ocaml-modules/apron/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix index f1206bab6ffb..c329f36bf345 100644 --- a/pkgs/development/ocaml-modules/apron/default.nix +++ b/pkgs/development/ocaml-modules/apron/default.nix @@ -14,13 +14,13 @@ pplite, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-apron"; version = "0.9.15"; src = fetchFromGitHub { owner = "antoinemine"; repo = "apron"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-gHLCurydxX1pS66DTAWUJGl9Yqu9RWRjkZh6lXzM7YY="; }; @@ -63,4 +63,4 @@ stdenv.mkDerivation rec { description = "Numerical abstract domain library"; inherit (ocaml.meta) platforms; }; -} +}) From ca4bb3ebcf0e917c961a3bcd2ba71b539ab886f3 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:40 -0600 Subject: [PATCH 0780/1216] ocamlPackages.arg-complete: migrate to finalAttrs --- pkgs/development/ocaml-modules/arg-complete/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/arg-complete/default.nix b/pkgs/development/ocaml-modules/arg-complete/default.nix index 341971b35e88..a981a79e8992 100644 --- a/pkgs/development/ocaml-modules/arg-complete/default.nix +++ b/pkgs/development/ocaml-modules/arg-complete/default.nix @@ -7,12 +7,12 @@ ounit2, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "arg-complete"; version = "0.2.1"; src = fetchurl { - url = "https://github.com/sim642/ocaml-arg-complete/releases/download/${version}/arg-complete-${version}.tbz"; + url = "https://github.com/sim642/ocaml-arg-complete/releases/download/${finalAttrs.version}/arg-complete-${finalAttrs.version}.tbz"; hash = "sha256-SZvLaeeqY3j2LUvqxGs0Vw57JnnpdvAk1jnE3pk27QU="; }; @@ -24,8 +24,8 @@ buildDunePackage rec { meta = { description = "Bash completion support for OCaml Stdlib.Arg"; homepage = "https://sim642.github.io/ocaml-arg-complete/"; - changelog = "https://raw.githubusercontent.com/sim642/ocaml-arg-complete/refs/tags/${version}/CHANGELOG.md"; + changelog = "https://raw.githubusercontent.com/sim642/ocaml-arg-complete/refs/tags/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From a90ccc17f508705029fa60ef7253d8120a9d0bdc Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:40 -0600 Subject: [PATCH 0781/1216] ocamlPackages.argon2: migrate to finalAttrs --- pkgs/development/ocaml-modules/argon2/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/argon2/default.nix b/pkgs/development/ocaml-modules/argon2/default.nix index 0690ce740d3b..689bb5e50589 100644 --- a/pkgs/development/ocaml-modules/argon2/default.nix +++ b/pkgs/development/ocaml-modules/argon2/default.nix @@ -9,14 +9,14 @@ buildDunePackage, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "argon2"; version = "1.0.2"; minimalOCamlVersion = "4.02.3"; src = fetchurl { - url = "https://github.com/Khady/ocaml-argon2/releases/download/${version}/argon2-${version}.tbz"; + url = "https://github.com/Khady/ocaml-argon2/releases/download/${finalAttrs.version}/argon2-${finalAttrs.version}.tbz"; hash = "sha256-NDsOV4kPT2SnSfNHDBAK+VKZgHDIKxW+dNJ/C5bQ8gU="; }; @@ -37,4 +37,4 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ naora ]; }; -} +}) From 9b7955bb1bc7caf67598063e0b9b66288379b20a Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0782/1216] ocamlPackages.arp: migrate to finalAttrs --- pkgs/development/ocaml-modules/arp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/arp/default.nix b/pkgs/development/ocaml-modules/arp/default.nix index c5487ab6e66b..c6a18ad87d88 100644 --- a/pkgs/development/ocaml-modules/arp/default.nix +++ b/pkgs/development/ocaml-modules/arp/default.nix @@ -16,12 +16,12 @@ mirage-vnetif, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "arp"; version = "4.0.0"; src = fetchurl { - url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-${version}.tbz"; + url = "https://github.com/mirage/arp/releases/download/v${finalAttrs.version}/arp-${finalAttrs.version}.tbz"; hash = "sha256-C2Bh/2NwZqCJEidCnkhwRMoW3AsbQtvwdFh9IiJkDaU="; }; @@ -52,4 +52,4 @@ buildDunePackage rec { license = lib.licenses.isc; maintainers = with lib.maintainers; [ sternenseemann ]; }; -} +}) From 9e69f22e6be2d7edba0b3900185ee8756c74550f Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0783/1216] ocamlPackages.asai: migrate to finalAttrs --- pkgs/development/ocaml-modules/asai/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/asai/default.nix b/pkgs/development/ocaml-modules/asai/default.nix index 2a5a59895b6e..1e656924e91b 100644 --- a/pkgs/development/ocaml-modules/asai/default.nix +++ b/pkgs/development/ocaml-modules/asai/default.nix @@ -6,7 +6,7 @@ bwd, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "asai"; version = "0.3.1"; @@ -14,8 +14,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "RedPRL"; - repo = pname; - rev = version; + repo = "asai"; + rev = finalAttrs.version; hash = "sha256-IpRLX7umpmlNt2uV2MB+YvjAvNk0+gl5plbBExVvcdM="; }; @@ -30,4 +30,4 @@ buildDunePackage rec { license = lib.licenses.asl20; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From e05b4eb46fc6e63bf05380b14584d3dacb0c5c53 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0784/1216] ocamlPackages.asetmap: migrate to finalAttrs --- pkgs/development/ocaml-modules/asetmap/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/asetmap/default.nix b/pkgs/development/ocaml-modules/asetmap/default.nix index 11cecd66cc9d..0c1037e1c5ff 100644 --- a/pkgs/development/ocaml-modules/asetmap/default.nix +++ b/pkgs/development/ocaml-modules/asetmap/default.nix @@ -7,11 +7,11 @@ ocaml, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "asetmap"; version = "0.8.1"; src = fetchurl { - url = "https://github.com/dbuenzli/asetmap/archive/refs/tags/v${version}.tar.gz"; + url = "https://github.com/dbuenzli/asetmap/archive/refs/tags/v${finalAttrs.version}.tar.gz"; sha256 = "051ky0k62xp4inwi6isif56hx5ggazv4jrl7s5lpvn9cj8329frj"; }; @@ -28,4 +28,4 @@ buildDunePackage rec { inherit (topkg) buildPhase installPhase; meta = { inherit (ocaml.meta) platforms; }; -} +}) From 003bc16759dfa955c80e1ae829353c064c53168a Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0785/1216] ocamlPackages.asn1-combinators: migrate to finalAttrs --- .../ocaml-modules/asn1-combinators/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix index 81e26af0a8e9..c40db11752c8 100644 --- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix +++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix @@ -7,14 +7,14 @@ ohex, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { minimalOCamlVersion = "4.13.0"; pname = "asn1-combinators"; version = "0.3.2"; src = fetchurl { - url = "https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v${version}/asn1-combinators-${version}.tbz"; + url = "https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v${finalAttrs.version}/asn1-combinators-${finalAttrs.version}.tbz"; hash = "sha256-KyaYX24nIgc9zZ+ENVvWdX4SZDtaSOMLPAf/fPsNin8="; }; @@ -28,9 +28,9 @@ buildDunePackage rec { meta = { homepage = "https://github.com/mirleft/ocaml-asn1-combinators"; - changelog = "https://github.com/mirleft/ocaml-asn1-combinators/blob/v${version}/CHANGES.md"; + changelog = "https://github.com/mirleft/ocaml-asn1-combinators/blob/v${finalAttrs.version}/CHANGES.md"; description = "Combinators for expressing ASN.1 grammars in OCaml"; license = lib.licenses.isc; maintainers = with lib.maintainers; [ vbgl ]; }; -} +}) From f6a9e60070d0345324ee99def451b8e09ae0a45b Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0786/1216] ocamlPackages.awa: migrate to finalAttrs --- pkgs/development/ocaml-modules/awa/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix index 12380239dd06..397112faa857 100644 --- a/pkgs/development/ocaml-modules/awa/default.nix +++ b/pkgs/development/ocaml-modules/awa/default.nix @@ -19,12 +19,12 @@ mirage-mtime, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "awa"; version = "0.5.2"; src = fetchurl { - url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-${version}.tbz"; + url = "https://github.com/mirage/awa-ssh/releases/download/v${finalAttrs.version}/awa-${finalAttrs.version}.tbz"; hash = "sha256-64gloekVN0YsBwUodrJc6QaNU3PGKMIZMPJWvBfzaj0="; }; @@ -53,8 +53,8 @@ buildDunePackage rec { meta = { description = "SSH implementation in OCaml"; homepage = "https://github.com/mirage/awa-ssh"; - changelog = "https://github.com/mirage/awa-ssh/raw/v${version}/CHANGES.md"; + changelog = "https://github.com/mirage/awa-ssh/raw/v${finalAttrs.version}/CHANGES.md"; license = lib.licenses.isc; maintainers = [ lib.maintainers.sternenseemann ]; }; -} +}) From 107a12bcfc19b4be63788a8c0767938c7aa70e9f Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0787/1216] ocamlPackages.b0: migrate to finalAttrs --- pkgs/development/ocaml-modules/b0/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/b0/default.nix b/pkgs/development/ocaml-modules/b0/default.nix index 090eeb488077..2f76da1dec9f 100644 --- a/pkgs/development/ocaml-modules/b0/default.nix +++ b/pkgs/development/ocaml-modules/b0/default.nix @@ -9,13 +9,13 @@ cmdliner, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-b0"; version = "0.0.5"; src = fetchurl { - url = "${meta.homepage}/releases/b0-${version}.tbz"; + url = "https://erratique.ch/software/b0/releases/b0-${finalAttrs.version}.tbz"; sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I="; }; @@ -56,4 +56,4 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.Julow ]; broken = !(lib.versionAtLeast ocaml.version "4.08"); }; -} +}) From a7f9e95e63882bc9c376eedbc23e2acf5c87907a Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:41 -0600 Subject: [PATCH 0788/1216] ocamlPackages.backoff: migrate to finalAttrs --- pkgs/development/ocaml-modules/backoff/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/backoff/default.nix b/pkgs/development/ocaml-modules/backoff/default.nix index a623ece4d230..6c0dcd488b5a 100644 --- a/pkgs/development/ocaml-modules/backoff/default.nix +++ b/pkgs/development/ocaml-modules/backoff/default.nix @@ -5,12 +5,12 @@ alcotest, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "backoff"; version = "0.1.1"; src = fetchurl { - url = "https://github.com/ocaml-multicore/backoff/releases/download/${version}/backoff-${version}.tbz"; + url = "https://github.com/ocaml-multicore/backoff/releases/download/${finalAttrs.version}/backoff-${finalAttrs.version}.tbz"; hash = "sha256-AL6jEbInsbwKVYedpNzjix/YRHtOTizxk6aVNzesnwM="; }; @@ -26,4 +26,4 @@ buildDunePackage rec { }; minimalOCamlVersion = "4.12"; -} +}) From 467160385323f5daf09690d045853cab1b09838e Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0789/1216] ocamlPackages.bap: migrate to finalAttrs --- pkgs/development/ocaml-modules/bap/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix index 2b9672a633e9..e6d88be9cb2b 100644 --- a/pkgs/development/ocaml-modules/bap/default.nix +++ b/pkgs/development/ocaml-modules/bap/default.nix @@ -42,7 +42,7 @@ z3, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-bap"; version = "2.5.0+pr1621"; src = fetchFromGitHub { @@ -53,15 +53,15 @@ stdenv.mkDerivation rec { }; sigs = fetchurl { - url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${version}/sigs.zip"; + url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${finalAttrs.version}/sigs.zip"; sha256 = "0d69jd28z4g64mglq94kj5imhmk5f6sgcsh9q2nij3b0arpcliwk"; }; createFindlibDestdir = true; setupHook = writeText "setupHook.sh" '' - export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/" - export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/" + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${finalAttrs.version}/" + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${finalAttrs.version}-llvm-plugins/" ''; nativeBuildInputs = [ @@ -134,7 +134,7 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--enable-everything ${disableIda} ${disableGhidra}" + "--enable-everything ${finalAttrs.disableIda} ${finalAttrs.disableGhidra}" "--with-llvm-config=${llvm.dev}/bin/llvm-config" ]; @@ -146,4 +146,4 @@ stdenv.mkDerivation rec { mainProgram = "bap"; broken = lib.versionOlder ocaml.version "4.08"; }; -} +}) From edc40fc0170071512a7c9600a9792168d8ed2026 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0790/1216] ocamlPackages.base64: migrate to finalAttrs --- pkgs/development/ocaml-modules/base64/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix index 08b028c874ee..0638e50566e5 100644 --- a/pkgs/development/ocaml-modules/base64/default.nix +++ b/pkgs/development/ocaml-modules/base64/default.nix @@ -9,14 +9,14 @@ rresult, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "base64"; version = "3.5.2"; minimalOCamlVersion = "4.07"; src = fetchurl { - url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-${version}.tbz"; + url = "https://github.com/mirage/ocaml-base64/releases/download/v${finalAttrs.version}/base64-${finalAttrs.version}.tbz"; hash = "sha256-s/XOMBqnLHAy75C+IzLXL/OWKSLADuKuxryt4Yei9Zs="; }; @@ -36,4 +36,4 @@ buildDunePackage rec { license = lib.licenses.isc; maintainers = with lib.maintainers; [ vbgl ]; }; -} +}) From 4758139bec027fdedfbeb9b5d4e5f74d22dcf11b Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0791/1216] ocamlPackages.bdd: migrate to finalAttrs --- pkgs/development/ocaml-modules/bdd/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bdd/default.nix b/pkgs/development/ocaml-modules/bdd/default.nix index b622de57ce99..1bf495d2223b 100644 --- a/pkgs/development/ocaml-modules/bdd/default.nix +++ b/pkgs/development/ocaml-modules/bdd/default.nix @@ -5,14 +5,14 @@ stdlib-shims, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bdd"; version = "0.5"; src = fetchFromGitHub { owner = "backtracking"; repo = "ocaml-bdd"; - tag = version; + tag = finalAttrs.version; hash = "sha256-bhgKpo7gGkjbI75pzckfQulZnTstj6G5QcErLgIGneU="; }; @@ -32,4 +32,4 @@ buildDunePackage rec { license = lib.licenses.lgpl21Only; maintainers = with lib.maintainers; [ wegank ]; }; -} +}) From c7d719e85a54f8963e0b72ca24b3bb97b377457d Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0792/1216] ocamlPackages.benchmark: migrate to finalAttrs --- pkgs/development/ocaml-modules/benchmark/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix index c039fe966f81..e3bce24b52fb 100644 --- a/pkgs/development/ocaml-modules/benchmark/default.nix +++ b/pkgs/development/ocaml-modules/benchmark/default.nix @@ -4,14 +4,14 @@ buildDunePackage, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "benchmark"; version = "1.7"; minimalOCamlVersion = "4.03"; src = fetchurl { - url = "https://github.com/Chris00/ocaml-benchmark/releases/download/v${version}/benchmark-${version}.tbz"; + url = "https://github.com/Chris00/ocaml-benchmark/releases/download/v${finalAttrs.version}/benchmark-${finalAttrs.version}.tbz"; hash = "sha256-Aij7vJzamNWQfjLeGgENlIp6Il8+Wc9hsahr4eDGs68="; }; @@ -23,8 +23,8 @@ buildDunePackage rec { your functions and to easily compare the results. A statistical test is used to determine whether the results truly differ. ''; - changelog = "https://raw.githubusercontent.com/Chris00/ocaml-benchmark/refs/tags/v${version}/CHANGES.md"; + changelog = "https://raw.githubusercontent.com/Chris00/ocaml-benchmark/refs/tags/v${finalAttrs.version}/CHANGES.md"; license = lib.licenses.lgpl3; maintainers = with lib.maintainers; [ momeemt ]; }; -} +}) From 7306740d129477248df2f906e1760d5ddde5517c Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0793/1216] ocamlPackages.bencode: migrate to finalAttrs --- pkgs/development/ocaml-modules/bencode/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/bencode/default.nix b/pkgs/development/ocaml-modules/bencode/default.nix index 310d7f24d006..91c74c511cf3 100644 --- a/pkgs/development/ocaml-modules/bencode/default.nix +++ b/pkgs/development/ocaml-modules/bencode/default.nix @@ -6,7 +6,7 @@ qcheck, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bencode"; version = "2.0"; minimalOCamlVersion = "4.02.0"; @@ -14,7 +14,7 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "rgrinberg"; repo = "bencode"; - tag = version; + tag = finalAttrs.version; hash = "sha256-sEMS9oBOPeFX1x7cHjbQhCD2QI5yqC+550pPqqMsVws="; }; @@ -27,8 +27,8 @@ buildDunePackage rec { meta = { description = "Bencode (.torrent file format) reader/writer in OCaml "; homepage = "https://github.com/rgrinberg/bencode"; - changelog = "https://github.com/rgrinberg/bencode/blob/${version}/Changelog.md"; + changelog = "https://github.com/rgrinberg/bencode/blob/${finalAttrs.version}/Changelog.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ infinidoge ]; }; -} +}) From 8634cca7d8c1970ebcc4beac4a8f51020c2939ce Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0794/1216] ocamlPackages.bigarray-overlap: migrate to finalAttrs --- pkgs/development/ocaml-modules/bigarray-overlap/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix index a1610e3b6e04..f8b5c320a598 100644 --- a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix +++ b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix @@ -6,12 +6,12 @@ pkg-config, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bigarray-overlap"; version = "0.2.1"; src = fetchurl { - url = "https://github.com/dinosaure/overlap/releases/download/v${version}/bigarray-overlap-${version}.tbz"; + url = "https://github.com/dinosaure/overlap/releases/download/v${finalAttrs.version}/bigarray-overlap-${finalAttrs.version}.tbz"; hash = "sha256-L1IKxHAFTjNYg+upJUvyi2Z23bV3U8+1iyLPhK4aZuA="; }; @@ -28,4 +28,4 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = [ lib.maintainers.sternenseemann ]; }; -} +}) From 564437b4a65e896334b277660b497eba3cf47086 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:42 -0600 Subject: [PATCH 0795/1216] ocamlPackages.bigstring: migrate to finalAttrs --- pkgs/development/ocaml-modules/bigstring/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bigstring/default.nix b/pkgs/development/ocaml-modules/bigstring/default.nix index 6f976aeb544b..f7e3ee06b9ef 100644 --- a/pkgs/development/ocaml-modules/bigstring/default.nix +++ b/pkgs/development/ocaml-modules/bigstring/default.nix @@ -5,7 +5,7 @@ ocaml, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bigstring"; version = "0.3"; @@ -20,7 +20,7 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "c-cube"; repo = "ocaml-bigstring"; - rev = version; + rev = finalAttrs.version; sha256 = "0bkxwdcswy80f6rmx5wjza92xzq4rdqsb4a9fm8aav8bdqx021n8"; }; @@ -33,4 +33,4 @@ buildDunePackage rec { license = lib.licenses.bsd2; maintainers = [ lib.maintainers.alexfmpe ]; }; -} +}) From 278438e1d8227d28132fb245a225de64a7420717 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0796/1216] ocamlPackages.bigstringaf: migrate to finalAttrs --- .../ocaml-modules/bigstringaf/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix index 1de4d8312dfb..fd2fd76ff304 100644 --- a/pkgs/development/ocaml-modules/bigstringaf/default.nix +++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix @@ -7,7 +7,7 @@ dune-configurator, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bigstringaf"; version = "0.10.0"; @@ -15,8 +15,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "inhabitedtype"; - repo = pname; - tag = version; + repo = "bigstringaf"; + tag = finalAttrs.version; hash = "sha256-p1hdB3ArOd2UX7S6YvXCFbYjEiXdMDmBaC/lFQgua7Q="; }; @@ -39,9 +39,9 @@ buildDunePackage rec { So here they are. Go crazy. ''; - changelog = "https://github.com/inhabitedtype/bigstringaf/releases/tag/${version}"; + changelog = "https://github.com/inhabitedtype/bigstringaf/releases/tag/${finalAttrs.version}"; license = lib.licenses.bsd3; maintainers = [ lib.maintainers.vbgl ]; - inherit (src.meta) homepage; + inherit (finalAttrs.src.meta) homepage; }; -} +}) From 1e2480abbc69a1d5cc976427ff2d4d5c40c60451 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0797/1216] ocamlPackages.bindlib: migrate to finalAttrs --- pkgs/development/ocaml-modules/bindlib/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/ocaml-modules/bindlib/default.nix b/pkgs/development/ocaml-modules/bindlib/default.nix index 5adbc9e31070..bf0efa0ae9a9 100644 --- a/pkgs/development/ocaml-modules/bindlib/default.nix +++ b/pkgs/development/ocaml-modules/bindlib/default.nix @@ -6,7 +6,7 @@ timed, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bindlib"; version = "6.0.0"; @@ -14,8 +14,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "rlepigre"; - repo = "ocaml-${pname}"; - rev = version; + repo = "ocaml-bindlib"; + rev = finalAttrs.version; hash = "sha256-058yMbz9ExvgNG/kY9tPk70XSeVRSSKVg4n4F4fmPu4="; }; @@ -29,7 +29,7 @@ buildDunePackage rec { homepage = "https://rlepigre.github.io/ocaml-bindlib"; description = "Efficient binder representation in Ocaml"; license = lib.licenses.gpl3; - changelog = "https://github.com/rlepigre/ocaml-bindlib/raw/${version}/CHANGELOG.md"; + changelog = "https://github.com/rlepigre/ocaml-bindlib/raw/${finalAttrs.version}/CHANGELOG.md"; maintainers = with lib.maintainers; [ bcdarwin ]; }; -} +}) From d7093b0fc5535a75071bbc4685d73f26384c8afa Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0798/1216] ocamlPackages.biniou: migrate to finalAttrs --- pkgs/development/ocaml-modules/biniou/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix index 4dfc9496fb8a..6611099893e9 100644 --- a/pkgs/development/ocaml-modules/biniou/default.nix +++ b/pkgs/development/ocaml-modules/biniou/default.nix @@ -6,12 +6,12 @@ easy-format, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "biniou"; version = "1.2.2"; src = fetchurl { - url = "https://github.com/ocaml-community/biniou/releases/download/${version}/biniou-${version}.tbz"; + url = "https://github.com/ocaml-community/biniou/releases/download/${finalAttrs.version}/biniou-${finalAttrs.version}.tbz"; hash = "sha256-i/P/F80Oyy1rbR2UywjvCJ1Eyu+W6brmvmg51Cj6MY8="; }; @@ -27,4 +27,4 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; mainProgram = "bdump"; }; -} +}) From 8154d368fced23be2e6b6803dfd03fe96a4ee8a0 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0799/1216] ocamlPackages.binning: migrate to finalAttrs --- pkgs/development/ocaml-modules/binning/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/binning/default.nix b/pkgs/development/ocaml-modules/binning/default.nix index e97db4daddae..90eafe19b1e8 100644 --- a/pkgs/development/ocaml-modules/binning/default.nix +++ b/pkgs/development/ocaml-modules/binning/default.nix @@ -4,14 +4,14 @@ fetchurl, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "binning"; version = "0.0.0"; minimalOCamlVersion = "4.08"; src = fetchurl { - url = "https://github.com/pveber/binning/releases/download/v${version}/binning-v${version}.tbz"; + url = "https://github.com/pveber/binning/releases/download/v${finalAttrs.version}/binning-v${finalAttrs.version}.tbz"; hash = "sha256-eG+xctsbc7lQ5pFOUtJ8rjNW/06gygwLADq7yc8Yf/c="; }; @@ -21,4 +21,4 @@ buildDunePackage rec { homepage = "https://github.com/pveber/binning/"; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From 7f0336621f5921d959b408af79c776003acd3f8e Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0800/1216] ocamlPackages.biotk: migrate to finalAttrs --- pkgs/development/ocaml-modules/biotk/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/biotk/default.nix b/pkgs/development/ocaml-modules/biotk/default.nix index da97a0df3554..991cc0d35c5d 100644 --- a/pkgs/development/ocaml-modules/biotk/default.nix +++ b/pkgs/development/ocaml-modules/biotk/default.nix @@ -19,14 +19,14 @@ vg, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "biotk"; version = "0.3"; minimalOCamlVersion = "4.13"; src = fetchurl { - url = "https://github.com/pveber/biotk/releases/download/v${version}/biotk-${version}.tbz"; + url = "https://github.com/pveber/biotk/releases/download/v${finalAttrs.version}/biotk-${finalAttrs.version}.tbz"; hash = "sha256-9eRd3qYteUxu/xNEUER/DHodr6cTCuPtSKr38x32gig="; }; @@ -54,4 +54,4 @@ buildDunePackage rec { description = "Toolkit for bioinformatics in OCaml"; license = lib.licenses.cecill-c; }; -} +}) From f16354975409a79bde23b6274fc593ad7726de77 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0801/1216] ocamlPackages.bisect_ppx: migrate to finalAttrs --- pkgs/development/ocaml-modules/bisect_ppx/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bisect_ppx/default.nix b/pkgs/development/ocaml-modules/bisect_ppx/default.nix index e3a8518b7260..62356c085733 100644 --- a/pkgs/development/ocaml-modules/bisect_ppx/default.nix +++ b/pkgs/development/ocaml-modules/bisect_ppx/default.nix @@ -7,14 +7,14 @@ ppxlib, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bisect_ppx"; version = "2.8.3"; src = fetchFromGitHub { owner = "aantron"; repo = "bisect_ppx"; - rev = version; + rev = finalAttrs.version; hash = "sha256-3qXobZLPivFDtls/3WNqDuAgWgO+tslJV47kjQPoi6o="; }; @@ -48,4 +48,4 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ momeemt ]; mainProgram = "bisect-ppx-report"; }; -} +}) From cd83d2f2c75fd8c17b28f71c2c86f743a5a3c781 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:43 -0600 Subject: [PATCH 0802/1216] ocamlPackages.bistro: migrate to finalAttrs --- pkgs/development/ocaml-modules/bistro/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/bistro/default.nix b/pkgs/development/ocaml-modules/bistro/default.nix index e717ae737d51..62ae1e930232 100644 --- a/pkgs/development/ocaml-modules/bistro/default.nix +++ b/pkgs/development/ocaml-modules/bistro/default.nix @@ -16,13 +16,13 @@ ppxlib, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bistro"; version = "unstable-2024-05-17"; src = fetchFromGitHub { owner = "pveber"; - repo = pname; + repo = "bistro"; rev = "d44c44b52148e58ca3842c3efedf3115e376d800"; sha256 = "sha256-naoCEVBfydqSeGGbXYBXfg0PP+Fzk05jFoul7XAz/tM="; }; @@ -44,10 +44,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.14"; meta = { - inherit (src.meta) homepage; + inherit (finalAttrs.src.meta) homepage; description = "Build and execute typed scientific workflows"; maintainers = [ lib.maintainers.vbgl ]; license = lib.licenses.gpl2; broken = lib.versionAtLeast ppxlib.version "0.36"; }; -} +}) From ffb21cce7ea427cd8b37fde2f144b7bba3f55345 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0803/1216] ocamlPackages.bitstring: migrate to finalAttrs --- pkgs/development/ocaml-modules/bitstring/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix index 106edfd31864..4c612b177a7c 100644 --- a/pkgs/development/ocaml-modules/bitstring/default.nix +++ b/pkgs/development/ocaml-modules/bitstring/default.nix @@ -5,7 +5,7 @@ stdlib-shims, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bitstring"; version = "4.1.1"; @@ -13,8 +13,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "xguerin"; - repo = pname; - rev = "v${version}"; + repo = "bitstring"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-eO7/S9PoMybZPnQQ+q9qbqKpYO4Foc9OjW4uiwwNds8="; }; @@ -26,4 +26,4 @@ buildDunePackage rec { license = lib.licenses.lgpl21Plus; maintainers = [ lib.maintainers.maurer ]; }; -} +}) From 760177cc80f3a21edf8e8047e8cd64b2390fc912 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0804/1216] ocamlPackages.bitv: migrate to finalAttrs --- pkgs/development/ocaml-modules/bitv/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/bitv/default.nix b/pkgs/development/ocaml-modules/bitv/default.nix index 1fcc54f753ed..1f6debef31ef 100644 --- a/pkgs/development/ocaml-modules/bitv/default.nix +++ b/pkgs/development/ocaml-modules/bitv/default.nix @@ -4,7 +4,7 @@ buildDunePackage, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bitv"; version = "2.1"; minimalOCamlVersion = "4.08"; @@ -12,7 +12,7 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "backtracking"; repo = "bitv"; - tag = version; + tag = finalAttrs.version; hash = "sha256-jlpVMqYOiKxoU6wuVeYlOC5wRtF4aakljKpop6dfu8w="; }; @@ -20,7 +20,7 @@ buildDunePackage rec { description = "Bit vector library for OCaml"; license = lib.licenses.lgpl21; homepage = "https://github.com/backtracking/bitv"; - changelog = "https://github.com/backtracking/bitv/releases/tag/${version}"; + changelog = "https://github.com/backtracking/bitv/releases/tag/${finalAttrs.version}"; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From 3fa6d0621ffdc6346df055dd728e270e1411694a Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0805/1216] ocamlPackages.bjack: migrate to finalAttrs --- pkgs/development/ocaml-modules/bjack/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bjack/default.nix b/pkgs/development/ocaml-modules/bjack/default.nix index 58a3a9dc1989..0e489d760693 100644 --- a/pkgs/development/ocaml-modules/bjack/default.nix +++ b/pkgs/development/ocaml-modules/bjack/default.nix @@ -7,14 +7,14 @@ libjack2, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bjack"; version = "0.1.6"; src = fetchFromGitHub { owner = "savonet"; repo = "ocaml-bjack"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-jIxxqBVWphWYyLh+24rTxk4WWfPPdGCvNdevFJEKw70="; }; @@ -30,4 +30,4 @@ buildDunePackage rec { license = lib.licenses.lgpl21Only; maintainers = with lib.maintainers; [ dandellion ]; }; -} +}) From e5945f528464479043aa0381f326dfbed053216f Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0806/1216] ocamlPackages.bls12-381-signature: migrate to finalAttrs --- .../ocaml-modules/bls12-381-signature/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bls12-381-signature/default.nix b/pkgs/development/ocaml-modules/bls12-381-signature/default.nix index cfb03c5e6d0b..1ba61c1c35a5 100644 --- a/pkgs/development/ocaml-modules/bls12-381-signature/default.nix +++ b/pkgs/development/ocaml-modules/bls12-381-signature/default.nix @@ -8,11 +8,11 @@ integers_stubs_js, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bls12-381-signature"; version = "1.0.0"; src = fetchzip { - url = "https://gitlab.com/nomadic-labs/cryptography/ocaml-${pname}/-/archive/${version}/ocaml-bls12-381-signature-${version}.tar.bz2"; + url = "https://gitlab.com/nomadic-labs/cryptography/ocaml-bls12-381-signature/-/archive/${finalAttrs.version}/ocaml-bls12-381-signature-${finalAttrs.version}.tar.bz2"; sha256 = "sha256-KaUpAT+BWxmUP5obi4loR9vVUeQmz3p3zG3CBolUuL4="; }; @@ -36,4 +36,4 @@ buildDunePackage rec { homepage = "https://gitlab.com/nomadic-labs/cryptography/ocaml-bls12-381-signature"; maintainers = [ lib.maintainers.ulrikstrid ]; }; -} +}) From ecc1e043187a9a7ff2948a58bb2e2aaa3974ca86 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0807/1216] ocamlPackages.bls12-381: migrate to finalAttrs --- pkgs/development/ocaml-modules/bls12-381/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix index 4f7db59d9adf..a31660575fe1 100644 --- a/pkgs/development/ocaml-modules/bls12-381/default.nix +++ b/pkgs/development/ocaml-modules/bls12-381/default.nix @@ -10,13 +10,13 @@ alcotest, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bls12-381"; version = "6.1.0"; src = fetchFromGitLab { owner = "nomadic-labs"; repo = "cryptography/ocaml-bls12-381"; - rev = version; + rev = finalAttrs.version; hash = "sha256-z2ZSOrXgm+XjdrY91vqxXSKhA0DyJz6JkkNljDZznX8="; }; @@ -46,4 +46,4 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = [ lib.maintainers.ulrikstrid ]; }; -} +}) From 16446fdb403779cf2cd66eb21667af8fc0bf1f0e Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0808/1216] ocamlPackages.bls12-381: migrate to finalAttrs --- pkgs/development/ocaml-modules/bls12-381/gen.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bls12-381/gen.nix b/pkgs/development/ocaml-modules/bls12-381/gen.nix index 36bc1c1e2e6d..d5d5dd8d9c8c 100644 --- a/pkgs/development/ocaml-modules/bls12-381/gen.nix +++ b/pkgs/development/ocaml-modules/bls12-381/gen.nix @@ -6,14 +6,14 @@ zarith, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bls12-381-gen"; version = "0.4.4"; src = fetchFromGitLab { owner = "dannywillems"; repo = "ocaml-bls12-381"; - rev = "${version}-legacy"; + rev = "${finalAttrs.version}-legacy"; sha256 = "qocIfQdv9rniOUykRulu2zWsqkzT0OrsGczgVKALRuk="; }; @@ -34,4 +34,4 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = [ lib.maintainers.ulrikstrid ]; }; -} +}) From 1cc29ca8cf61a32259e3ae41395d5bf1e1834316 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:44 -0600 Subject: [PATCH 0809/1216] ocamlPackages.bos: migrate to finalAttrs --- pkgs/development/ocaml-modules/bos/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix index 810e4d35f89c..9cc68872f68a 100644 --- a/pkgs/development/ocaml-modules/bos/default.nix +++ b/pkgs/development/ocaml-modules/bos/default.nix @@ -13,12 +13,12 @@ rresult, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-bos"; version = "0.2.1"; src = fetchurl { - url = "https://erratique.ch/software/bos/releases/bos-${version}.tbz"; + url = "https://erratique.ch/software/bos/releases/bos-${finalAttrs.version}.tbz"; sha256 = "sha256-2NYueGsQ1pfgRXIFqO7eqifrzJDxhV8Y3xkMrC49jzc="; }; @@ -48,4 +48,4 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.vbgl ]; inherit (ocaml.meta) platforms; }; -} +}) From 4190cd949ba9e20460136896486187fa867bf0bb Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0810/1216] ocamlPackages.brr: migrate to finalAttrs --- pkgs/development/ocaml-modules/brr/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/brr/default.nix b/pkgs/development/ocaml-modules/brr/default.nix index 12a8a1635fd9..d16508db6303 100644 --- a/pkgs/development/ocaml-modules/brr/default.nix +++ b/pkgs/development/ocaml-modules/brr/default.nix @@ -10,11 +10,11 @@ js_of_ocaml-toplevel, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-brr"; version = "0.0.8"; src = fetchurl { - url = "https://erratique.ch/software/brr/releases/brr-${version}.tbz"; + url = "https://erratique.ch/software/brr/releases/brr-${finalAttrs.version}.tbz"; hash = "sha256-g4ROHy9rHlaEFi5+euyRuEKK5HwKJWPmFkdvFhdIYgg="; }; buildInputs = [ @@ -36,4 +36,4 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.vbgl ]; inherit (ocaml.meta) platforms; }; -} +}) From 0e463776d723bf357ee7491f78211b6fb49a1d36 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0811/1216] ocamlPackages.bstr: migrate to finalAttrs --- pkgs/development/ocaml-modules/bstr/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bstr/default.nix b/pkgs/development/ocaml-modules/bstr/default.nix index 37e342db4400..c6f7b2b44d28 100644 --- a/pkgs/development/ocaml-modules/bstr/default.nix +++ b/pkgs/development/ocaml-modules/bstr/default.nix @@ -4,14 +4,14 @@ lib, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bstr"; version = "0.0.2"; minimalOCamlVersion = "4.13"; src = fetchurl { - url = "https://github.com/robur-coop/bstr/releases/download/v${version}/bstr-${version}.tbz"; + url = "https://github.com/robur-coop/bstr/releases/download/v${finalAttrs.version}/bstr-${finalAttrs.version}.tbz"; hash = "sha256-/zvzCBzT014OesTmxGBDB98ZRU++YNDLUZ8uaDK3keM="; }; @@ -21,4 +21,4 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From 836946d4bdf814a5e6d49320ad7c6bc3bfc77bfe Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0812/1216] ocamlPackages.bwd: migrate to finalAttrs --- pkgs/development/ocaml-modules/bwd/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/bwd/default.nix b/pkgs/development/ocaml-modules/bwd/default.nix index c6179b4f31e3..837802bf25d2 100644 --- a/pkgs/development/ocaml-modules/bwd/default.nix +++ b/pkgs/development/ocaml-modules/bwd/default.nix @@ -5,7 +5,7 @@ qcheck-core, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bwd"; version = "2.3.0"; @@ -15,7 +15,7 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "RedPRL"; repo = "ocaml-bwd"; - rev = version; + rev = finalAttrs.version; hash = "sha256-rzn0U/D6kPNsH5hBTElc3d1jfKbgKbjA2JHicpaJtu4="; }; @@ -25,8 +25,8 @@ buildDunePackage rec { meta = { description = "Backward Lists"; homepage = "https://github.com/RedPRL/ocaml-bwd"; - changelog = "https://github.com/RedPRL/ocaml-bwd/blob/${version}/CHANGELOG.markdown"; + changelog = "https://github.com/RedPRL/ocaml-bwd/blob/${finalAttrs.version}/CHANGELOG.markdown"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From 70906b13b436402453f7fe6b724c5ce1e504ce74 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0813/1216] ocamlPackages.bytestring: migrate to finalAttrs --- pkgs/development/ocaml-modules/bytestring/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/bytestring/default.nix b/pkgs/development/ocaml-modules/bytestring/default.nix index ddf130ac8e28..49a4750b0d01 100644 --- a/pkgs/development/ocaml-modules/bytestring/default.nix +++ b/pkgs/development/ocaml-modules/bytestring/default.nix @@ -10,14 +10,14 @@ qcheck, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "bytestring"; version = "0.0.8"; minimalOCamlVersion = "5.1"; src = fetchurl { - url = "https://github.com/riot-ml/riot/releases/download/${version}/riot-${version}.tbz"; + url = "https://github.com/riot-ml/riot/releases/download/${finalAttrs.version}/riot-${finalAttrs.version}.tbz"; hash = "sha256-SsiDz53b9bMIT9Q3IwDdB3WKy98WSd9fiieU41qZpeE="; }; @@ -42,4 +42,4 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = [ ]; }; -} +}) From 6a0c48138cdb377f08e1e58e521ced98928f832f Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0814/1216] ocamlPackages.ca-certs-nss: migrate to finalAttrs --- pkgs/development/ocaml-modules/ca-certs-nss/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix index 1b30fcfef973..004d6c43e0b9 100644 --- a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix +++ b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix @@ -12,14 +12,14 @@ alcotest, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "ca-certs-nss"; version = "3.118"; minimalOCamlVersion = "4.13"; src = fetchurl { - url = "https://github.com/mirage/ca-certs-nss/releases/download/v${version}/ca-certs-nss-${version}.tbz"; + url = "https://github.com/mirage/ca-certs-nss/releases/download/v${finalAttrs.version}/ca-certs-nss-${finalAttrs.version}.tbz"; hash = "sha256-BthKUUeuf3jFRmQzw0U9SEbvRqcVc1UKHmb4+YePRio="; }; @@ -46,4 +46,4 @@ buildDunePackage rec { maintainers = [ lib.maintainers.sternenseemann ]; mainProgram = "extract-from-certdata"; }; -} +}) From e8b0c6fa7caf03a3cd79df72e12840f25f4279a6 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0815/1216] ocamlPackages.coin: migrate to finalAttrs --- pkgs/development/ocaml-modules/coin/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/coin/default.nix b/pkgs/development/ocaml-modules/coin/default.nix index 487c9f6c8c15..50b309d26f0e 100644 --- a/pkgs/development/ocaml-modules/coin/default.nix +++ b/pkgs/development/ocaml-modules/coin/default.nix @@ -7,13 +7,13 @@ re, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "coin"; version = "0.1.4"; minimalOCamlVersion = "4.03"; src = fetchurl { - url = "https://github.com/mirage/coin/releases/download/v${version}/coin-${version}.tbz"; + url = "https://github.com/mirage/coin/releases/download/v${finalAttrs.version}/coin-${finalAttrs.version}.tbz"; sha256 = "sha256:0069qqswd1ik5ay3d5q1v1pz0ql31kblfsnv0ax0z8jwvacp3ack"; }; @@ -34,4 +34,4 @@ buildDunePackage rec { maintainers = [ ]; mainProgram = "coin.generate"; }; -} +}) From 1a692f944965cc8fe9352c411bb0d69c06e41d78 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:45 -0600 Subject: [PATCH 0816/1216] ocamlPackages.frontc: migrate to finalAttrs --- pkgs/development/ocaml-modules/frontc/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/frontc/default.nix b/pkgs/development/ocaml-modules/frontc/default.nix index 3f204ad06b68..2f6ee7529693 100644 --- a/pkgs/development/ocaml-modules/frontc/default.nix +++ b/pkgs/development/ocaml-modules/frontc/default.nix @@ -6,14 +6,14 @@ menhir, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "FrontC"; version = "4.1.0"; src = fetchFromGitHub { owner = "BinaryAnalysisPlatform"; repo = "FrontC"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "1mi1vh4qgscnb470qwidccaqd068j1bqlz6pf6wddk21paliwnqb"; }; @@ -22,10 +22,10 @@ buildDunePackage rec { nativeBuildInputs = [ menhir ]; meta = { - inherit (src.meta) homepage; + inherit (finalAttrs.src.meta) homepage; inherit (ocaml.meta) platforms; description = "C Parsing Library"; license = lib.licenses.lgpl21; maintainers = [ lib.maintainers.maurer ]; }; -} +}) From e86f21205abd6cb6098a6a99bb1f8332efae0cf3 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:46 -0600 Subject: [PATCH 0817/1216] ocamlPackages.mirage-crypto: migrate to finalAttrs --- pkgs/development/ocaml-modules/mirage-crypto/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix index 9a774afcedde..ddfd916532f7 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix @@ -10,14 +10,14 @@ ocaml-freestanding, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { minimalOCamlVersion = "4.13"; pname = "mirage-crypto"; version = "2.0.2"; src = fetchurl { - url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-${version}.tbz"; + url = "https://github.com/mirage/mirage-crypto/releases/download/v${finalAttrs.version}/mirage-crypto-${finalAttrs.version}.tbz"; hash = "sha256-c5qdOfNAJ/vJNVf4fFysQZClK92t/3LyEvqoA9YhWHQ="; }; @@ -38,7 +38,7 @@ buildDunePackage rec { meta = { homepage = "https://github.com/mirage/mirage-crypto"; description = "Simple symmetric cryptography for the modern age"; - changelog = "https://raw.githubusercontent.com/mirage/mirage-crypto/refs/tags/v${version}/CHANGES.md"; + changelog = "https://raw.githubusercontent.com/mirage/mirage-crypto/refs/tags/v${finalAttrs.version}/CHANGES.md"; license = with lib.licenses; [ isc # default license bsd2 # mirage-crypto-rng-mirage @@ -49,4 +49,4 @@ buildDunePackage rec { momeemt ]; }; -} +}) From eb5893727fbf0edf00772f06bbde270d8af8b4e3 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:46 -0600 Subject: [PATCH 0818/1216] ocamlPackages.mirage: migrate to finalAttrs --- pkgs/development/ocaml-modules/mirage/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/mirage/default.nix b/pkgs/development/ocaml-modules/mirage/default.nix index 090df1651e9c..e0fb7af26d94 100644 --- a/pkgs/development/ocaml-modules/mirage/default.nix +++ b/pkgs/development/ocaml-modules/mirage/default.nix @@ -14,7 +14,7 @@ uri, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "mirage"; inherit (mirage-runtime) version src; @@ -43,11 +43,11 @@ buildDunePackage rec { installPhase = '' runHook preInstall - dune install --prefix=$out --libdir=$dev/lib/ocaml/${ocaml.version}/site-lib/ ${pname} + dune install --prefix=$out --libdir=$dev/lib/ocaml/${ocaml.version}/site-lib/ mirage runHook postInstall ''; meta = mirage-runtime.meta // { description = "MirageOS library operating system"; }; -} +}) From 62f6c37aff91b8726763a2a4b2be034286e59ffb Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:46 -0600 Subject: [PATCH 0819/1216] ocamlPackages.poll: migrate to finalAttrs --- pkgs/development/ocaml-modules/poll/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/poll/default.nix b/pkgs/development/ocaml-modules/poll/default.nix index 0f0e616da1ba..0f17fc17c22b 100644 --- a/pkgs/development/ocaml-modules/poll/default.nix +++ b/pkgs/development/ocaml-modules/poll/default.nix @@ -8,14 +8,14 @@ ppx_optcomp, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "poll"; version = "0.3.1"; minimalOCamlVersion = "4.13"; src = fetchurl { - url = "https://github.com/anuragsoni/poll/releases/download/${version}/poll-${version}.tbz"; + url = "https://github.com/anuragsoni/poll/releases/download/${finalAttrs.version}/poll-${finalAttrs.version}.tbz"; hash = "sha256-IX6SivK/IMQaGgMgWiIsNgUSMHP6z1E/TSB0miaQ8pw="; }; @@ -37,8 +37,8 @@ buildDunePackage rec { meta = { description = "Portable OCaml interface to macOS/Linux/Windows native IO event notification mechanisms"; homepage = "https://github.com/anuragsoni/poll"; - changelog = "https://github.com/anuragsoni/poll/blob/${version}/CHANGES.md"; + changelog = "https://github.com/anuragsoni/poll/blob/${finalAttrs.version}/CHANGES.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sixstring982 ]; }; -} +}) From 8543c7c4650ca0aacc4ad4411e46906ee3823fae Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 21 Jan 2026 15:59:46 -0600 Subject: [PATCH 0820/1216] ocamlPackages.spelll: migrate to finalAttrs --- pkgs/development/ocaml-modules/spelll/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/ocaml-modules/spelll/default.nix b/pkgs/development/ocaml-modules/spelll/default.nix index ec59977d333e..f68ac91ae474 100644 --- a/pkgs/development/ocaml-modules/spelll/default.nix +++ b/pkgs/development/ocaml-modules/spelll/default.nix @@ -6,7 +6,7 @@ stdlib-shims, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "spelll"; version = "0.4"; @@ -14,8 +14,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "c-cube"; - repo = pname; - rev = "v${version}"; + repo = "spelll"; + rev = "v${finalAttrs.version}"; hash = "sha256-nI8fdArYynR70PUJIgyogGBCe4gFhfVzuRdZzFGKqOc="; }; @@ -25,9 +25,9 @@ buildDunePackage rec { ]; meta = { - inherit (src.meta) homepage; + inherit (finalAttrs.src.meta) homepage; description = "Fuzzy string searching, using Levenshtein automaton"; license = lib.licenses.bsd2; maintainers = [ lib.maintainers.vbgl ]; }; -} +}) From 58ef25327c25d06b3184cd8b809d15bc2b8294fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 23:27:45 +0000 Subject: [PATCH 0821/1216] clightning: 25.09.2 -> 25.12.1 --- pkgs/by-name/cl/clightning/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clightning/package.nix b/pkgs/by-name/cl/clightning/package.nix index 430e4d5066fc..d7d3e9256f2c 100644 --- a/pkgs/by-name/cl/clightning/package.nix +++ b/pkgs/by-name/cl/clightning/package.nix @@ -29,11 +29,11 @@ let in stdenv.mkDerivation rec { pname = "clightning"; - version = "25.09.2"; + version = "25.12.1"; src = fetchurl { url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip"; - hash = "sha256-iLzVDWTdKkpAjmuyCnSnqyWiv6CgdzQwNTmWZH/x7gM="; + hash = "sha256-50rcNH9dXeRezJ3nEW/cRK5uE+IpGoHAzkU3C7p44KY="; }; # when building on darwin we need cctools to provide the correct libtool From 65e7fe7be2efe94545293f59a0f6837a5185d23b Mon Sep 17 00:00:00 2001 From: TornaxO7 Date: Tue, 20 Jan 2026 17:58:07 +0100 Subject: [PATCH 0822/1216] paperless-ngx: 2.20.4 -> 2.20.5 --- pkgs/by-name/pa/paperless-ngx/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 4a2746ae109c..50ec4711c028 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -30,13 +30,13 @@ xorg, }: let - version = "2.20.4"; + version = "2.20.5"; src = fetchFromGitHub { owner = "paperless-ngx"; repo = "paperless-ngx"; tag = "v${version}"; - hash = "sha256-xWyYisSJ5FKU+ZFrCtjo94TjqXCzHDVdPAISMTX0Tt8="; + hash = "sha256-EZaAn55gilvTitAo0p7U3BeqNI9iYIWg147BbO2fp9M="; }; python = python3.override { From 63594d4abe8a6d34c99155e3804cec0d4cfcf765 Mon Sep 17 00:00:00 2001 From: AiroPi <47398145+AiroPi@users.noreply.github.com> Date: Wed, 21 Jan 2026 15:22:46 +0100 Subject: [PATCH 0823/1216] openrgb: add autoAddDriverRunpath to nativeBuildInputs --- pkgs/by-name/op/openrgb/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/op/openrgb/package.nix b/pkgs/by-name/op/openrgb/package.nix index a014e40cf1f7..d4f91908405a 100644 --- a/pkgs/by-name/op/openrgb/package.nix +++ b/pkgs/by-name/op/openrgb/package.nix @@ -11,6 +11,7 @@ mbedtls, symlinkJoin, qt6Packages, + autoAddDriverRunpath, }: stdenv.mkDerivation (finalAttrs: { @@ -35,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config + autoAddDriverRunpath ] ++ (with qt6Packages; [ qmake From b3ea79946e3781b978c27b0c1b9aafb19ab2e604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 23 Nov 2025 13:06:45 -0800 Subject: [PATCH 0824/1216] corrosion: 0.5.2 -> 0.6.1 Diff: https://github.com/corrosion-rs/corrosion/compare/v0.5.2...v0.6.1 Changelog: https://github.com/corrosion-rs/corrosion/blob/v0.6.1/RELEASES.md --- pkgs/by-name/co/corrosion/package.nix | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/co/corrosion/package.nix b/pkgs/by-name/co/corrosion/package.nix index cd1250ce1ad0..ab018ed8f613 100644 --- a/pkgs/by-name/co/corrosion/package.nix +++ b/pkgs/by-name/co/corrosion/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "corrosion"; - version = "0.5.2"; + version = "0.6.1"; src = fetchFromGitHub { owner = "corrosion-rs"; repo = "corrosion"; rev = "v${version}"; - hash = "sha256-sO2U0llrDOWYYjnfoRZE+/ofg3kb+ajFmqvaweRvT7c="; + hash = "sha256-ppuDNObfKhneD9AlnPAvyCRHKW3BidXKglD1j/LE9CM="; }; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; @@ -32,12 +32,22 @@ stdenv.mkDerivation rec { checkPhase = let excludedTests = [ - "cbindgen_rust2cpp_build" - "cbindgen_rust2cpp_run_cpp-exe" + "cbindgen_install" + "cbindgen_manual_build" + "cbindgen_manual_run_cpp-exe" + "cbindgen_rust2cpp_auto_build" + "cbindgen_rust2cpp_auto_run_cpp-exe" + "config_discovery_build" + "config_discovery_run_cargo_clean" + "config_discovery_run_config_discovery" + "custom_target_build" + "custom_target_run_rust-bin" + "custom_target_run_test-exe" "hostbuild_build" "hostbuild_run_rust-host-program" - "parse_target_triple_build" - "rustup_proxy_build" + "install_lib_build" + "install_lib_run_main-shared" + "install_lib_run_main-static" ]; excludedTestsRegex = lib.concatStringsSep "|" excludedTests; in From d2090372e15f1370da1b3af0f59ca3a7c6af5aa4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 23:51:58 +0000 Subject: [PATCH 0825/1216] python3Packages.google-cloud-org-policy: 1.15.0 -> 1.16.0 --- .../python-modules/google-cloud-org-policy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/pkgs/development/python-modules/google-cloud-org-policy/default.nix index 6e98b77e95aa..a2d524cd90c6 100644 --- a/pkgs/development/python-modules/google-cloud-org-policy/default.nix +++ b/pkgs/development/python-modules/google-cloud-org-policy/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "google-cloud-org-policy"; - version = "1.15.0"; + version = "1.16.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_org_policy"; inherit version; - hash = "sha256-Jx0WoQ51NH6s5g0CzeMisrG2E7zJmRcQng6/KkECJTo="; + hash = "sha256-xyFHEn2I2YCa+HOLKr40gG6sUpw83FeqkVzAihuEKhM="; }; build-system = [ setuptools ]; From ee813d4b5aa4b7ab8df79002a41548e509921092 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Wed, 21 Jan 2026 19:01:40 -0500 Subject: [PATCH 0826/1216] python3Packages.mlx-lm: mark x86_64-darwin as bad platform This allows consumers like ramalama use availableOn on the package to conditionally require it on platforms that support mlx. --- pkgs/development/python-modules/mlx-lm/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/mlx-lm/default.nix b/pkgs/development/python-modules/mlx-lm/default.nix index 1143ebebd08f..91ffec0c3650 100644 --- a/pkgs/development/python-modules/mlx-lm/default.nix +++ b/pkgs/development/python-modules/mlx-lm/default.nix @@ -82,5 +82,9 @@ buildPythonPackage (finalAttrs: { homepage = "https://github.com/ml-explore/mlx-lm"; changelog = "https://github.com/ml-explore/mlx-lm/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; + badPlatforms = [ + # Building for x86_64 on macOS is not supported by mlx (dependency) + "x86_64-darwin" + ]; }; }) From d5904b4a17dfe3bc6d73e50438025dc66d5f5e1a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 00:02:54 +0000 Subject: [PATCH 0827/1216] gpu-screen-recorder: 5.11.5 -> 5.12.1 --- pkgs/by-name/gp/gpu-screen-recorder/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gp/gpu-screen-recorder/package.nix b/pkgs/by-name/gp/gpu-screen-recorder/package.nix index 202d0b94cf1e..3398000ccbe3 100644 --- a/pkgs/by-name/gp/gpu-screen-recorder/package.nix +++ b/pkgs/by-name/gp/gpu-screen-recorder/package.nix @@ -28,12 +28,12 @@ stdenv.mkDerivation rec { pname = "gpu-screen-recorder"; - version = "5.11.5"; + version = "5.12.1"; src = fetchgit { url = "https://repo.dec05eba.com/${pname}"; tag = version; - hash = "sha256-o9IjuKuE2/41I52vpR7EOLCDSLJty/Wq0k7UiFHHlDk="; + hash = "sha256-FUt3R2clnWYNKgW5uo2HtON91zB2+u+Ini15/ccTJdk="; }; nativeBuildInputs = [ From b3c3723c50c9c2c265b132d774a732d2617448c3 Mon Sep 17 00:00:00 2001 From: networkException Date: Thu, 22 Jan 2026 01:13:06 +0100 Subject: [PATCH 0828/1216] ungoogled-chromium: 144.0.7559.59-1 -> 144.0.7559.96-1 https://chromereleases.googleblog.com/2026/01/stable-channel-update-for-desktop_20.html This update includes 1 security fix. CVEs: CVE-2026-1220 --- .../networking/browsers/chromium/info.json | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index 91738c9f925a..a03c9a07b638 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -813,7 +813,7 @@ } }, "ungoogled-chromium": { - "version": "144.0.7559.59", + "version": "144.0.7559.96", "deps": { "depot_tools": { "rev": "2e88a3f08bd8c4a0014eae82729beca935f7f188", @@ -825,16 +825,16 @@ "hash": "sha256-04h38X/hqWwMiAOVsVu4OUrt8N+S7yS/JXc5yvRGo1I=" }, "ungoogled-patches": { - "rev": "144.0.7559.59-1", - "hash": "sha256-u4jg04k/HilI5i8eWS2b+MDvi9RYD1UP8KNNKNWZcfQ=" + "rev": "144.0.7559.96-1", + "hash": "sha256-gbEKKGGi6FBhRoCEerSdJJtn5vXaFo9G74lYHDsz0Xs=" }, "npmHash": "sha256-13sgV/5BD7QvDLBAEmoLN5vongw+S5v5znvZcctxhWc=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "cd1d73dd77daadf4581dc29ca73482fc241e079d", - "hash": "sha256-K/dmiy5u+XJIpS6AOTaXDLVYp5qAtfUbfSbGCpt9Cv8=", + "rev": "d7b80622cfab91c265741194e7942eefd2d21811", + "hash": "sha256-Cz3iDS0raJHRh+byrs7GYp6sck54mJq7yzsjLUWDWqA=", "recompress": true }, "src/third_party/clang-format/script": { @@ -944,8 +944,8 @@ }, "src/third_party/dawn": { "url": "https://dawn.googlesource.com/dawn.git", - "rev": "a8d1e554a9bd35b0418ba7fd6b0bc005250a7703", - "hash": "sha256-GJuT3rqNxvKkRTMvoMi8/QYda0y0RTkZLhb5v9QkwGA=" + "rev": "9e0e116de6735ab113349675d31a23c121254fe0", + "hash": "sha256-MsUmRx5fQYWbkPJ/JvaoT//qjPYy5xxZXIa3t5LDxSY=" }, "src/third_party/dawn/third_party/glfw": { "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw", @@ -1069,8 +1069,8 @@ }, "src/third_party/devtools-frontend/src": { "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "d5efa4236f8676254c9f39ccfef18bd633de5fd3", - "hash": "sha256-BmwsvTjgYQayFnyT9EfFzpCfbgdTt9xZlsUba0uJelg=" + "rev": "a3064782146fc247c488d44c1ad3496b29d55ec4", + "hash": "sha256-vLkWH/EiDHxl/dz4soKybQF1hgud/7MlnDhVPicYJGY=" }, "src/third_party/dom_distiller_js/dist": { "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", @@ -1619,8 +1619,8 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "ad25f9ae50a53bee50f459bfee25fb1e6f64adc3", - "hash": "sha256-vyOtnPA3tAeorNOGTDuAnwJ/UtpjeO8z+RSjx9RIFFc=" + "rev": "6c2c296f23a5487ccb2536cf7c90d01f35d03077", + "hash": "sha256-gBzwGvl/tqj4Z6acdLN326I80kBLEk+Nn8oN6D193o4=" } } } From 79f6bf1d2d3a764dcd2051bac65deb3d3d529add Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Wed, 21 Jan 2026 22:28:46 +0000 Subject: [PATCH 0829/1216] actions/checkout: manually fetch ci/pinned.json patch In a shallow clone, `git fetch` may fail to apply thin packs due to missing base objects. We typically don't notice this with first-parent commits and prospective merge commits, but it seems fairly common with arbitrary PR-branch commits. In this instance we don't need the full commit data, we only need to apply its diff as a patch. So fetch the diff from GitHub's API and apply using `git apply`. This partially reverts commit 4787f35ede84f01e57d649ca694070516db8032e --- .github/actions/checkout/action.yml | 44 ++++++++++++++++++----------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/.github/actions/checkout/action.yml b/.github/actions/checkout/action.yml index b70749564c01..128398e5e02f 100644 --- a/.github/actions/checkout/action.yml +++ b/.github/actions/checkout/action.yml @@ -20,6 +20,7 @@ runs: PIN_BUMP_SHA: ${{ inputs.untrusted-pin-bump }} with: script: | + const { rm, writeFile } = require('node:fs/promises') const { spawn } = require('node:child_process') const { join } = require('node:path') @@ -55,10 +56,19 @@ runs: return pinned.pins.nixpkgs.revision } - const pin_bump_sha = process.env.PIN_BUMP_SHA + // Getting the pin-bump diff via the API avoids issues with `git fetch` + // thin-packs not having enough base objects to be applied locally. + // Returns a unified diff suitable for `git apply`. + async function getPinBumpDiff(ref) { + const { data } = await github.rest.repos.getCommit({ + mediaType: { format: 'diff' }, + ...context.repo, + ref, + }) + return data + } - // When dealing with a pin bump commit, we need `--depth=2` to view & apply its diff - const depth = pin_bump_sha ? 2 : 1 + const pin_bump_sha = process.env.PIN_BUMP_SHA const commits = [ { @@ -76,17 +86,14 @@ runs: { sha: await getPinnedSha(process.env.TARGET_SHA), path: 'trusted-pinned' - }, - { - sha: pin_bump_sha } ].filter(({ sha }) => Boolean(sha)) - console.log('Fetching the following commits:', commits) + console.log('Checking out the following commits:', commits) // Fetching all commits at once is much faster than doing multiple checkouts. // This would fail without --refetch, because the we had a partial clone before, but changed it above. - await run('git', 'fetch', `--depth=${depth}`, '--refetch', 'origin', ...(commits.map(({ sha }) => sha))) + await run('git', 'fetch', '--depth=1', '--refetch', 'origin', ...(commits.map(({ sha }) => sha))) // Checking out onto tmpfs takes 1s and is faster by at least factor 10x. await run('mkdir', 'nixpkgs') @@ -101,20 +108,21 @@ runs: // Create all worktrees in parallel. await Promise.all( - commits - .filter(({ path }) => Boolean(path)) - .map(async ({ sha, path }) => { - await run('git', 'worktree', 'add', join('nixpkgs', path), sha, '--no-checkout') - await run('git', '-C', join('nixpkgs', path), 'sparse-checkout', 'disable') - await run('git', '-C', join('nixpkgs', path), 'checkout', '--progress') - }) + commits.map(async ({ sha, path }) => { + await run('git', 'worktree', 'add', join('nixpkgs', path), sha, '--no-checkout') + await run('git', '-C', join('nixpkgs', path), 'sparse-checkout', 'disable') + await run('git', '-C', join('nixpkgs', path), 'checkout', '--progress') + }) ) // Apply pin bump to untrusted worktree if (pin_bump_sha) { - console.log('Applying untrusted ci/pinned.json bump:', pin_bump_sha) + console.log('Fetching ci/pinned.json bump commit:', pin_bump_sha) + await writeFile('pin-bump.patch', await getPinBumpDiff(pin_bump_sha)) + + console.log('Applying untrusted ci/pinned.json bump to ./nixpkgs/untrusted') try { - await run('git', '-C', join('nixpkgs', 'untrusted'), 'cherry-pick', '--no-commit', pin_bump_sha) + await run('git', '-C', join('nixpkgs', 'untrusted'), 'apply', '--3way', join('..', '..', 'pin-bump.patch')) } catch { core.setFailed([ `Failed to apply ci/pinned.json bump commit ${pin_bump_sha}.`, @@ -122,5 +130,7 @@ runs: `Please rebase the PR or ensure the pin bump is standalone.` ].join(' ')) return + } finally { + await rm('pin-bump.patch') } } From 9912c6a2d2468f524486872a5224891b947fcc10 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Wed, 21 Jan 2026 19:27:59 -0500 Subject: [PATCH 0830/1216] buildMozillaMach: increase hydra timeout to 1d on darwin With lto enabled for darwin, we now observe timeouts in Hydra [1]. Looks like the default timeout is ~4h, and usually builds succeeds in a few hours, so 1d should be more than enough to complete a build, even with heavy node load. [1] https://hydra.nixos.org/build/319560484 --- pkgs/build-support/build-mozilla-mach/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/build-mozilla-mach/default.nix b/pkgs/build-support/build-mozilla-mach/default.nix index 5117b979f686..73d1ccef9574 100644 --- a/pkgs/build-support/build-mozilla-mach/default.nix +++ b/pkgs/build-support/build-mozilla-mach/default.nix @@ -293,7 +293,14 @@ buildStdenv.mkDerivation { pname = "${pname}-unwrapped"; version = packageVersion; - inherit src unpackPhase meta; + inherit src unpackPhase; + + meta = + meta + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # MacOS builds may take a long time and sometimes hit the default timeout + timeout = lib.max (24 * 60 * 60) (meta.timeout or 0); + }; outputs = [ "out" From 39e36423cbcafd7d4a8c7b389432115c8dfada48 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 00:32:53 +0000 Subject: [PATCH 0831/1216] buildkit: 0.26.3 -> 0.27.0 --- pkgs/by-name/bu/buildkit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bu/buildkit/package.nix b/pkgs/by-name/bu/buildkit/package.nix index 7af50aac8eae..8bda4eef6f89 100644 --- a/pkgs/by-name/bu/buildkit/package.nix +++ b/pkgs/by-name/bu/buildkit/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "buildkit"; - version = "0.26.3"; + version = "0.27.0"; src = fetchFromGitHub { owner = "moby"; repo = "buildkit"; rev = "v${version}"; - hash = "sha256-2Utxan85hHmyt+7anfbjFxBHhKzmZb7k9K025vA76Ys="; + hash = "sha256-v2/ODT7uwqirrWG3NrMEKYItjhm6f/IlPogCwJi23Rw="; }; vendorHash = null; From e3adbe0415cf1422570dc39383021ae5a15b1ae0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 01:37:43 +0100 Subject: [PATCH 0832/1216] python313Packages.hdfury: 1.4.1 -> 1.4.2 Diff: https://github.com/glenndehaan/python-hdfury/compare/1.4.1...1.4.2 Changelog: https://github.com/glenndehaan/python-hdfury/releases/tag/1.4.2 --- pkgs/development/python-modules/hdfury/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/hdfury/default.nix b/pkgs/development/python-modules/hdfury/default.nix index f03a7c4524f8..7b2d774ac81e 100644 --- a/pkgs/development/python-modules/hdfury/default.nix +++ b/pkgs/development/python-modules/hdfury/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "hdfury"; - version = "1.4.1"; + version = "1.4.2"; pyproject = true; src = fetchFromGitHub { owner = "glenndehaan"; repo = "python-hdfury"; tag = finalAttrs.version; - hash = "sha256-cL6KE3qkOgG61ewgIInbaIw6ygb5jWVrjl8ooFrCv+k="; + hash = "sha256-prqaH868nC5b7+1TrVRDxCcAt4v1dyF3bQAnkQgjKx0="; }; build-system = [ hatchling ]; From 721677ea7debf59e3bcd4d69e593f4e333ceebd2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 00:40:47 +0000 Subject: [PATCH 0833/1216] kodiPackages.vfs-sftp: 20.1.0 -> 21.0.2 --- pkgs/applications/video/kodi/addons/vfs-sftp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix b/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix index dc3de53c90c4..6ab37f4a3280 100644 --- a/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix +++ b/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix @@ -10,13 +10,13 @@ buildKodiBinaryAddon rec { pname = namespace; namespace = "vfs.sftp"; - version = "20.1.0"; + version = "21.0.2"; src = fetchFromGitHub { owner = "xbmc"; repo = namespace; rev = "${version}-${rel}"; - sha256 = "sha256-Dv/C8PHaSx13JoGp77rQPtp5G5EH5tqKqzjwZZA7+80="; + sha256 = "sha256-aD0AEr406urgnGVfB6C9JGaNmZAFL7WghnTZhbMfzA8="; }; extraBuildInputs = [ From c328f60e1533ea21b6cd025b8d20e7c127103a58 Mon Sep 17 00:00:00 2001 From: Tom Herbers Date: Thu, 22 Jan 2026 01:25:11 +0100 Subject: [PATCH 0834/1216] sequoia-sqop: 0.35.0 -> 0.37.3 Changelog: https://gitlab.com/sequoia-pgp/sequoia-sop/-/blob/v0.37.3/NEWS --- pkgs/by-name/se/sequoia-sqop/package.nix | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/se/sequoia-sqop/package.nix b/pkgs/by-name/se/sequoia-sqop/package.nix index a8525c42305c..c8f7be74f609 100644 --- a/pkgs/by-name/se/sequoia-sqop/package.nix +++ b/pkgs/by-name/se/sequoia-sqop/package.nix @@ -5,12 +5,13 @@ nix-update-script, installShellFiles, rustPlatform, + sqlite, pkg-config, }: rustPlatform.buildRustPackage rec { pname = "sequoia-sqop"; - version = "0.35.0"; + version = "0.37.3"; src = fetchFromGitLab { owner = "sequoia-pgp"; @@ -18,10 +19,10 @@ rustPlatform.buildRustPackage rec { # generated etc repo = "sequoia-sop"; rev = "v${version}"; - hash = "sha256-JgLozj9LZwk6TRHj2d4kiq8j3aILBUWaE9ldzvlTBNs="; + hash = "sha256-7fyItwtzNia97fbLJ1YkpkS7KmCo3I81uksh3lNvxwU="; }; - cargoHash = "sha256-Cg07SlNmG6ELZmoQfkr6ADrGJirbFm0D1Iko1WVNfl0="; + cargoHash = "sha256-NrJYFf2bK/QwfFpIrPD8Zc9N/tKVbN2I48jA2B0rNWk="; nativeBuildInputs = [ pkg-config @@ -31,17 +32,20 @@ rustPlatform.buildRustPackage rec { buildInputs = [ nettle + sqlite ]; + buildFeatures = [ "cli" ]; + env.ASSET_OUT_DIR = "/tmp/"; + # Install manual pages postInstall = '' - mkdir -p $out/share/man - cp -r man-sqop $out/share/man/man1 + installManPage /tmp/man-pages/*.* installShellCompletion --cmd sqop \ - --bash target/*/release/build/sequoia-sop*/out/sqop.bash \ - --fish target/*/release/build/sequoia-sop*/out/sqop.fish \ - --zsh target/*/release/build/sequoia-sop*/out/_sqop + --bash /tmp/shell-completions/sqop.bash \ + --fish /tmp/shell-completions/sqop.fish \ + --zsh /tmp/shell-completions/_sqop # Also elv and powershell are generated there ''; From 519fce8535b314feb83438b38ffeece1cb2c9b84 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 01:44:35 +0100 Subject: [PATCH 0835/1216] python313Packages.google-cloud-org-policy: migrate to finalAttrs --- .../python-modules/google-cloud-org-policy/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/pkgs/development/python-modules/google-cloud-org-policy/default.nix index a2d524cd90c6..359a05c07da6 100644 --- a/pkgs/development/python-modules/google-cloud-org-policy/default.nix +++ b/pkgs/development/python-modules/google-cloud-org-policy/default.nix @@ -10,14 +10,14 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "google-cloud-org-policy"; version = "1.16.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_org_policy"; - inherit version; + inherit (finalAttrs) version; hash = "sha256-xyFHEn2I2YCa+HOLKr40gG6sUpw83FeqkVzAihuEKhM="; }; @@ -45,8 +45,8 @@ buildPythonPackage rec { meta = { description = "Protobufs for Google Cloud Organization Policy"; homepage = "https://github.com/googleapis/python-org-policy"; - changelog = "https://github.com/googleapis/python-org-policy/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/googleapis/python-org-policy/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ austinbutler ]; }; -} +}) From 8cd6072a2f895b91917190a56c9411fb50920e18 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 00:47:10 +0000 Subject: [PATCH 0836/1216] ddcutil: 2.2.3 -> 2.2.4 --- pkgs/by-name/dd/ddcutil/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dd/ddcutil/package.nix b/pkgs/by-name/dd/ddcutil/package.nix index 0b67ce5e17f7..6c5ad3882738 100644 --- a/pkgs/by-name/dd/ddcutil/package.nix +++ b/pkgs/by-name/dd/ddcutil/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "ddcutil"; - version = "2.2.3"; + version = "2.2.4"; src = fetchurl { url = "https://www.ddcutil.com/tarballs/ddcutil-${version}.tar.gz"; - hash = "sha256-4XvAUqYvnqhS2eOLpPHtfnNmVnoOGdvhpDnuca2+BqA="; + hash = "sha256-CK48ga6qozz068MqgElCjnbOVXh0VG44H9ZaglYN0ZU="; }; nativeBuildInputs = [ From eaf6413d182d409a15c31b87b20b0cb32554a9ef Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 01:48:19 +0100 Subject: [PATCH 0837/1216] python313Packages.uiprotect: 8.0.0 -> 10.0.1 Diff: https://github.com/uilibs/uiprotect/compare/v8.0.0...v10.0.1 Changelog: https://github.com/uilibs/uiprotect/blob/v10.0.1/CHANGELOG.md --- pkgs/development/python-modules/uiprotect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index 31a87ad75008..ae957cc066c3 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -40,14 +40,14 @@ buildPythonPackage rec { pname = "uiprotect"; - version = "8.0.0"; + version = "10.0.1"; pyproject = true; src = fetchFromGitHub { owner = "uilibs"; repo = "uiprotect"; tag = "v${version}"; - hash = "sha256-YYF7YERl9pKpnfD1Q00NlL8zWfEohMBO3UuidedLHn0="; + hash = "sha256-pxxl/NhvJh2Ur8g+25padewvshqSUZmB7vpGmVlH15k="; }; build-system = [ poetry-core ]; From 30ae2e3f938a68de1bd64e1af08468fdec564c27 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 01:49:55 +0100 Subject: [PATCH 0838/1216] python313Packages.uiprotect: migrate to uiprotect --- pkgs/development/python-modules/uiprotect/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index ae957cc066c3..54e62ce9af68 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -38,7 +38,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "uiprotect"; version = "10.0.1"; pyproject = true; @@ -46,7 +46,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "uilibs"; repo = "uiprotect"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-pxxl/NhvJh2Ur8g+25padewvshqSUZmB7vpGmVlH15k="; }; @@ -97,8 +97,8 @@ buildPythonPackage rec { meta = { description = "Python API for UniFi Protect (Unofficial)"; homepage = "https://github.com/uilibs/uiprotect"; - changelog = "https://github.com/uilibs/uiprotect/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/uilibs/uiprotect/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ hexa ]; }; -} +}) From 746990375118f4b33a4416610219f5802b47fe20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 21 Jan 2026 16:53:36 -0800 Subject: [PATCH 0839/1216] python3Packages.llfuse: 1.5.1 -> 1.5.2 Diff: https://github.com/python-llfuse/python-llfuse/compare/release-1.5.1...release-1.5.2 Changelog: https://github.com/python-llfuse/python-llfuse/raw/release-1.5.2/Changes.rst --- pkgs/development/python-modules/llfuse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix index 9209960190c3..00cca426e33f 100644 --- a/pkgs/development/python-modules/llfuse/default.nix +++ b/pkgs/development/python-modules/llfuse/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "llfuse"; - version = "1.5.1"; + version = "1.5.2"; pyproject = true; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "python-llfuse"; repo = "python-llfuse"; tag = "release-${version}"; - hash = "sha256-wni/b1hEn6/G0RszCJi+wmBHx6F0Ov1cZ/sRf8PLmps="; + hash = "sha256-PFnY+gmm1tjZhptc27XTE9yxF0IaJ+U4Ng/OGhNDDPI="; }; nativeBuildInputs = [ From 4f6825d1c9c96b997cb7202443ecd9f11b4fd857 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 01:05:02 +0000 Subject: [PATCH 0840/1216] mdbook-variables: 0.4.0 -> 0.4.1 --- pkgs/by-name/md/mdbook-variables/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/md/mdbook-variables/package.nix b/pkgs/by-name/md/mdbook-variables/package.nix index f99b4d6a959c..a1da42ed3de9 100644 --- a/pkgs/by-name/md/mdbook-variables/package.nix +++ b/pkgs/by-name/md/mdbook-variables/package.nix @@ -6,16 +6,16 @@ }: rustPlatform.buildRustPackage rec { pname = "mdbook-variables"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitLab { owner = "tglman"; repo = "mdbook-variables"; rev = version; - hash = "sha256-zverdL4Mrnn/8pxQk6qVyidPJNxnrmaETt+XTp64Rns="; + hash = "sha256-DMfVviMVizxtkunu3DygL1t0vTW6a+frfFfVl8h7Urw="; }; - cargoHash = "sha256-/zp5Qj2NUVpQqKAFgQP4QatYzg/hMJQE08ANacvNPko="; + cargoHash = "sha256-q8UbL1zBb1InYutgM3ZE7z9NdJKi68yjR2Za/o0jg9c="; nativeInstallCheckInputs = [ versionCheckHook From b9e3bfcfa6960c455b87a011b3039cbad3bf2108 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 02:05:21 +0100 Subject: [PATCH 0841/1216] python312Packages.mypy-boto3-config: 1.42.15 -> 1.42.32 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 0ed2b2b23342..9ef71a9581be 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -331,8 +331,8 @@ in "sha256-M8vUOtM7Q5gnwi9ZPGu6n+I4Twl02Su4eRGqq2+Ow1o="; mypy-boto3-config = - buildMypyBoto3Package "config" "1.42.15" - "sha256-zMNP1LXKSynkfJSLn19sz5UoT8LiswD5qSZCn1y5GsA="; + buildMypyBoto3Package "config" "1.42.32" + "sha256-HQUL0R1NWP6DXQ26iS9k6lIAVdwK899fwLGH4/Z4U8Q="; mypy-boto3-connect = buildMypyBoto3Package "connect" "1.42.30" From b0fb9fb66b1fc87fd23044408ef492e88efe7360 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 02:05:29 +0100 Subject: [PATCH 0842/1216] python312Packages.mypy-boto3-ec2: 1.42.29 -> 1.42.32 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 9ef71a9581be..d66e6cc68f3d 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -443,8 +443,8 @@ in "sha256-92qhSUqTiLgbtvCdi/Mmgve18mcYR00ABL+bNy7/OnY="; mypy-boto3-ec2 = - buildMypyBoto3Package "ec2" "1.42.29" - "sha256-o7pABpOci5Z0fblGTcpep7FnFTW37OQWTnxbIk8CZJo="; + buildMypyBoto3Package "ec2" "1.42.32" + "sha256-E0cOl5NqHnsKd3UHgKsZKHNqif7ZJ6a4ct9O5d54yiI="; mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.42.3" From 6775d796017a4ee4fef5e9e96d4a5f8efc57000f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 02:06:11 +0100 Subject: [PATCH 0843/1216] python312Packages.mypy-boto3-quicksight: 1.42.18 -> 1.42.32 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index d66e6cc68f3d..1e3b2d0f396e 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1070,8 +1070,8 @@ in "sha256-YrrEKl3aGz//5Z5JGapHhWtk6hBXQ4cuRQmLqGYztzg="; mypy-boto3-quicksight = - buildMypyBoto3Package "quicksight" "1.42.18" - "sha256-6gYCSoGVbd2hw/NktDiLo1QlOO23LrwlaJ3gm30gpDQ="; + buildMypyBoto3Package "quicksight" "1.42.32" + "sha256-HwzkZUZBuCfDa8EYrn+A+sm2qkgQktgeR7j4k3waFds="; mypy-boto3-ram = buildMypyBoto3Package "ram" "1.42.3" From ea73b2297ffa7b084e9aadb53262af4703436a41 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 02:06:38 +0100 Subject: [PATCH 0844/1216] python313Packages.botocore-stubs: 1.42.31 -> 1.42.32 --- pkgs/development/python-modules/botocore-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index cc2a218f88c9..dff51c7e4aff 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,13 +9,13 @@ buildPythonPackage (finalAttrs: { pname = "botocore-stubs"; - version = "1.42.31"; + version = "1.42.32"; pyproject = true; src = fetchPypi { pname = "botocore_stubs"; inherit (finalAttrs) version; - hash = "sha256-5+di43sgXHunl4LGfMXDUVF0jOJnRwpwrJwCYINlXZ8="; + hash = "sha256-UwJ/N//X1EDZotjdhFcXF+EdhATx6Nu+dRGWQK0/yPk="; }; build-system = [ setuptools ]; From 126cc9c03d268c1fd346b24b66cc9ddf41d3158a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 02:06:43 +0100 Subject: [PATCH 0845/1216] python313Packages.boto3-stubs: 1.42.31 -> 1.42.32 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index bce1625c929f..b39b6df042bd 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage (finalAttrs: { pname = "boto3-stubs"; - version = "1.42.31"; + version = "1.42.32"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit (finalAttrs) version; - hash = "sha256-uw2Mk24pOB04y3JL9SGXsf22OBFwfgUuhCwSI1RaDfc="; + hash = "sha256-b+nI/Rauxo5Gk9U7IVWtXBHQoZhGEGIrzTpusAN4dkg="; }; build-system = [ setuptools ]; From 02d4d745ca0b3fb19c606a1408534da1b43152f9 Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Tue, 20 Jan 2026 13:41:20 -0500 Subject: [PATCH 0846/1216] python3Packages.readability-lxml: 0.8.4 -> 0.8.4.1 --- .../readability-lxml/default.nix | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/readability-lxml/default.nix b/pkgs/development/python-modules/readability-lxml/default.nix index 1d426588e4e1..e016767db614 100644 --- a/pkgs/development/python-modules/readability-lxml/default.nix +++ b/pkgs/development/python-modules/readability-lxml/default.nix @@ -1,8 +1,8 @@ { - stdenv, lib, buildPythonPackage, fetchFromGitHub, + poetry-core, pytestCheckHook, chardet, cssselect, @@ -13,37 +13,32 @@ buildPythonPackage rec { pname = "readability-lxml"; - version = "0.8.4"; - format = "setuptools"; + version = "0.8.4.1"; + pyproject = true; src = fetchFromGitHub { owner = "buriy"; repo = "python-readability"; - rev = "v${version}"; - hash = "sha256-6A4zpe3GvHHf235Ovr2RT/cJgj7bWasn96yqy73pVgY="; + rev = "${version}"; + hash = "sha256-tL0OnvCrbrpBvcy+6RJ+u/BDdra+MnVT51DSAeYxJbc="; }; - propagatedBuildInputs = [ + build-system = [ poetry-core ]; + + pythonRelaxDeps = [ "lxml" ]; + + dependencies = [ chardet cssselect lxml lxml-html-clean ]; - postPatch = '' - substituteInPlace setup.py --replace 'sys.platform == "darwin"' "False" - ''; - nativeCheckInputs = [ pytestCheckHook timeout-decorator ]; - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ - # Test is broken on darwin. Fix in master from https://github.com/buriy/python-readability/pull/178 - "test_many_repeated_spaces" - ]; - meta = { description = "Fast python port of arc90's readability tool"; homepage = "https://github.com/buriy/python-readability"; From f8d7e1ed1d2d0e1a4d4f2b75223d4d89b7edf0cf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 02:11:48 +0100 Subject: [PATCH 0847/1216] cloudlist: migrate to finalAttrs --- pkgs/by-name/cl/cloudlist/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/cl/cloudlist/package.nix b/pkgs/by-name/cl/cloudlist/package.nix index 6ab016c85db9..175c97054fc3 100644 --- a/pkgs/by-name/cl/cloudlist/package.nix +++ b/pkgs/by-name/cl/cloudlist/package.nix @@ -5,14 +5,14 @@ versionCheckHook, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "cloudlist"; version = "1.3.0"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "cloudlist"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-Tm2gqRZxfeu5gOndVeeFU9HCePpXyx/G73VzVuJRRzY="; }; @@ -32,9 +32,9 @@ buildGoModule rec { meta = { description = "Tool for listing assets from multiple cloud providers"; homepage = "https://github.com/projectdiscovery/cloudlist"; - changelog = "https://github.com/projectdiscovery/cloudlist/releases/tag/v${version}"; + changelog = "https://github.com/projectdiscovery/cloudlist/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; mainProgram = "cloudlist"; }; -} +}) From ef78efefec2dcf4a130b2e479536414c87880049 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 01:17:18 +0000 Subject: [PATCH 0848/1216] eigenwallet: 3.6.4 -> 3.6.6 --- pkgs/by-name/ei/eigenwallet/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ei/eigenwallet/package.nix b/pkgs/by-name/ei/eigenwallet/package.nix index 1e1cf97a654a..c76e941dc1ae 100644 --- a/pkgs/by-name/ei/eigenwallet/package.nix +++ b/pkgs/by-name/ei/eigenwallet/package.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "eigenwallet"; - version = "3.6.4"; + version = "3.6.6"; src = fetchurl { url = "https://github.com/eigenwallet/core/releases/download/${finalAttrs.version}/eigenwallet_${finalAttrs.version}_amd64.deb"; - hash = "sha256-OvbkIOAQBwpZnFU1nT72/ePC6IG9t4CNjQJOhCoGxYw="; + hash = "sha256-2K1sls8YYvDirk9knVDoL5KDfjlxD7UbeKLIe+Z+wrc="; }; nativeBuildInputs = [ From 6d134bc0c09d01f0e97aa47f2dab1a32ced64d8a Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Wed, 21 Jan 2026 22:33:34 -0300 Subject: [PATCH 0849/1216] microsoft-edge: 143.0.3650.139 -> 144.0.3719.82 --- pkgs/by-name/mi/microsoft-edge/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mi/microsoft-edge/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix index 44a012c0f236..475a8c79db00 100644 --- a/pkgs/by-name/mi/microsoft-edge/package.nix +++ b/pkgs/by-name/mi/microsoft-edge/package.nix @@ -162,11 +162,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "microsoft-edge"; - version = "143.0.3650.139"; + version = "144.0.3719.82"; src = fetchurl { url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-sLn8llw8wdLLAl0wGbBUT4nyjYiZcgXS7LNCwpTb/qQ="; + hash = "sha256-W7wT+1aNF7ZuhYPQ2VAvVgJ+5GWsopEnDM9FhdpxBIg="; }; # With strictDeps on, some shebangs were not being patched correctly From 62f38a80e02dc7cf4a797785f8481b390863a944 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 02:51:41 +0100 Subject: [PATCH 0850/1216] gnuk: move to pkgs/by-name this shouldn't create any rebuilds --- .../{misc/gnuk/default.nix => by-name/gn/gnuk/package.nix} | 7 +++---- pkgs/top-level/all-packages.nix | 5 ----- 2 files changed, 3 insertions(+), 9 deletions(-) rename pkgs/{misc/gnuk/default.nix => by-name/gn/gnuk/package.nix} (94%) diff --git a/pkgs/misc/gnuk/default.nix b/pkgs/by-name/gn/gnuk/package.nix similarity index 94% rename from pkgs/misc/gnuk/default.nix rename to pkgs/by-name/gn/gnuk/package.nix index 98eb9c12aef0..a21d33925323 100644 --- a/pkgs/misc/gnuk/default.nix +++ b/pkgs/by-name/gn/gnuk/package.nix @@ -2,8 +2,7 @@ lib, stdenv, fetchFromGitLab, - gcc-arm-embedded, - binutils-arm-embedded, + pkgsCross, makeWrapper, python3Packages, @@ -26,8 +25,8 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - gcc-arm-embedded - binutils-arm-embedded + pkgsCross.arm-embedded.buildPackages.gcc + pkgsCross.arm-embedded.buildPackages.binutils makeWrapper ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 40a578061d6f..261898b19782 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13108,11 +13108,6 @@ with pkgs; gst-plugins-good = gst_all_1.gst-plugins-good.override { gtkSupport = true; }; }; - gnuk = callPackage ../misc/gnuk { - gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc; - binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils; - }; - helmfile-wrapped = helmfile.override { inherit (kubernetes-helm-wrapped.passthru) pluginsDir; }; From d4b8c860f31425510c08c70461e60d19a6da70dd Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Thu, 22 Jan 2026 02:52:10 +0100 Subject: [PATCH 0851/1216] atopile: 0.12.4 -> 0.12.5 --- pkgs/development/python-modules/atopile/default.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/atopile/default.nix b/pkgs/development/python-modules/atopile/default.nix index 29efa818ec59..50bdeb18a84a 100644 --- a/pkgs/development/python-modules/atopile/default.nix +++ b/pkgs/development/python-modules/atopile/default.nix @@ -64,7 +64,7 @@ buildPythonPackage (finalAttrs: { pname = "atopile"; - version = "0.12.4"; + version = "0.12.5"; pyproject = true; disabled = pythonOlder "3.13"; @@ -73,17 +73,9 @@ buildPythonPackage (finalAttrs: { owner = "atopile"; repo = "atopile"; tag = "v${finalAttrs.version}"; - hash = "sha256-SB6D1738t3kQJI+V9ClVsByHm6BsLl078N/wDAHJE6E="; + hash = "sha256-/1vkYGG3OHyeFpzbvRoAxUtLQLePKE2jwQx8o/CTErQ="; }; - patches = [ - (fetchpatch { - name = "migrate-to-pygls-v2.patch"; - url = "https://github.com/atopile/atopile/pull/1533.patch"; - hash = "sha256-yyRtYFwwcwliz38l7WkzT+zvi+uxWzHdZ06cl8q09Ec="; - }) - ]; - build-system = [ hatchling scikit-build-core @@ -140,7 +132,6 @@ buildPythonPackage (finalAttrs: { pythonRelaxDeps = [ "posthog" "prompt-toolkit" - "zstd" ]; pythonImportsCheck = [ "atopile" ]; From cbf9173b1792790683dc19c592a298d224d12e15 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Thu, 22 Jan 2026 01:55:56 +0000 Subject: [PATCH 0852/1216] github/labeler: fix auto-tag backport for .github/actions .github/actions/* does not match deeply nested files like .github/actions/checkout/action.yml Instead, we need a recursive glob like **/* --- .github/labeler-no-sync.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/labeler-no-sync.yml b/.github/labeler-no-sync.yml index 1cb675a2a57b..6bdfd28328a3 100644 --- a/.github/labeler-no-sync.yml +++ b/.github/labeler-no-sync.yml @@ -26,7 +26,7 @@ - all: - changed-files: - any-glob-to-any-file: - - .github/actions/* + - .github/actions/**/* - .github/workflows/* - .github/labeler*.yml - ci/**/*.* From d2ba58624cdec58f9965658159b41a2a8c1198ef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 01:58:53 +0000 Subject: [PATCH 0853/1216] ngt: 2.5.0 -> 2.5.1 --- pkgs/by-name/ng/ngt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ng/ngt/package.nix b/pkgs/by-name/ng/ngt/package.nix index bd4bb134f750..f892bfde284b 100644 --- a/pkgs/by-name/ng/ngt/package.nix +++ b/pkgs/by-name/ng/ngt/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "NGT"; - version = "2.5.0"; + version = "2.5.1"; src = fetchFromGitHub { owner = "yahoojapan"; repo = "NGT"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-2cCuVeg7y3butTIAQaYIgx+DPqIFEA2qqVe3exAoAY8="; + sha256 = "sha256-T+ZFmvak1ZfY7I/9QKpC7qqXLq/tBdy+KUjx/0twceg="; }; nativeBuildInputs = [ cmake ]; From 997c6418838bf98f22bb15fe0c1a0cbd05800ccb Mon Sep 17 00:00:00 2001 From: Sean Buckley Date: Wed, 21 Jan 2026 21:13:53 -0500 Subject: [PATCH 0854/1216] brave: 1.86.139 -> 1.86.142 https://community.brave.app/t/release-channel-1-86-142/648471 --- pkgs/by-name/br/brave/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/br/brave/package.nix b/pkgs/by-name/br/brave/package.nix index 0ab7dfe4ec84..710240c5d0d9 100644 --- a/pkgs/by-name/br/brave/package.nix +++ b/pkgs/by-name/br/brave/package.nix @@ -3,24 +3,24 @@ let pname = "brave"; - version = "1.86.139"; + version = "1.86.142"; allArchives = { aarch64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-+KJzQZuCf2zpouF+hZ2hAmJ57yWt2qAemdYt6X4x+P0="; + hash = "sha256-K0Df1uZb802SVFKnj/dNShPZSw46DYvwxKG8w9bzB20="; }; x86_64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-l0KtiMU+L7k6i5sjiPC24CABUdn9ax1uKqkqWe/flPM="; + hash = "sha256-juFpIax+GzXsVPkSz2U0hjczIaaF8Mj+CT0uqKgaRQo="; }; aarch64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip"; - hash = "sha256-Iv5UjfYzR+nmiW/LY22iOUvjGIbTRkjWC3fDigCmbFo="; + hash = "sha256-uQA2jA+QMbON3z8lHclxe1/S2OszitS9xYbTCS5MR+Q="; }; x86_64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip"; - hash = "sha256-X9McQDYPQ93zzTjR5Lq3+OFxjWGAR/JGa/u39GZL1Vs="; + hash = "sha256-kzhi03Q30mqK+XNaLpJ9zvHiCgYAJZqX7npL7ywMZbE="; }; }; From 4d3913b1e6b6f2dfc9393975099599288bf4f709 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:23:35 +0000 Subject: [PATCH 0855/1216] rke: 1.8.9 -> 1.8.10 --- pkgs/by-name/rk/rke/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/rk/rke/package.nix b/pkgs/by-name/rk/rke/package.nix index 7d29ef06801a..af85461b0745 100644 --- a/pkgs/by-name/rk/rke/package.nix +++ b/pkgs/by-name/rk/rke/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "rke"; - version = "1.8.9"; + version = "1.8.10"; src = fetchFromGitHub { owner = "rancher"; repo = "rke"; rev = "v${version}"; - hash = "sha256-oKdq0QZRlIs1yts8zasbDGcQGvYPzeeVI95DIqeXPuM="; + hash = "sha256-FSkEsoo0k8G/tv1EkSXVBn8p16n7M88WtFvD4WgqDl4="; }; vendorHash = "sha256-OWC8OZhORHwntAR2YHd4KfQgB2Wtma6ayBWfY94uOA4="; From 688e5f7ed01b76ee5c2d4ba192b8f8c1cf4562d2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:24:43 +0000 Subject: [PATCH 0856/1216] forge-mtg: 2.0.08 -> 2.0.09 --- pkgs/by-name/fo/forge-mtg/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fo/forge-mtg/package.nix b/pkgs/by-name/fo/forge-mtg/package.nix index 87e50d99a892..737261cc0e6f 100644 --- a/pkgs/by-name/fo/forge-mtg/package.nix +++ b/pkgs/by-name/fo/forge-mtg/package.nix @@ -16,13 +16,13 @@ }: let - version = "2.0.08"; + version = "2.0.09"; src = fetchFromGitHub { owner = "Card-Forge"; repo = "forge"; rev = "forge-${version}"; - hash = "sha256-BiBvHpEgvDp0u8g87LAt4/1FTc9t8FRAtSvPEedndEg="; + hash = "sha256-TRK6fUOLbI3lLdkSXvvuix0sGbpKLvMmYMx5ozViDRE="; }; # launch4j downloads and runs a native binary during the package phase. From bf14defcd7373cfa52b81e67d81c9a09342f7ac7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:28:16 +0000 Subject: [PATCH 0857/1216] soft-serve: 0.11.2 -> 0.11.3 --- pkgs/by-name/so/soft-serve/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/so/soft-serve/package.nix b/pkgs/by-name/so/soft-serve/package.nix index 672ab0487b7c..dc793d78db38 100644 --- a/pkgs/by-name/so/soft-serve/package.nix +++ b/pkgs/by-name/so/soft-serve/package.nix @@ -9,7 +9,7 @@ }: let - version = "0.11.2"; + version = "0.11.3"; in buildGoModule { pname = "soft-serve"; @@ -19,10 +19,10 @@ buildGoModule { owner = "charmbracelet"; repo = "soft-serve"; rev = "v${version}"; - hash = "sha256-FItQus4dAf1/wG+7B3oC5Z/7rv3HG/b7lcbrsW4IUyM="; + hash = "sha256-WugaUfu4X3eEMNKEjIo/um91iI5WeaZmkG/eJ1TPogA="; }; - vendorHash = "sha256-bGtIqdbjkQZD0lOfAOS022gPBGWWzXsjfLbbLwup1/Q="; + vendorHash = "sha256-qyOBwDSP+roKqi5Khn0ApmtVIgRc/0wB6FVmjzqaZOY="; doCheck = false; From 718f178b0430f4b9232a02d671db1a2395e227da Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:47:24 +0000 Subject: [PATCH 0858/1216] terraform-providers.tencentcloudstack_tencentcloud: 1.82.54 -> 1.82.57 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..c0536cdd32a7 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1310,11 +1310,11 @@ "vendorHash": "sha256-omxEb+ntQuHDfS2Rmt0rj0BF0Q2T8DLhobLua2uU/0o=" }, "tencentcloudstack_tencentcloud": { - "hash": "sha256-VgmXFRmwgCkGMwcle0zop41pr+uuj4ILlNXIcHQ9n0g=", + "hash": "sha256-kXdu7rtGo4J9waREkVMWqFf4/Ki22fm6p/Nhtts/Ycs=", "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud", "owner": "tencentcloudstack", "repo": "terraform-provider-tencentcloud", - "rev": "v1.82.54", + "rev": "v1.82.57", "spdx": "MPL-2.0", "vendorHash": null }, From 9f7b8fb43500284cf8102f3788b41ce5a737b370 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:55:03 +0000 Subject: [PATCH 0859/1216] vscode-extensions.augment.vscode-augment: 0.747.1 -> 0.754.2 --- .../vscode/extensions/augment.vscode-augment/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix b/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix index 6e57235a3a13..5ad265dbabba 100644 --- a/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix +++ b/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-augment"; publisher = "augment"; - version = "0.747.1"; - hash = "sha256-QQty7jtBHSUHR/BIPCjKMlIuCnn5dbVCqSsXv4LVfdE="; + version = "0.754.2"; + hash = "sha256-PWcJr6hTCGeDLMG0h54x5D2n6zrK/bEqv7kygSZS/qo="; }; meta = { From 0f6cc7ca90b7ef4273382b35dee23d597f18ffc0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:55:25 +0000 Subject: [PATCH 0860/1216] lunar-client: 3.5.17 -> 3.5.18 --- pkgs/by-name/lu/lunar-client/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lu/lunar-client/package.nix b/pkgs/by-name/lu/lunar-client/package.nix index 6e29b7ae09ed..e945598dbe7d 100644 --- a/pkgs/by-name/lu/lunar-client/package.nix +++ b/pkgs/by-name/lu/lunar-client/package.nix @@ -7,11 +7,11 @@ appimageTools.wrapType2 rec { pname = "lunarclient"; - version = "3.5.17"; + version = "3.5.18"; src = fetchurl { url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}-ow.AppImage"; - hash = "sha512-B/0qzOf5xs4lEDludDhRQbBhEEs5r6WkmHkuY8pz3G4o4q6QcCPtm5I8ZcO0mpPcsoljrTonV4UGZplqTTNh6g=="; + hash = "sha512-TdxJM290M+3X8KJ+agly6umNoje8jYlUYz/pVmUAOBp1G8nTtekoYWi+2WZn8r2tJ94STZ3nkilLAA9CoLhqfw=="; }; nativeBuildInputs = [ makeWrapper ]; From 71c898d8fcdede0956410237fe7418d0e9f0a38e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:59:05 +0000 Subject: [PATCH 0861/1216] wvkbd: 0.18 -> 0.19 --- pkgs/by-name/wv/wvkbd/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wv/wvkbd/package.nix b/pkgs/by-name/wv/wvkbd/package.nix index 1c6dd084f69e..f7023d52f5fe 100644 --- a/pkgs/by-name/wv/wvkbd/package.nix +++ b/pkgs/by-name/wv/wvkbd/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "wvkbd"; - version = "0.18"; + version = "0.19"; src = fetchFromGitHub { owner = "jjsullivan5196"; repo = "wvkbd"; tag = "v${version}"; - hash = "sha256-RfZbPAaf8UB4scUZ9XSL12QZ4UkYMzXqfmNt9ObOgQ0="; + hash = "sha256-oaySfijJBzD+tsaNMmXQ168un9Z0IMwN+7sxAmVr3xs="; }; nativeBuildInputs = [ From 2d359bf1d18ee17f5cd59586d1406b7965cb20d3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 03:01:35 +0000 Subject: [PATCH 0862/1216] xremap: 0.14.9 -> 0.14.10 --- pkgs/by-name/xr/xremap/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/xr/xremap/package.nix b/pkgs/by-name/xr/xremap/package.nix index b5a1ac50ef7c..eb5d2876f185 100644 --- a/pkgs/by-name/xr/xremap/package.nix +++ b/pkgs/by-name/xr/xremap/package.nix @@ -43,13 +43,13 @@ assert ( ); rustPlatform.buildRustPackage (finalAttrs: { pname = "xremap${variant.suffix or ""}"; - version = "0.14.9"; + version = "0.14.10"; src = fetchFromGitHub { owner = "xremap"; repo = "xremap"; tag = "v${finalAttrs.version}"; - hash = "sha256-ftGg6xai4WbaoXmgNXW4RbpOWvIZMPhUlqWkg1xVin0="; + hash = "sha256-2wylBk3+Zu1pHa41dhKwvUtxOVyHSMRDfOD9fIp8x2I="; }; nativeBuildInputs = [ pkg-config ]; @@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: { buildNoDefaultFeatures = true; buildFeatures = variant.features; - cargoHash = "sha256-eoCl5RQ5cNVEoOp8CA5Q/0xWnWcfKK1OvPNLOu/x9Dg="; + cargoHash = "sha256-S9mevRDGx23mquABVH/cC1zKNxW1607mS/vaRxRqKfk="; passthru = lib.mapAttrs (name: lib.const (xremap.override { withVariant = name; })) variants; From a8f3cb7b4589466d0460921da3312066fb6e9713 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 03:02:07 +0000 Subject: [PATCH 0863/1216] vscode-extensions.csharpier.csharpier-vscode: 2.1.0 -> 10.0.0 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index f0dd8556189a..6a645bc84d35 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1094,8 +1094,8 @@ let mktplcRef = { name = "csharpier-vscode"; publisher = "csharpier"; - version = "2.1.0"; - hash = "sha256-CEge0EZr9DTNBpPQ71tqsVsA8ljgamB1gMBh8CZTTZE="; + version = "10.0.0"; + hash = "sha256-2yL9G6A67KsBmWdG8AKIjcP2HUqUuoYRGb4vunh9AwU="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/csharpier.csharpier-vscode/changelog"; From 7b20c6eb76c041670dcebed76c5390c4e0302b2f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 03:13:39 +0000 Subject: [PATCH 0864/1216] opencommit: 3.2.10 -> 3.2.12 --- pkgs/by-name/op/opencommit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opencommit/package.nix b/pkgs/by-name/op/opencommit/package.nix index db9d8a2bb113..9820cb3f6770 100644 --- a/pkgs/by-name/op/opencommit/package.nix +++ b/pkgs/by-name/op/opencommit/package.nix @@ -8,13 +8,13 @@ buildNpmPackage rec { pname = "opencommit"; - version = "3.2.10"; + version = "3.2.12"; src = fetchFromGitHub { owner = "di-sukharev"; repo = "opencommit"; rev = "v${version}"; - hash = "sha256-FsPtTuvBvbDIldwxLbuXOxNfOIQ8THboRB6ghTSzTbI="; + hash = "sha256-jtumHDDsoc/jJZf+V0bzTTS6dmgwKcIDNkDidXa8eYY="; postFetch = '' cd $out # Fix lockfile issues with bundled dependencies @@ -22,7 +22,7 @@ buildNpmPackage rec { ''; }; - npmDepsHash = "sha256-Ilf9lfFegraQRkYU5v7Zv6MubpN5m6bck3j5UkTXk+4="; + npmDepsHash = "sha256-oqmRUzAptEurwEFux6kvxUC2TexWaXftSILjWDwakYU="; passthru.updateScript = nix-update-script { }; From c83d258540111c9a0e0229b935588142dbe049c5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 03:21:31 +0000 Subject: [PATCH 0865/1216] python3Packages.django-debug-toolbar: 6.1.0 -> 6.2.0 --- .../python-modules/django-debug-toolbar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django-debug-toolbar/default.nix b/pkgs/development/python-modules/django-debug-toolbar/default.nix index e1100871b2b6..cf868a493a4e 100644 --- a/pkgs/development/python-modules/django-debug-toolbar/default.nix +++ b/pkgs/development/python-modules/django-debug-toolbar/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "django-debug-toolbar"; - version = "6.1.0"; + version = "6.2.0"; pyproject = true; src = fetchFromGitHub { owner = "jazzband"; repo = "django-debug-toolbar"; tag = version; - hash = "sha256-gDBir6xf4BBo3KwfVGEUo+Ve5vsmuB12cQqy9sdXSUg="; + hash = "sha256-0NF71cuA55puEjJxd6I0xoeDQPWW+oxfWseDBmhis5k="; }; postPatch = '' From 0daa471ef2a7d9ff844aa553dfe95e55c8196182 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 03:51:37 +0000 Subject: [PATCH 0866/1216] nest-cli: 11.0.15 -> 11.0.16 --- pkgs/by-name/ne/nest-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/nest-cli/package.nix b/pkgs/by-name/ne/nest-cli/package.nix index 6cd92cddd5ad..e44b2a4dcf60 100644 --- a/pkgs/by-name/ne/nest-cli/package.nix +++ b/pkgs/by-name/ne/nest-cli/package.nix @@ -9,16 +9,16 @@ buildNpmPackage (finalAttrs: { pname = "nest-cli"; - version = "11.0.15"; + version = "11.0.16"; src = fetchFromGitHub { owner = "nestjs"; repo = "nest-cli"; tag = finalAttrs.version; - hash = "sha256-yUDlF5UyRE9UdGhw9HDLDpg1voUMQsIenUZZ4UPhBT4="; + hash = "sha256-naVDl3fjjPdrZhUynoy98ggVIDlmIVgvrEYxdNvwD1Y="; }; - npmDepsHash = "sha256-qsY1pGKg+qt7meKwH9wKuPF57KtZC7Y8hYgkm5ObOwE="; + npmDepsHash = "sha256-eLytaWABoJTFBnkdqt/rIrgeI4Z2gPpUBL/bt6UIduQ="; npmFlags = [ "--legacy-peer-deps" ]; env = { From 035cdf08e7bd84c0460f24937ae18a358dc400cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 03:52:27 +0000 Subject: [PATCH 0867/1216] python3Packages.uuid-utils: 0.13.0 -> 0.14.0 --- pkgs/development/python-modules/uuid-utils/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/uuid-utils/default.nix b/pkgs/development/python-modules/uuid-utils/default.nix index b1f0a3d9d202..fff22d62d308 100644 --- a/pkgs/development/python-modules/uuid-utils/default.nix +++ b/pkgs/development/python-modules/uuid-utils/default.nix @@ -9,19 +9,19 @@ buildPythonPackage rec { pname = "uuid-utils"; - version = "0.13.0"; + version = "0.14.0"; pyproject = true; src = fetchFromGitHub { owner = "aminalaee"; repo = "uuid-utils"; tag = version; - hash = "sha256-wq68t8j+q57WLLOex0HxPU3H6mb+YRn8X53wSpUxPxE="; + hash = "sha256-zjf9+vqrDaI8PbOj+xNgMUIj6SvcJAHhCQAYbtkYpuQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname src version; - hash = "sha256-20O0l7/UCjF2mtKOzfZ9Pm0/hhiGZdHLMZhohJGaup0="; + hash = "sha256-JiAuJvlacQt9acOyGHxR2lV7IQPBpX/lLd/UhKGhdrI="; }; nativeBuildInputs = with rustPlatform; [ From 264ca6e2c10d19fa04cfaf61b05763baacf30ece Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 05:00:01 +0000 Subject: [PATCH 0868/1216] eask-cli: 0.12.1 -> 0.12.2 --- pkgs/by-name/ea/eask-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ea/eask-cli/package.nix b/pkgs/by-name/ea/eask-cli/package.nix index 97a289fa105a..eb0cde010adc 100644 --- a/pkgs/by-name/ea/eask-cli/package.nix +++ b/pkgs/by-name/ea/eask-cli/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "eask-cli"; - version = "0.12.1"; + version = "0.12.2"; src = fetchFromGitHub { owner = "emacs-eask"; repo = "cli"; rev = version; - hash = "sha256-GUOimlbArD1GbeBPfIgcIcGKGHx+fEp6+CMYsqHB0t8="; + hash = "sha256-n2NL8B6hxQLB8xdRWzclVlqp3B4K7VxgdQ3zgFC1YyI="; }; - npmDepsHash = "sha256-69yGfQuIot0gKZIvLbMqJ0C3qxjqg3TnRDJl4qYHGrQ="; + npmDepsHash = "sha256-kHi/8kPTk9hg5NI4u0b+k9OoocHLX2rY3diXt9WMlRo="; dontBuild = true; From 6ba9d73366940639d22a87a353908c06ac1fbeaa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 05:48:52 +0000 Subject: [PATCH 0869/1216] python3Packages.geniushub-client: 0.7.1 -> 0.7.2 --- pkgs/development/python-modules/geniushub-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/geniushub-client/default.nix b/pkgs/development/python-modules/geniushub-client/default.nix index b56ab9f61f58..6eceb28fd3f6 100644 --- a/pkgs/development/python-modules/geniushub-client/default.nix +++ b/pkgs/development/python-modules/geniushub-client/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "geniushub-client"; - version = "0.7.1"; + version = "0.7.2"; format = "setuptools"; src = fetchFromGitHub { owner = "manzanotti"; repo = "geniushub-client"; tag = "v${version}"; - hash = "sha256-Gq2scYos7E8me1a4x7NanHRq2eYWuU2uSUwM+O1TPb8="; + hash = "sha256-RBXqSpumJMLZIT+nQr/BUE315krjRy/Qk9OlX9Ukn3Y="; }; postPatch = '' From ad1894035200ec09224e52c91865eb4c5c6a0bea Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:00:15 +0000 Subject: [PATCH 0870/1216] terraform-providers.yandex-cloud_yandex: 0.178.0 -> 0.179.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9c353c6a01e6..85e2b68f8a18 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1499,12 +1499,12 @@ "vendorHash": "sha256-Z4DfoG4ApXbPNXZs9YvBWQj1bH7moLNI6P+nKDHt/Jc=" }, "yandex-cloud_yandex": { - "hash": "sha256-nJzWN2OrRiXKLzM1awn68eTW4WFvLavA06+/2BmRPGA=", + "hash": "sha256-lNVCxNXYai+da2Hcg1+tcoYzoYRLRoCjzAQ/UB1WW4g=", "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex", "owner": "yandex-cloud", "repo": "terraform-provider-yandex", - "rev": "v0.178.0", + "rev": "v0.179.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-bHsSBrfyUgUzuFOgFHXmPV12e4whsU5LTIzIXHeHlH0=" + "vendorHash": "sha256-JW8aCDhY0XLoeFN864bM9ZWPxDrGk7VGTAUhx3PiQ+E=" } } From fd827491667c9c657c3f3d155ad25f47566c14d9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:04:16 +0000 Subject: [PATCH 0871/1216] oh-my-zsh: 2026-01-14 -> 2026-01-20 --- pkgs/by-name/oh/oh-my-zsh/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/oh/oh-my-zsh/package.nix b/pkgs/by-name/oh/oh-my-zsh/package.nix index 0a8682d7a4e2..a207dc662086 100644 --- a/pkgs/by-name/oh/oh-my-zsh/package.nix +++ b/pkgs/by-name/oh/oh-my-zsh/package.nix @@ -19,14 +19,14 @@ }: stdenv.mkDerivation rec { - version = "2026-01-14"; + version = "2026-01-20"; pname = "oh-my-zsh"; src = fetchFromGitHub { owner = "ohmyzsh"; repo = "ohmyzsh"; - rev = "ec14da72fbf8b5016bb1533d4af3ff3bb2ac7a19"; - sha256 = "sha256-ML9s5t26DTbrSxQLP1CEC7GWUdRYAy8IhMraMHqOc50="; + rev = "e0766905519fbc7982a590a195ee7c3e8bb594e8"; + sha256 = "sha256-6sTLyZ4UztU2PDpyiAZx1Q5smY+vrZdGbgVRNmek7nM="; }; strictDeps = true; From db8501edda65d0d5eb95301f379bae7aeefd5407 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 07:10:26 +0100 Subject: [PATCH 0872/1216] arx-libertatis: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/ar/arx-libertatis/package.nix} | 7 +++---- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 3 insertions(+), 6 deletions(-) rename pkgs/{games/arx-libertatis/default.nix => by-name/ar/arx-libertatis/package.nix} (94%) diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/by-name/ar/arx-libertatis/package.nix similarity index 94% rename from pkgs/games/arx-libertatis/default.nix rename to pkgs/by-name/ar/arx-libertatis/package.nix index 49a961d0c10a..4a31ab757b97 100644 --- a/pkgs/games/arx-libertatis/default.nix +++ b/pkgs/by-name/ar/arx-libertatis/package.nix @@ -16,8 +16,7 @@ optipng, imagemagick, withCrashReporter ? !stdenv.hostPlatform.isDarwin, - qtbase ? null, - wrapQtAppsHook ? null, + qt5, curl ? null, gdb ? null, }: @@ -49,7 +48,7 @@ stdenv.mkDerivation rec { imagemagick optipng ] - ++ optionals withCrashReporter [ wrapQtAppsHook ]; + ++ optionals withCrashReporter [ qt5.wrapQtAppsHook ]; buildInputs = [ zlib @@ -62,7 +61,7 @@ stdenv.mkDerivation rec { libepoxy ] ++ optionals withCrashReporter [ - qtbase + qt5.qtbase curl ] ++ optionals stdenv.hostPlatform.isLinux [ gdb ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 261898b19782..aa3dd3e4e2eb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12179,8 +12179,6 @@ with pkgs; anki-utils = callPackage ../by-name/an/anki/addons/anki-utils.nix { }; ankiAddons = recurseIntoAttrs (callPackage ../by-name/an/anki/addons { }); - arx-libertatis = libsForQt5.callPackage ../games/arx-libertatis { }; - beancount-ing-diba = callPackage ../applications/office/beancount/beancount-ing-diba.nix { inherit (python3Packages) beancount beangulp; }; From d7a4a15448b743c7b131f1abbab92801607d91d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:12:25 +0000 Subject: [PATCH 0873/1216] linuxKernel.kernels.linux_lqx: 6.18.4 -> 6.18.6 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 6e868a43bdad..d72ea3363a11 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -23,9 +23,9 @@ let }; # ./update-zen.py lqx lqx = { - version = "6.18.4"; # lqx + version = "6.18.6"; # lqx suffix = "lqx1"; # lqx - sha256 = "1ihg5mzh6ns43r4s7bzz9lna7hyqj1br9mc79whpbhpb6pj0xvvg"; # lqx + sha256 = "18b5yw91k4m9cfa2gw6n07sw3xfnzs9xx7hb0ls26r4d8jn01lsq"; # lqx isLqx = true; }; }; From c85197c3438ab43848cc1c29fa26c62e2dbaf7c0 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 07:16:29 +0100 Subject: [PATCH 0874/1216] cockatrice: move to pkgs/by-name this shouldn't create any rebuilds --- .../co/cockatrice/package.nix} | 33 +++++++++---------- pkgs/top-level/all-packages.nix | 4 --- 2 files changed, 15 insertions(+), 22 deletions(-) rename pkgs/{games/cockatrice/default.nix => by-name/co/cockatrice/package.nix} (76%) diff --git a/pkgs/games/cockatrice/default.nix b/pkgs/by-name/co/cockatrice/package.nix similarity index 76% rename from pkgs/games/cockatrice/default.nix rename to pkgs/by-name/co/cockatrice/package.nix index be79a61b87a2..e070035d344c 100644 --- a/pkgs/games/cockatrice/default.nix +++ b/pkgs/by-name/co/cockatrice/package.nix @@ -1,17 +1,14 @@ { lib, + qt5, fetchFromGitHub, - mkDerivation, cmake, - protobuf, - qtbase, - qtmultimedia, - qttools, - qtwebsockets, - wrapQtAppsHook, + protobuf_21, }: - -mkDerivation rec { +let + protobuf = protobuf_21; +in +qt5.mkDerivation rec { pname = "cockatrice"; version = "2025-04-03-Release-2.10.2"; @@ -22,17 +19,17 @@ mkDerivation rec { sha256 = "sha256-zXAK830SdGT3xN3ST8h9LLy/oWr4MH6TZf57gLfI0e8="; }; - buildInputs = [ - qtbase - qtmultimedia - protobuf - qttools - qtwebsockets - ]; - nativeBuildInputs = [ cmake - wrapQtAppsHook + qt5.wrapQtAppsHook + ]; + + buildInputs = [ + qt5.qtbase + qt5.qtmultimedia + protobuf + qt5.qttools + qt5.qtwebsockets ]; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aa3dd3e4e2eb..f7016f677632 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12193,10 +12193,6 @@ with pkgs; cataclysm-dda-git = cataclysmDDA.git.tiles; - cockatrice = libsForQt5.callPackage ../games/cockatrice { - protobuf = protobuf_21; - }; - construoBase = lowPrio ( callPackage ../games/construo { libGL = null; From 15ebb1a8d3a8723f135db048e4293b7ac7bd58ad Mon Sep 17 00:00:00 2001 From: Jason Odoom Date: Thu, 22 Jan 2026 01:19:20 -0500 Subject: [PATCH 0875/1216] raylib: 5.5 -> 5.5-unstable-2026-01-20 --- pkgs/by-name/ra/raylib/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ra/raylib/package.nix b/pkgs/by-name/ra/raylib/package.nix index 8f9b58282c63..93f993759b22 100644 --- a/pkgs/by-name/ra/raylib/package.nix +++ b/pkgs/by-name/ra/raylib/package.nix @@ -36,13 +36,13 @@ lib.checkListOfEnum "raylib: platform" __structuredAttrs = true; pname = "raylib"; - version = "5.5"; + version = "5.5-unstable-2026-01-20"; src = fetchFromGitHub { owner = "raysan5"; repo = "raylib"; - rev = finalAttrs.version; - hash = "sha256-J99i4z4JF7d6mJNuJIB0rHNDhXJ5AEkG0eBvvuBLHrY="; + rev = "c610d228a244f930ad53492604640f39584c66da"; + hash = "sha256-7Lhgqb7QJwz94M1ZxWgueTwIgSVclGCvHklZXGzoJgQ="; }; # autoPatchelfHook is needed for appendRunpaths @@ -83,7 +83,7 @@ lib.checkListOfEnum "raylib: platform" maintainers = [ lib.maintainers.diniamo ]; teams = [ lib.teams.ngi ]; platforms = lib.platforms.all; - changelog = "https://github.com/raysan5/raylib/blob/${finalAttrs.version}/CHANGELOG"; + changelog = "https://github.com/raysan5/raylib/blob/${finalAttrs.src.rev}/CHANGELOG"; }; }) ) From 6bcf4c53c8152e6c8a8c8a2b250a7bd8dca99d5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:21:58 +0000 Subject: [PATCH 0876/1216] adrs: 0.3.0 -> 0.5.0 --- pkgs/by-name/ad/adrs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ad/adrs/package.nix b/pkgs/by-name/ad/adrs/package.nix index 8f0295db49d3..656718d87898 100644 --- a/pkgs/by-name/ad/adrs/package.nix +++ b/pkgs/by-name/ad/adrs/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "adrs"; - version = "0.3.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "joshrotenberg"; repo = "adrs"; tag = "v${version}"; - hash = "sha256-C9Kg7xY3Q0xsd2DlUcc3OM+/hyzmwz55oi6Ul3K7zkM="; + hash = "sha256-LjuEYOZJzptryjtqmfH5L/BI+9daLPAGSkAkXeE7Z/E="; }; - cargoHash = "sha256-Ep1Y2PDNesaDzEc2JNoKZjFSay1utZiNR5eQYhdqiUU="; + cargoHash = "sha256-mevUqsqFDfF2dMYSdc0eGxh55W7shLSo8e5NpbDI/Zo="; meta = { description = "Command-line tool for managing Architectural Decision Records"; From fe58ac3cdcf18472c90bd5bccc41c3ac870c39e4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:37:29 +0000 Subject: [PATCH 0877/1216] comrak: 0.49.0 -> 0.50.0 --- pkgs/by-name/co/comrak/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/comrak/package.nix b/pkgs/by-name/co/comrak/package.nix index 8adf32137ff6..4fcb23f33597 100644 --- a/pkgs/by-name/co/comrak/package.nix +++ b/pkgs/by-name/co/comrak/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "comrak"; - version = "0.49.0"; + version = "0.50.0"; src = fetchFromGitHub { owner = "kivikakk"; repo = "comrak"; rev = "v${version}"; - sha256 = "sha256-o4fa5lO8fTf5Nb2kGUqCRK/v5rQOlmHbnzCx9l7S3So="; + sha256 = "sha256-OWfNg66ZLorN+PW26v2n695f8vfqT76jO6Bl+M/FNdc="; }; - cargoHash = "sha256-ceDdBBolkQYI3F58DgKztWfULvc5jVp69FDdk6NxcLU="; + cargoHash = "sha256-d4krWEvupTniVka4f7OPvWbJx6YoT0tfzxr7SU46jME="; meta = { description = "CommonMark-compatible GitHub Flavored Markdown parser and formatter"; From baeb339676770601d72b4780a0b595857e64d09d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:39:51 +0000 Subject: [PATCH 0878/1216] python3Packages.signxml: 4.2.0 -> 4.2.2 --- pkgs/development/python-modules/signxml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/signxml/default.nix b/pkgs/development/python-modules/signxml/default.nix index ff2003f86fc1..6757ab7ed7f3 100644 --- a/pkgs/development/python-modules/signxml/default.nix +++ b/pkgs/development/python-modules/signxml/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "signxml"; - version = "4.2.0"; + version = "4.2.2"; pyproject = true; src = fetchFromGitHub { owner = "XML-Security"; repo = "signxml"; tag = "v${version}"; - hash = "sha256-oyDhJZVn08rIcR3ti9jsYxyBPgz6VaJSbBVYrTQkbVU="; + hash = "sha256-IZa62HIsCsNiIlHhLgy0GRIq+E3HBnYSdy/LtDvPa/E="; }; build-system = [ From cc715984e0cfe4814c280bc700ca319e0cf22972 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0879/1216] bird-lg: set pname insted of name and move meta and version into the correct location --- pkgs/by-name/bi/bird-lg/package.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/bi/bird-lg/package.nix b/pkgs/by-name/bi/bird-lg/package.nix index 3e65067056d9..1ad9d568af3c 100644 --- a/pkgs/by-name/bi/bird-lg/package.nix +++ b/pkgs/by-name/bi/bird-lg/package.nix @@ -50,12 +50,10 @@ let }; in symlinkJoin { - name = "bird-lg-${bird-lg-frontend.version}"; + pname = "bird-lg"; + inherit (bird-lg-frontend) version meta; paths = [ bird-lg-frontend bird-lg-proxy ]; } -// { - inherit (bird-lg-frontend) version meta; -} From 153987f644d117d7d2db5503b00f7254fcca7147 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0880/1216] bottles: set pname and version instead of name --- pkgs/by-name/bo/bottles/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bo/bottles/package.nix b/pkgs/by-name/bo/bottles/package.nix index f9ff26adcf71..8b84cb39c1c6 100644 --- a/pkgs/by-name/bo/bottles/package.nix +++ b/pkgs/by-name/bo/bottles/package.nix @@ -116,7 +116,7 @@ let }; in symlinkJoin { - name = "bottles"; + pname = "bottles"; paths = [ (buildFHSEnv ( fhsEnv @@ -139,5 +139,5 @@ symlinkJoin { ln -s ${bottles-unwrapped}/share/icons $out/share ''; - inherit (bottles-unwrapped) meta; + inherit (bottles-unwrapped) meta version; } From 270be28f9706aab7e5e2e9ae3a165bf80d886dc9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0881/1216] brasero: set pname and version instead of name --- pkgs/by-name/br/brasero/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/br/brasero/package.nix b/pkgs/by-name/br/brasero/package.nix index 2747bc994796..f21abd74e845 100644 --- a/pkgs/by-name/br/brasero/package.nix +++ b/pkgs/by-name/br/brasero/package.nix @@ -11,7 +11,7 @@ let binPath = lib.makeBinPath [ cdrtools ]; in symlinkJoin { - name = "brasero-${brasero-unwrapped.version}"; + pname = "brasero"; paths = [ brasero-unwrapped ]; nativeBuildInputs = [ makeWrapper ]; @@ -22,5 +22,5 @@ symlinkJoin { --prefix LD_PRELOAD : ${lib.makeLibraryPath [ libdvdcss ]}/libdvdcss.so ''; - inherit (brasero-unwrapped) meta; + inherit (brasero-unwrapped) meta version; } From c87036564c25125780e2c59e31822ee44dca1474 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0882/1216] calamares-nixos: set pname --- pkgs/by-name/ca/calamares-nixos/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ca/calamares-nixos/package.nix b/pkgs/by-name/ca/calamares-nixos/package.nix index fdf2363a7807..bde11446a0e0 100644 --- a/pkgs/by-name/ca/calamares-nixos/package.nix +++ b/pkgs/by-name/ca/calamares-nixos/package.nix @@ -7,7 +7,7 @@ }: runCommand "calamares-wrapped" { - inherit (calamares) version meta; + inherit (calamares) pname version meta; nativeBuildInputs = [ makeWrapper ]; } From f69135155397f13ae7952f5bca46ea3e24324d63 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0883/1216] rofi: set pname and version instead of name --- pkgs/by-name/ro/rofi/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ro/rofi/package.nix b/pkgs/by-name/ro/rofi/package.nix index 4b72f3f43f8d..472886bb7912 100644 --- a/pkgs/by-name/ro/rofi/package.nix +++ b/pkgs/by-name/ro/rofi/package.nix @@ -12,7 +12,8 @@ }: symlinkJoin { - name = "rofi-${rofi-unwrapped.version}"; + pname = "rofi"; + inherit (rofi-unwrapped) version; paths = [ rofi-unwrapped.out From c4075a6522e89c20ceba74f55fd30217861849b9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0884/1216] liblockfile: set pname instead of name and _name --- pkgs/by-name/li/liblockfile/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/liblockfile/package.nix b/pkgs/by-name/li/liblockfile/package.nix index 50e3b308e016..30c18c5d6729 100644 --- a/pkgs/by-name/li/liblockfile/package.nix +++ b/pkgs/by-name/li/liblockfile/package.nix @@ -5,12 +5,11 @@ }: stdenv.mkDerivation rec { - _name = "liblockfile"; + pname = "liblockfile"; version = "1.17"; - name = "${_name}-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/libl/${_name}/${_name}_${version}.orig.tar.gz"; + url = "mirror://debian/pool/main/libl/liblockfile/liblockfile_${version}.orig.tar.gz"; sha256 = "sha256-bpN/NlCvq0qsGY80i4mxykLtzrF/trsJGPZCFDzP0V4="; }; From 59dd9ba84c5b1df507ba4cd2064b1c7a9899140c Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0885/1216] simutrans: set pname and version instead of name --- pkgs/by-name/si/simutrans/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/si/simutrans/package.nix b/pkgs/by-name/si/simutrans/package.nix index b4a01db9642f..a98eada88762 100644 --- a/pkgs/by-name/si/simutrans/package.nix +++ b/pkgs/by-name/si/simutrans/package.nix @@ -114,7 +114,7 @@ let withPaks = paks: buildEnv { - inherit (binaries) name; + inherit (binaries) pname version; paths = [ binaries ] ++ paks; postBuild = '' rm "$out/bin" && mkdir "$out/bin" From 429885e4021ee2580a9d84751cf23c8964fecf6f Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0886/1216] snis: set pname and version instead of name --- pkgs/by-name/sn/snis/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/sn/snis/package.nix b/pkgs/by-name/sn/snis/package.nix index 846786ed8145..b91340d64174 100644 --- a/pkgs/by-name/sn/snis/package.nix +++ b/pkgs/by-name/sn/snis/package.nix @@ -5,7 +5,8 @@ makeWrapper, }: buildEnv { - name = "snis-${snis-unwrapped.version}"; + pname = "snis"; + inherit (snis-unwrapped) version; nativeBuildInputs = [ makeWrapper ]; From ea76efc897f9941d1171ac33380e2a789555b5ec Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0887/1216] ssb-patchwork: set pname and version instead of name --- pkgs/by-name/ss/ssb-patchwork/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ss/ssb-patchwork/package.nix b/pkgs/by-name/ss/ssb-patchwork/package.nix index c907e29b3ed9..7e4264a64e78 100644 --- a/pkgs/by-name/ss/ssb-patchwork/package.nix +++ b/pkgs/by-name/ss/ssb-patchwork/package.nix @@ -36,7 +36,9 @@ let in symlinkJoin { - inherit name; + inherit version; + pname = "patchwork"; + paths = [ binary ]; postBuild = '' From 59539a0d522649235391f3792008f3db6f4436f0 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0888/1216] zeroad: set pname and version instead of name --- pkgs/by-name/ze/zeroad/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ze/zeroad/package.nix b/pkgs/by-name/ze/zeroad/package.nix index b07405b7ec72..68fdc993daff 100644 --- a/pkgs/by-name/ze/zeroad/package.nix +++ b/pkgs/by-name/ze/zeroad/package.nix @@ -8,7 +8,8 @@ assert zeroad-unwrapped.version == zeroad-data.version; buildEnv { - name = "zeroad-${zeroad-unwrapped.version}"; + pname = "zeroad"; + inherit (zeroad-unwrapped) version; nativeBuildInputs = [ makeWrapper ]; From 44177dd3894be4eacdd2edac5bb1931ed4fb5014 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0889/1216] all-cabal-hashes: set pname and version --- pkgs/data/misc/hackage/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix index b283f2025e0d..59ad90bc350a 100644 --- a/pkgs/data/misc/hackage/default.nix +++ b/pkgs/data/misc/hackage/default.nix @@ -4,8 +4,10 @@ let pin = lib.importJSON ./pin.json; in -fetchurl { +fetchurl (finalAttrs: { inherit (pin) url sha256; - name = "all-cabal-hashes-${lib.substring 0 7 pin.commit}.tar.gz"; + name = "${finalAttrs.pname}-${finalAttrs.version}.tar.gz"; + pname = "all-cabal-hashes"; + version = lib.substring 0 7 pin.commit; passthru.updateScript = ../../../../maintainers/scripts/haskell/update-hackage.sh; -} +}) From 5fc8944b6b6535c5351d48035dfabce043e06c58 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 07:06:01 +0000 Subject: [PATCH 0890/1216] enumer: 1.6.1 -> 1.6.3 --- pkgs/by-name/en/enumer/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/en/enumer/package.nix b/pkgs/by-name/en/enumer/package.nix index a6171014852b..18832deac1f4 100644 --- a/pkgs/by-name/en/enumer/package.nix +++ b/pkgs/by-name/en/enumer/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "enumer"; - version = "1.6.1"; + version = "1.6.3"; src = fetchFromGitHub { owner = "dmarkham"; repo = "enumer"; tag = "v${version}"; - hash = "sha256-Motlnq1U40gUGhDdFtKgQ7ogGfm8RvittTnRWOqIhKU="; + hash = "sha256-VowZcDNksa4ncydzdWyCDMcyEIujUmfVlf4SDEGPpVg="; }; - vendorHash = "sha256-w9T9PWMJjBJP2MmhGC7e78zbszgCwtVrfO5AQlu/ugQ="; + vendorHash = "sha256-3aiAvpNGW2FtMmpzKx/+dWJ3ZQG3BKJei8KcJMyDH20="; meta = { description = "Go tool to auto generate methods for enums"; From f837d3fa69657a94b3a7be73c623d5bac24c1b98 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0891/1216] vst2-sdk: set pname instead of name fetchzip supports pname nowdays --- pkgs/by-name/vs/vst2-sdk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vs/vst2-sdk/package.nix b/pkgs/by-name/vs/vst2-sdk/package.nix index 373ec52d4f4a..3f7986224c77 100644 --- a/pkgs/by-name/vs/vst2-sdk/package.nix +++ b/pkgs/by-name/vs/vst2-sdk/package.nix @@ -2,8 +2,8 @@ lib, fetchzip, }: -fetchzip rec { - name = "vst2-sdk-${version}"; # cannot be `pname`, as `fetchzip` expects `name` +fetchzip { + pname = "vst2-sdk"; version = "2018-06-11"; url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/vstsdk3610_11_06_2018_build_37.zip"; hash = "sha256-TyPy8FsXWB8LRz0yr38t3d5xxAxGufAn0dsyrg1JXBA="; From 13e57f5abd6d854dd336f11a3916f1255d440bab Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0892/1216] wiringpi: set pname and version instead of name --- pkgs/by-name/wi/wiringpi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wi/wiringpi/package.nix b/pkgs/by-name/wi/wiringpi/package.nix index 722adfaaa88e..5fa4ca174f72 100644 --- a/pkgs/by-name/wi/wiringpi/package.nix +++ b/pkgs/by-name/wi/wiringpi/package.nix @@ -74,8 +74,8 @@ let in symlinkJoin { - name = "wiringpi-${version}"; - inherit passthru; + pname = "wiringpi"; + inherit passthru version; paths = [ passthru.wiringPi passthru.devLib From 97e3986e6c755f9dfceea6239c1ff421455c73dd Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0893/1216] kubo-migrator: set pname and version instead of name --- pkgs/by-name/ku/kubo-migrator/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ku/kubo-migrator/package.nix b/pkgs/by-name/ku/kubo-migrator/package.nix index 1ed7290d4b0e..aa97712a93c1 100644 --- a/pkgs/by-name/ku/kubo-migrator/package.nix +++ b/pkgs/by-name/ku/kubo-migrator/package.nix @@ -7,7 +7,8 @@ }: buildEnv { - name = "kubo-migrator-${kubo-migrator-unwrapped.version}"; + pname = "kubo-migrator"; + inherit (kubo-migrator-unwrapped) version; nativeBuildInputs = [ makeWrapper ]; From d1e02a6ea8466f146944f649128f5521151d63ff Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0894/1216] kubo-fs-repo-migrations: set pname and version instead of name --- pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix b/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix index 463a79a43405..8c3a6bf3cd16 100644 --- a/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix +++ b/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix @@ -251,7 +251,8 @@ let in symlinkJoin { - name = "kubo-fs-repo-migrations-${version}"; + pname = "kubo-fs-repo-migrations"; + inherit version; paths = if stubBrokenMigrations then migrationsBrokenStubbed else migrationsBrokenRemoved; meta = (removeAttrs kubo-migrator-unwrapped.meta [ "mainProgram" ]) // { description = "Several individual migrations for migrating the filesystem repository of Kubo one version at a time"; From 0ae1734d273c4ed1fbda396c81427db0f0a64d85 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0895/1216] arcan-wrapped: set pname and version instead of name --- pkgs/by-name/ar/arcan/wrapper.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ar/arcan/wrapper.nix b/pkgs/by-name/ar/arcan/wrapper.nix index 1d68f8926e8d..822bdd271172 100644 --- a/pkgs/by-name/ar/arcan/wrapper.nix +++ b/pkgs/by-name/ar/arcan/wrapper.nix @@ -7,7 +7,8 @@ }: symlinkJoin { - inherit name; + pname = name; + inherit (arcan) version; paths = appls ++ [ arcan ]; From c3572e7fbc0c6321b533c8e252557d679883fda7 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0896/1216] weechat: set pname and version instead of name --- pkgs/applications/networking/irc/weechat/wrapper.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/irc/weechat/wrapper.nix b/pkgs/applications/networking/irc/weechat/wrapper.nix index 1ac3a3dc006d..7202810132cf 100644 --- a/pkgs/applications/networking/irc/weechat/wrapper.nix +++ b/pkgs/applications/networking/irc/weechat/wrapper.nix @@ -110,7 +110,8 @@ let }; in buildEnv { - name = "weechat-bin-env-${weechat.version}"; + pname = "weechat-bin-env"; + inherit (weechat) version; extraOutputsToInstall = lib.optionals installManPages [ "man" ]; paths = [ (mkWeechat "weechat") From 01264929710a879b4e028d999fa8a9a1d8e9ba5e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0897/1216] activitywatch: set pname and version instead of name --- pkgs/applications/office/activitywatch/wrapper.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/office/activitywatch/wrapper.nix b/pkgs/applications/office/activitywatch/wrapper.nix index 0a4736a2470c..da9cdcfa4ff8 100644 --- a/pkgs/applications/office/activitywatch/wrapper.nix +++ b/pkgs/applications/office/activitywatch/wrapper.nix @@ -10,7 +10,9 @@ }: symlinkJoin { - name = "activitywatch-${aw-server-rust.version}"; + pname = "activitywatch"; + inherit (aw-server-rust) version; + paths = [ aw-server-rust.out aw-qt.out From fcfff005b2209671d52fd63254b426a0792bde26 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 07:13:59 +0000 Subject: [PATCH 0898/1216] code: 0.6.45 -> 0.6.49 --- pkgs/by-name/co/code/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/code/package.nix b/pkgs/by-name/co/code/package.nix index c3da663537e7..a7f97ea4b1cc 100644 --- a/pkgs/by-name/co/code/package.nix +++ b/pkgs/by-name/co/code/package.nix @@ -11,13 +11,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "code"; - version = "0.6.45"; + version = "0.6.49"; src = fetchFromGitHub { owner = "just-every"; repo = "code"; tag = "v${finalAttrs.version}"; - hash = "sha256-Ycl+r0fcopsWhT2QsRYPKWGRcXRyylgUalFBOgFF800="; + hash = "sha256-iklIQPs44SjJlQq+qkuyuCQLfv+xcmvmBDSIweFsSTs="; }; sourceRoot = "${finalAttrs.src.name}/code-rs"; From dc0d8c0858a3b4720ab75758a0a8ad19f694d75b Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0899/1216] rxvt-unicode: set pname and version instead of name --- pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix index 8bd75245da0e..a05561ad975a 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix @@ -45,7 +45,7 @@ let perlDeps = (config.perlDeps or [ ]) ++ lib.concatMap mkPerlDeps plugins; in symlinkJoin { - name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}"; + pname = "rxvt-unicode"; paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps; @@ -60,7 +60,7 @@ let --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" ''; - inherit (rxvt-unicode-unwrapped) meta; + inherit (rxvt-unicode-unwrapped) meta version; passthru = { plugins = plugins; From 2354b677a4033b9a582e5ad1896b22a8c63a7a6e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0900/1216] rust-bindgen: set pname and version --- pkgs/development/tools/rust/bindgen/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index 734d31aba2d3..c7989b5bc6a8 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -12,6 +12,8 @@ let { #for substituteAll inherit bash; + pname = "rust-bindgen"; + inherit (rust-bindgen-unwrapped) version; unwrapped = rust-bindgen-unwrapped; meta = rust-bindgen-unwrapped.meta // { longDescription = rust-bindgen-unwrapped.meta.longDescription + '' From 2bd7eebb6e43da59b8779c164fa4bf18bd5d3827 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0901/1216] ssh-copy-id: set pname and version --- pkgs/tools/networking/openssh/copyid.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/networking/openssh/copyid.nix b/pkgs/tools/networking/openssh/copyid.nix index e8d6f4b3f388..19e858424147 100644 --- a/pkgs/tools/networking/openssh/copyid.nix +++ b/pkgs/tools/networking/openssh/copyid.nix @@ -6,6 +6,8 @@ runCommand "ssh-copy-id-${openssh.version}" { + pname = "ssh-copy-id"; + inherit (openssh) version; outputs = [ "out" "man" From f37c79d12196edf145716251ee7bb368b31a4531 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 07:20:16 +0000 Subject: [PATCH 0902/1216] gitea: 1.25.3 -> 1.25.4 --- pkgs/by-name/gi/gitea/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index 9fd3524c6633..42692f98b900 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -48,13 +48,13 @@ let in buildGoModule rec { pname = "gitea"; - version = "1.25.3"; + version = "1.25.4"; src = fetchFromGitHub { owner = "go-gitea"; repo = "gitea"; tag = "v${gitea.version}"; - hash = "sha256-jCh4CuVS/WHpd1+NLfB3Sc2sonVcfedDZAgYTqcXZaU="; + hash = "sha256-sVpCdDJWzHtRKiqTeRuvrHf/cmeLbLs4THAqkH8hqMY="; }; proxyVendor = true; From b786bad4b5c90f6eba685f45978b4a2775362007 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Thu, 22 Jan 2026 08:21:28 +0100 Subject: [PATCH 0903/1216] claude-code: 2.1.14 -> 2.1.15 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md --- pkgs/by-name/cl/claude-code/package-lock.json | 4 ++-- pkgs/by-name/cl/claude-code/package.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index 9de5a153c2c0..f9766e4cfe2e 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -1,12 +1,12 @@ { "name": "@anthropic-ai/claude-code", - "version": "2.1.14", + "version": "2.1.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@anthropic-ai/claude-code", - "version": "2.1.14", + "version": "2.1.15", "license": "SEE LICENSE IN README.md", "bin": { "claude": "cli.js" diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index 1d40d808c5fe..245e28f48a86 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -15,14 +15,14 @@ }: buildNpmPackage (finalAttrs: { pname = "claude-code"; - version = "2.1.14"; + version = "2.1.15"; src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; - hash = "sha256-QiBvRm1iMtO3mmlu5a/aKaJzcAQxeBW7yLK4R4k6SU0="; + hash = "sha256-3zhjeAwKj1fMLuriX1qpVA8zaCk1oekJ1UmeEdDx4Xg="; }; - npmDepsHash = "sha256-PIhayi4wNoP4XxWpEIH7/Ycq1mBAMcE4vDuLCTW7/bE="; + npmDepsHash = "sha256-K5re0co3Tkz5peXHe/UUlsqAWq4YzSULdY9+xncfL5A="; strictDeps = true; From 39c1313f5fa276436e87e6d8fc3938057a26ce59 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 07:27:48 +0000 Subject: [PATCH 0904/1216] beeper: 4.2.482 -> 4.2.495 --- pkgs/by-name/be/beeper/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/be/beeper/package.nix b/pkgs/by-name/be/beeper/package.nix index 9b5f1d48cb2d..e9ca8fc99436 100644 --- a/pkgs/by-name/be/beeper/package.nix +++ b/pkgs/by-name/be/beeper/package.nix @@ -9,10 +9,10 @@ }: let pname = "beeper"; - version = "4.2.482"; + version = "4.2.495"; src = fetchurl { url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-x86_64.AppImage"; - hash = "sha256-mxBE0U2ABiOdSNj8c3Lqgmy5iFtOulCCkQ+oC2xyENA="; + hash = "sha256-UZtJTKSFnKR192i2lRUYw/kjxGzq45VI4Rac6vzcQc0="; }; appimageContents = appimageTools.extract { inherit pname version src; From 4d6a0197d6e0f90fce6df92ae73198b64b4d64e4 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 20 Jan 2026 20:34:20 +0100 Subject: [PATCH 0905/1216] fresh-editor: 0.1.77 -> 0.1.86 --- pkgs/by-name/fr/fresh-editor/package.nix | 41 ++++++++++++++---------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/fr/fresh-editor/package.nix b/pkgs/by-name/fr/fresh-editor/package.nix index 697c6035bd16..2da138e64ed7 100644 --- a/pkgs/by-name/fr/fresh-editor/package.nix +++ b/pkgs/by-name/fr/fresh-editor/package.nix @@ -8,21 +8,20 @@ gitMinimal, deno, nix-update-script, + versionCheckHook, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "fresh"; - version = "0.1.77"; + version = "0.1.86"; src = fetchFromGitHub { owner = "sinelaw"; repo = "fresh"; tag = "v${finalAttrs.version}"; - hash = "sha256-+ESguKlMUB2gm9zNee35wKdZmKLhLcPFa3Z7n4KNpVQ="; + hash = "sha256-o67oowSU1V9Cy2RvLEaZ5J3CPX2kD7qByDOc+8gpDq8="; }; - cargoHash = "sha256-MrFVolkqGRESPNPsQPDZGvHNVYyB9+ok4GANgIfBbZU="; - - passthru.updateScript = nix-update-script { }; + cargoHash = "sha256-I78sdf/p5TZZufMZF8rETRb91veklwNHHByHF1WbLgk="; nativeBuildInputs = [ pkg-config @@ -31,27 +30,17 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeCheckInputs = [ gitMinimal + rustPlatform.bindgenHook ]; buildInputs = [ openssl ]; - # Tests create a local http server to check update functionality - __darwinAllowLocalNetworking = true; - - # Due to issues with incorrect import paths with the actual app, I have disabled the checks below. Need to report upstream. - checkFlags = [ - "--skip=e2e::" - ]; - cargoTestFlags = [ - "--lib" - "--bins" - ]; - # The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem # To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE env.RUSTY_V8_ARCHIVE = deno.librusty_v8; + preBuild = '' mkdir -p $out/share/fresh-editor/plugins/ ''; @@ -60,6 +49,24 @@ rustPlatform.buildRustPackage (finalAttrs: { rm -rf $out/bin/fresh.dSYM ''; + # Tests create a local http server to check update functionality + __darwinAllowLocalNetworking = true; + + # Due to issues with incorrect import paths with the actual app, I have disabled the checks below. Need to report upstream. + checkFlags = [ + "--skip=e2e::" + "--skip=services::plugins::embedded::tests::test_extract_plugins" + ]; + cargoTestFlags = [ + "--lib" + "--bins" + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + passthru.updateScript = nix-update-script { }; + meta = { description = "Terminal-based text editor with LSP support and TypeScript plugins"; homepage = "https://github.com/sinelaw/fresh"; From e14abd1d1eeed0e30fd62e8e4f1ecaccb02a4b0d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:18:21 +0000 Subject: [PATCH 0906/1216] rekor-server: 1.4.3 -> 1.5.0 --- pkgs/tools/security/rekor/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/rekor/default.nix b/pkgs/tools/security/rekor/default.nix index fd8f88104c56..3a69178e6b25 100644 --- a/pkgs/tools/security/rekor/default.nix +++ b/pkgs/tools/security/rekor/default.nix @@ -15,13 +15,13 @@ let }: buildGoModule rec { inherit pname; - version = "1.4.3"; + version = "1.5.0"; src = fetchFromGitHub { owner = "sigstore"; repo = "rekor"; rev = "v${version}"; - hash = "sha256-EdEYjim3FDkc04uBYWFA8iPNJArHfjjioyUPCh7iwgw="; + hash = "sha256-yOagWlUs5u9HebKxgtK8hPsm9kGxaR7hJpZdG9cOI54="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -34,7 +34,7 @@ let ''; }; - vendorHash = "sha256-kw6i9BzVTy6dJsIm8d4FPt7QeI+6AOqCfq3KhdQFuQ4="; + vendorHash = "sha256-LHTq5Y0WvlyO48mVD1NxnKX7L7pdRY/xnsZCV5OR71U="; nativeBuildInputs = [ installShellFiles ]; From a400e16a717dfb9fc32b86eba4ce1da8d732a4ed Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:21:41 +0000 Subject: [PATCH 0907/1216] rabbitmq-server: 4.2.2 -> 4.2.3 --- pkgs/by-name/ra/rabbitmq-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ra/rabbitmq-server/package.nix b/pkgs/by-name/ra/rabbitmq-server/package.nix index e5cb7e1d13b3..bebbcfa61ec6 100644 --- a/pkgs/by-name/ra/rabbitmq-server/package.nix +++ b/pkgs/by-name/ra/rabbitmq-server/package.nix @@ -43,12 +43,12 @@ in stdenv.mkDerivation (finalAttrs: { pname = "rabbitmq-server"; - version = "4.2.2"; + version = "4.2.3"; # when updating, consider bumping elixir version in all-packages.nix src = fetchurl { url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; - hash = "sha256-jLsBn3TxlFZYNYLkOtCdWvzf/SY1RqYwfJObbhXeyVI="; + hash = "sha256-R1PtbkZs0aaJYUN8vZnJHG9Z+2SPOIRiaFOTz703LcA="; }; nativeBuildInputs = [ From bd8adcbc48877a361398e4954039be5a74fac8cd Mon Sep 17 00:00:00 2001 From: Petr Portnov Date: Thu, 22 Jan 2026 11:21:58 +0300 Subject: [PATCH 0908/1216] toml2nix: add progrm_jarvis to maintainers --- pkgs/by-name/to/toml2nix/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/to/toml2nix/package.nix b/pkgs/by-name/to/toml2nix/package.nix index 796bee262e08..8623b2391745 100644 --- a/pkgs/by-name/to/toml2nix/package.nix +++ b/pkgs/by-name/to/toml2nix/package.nix @@ -27,6 +27,6 @@ rustPlatform.buildRustPackage rec { mit # or asl20 ]; - maintainers = [ ]; + maintainers = [ lib.maintainers.progrm_jarvis ]; }; } From 5cb855ec2d6a7ff91055c5d235d8085db6ac571b Mon Sep 17 00:00:00 2001 From: Maevi Date: Thu, 22 Jan 2026 09:17:00 +0100 Subject: [PATCH 0909/1216] rke2: clarify documentation --- pkgs/applications/networking/cluster/rke2/README.md | 6 ++++-- pkgs/applications/networking/cluster/rke2/default.nix | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/rke2/README.md b/pkgs/applications/networking/cluster/rke2/README.md index e21a98b954b0..9990e04de310 100644 --- a/pkgs/applications/networking/cluster/rke2/README.md +++ b/pkgs/applications/networking/cluster/rke2/README.md @@ -33,7 +33,8 @@ release channel tied to each Kubernetes minor version, e.g. `v1.32`. Nixpkgs follows active minor version release channels (typically 4 at a time) and sets aliases for `rke2_stable` and `rke2_latest` accordingly. The [update-script](./update-script.sh) takes care of -updating the aliases automatically. +updating the aliases automatically, but these updates **should not be backported** to release +channels as they can cause breakage on multi-node clusters. For further information visit the [RKE2 release channels documentation](https://docs.rke2.io/upgrades/manual_upgrade?_highlight=manua#release-channels). @@ -64,7 +65,8 @@ by doing the following: 2. Add a new package block to [default.nix](./default.nix), you can copy an existing block from a previous release and update the version numbers - `rke2_1_35 = ...` -3. Run the update script for the new package +3. Add the package reference to [pkgs/top-level/all-packages.nix](/pkgs/top-level/all-packages.nix) +4. Run the update script for the new package - `./pkgs/applications/networking/cluster/rke2/update-script.sh 35` New minor versions are **not** backported to stable release channels. diff --git a/pkgs/applications/networking/cluster/rke2/default.nix b/pkgs/applications/networking/cluster/rke2/default.nix index 98bc97f7c1c1..440b2d0c2453 100644 --- a/pkgs/applications/networking/cluster/rke2/default.nix +++ b/pkgs/applications/networking/cluster/rke2/default.nix @@ -45,7 +45,7 @@ rec { } ) extraArgs; - # Automatically set by update script + # Automatically set by update script, changes shouldn't be backported rke2_stable = rke2_1_34; rke2_latest = rke2_1_35; } From 46bc8a2983f1b347641e0ee3bbbc2f9ce01d0cff Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0910/1216] wkhtmltopdf: use pname instead of name --- pkgs/by-name/wk/wkhtmltopdf/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/wk/wkhtmltopdf/package.nix b/pkgs/by-name/wk/wkhtmltopdf/package.nix index acf50a7739a9..e9e5f34133eb 100644 --- a/pkgs/by-name/wk/wkhtmltopdf/package.nix +++ b/pkgs/by-name/wk/wkhtmltopdf/package.nix @@ -92,7 +92,7 @@ let in stdenv.mkDerivation ( { - name = "wkhtmltopdf"; + pname = "wkhtmltopdf"; dontStrip = true; From 4758180c05970395489bee161ad327ae67bd48d9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0911/1216] sxcs: use pname instead of name --- pkgs/by-name/sx/sxcs/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/sx/sxcs/package.nix b/pkgs/by-name/sx/sxcs/package.nix index d0f0d82e2ac4..50a99f5342be 100644 --- a/pkgs/by-name/sx/sxcs/package.nix +++ b/pkgs/by-name/sx/sxcs/package.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation (finalAttrs: { - name = "sxcs"; + pname = "sxcs"; version = "1.1.0"; src = fetchFromGitea { From 509fcdb1a757aa25f4debc89e61a15bba62c7a45 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0912/1216] source-sans-pro: use pname instead of name --- pkgs/by-name/so/source-sans-pro/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/so/source-sans-pro/package.nix b/pkgs/by-name/so/source-sans-pro/package.nix index c5c930ef598d..fe0020d3b2dd 100644 --- a/pkgs/by-name/so/source-sans-pro/package.nix +++ b/pkgs/by-name/so/source-sans-pro/package.nix @@ -10,7 +10,7 @@ # with older documents/templates/etc. stdenvNoCC.mkDerivation rec { - name = "source-sans-pro-${version}"; + pname = "source-sans-pro"; version = "3.006"; src = fetchzip { From fd940bf1818c81110350d5373973c6596befabc4 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0913/1216] sigtop: use pname instead of name --- pkgs/by-name/si/sigtop/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/si/sigtop/package.nix b/pkgs/by-name/si/sigtop/package.nix index 8bfb19c9507d..8a4be7818da2 100644 --- a/pkgs/by-name/si/sigtop/package.nix +++ b/pkgs/by-name/si/sigtop/package.nix @@ -7,7 +7,7 @@ }: buildGoModule rec { - name = "sigtop"; + pname = "sigtop"; version = "0.22.0"; src = fetchFromGitHub { From dc0b3af0c278fdb6f335c70062294227850f5b5c Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0914/1216] ruqola: use pname instead of name --- pkgs/by-name/ru/ruqola/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ru/ruqola/package.nix b/pkgs/by-name/ru/ruqola/package.nix index 2a03a976669b..37b5cec331ed 100644 --- a/pkgs/by-name/ru/ruqola/package.nix +++ b/pkgs/by-name/ru/ruqola/package.nix @@ -10,7 +10,7 @@ }: stdenv.mkDerivation (finalAttrs: { - name = "ruqola"; + pname = "ruqola"; version = "2.5.1"; src = fetchFromGitLab { From ec3a7bc9ad2a37e4c6b9575ed9e4ac0c3a63eeba Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0915/1216] ropebwt2: use pname instead of name --- pkgs/by-name/ro/ropebwt2/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ro/ropebwt2/package.nix b/pkgs/by-name/ro/ropebwt2/package.nix index 3ef831907e7d..085a2c92374f 100644 --- a/pkgs/by-name/ro/ropebwt2/package.nix +++ b/pkgs/by-name/ro/ropebwt2/package.nix @@ -5,7 +5,7 @@ zlib, }: stdenv.mkDerivation { - name = "ropebwt2"; + pname = "ropebwt2"; version = "0-unstable-2021-02-01"; src = fetchFromGitHub { owner = "lh3"; From 9d65d0c28508016a5f7d538c718db3e51ac5b2eb Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0916/1216] libgnunetchat: use pname instead of name --- pkgs/by-name/li/libgnunetchat/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libgnunetchat/package.nix b/pkgs/by-name/li/libgnunetchat/package.nix index 01b94d9b6719..b95abd3d415a 100644 --- a/pkgs/by-name/li/libgnunetchat/package.nix +++ b/pkgs/by-name/li/libgnunetchat/package.nix @@ -15,7 +15,7 @@ }: stdenv.mkDerivation (finalAttrs: { - name = "libgnunetchat"; + pname = "libgnunetchat"; version = "0.6.0"; src = fetchgit { From d84f007eb53f6e52e04557235c6b3798e4c7ffb8 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0917/1216] libdjinterop: use pname instead of name --- pkgs/by-name/li/libdjinterop/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libdjinterop/package.nix b/pkgs/by-name/li/libdjinterop/package.nix index 00bb024af7d3..39a567f33569 100644 --- a/pkgs/by-name/li/libdjinterop/package.nix +++ b/pkgs/by-name/li/libdjinterop/package.nix @@ -12,7 +12,7 @@ }: stdenv.mkDerivation (finalAttrs: { - name = "libdjinterop"; + pname = "libdjinterop"; version = "0.26.1"; From 95d074ab6da6b5a4714e301aaf51858a1f12d3f6 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0918/1216] libcsa: use pname instead of name --- pkgs/by-name/li/libcsa/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libcsa/package.nix b/pkgs/by-name/li/libcsa/package.nix index a63ca0f55ea0..4b4dfb8635b8 100644 --- a/pkgs/by-name/li/libcsa/package.nix +++ b/pkgs/by-name/li/libcsa/package.nix @@ -5,7 +5,7 @@ unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { - name = "csa"; + pname = "csa"; version = "1.26-unstable-2024-03-22"; src = fetchFromGitHub { From bbddb57c8dbb4a884fbb95d918e7afbebbcd43ab Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0919/1216] libclipboard: use pname instead of name --- pkgs/by-name/li/libclipboard/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libclipboard/package.nix b/pkgs/by-name/li/libclipboard/package.nix index d2cad0072f8b..b58a54f0e8e0 100644 --- a/pkgs/by-name/li/libclipboard/package.nix +++ b/pkgs/by-name/li/libclipboard/package.nix @@ -10,7 +10,7 @@ }: stdenv.mkDerivation (finalAttrs: { - name = "libclipboard"; + pname = "libclipboard"; version = "1.1"; src = fetchFromGitHub { From 7685f83e6c4d859a8e3fadaf937c8f0512e01af4 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0920/1216] lib45d: use pname instead of name --- pkgs/by-name/li/lib45d/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/lib45d/package.nix b/pkgs/by-name/li/lib45d/package.nix index 26c1a86711c9..33dcb2aa08e9 100644 --- a/pkgs/by-name/li/lib45d/package.nix +++ b/pkgs/by-name/li/lib45d/package.nix @@ -5,7 +5,7 @@ lib, }: stdenv.mkDerivation (finalAttrs: { - name = "lib45d"; + pname = "lib45d"; version = "0.3.6"; src = fetchFromGitHub { owner = "45Drives"; From 0566a19c2bd62e96af50ad5d15c9603ab8101946 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0921/1216] bork: use pname instead of name --- pkgs/by-name/bo/bork/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bo/bork/package.nix b/pkgs/by-name/bo/bork/package.nix index d3b22a18a342..c2de996fe2af 100644 --- a/pkgs/by-name/bo/bork/package.nix +++ b/pkgs/by-name/bo/bork/package.nix @@ -11,7 +11,7 @@ let zig = zig_0_14; in stdenvNoCC.mkDerivation { - name = "bork"; + pname = "bork"; version = "0.4.0-unstable-2025-04-18"; src = fetchFromGitHub { From 8624cec10d12b6e582adcf56483c0c214b871611 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0922/1216] bigqemu: use pname instead of name --- pkgs/by-name/bi/bigpemu/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bi/bigpemu/package.nix b/pkgs/by-name/bi/bigpemu/package.nix index 320783d687ae..6a617a03e8a3 100644 --- a/pkgs/by-name/bi/bigpemu/package.nix +++ b/pkgs/by-name/bi/bigpemu/package.nix @@ -27,7 +27,7 @@ let }; in buildFHSEnv { - name = "bigpemu"; + pname = "bigpemu"; version = bigpemu-unwrapped.version; targetPkgs = pkgs: [ glui From e2c9a650fbbe0aa7be3a45442a02cfa73a1df75c Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0923/1216] autotier: use pname instead of name --- pkgs/by-name/au/autotier/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/au/autotier/package.nix b/pkgs/by-name/au/autotier/package.nix index c3d71559d920..5869026758de 100644 --- a/pkgs/by-name/au/autotier/package.nix +++ b/pkgs/by-name/au/autotier/package.nix @@ -13,7 +13,7 @@ installShellFiles, }: stdenv.mkDerivation (finalAttrs: { - name = "autotier"; + pname = "autotier"; version = "1.2.0"; src = fetchFromGitHub { owner = "45Drives"; From a187960f329c08d6f3fd6a79515f5b5a6ad1d233 Mon Sep 17 00:00:00 2001 From: Petr Portnov Date: Thu, 22 Jan 2026 11:26:21 +0300 Subject: [PATCH 0924/1216] toml2nix: use finalAttrs --- pkgs/by-name/to/toml2nix/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/toml2nix/package.nix b/pkgs/by-name/to/toml2nix/package.nix index 8623b2391745..0db138fb7075 100644 --- a/pkgs/by-name/to/toml2nix/package.nix +++ b/pkgs/by-name/to/toml2nix/package.nix @@ -4,12 +4,12 @@ fetchCrate, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "toml2nix"; version = "0.1.1"; src = fetchCrate { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-YhluLS4tFMibFrDzgIvNtfjM5dAqJQvygeZocKn3+Jg="; }; @@ -29,4 +29,4 @@ rustPlatform.buildRustPackage rec { ]; maintainers = [ lib.maintainers.progrm_jarvis ]; }; -} +}) From d5cd2c42c0221728be875ac7cffeb23730b3c968 Mon Sep 17 00:00:00 2001 From: Petr Portnov Date: Thu, 22 Jan 2026 11:27:05 +0300 Subject: [PATCH 0925/1216] toml2nix: add nix-update-script --- pkgs/by-name/to/toml2nix/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/to/toml2nix/package.nix b/pkgs/by-name/to/toml2nix/package.nix index 0db138fb7075..441d7f45a4a7 100644 --- a/pkgs/by-name/to/toml2nix/package.nix +++ b/pkgs/by-name/to/toml2nix/package.nix @@ -2,6 +2,7 @@ lib, rustPlatform, fetchCrate, + nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -19,6 +20,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ln -s ${./Cargo.lock} Cargo.lock ''; + passthru.updateScript = nix-update-script { }; meta = { description = "Tool to convert TOML files to Nix expressions"; mainProgram = "toml2nix"; From cab0fa9a551723517d91ff206e9c9c6bb25c0428 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 0926/1216] serenityos-emoji-font: use pname instead of name --- pkgs/by-name/se/serenityos-emoji-font/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/se/serenityos-emoji-font/package.nix b/pkgs/by-name/se/serenityos-emoji-font/package.nix index 37e9fb9b450f..db416bd2290b 100644 --- a/pkgs/by-name/se/serenityos-emoji-font/package.nix +++ b/pkgs/by-name/se/serenityos-emoji-font/package.nix @@ -10,7 +10,7 @@ let pixart2svg = stdenvNoCC.mkDerivation { - name = "pixart2svg"; + pname = "pixart2svg"; version = "0-unstable-2021-07-18"; src = fetchzip { @@ -51,7 +51,7 @@ let in stdenvNoCC.mkDerivation { - name = "serenityos-emoji-font"; + pname = "serenityos-emoji-font"; version = "0-unstable-2025-05-31"; src = fetchFromGitHub { From 80cd6f9f254b860a676bc0ddeec5a231b9d0f23b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:35:46 +0000 Subject: [PATCH 0927/1216] python3Packages.securityreporter: 1.3.0 -> 1.4.0 --- pkgs/development/python-modules/securityreporter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/securityreporter/default.nix b/pkgs/development/python-modules/securityreporter/default.nix index 0eed5cf1a62d..a71ba187ac62 100644 --- a/pkgs/development/python-modules/securityreporter/default.nix +++ b/pkgs/development/python-modules/securityreporter/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "securityreporter"; - version = "1.3.0"; + version = "1.4.0"; pyproject = true; src = fetchFromGitHub { owner = "dongit-org"; repo = "python-reporter"; tag = "v${version}"; - hash = "sha256-YvUDgsKM0JUajp8JAR2vj30QsNtcGvADGCZ791ZZD/8="; + hash = "sha256-bM11ztDd7Zg0O2+yGn9ZxKSo3B8nvhqUHSmdea/6sTg="; }; postPatch = '' From 77be50b9bdd061e4587c0b8de4b3d8454c77d114 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Tue, 20 Jan 2026 12:44:04 +0100 Subject: [PATCH 0928/1216] ghc: enable object determinism by default This is particularly relevant for us because we include objects in haskell derivation outputs, and this fixes reproducibility for a significant number of those. Towards #151347 --- pkgs/development/haskell-modules/generic-builder.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 5cebe4aec5d0..1877244aa1a1 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -157,6 +157,7 @@ in coreSetup ? false, # Use only core packages to build Setup.hs. useCpphs ? false, hardeningDisable ? null, + enableObjectDeterminism ? lib.versionAtLeast ghc.version "9.12", enableSeparateBinOutput ? false, enableSeparateDataOutput ? false, enableSeparateDocOutput ? doHaddock, @@ -355,6 +356,9 @@ let (enableFeature (!dontStrip) "library-stripping") (enableFeature (!dontStrip) "executable-stripping") ] + ++ optionals enableObjectDeterminism [ + "--ghc-option=-fobject-determinism" + ] ++ optionals isCross ( [ "--configure-option=--host=${stdenv.hostPlatform.config}" From cae13786dc2bf8bc41222ee069bd2edbc91c7677 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:49:57 +0000 Subject: [PATCH 0929/1216] code-cursor: 2.3.35 -> 2.3.41 --- pkgs/by-name/co/code-cursor/sources.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/co/code-cursor/sources.json b/pkgs/by-name/co/code-cursor/sources.json index 7f11746e2d98..df505ebf3e6e 100644 --- a/pkgs/by-name/co/code-cursor/sources.json +++ b/pkgs/by-name/co/code-cursor/sources.json @@ -1,22 +1,22 @@ { - "version": "2.3.35", + "version": "2.3.41", "vscodeVersion": "1.105.1", "sources": { "x86_64-linux": { - "url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/linux/x64/Cursor-2.3.35-x86_64.AppImage", - "hash": "sha256-o/NIEtSOlUl67g18mWDG4M0thPA4VIfiWudv0Xiov08=" + "url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/linux/x64/Cursor-2.3.41-x86_64.AppImage", + "hash": "sha256-ItUgknMzSDeXxN3Yi/pz2wZoz7vVVqx9nGXuGmbHbXc=" }, "aarch64-linux": { - "url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/linux/arm64/Cursor-2.3.35-aarch64.AppImage", - "hash": "sha256-2l9ppSze2nkvAfszblkhMSl+QhGENNe62AlgCcXBhfM=" + "url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/linux/arm64/Cursor-2.3.41-aarch64.AppImage", + "hash": "sha256-0D0IbkUyvCyCbf8apO7WG3KrcCEgv2TLNRjFOD8mcgU=" }, "x86_64-darwin": { - "url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/darwin/x64/Cursor-darwin-x64.dmg", - "hash": "sha256-Jl6t4oHC6nqOGDKUvvfViPgKJzpG2vpvht4JMBLHzVk=" + "url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/darwin/x64/Cursor-darwin-x64.dmg", + "hash": "sha256-/GcQppfoBS9rIksQ/wYYH9Is7Sw2ZnjoW1Tk0hN8Y7g=" }, "aarch64-darwin": { - "url": "https://downloads.cursor.com/production/cf8353edc265f5e46b798bfb276861d0bf3bf129/darwin/arm64/Cursor-darwin-arm64.dmg", - "hash": "sha256-ZHxvA+iDluib9PLl5ilthdd0Z+xT+w9OSD25vySc9wI=" + "url": "https://downloads.cursor.com/production/2ca326e0d1ce10956aea33d54c0e2d8c13c58a32/darwin/arm64/Cursor-darwin-arm64.dmg", + "hash": "sha256-ejhhXRhNTMh9n2cPkpNC0msk4Z1OFD2EzxwkJYw92XU=" } } } From d9bb201fe4ced45c405c81547590e7ee83e2c7ac Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 07:31:40 +0100 Subject: [PATCH 0930/1216] construo: move to pkgs/by-name this shouldn't create any rebuilds --- .../co/construo/package.nix} | 16 ++++++++++------ pkgs/top-level/all-packages.nix | 14 ++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) rename pkgs/{games/construo/default.nix => by-name/co/construo/package.nix} (69%) diff --git a/pkgs/games/construo/default.nix b/pkgs/by-name/co/construo/package.nix similarity index 69% rename from pkgs/games/construo/default.nix rename to pkgs/by-name/co/construo/package.nix index 77c6d9b272f6..4cbf18d1abf3 100644 --- a/pkgs/games/construo/default.nix +++ b/pkgs/by-name/co/construo/package.nix @@ -5,9 +5,12 @@ libX11, zlib, xorgproto, - libGL ? null, - libGLU ? null, - libglut ? null, + withLibGL ? !stdenv.hostPlatform.isDarwin, + libGL, + withLibGLU ? !stdenv.hostPlatform.isDarwin, + libGLU, + withLibglut ? !stdenv.hostPlatform.isDarwin, + libglut, }: stdenv.mkDerivation rec { @@ -24,9 +27,9 @@ stdenv.mkDerivation rec { zlib xorgproto ] - ++ lib.optional (libGL != null) libGL - ++ lib.optional (libGLU != null) libGLU - ++ lib.optional (libglut != null) libglut; + ++ lib.optional withLibGL libGL + ++ lib.optional withLibGLU libGLU + ++ lib.optional withLibglut libglut; preConfigure = '' substituteInPlace src/Makefile.in \ @@ -38,5 +41,6 @@ stdenv.mkDerivation rec { mainProgram = "construo.x11"; homepage = "http://fs.fsf.org/construo/"; license = lib.licenses.gpl3; + priority = 10; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7016f677632..ea050fde2cde 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12193,16 +12193,10 @@ with pkgs; cataclysm-dda-git = cataclysmDDA.git.tiles; - construoBase = lowPrio ( - callPackage ../games/construo { - libGL = null; - libGLU = null; - libglut = null; - } - ); - - construo = construoBase.override { - inherit libGL libGLU libglut; + construoBase = construo.override { + withLibGL = false; + withLibGLU = false; + withLibglut = false; }; crawlTiles = callPackage ../by-name/cr/crawl/package.nix { From ae6b3ca429cb8e1fa8284ab84b10c4bfccedd019 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 07:39:22 +0100 Subject: [PATCH 0931/1216] curseofwar: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/cu/curseofwar/package.nix} | 7 ++++--- pkgs/top-level/all-packages.nix | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) rename pkgs/{games/curseofwar/default.nix => by-name/cu/curseofwar/package.nix} (80%) diff --git a/pkgs/games/curseofwar/default.nix b/pkgs/by-name/cu/curseofwar/package.nix similarity index 80% rename from pkgs/games/curseofwar/default.nix rename to pkgs/by-name/cu/curseofwar/package.nix index a6f411ca53ce..42760add1d98 100644 --- a/pkgs/games/curseofwar/default.nix +++ b/pkgs/by-name/cu/curseofwar/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + withSDL ? false, ncurses, SDL, }: @@ -19,10 +20,10 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ ncurses - SDL + (if withSDL then SDL else null) ]; - makeFlags = (lib.optionals (SDL != null) [ "SDL=yes" ]) ++ [ + makeFlags = (lib.optional withSDL "SDL=yes") ++ [ "PREFIX=$(out)" # force platform's cc on darwin, otherwise gcc is used "CC=${stdenv.cc.targetPrefix}cc" @@ -32,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Fast-paced action strategy game"; homepage = "https://a-nikolaev.github.io/curseofwar/"; license = lib.licenses.gpl3; - mainProgram = if SDL != null then "curseofwar-sdl" else "curseofwar"; + mainProgram = if withSDL then "curseofwar-sdl" else "curseofwar"; maintainers = with lib.maintainers; [ fgaz ]; platforms = lib.platforms.all; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ea050fde2cde..c1511cad7e5a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12203,8 +12203,10 @@ with pkgs; tileMode = true; }; - curseofwar = callPackage ../games/curseofwar { SDL = null; }; - curseofwar-sdl = callPackage ../games/curseofwar { ncurses = null; }; + curseofwar-sdl = curseofwar.override { + withSDL = true; + ncurses = null; + }; ddnet-server = ddnet.override { buildClient = false; }; From 76f36f80355bd3eb11d0020aae25c075f39e2106 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:50:10 +0000 Subject: [PATCH 0932/1216] python3Packages.pytapo: 3.3.54 -> 3.3.56 --- pkgs/development/python-modules/pytapo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytapo/default.nix b/pkgs/development/python-modules/pytapo/default.nix index c5e6e3196104..7901d5b13d9c 100644 --- a/pkgs/development/python-modules/pytapo/default.nix +++ b/pkgs/development/python-modules/pytapo/default.nix @@ -12,12 +12,12 @@ buildPythonPackage rec { pname = "pytapo"; - version = "3.3.54"; + version = "3.3.56"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-B31PTYqXFzLkn/YuFbq0G7SDA1wMqAcwGOaj3xfmxYA="; + hash = "sha256-Cx3X0C8CiTixEdepj0bQViSMQJ65bVTRrZuMnPO/ys8="; }; build-system = [ setuptools ]; From 1b86376d8886fcfb9815abfb2ffd1a0a9689307e Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 07:58:24 +0100 Subject: [PATCH 0933/1216] openttd{,-jgrpp,-grfcodec,nml}: move to pkgs/by-name this shouldn't create any rebuilds --- .../op/openttd-grfcodec/package.nix} | 0 .../op/openttd-jgrpp/package.nix} | 1 - .../nml.nix => by-name/op/openttd-nml/package.nix} | 0 .../default.nix => by-name/op/openttd/package.nix} | 3 ++- pkgs/top-level/all-packages.nix | 13 ------------- 5 files changed, 2 insertions(+), 15 deletions(-) rename pkgs/{games/openttd/grfcodec.nix => by-name/op/openttd-grfcodec/package.nix} (100%) rename pkgs/{games/openttd/jgrpp.nix => by-name/op/openttd-jgrpp/package.nix} (99%) rename pkgs/{games/openttd/nml.nix => by-name/op/openttd-nml/package.nix} (100%) rename pkgs/{games/openttd/default.nix => by-name/op/openttd/package.nix} (98%) diff --git a/pkgs/games/openttd/grfcodec.nix b/pkgs/by-name/op/openttd-grfcodec/package.nix similarity index 100% rename from pkgs/games/openttd/grfcodec.nix rename to pkgs/by-name/op/openttd-grfcodec/package.nix diff --git a/pkgs/games/openttd/jgrpp.nix b/pkgs/by-name/op/openttd-jgrpp/package.nix similarity index 99% rename from pkgs/games/openttd/jgrpp.nix rename to pkgs/by-name/op/openttd-jgrpp/package.nix index e875fcf8956b..edb4f837ce72 100644 --- a/pkgs/games/openttd/jgrpp.nix +++ b/pkgs/by-name/op/openttd-jgrpp/package.nix @@ -2,7 +2,6 @@ fetchFromGitHub, openttd, zstd, - ... }: openttd.overrideAttrs (oldAttrs: rec { diff --git a/pkgs/games/openttd/nml.nix b/pkgs/by-name/op/openttd-nml/package.nix similarity index 100% rename from pkgs/games/openttd/nml.nix rename to pkgs/by-name/op/openttd-nml/package.nix diff --git a/pkgs/games/openttd/default.nix b/pkgs/by-name/op/openttd/package.nix similarity index 98% rename from pkgs/games/openttd/default.nix rename to pkgs/by-name/op/openttd/package.nix index 90a4948960e6..14a83510f6b0 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/by-name/op/openttd/package.nix @@ -8,6 +8,7 @@ SDL2, libpng, zlib, + zlib' ? zlib.override { static = true; }, xz, freetype, fontconfig, @@ -87,7 +88,7 @@ stdenv.mkDerivation (finalAttrs: { SDL2 libpng xz - zlib + zlib' freetype fontconfig curl diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1511cad7e5a..93df76c8b22c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12345,19 +12345,6 @@ with pkgs; openra = openraPackages.engines.release; - openttd = callPackage ../games/openttd { - zlib = zlib.override { - static = true; - }; - }; - openttd-jgrpp = callPackage ../games/openttd/jgrpp.nix { - zlib = zlib.override { - static = true; - }; - }; - openttd-grfcodec = callPackage ../games/openttd/grfcodec.nix { }; - openttd-nml = callPackage ../games/openttd/nml.nix { }; - openxray = callPackage ../games/openxray { # Builds with Clang, but hits an assertion failure unless GCC is used # https://github.com/OpenXRay/xray-16/issues/1224 From eaf317aa64cb2654d752d067d8d9e69354b8b4d4 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:02:19 +0100 Subject: [PATCH 0934/1216] openxray: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/op/openxray/package.nix} | 8 ++++++-- pkgs/top-level/all-packages.nix | 6 ------ 2 files changed, 6 insertions(+), 8 deletions(-) rename pkgs/{games/openxray/default.nix => by-name/op/openxray/package.nix} (93%) diff --git a/pkgs/games/openxray/default.nix b/pkgs/by-name/op/openxray/package.nix similarity index 93% rename from pkgs/games/openxray/default.nix rename to pkgs/by-name/op/openxray/package.nix index 51579c472311..2881f39126ca 100644 --- a/pkgs/games/openxray/default.nix +++ b/pkgs/by-name/op/openxray/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + gccStdenv, fetchFromGitHub, gitUpdater, cmake, @@ -15,7 +15,11 @@ pcre, makeWrapper, }: - +let + # Builds with Clang, but hits an assertion failure unless GCC is used + # https://github.com/OpenXRay/xray-16/issues/1224 + stdenv = gccStdenv; +in stdenv.mkDerivation (finalAttrs: { pname = "openxray"; version = "2921-january-2025-rc1"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93df76c8b22c..a9db1b475a7a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12345,12 +12345,6 @@ with pkgs; openra = openraPackages.engines.release; - openxray = callPackage ../games/openxray { - # Builds with Clang, but hits an assertion failure unless GCC is used - # https://github.com/OpenXRay/xray-16/issues/1224 - stdenv = gccStdenv; - }; - papermcServers = callPackages ../games/papermc { }; papermc = papermcServers.papermc; From a556751ebb99011ab6ec786637aea5b18a8d27f4 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:05:12 +0100 Subject: [PATCH 0935/1216] pentobi: move to pkgs/by-name this shouldn't create any rebuilds --- .../pe/pentobi/package.nix} | 21 +++++++------------ pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 7 insertions(+), 16 deletions(-) rename pkgs/{games/pentobi/default.nix => by-name/pe/pentobi/package.nix} (85%) diff --git a/pkgs/games/pentobi/default.nix b/pkgs/by-name/pe/pentobi/package.nix similarity index 85% rename from pkgs/games/pentobi/default.nix rename to pkgs/by-name/pe/pentobi/package.nix index 657891db9af6..816a3901cd7a 100644 --- a/pkgs/games/pentobi/default.nix +++ b/pkgs/by-name/pe/pentobi/package.nix @@ -1,22 +1,15 @@ { lib, - mkDerivation, + qt5, appstream, fetchFromGitHub, cmake, - gettext, - libxslt, librsvg, itstool, - qtbase, - qtquickcontrols2, - qtsvg, - qttools, - qtwebview, docbook_xsl, }: -mkDerivation rec { +qt5.mkDerivation rec { version = "20.0"; pname = "pentobi"; @@ -30,14 +23,14 @@ mkDerivation rec { nativeBuildInputs = [ cmake docbook_xsl - qttools + qt5.qttools ]; buildInputs = [ appstream - qtbase - qtsvg - qtquickcontrols2 - qtwebview + qt5.qtbase + qt5.qtsvg + qt5.qtquickcontrols2 + qt5.qtwebview itstool librsvg ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a9db1b475a7a..4456a23934ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12349,8 +12349,6 @@ with pkgs; papermc = papermcServers.papermc; - pentobi = libsForQt5.callPackage ../games/pentobi { }; - pokerth = libsForQt5.callPackage ../games/pokerth { protobuf = protobuf_21; }; From 40391446cde76d109cf9ec530a3992b4b8a23108 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:09:18 +0100 Subject: [PATCH 0936/1216] pokerth: move to pkgs/by-name this shouldn't create any rebuilds --- .../po/pokerth/package.nix} | 16 +++++++--------- pkgs/top-level/all-packages.nix | 9 +-------- 2 files changed, 8 insertions(+), 17 deletions(-) rename pkgs/{games/pokerth/default.nix => by-name/po/pokerth/package.nix} (94%) diff --git a/pkgs/games/pokerth/default.nix b/pkgs/by-name/po/pokerth/package.nix similarity index 94% rename from pkgs/games/pokerth/default.nix rename to pkgs/by-name/po/pokerth/package.nix index 9f2df261d8e2..39b70fbd9f18 100644 --- a/pkgs/games/pokerth/default.nix +++ b/pkgs/by-name/po/pokerth/package.nix @@ -1,10 +1,8 @@ { lib, - mkDerivation, + qt5, fetchFromGitHub, fetchpatch, - qmake, - qtbase, SDL, SDL_mixer, boost181, @@ -12,18 +10,18 @@ gsasl, libgcrypt, libircclient, - protobuf, + protobuf_21, sqlite, - wrapQtAppsHook, tinyxml, target ? "client", }: let boost = boost181; + protobuf = protobuf_21; in -mkDerivation rec { +qt5.mkDerivation rec { pname = "pokerth-${target}"; version = "1.1.2"; @@ -62,8 +60,8 @@ mkDerivation rec { ''; nativeBuildInputs = [ - qmake - wrapQtAppsHook + qt5.qmake + qt5.wrapQtAppsHook ]; buildInputs = [ @@ -75,7 +73,7 @@ mkDerivation rec { libgcrypt libircclient protobuf - qtbase + qt5.qtbase sqlite tinyxml ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4456a23934ab..7b779e18478d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12349,14 +12349,7 @@ with pkgs; papermc = papermcServers.papermc; - pokerth = libsForQt5.callPackage ../games/pokerth { - protobuf = protobuf_21; - }; - - pokerth-server = libsForQt5.callPackage ../games/pokerth { - target = "server"; - protobuf = protobuf_21; - }; + pokerth-server = pokerth.override { target = "server"; }; inherit (import ../games/quake3 pkgs.callPackage) quake3wrapper From 4d83050a1f80f6fab8f741c02294cc47c4c1fbce Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:20:44 +0100 Subject: [PATCH 0937/1216] authelia: move to pkgs/by-name this shouldn't create any rebuilds --- ci/OWNERS | 2 +- .../authelia/default.nix => by-name/au/authelia/package.nix} | 4 +++- pkgs/{servers => by-name/au}/authelia/sources.nix | 0 pkgs/{servers => by-name/au}/authelia/update.sh | 0 pkgs/{servers => by-name/au}/authelia/web.nix | 0 pkgs/top-level/all-packages.nix | 4 ---- 6 files changed, 4 insertions(+), 6 deletions(-) rename pkgs/{servers/authelia/default.nix => by-name/au/authelia/package.nix} (98%) rename pkgs/{servers => by-name/au}/authelia/sources.nix (100%) rename pkgs/{servers => by-name/au}/authelia/update.sh (100%) rename pkgs/{servers => by-name/au}/authelia/web.nix (100%) diff --git a/ci/OWNERS b/ci/OWNERS index 93fc4a0f2745..adbef188a8f8 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -504,7 +504,7 @@ pkgs/development/interpreters/elixir/ @NixOS/beam pkgs/development/interpreters/lfe/ @NixOS/beam # Authelia -pkgs/servers/authelia/ @06kellyjac @dit7ya @nicomem +pkgs/by-name/au/authelia/ @06kellyjac @dit7ya @nicomem # OctoDNS pkgs/by-name/oc/octodns/ @anthonyroussel diff --git a/pkgs/servers/authelia/default.nix b/pkgs/by-name/au/authelia/package.nix similarity index 98% rename from pkgs/servers/authelia/default.nix rename to pkgs/by-name/au/authelia/package.nix index 8674cc2b00da..c4a5275c7e69 100644 --- a/pkgs/servers/authelia/default.nix +++ b/pkgs/by-name/au/authelia/package.nix @@ -6,7 +6,7 @@ pnpmConfigHook, pnpm, fetchFromGitHub, - buildGoModule, + buildGo124Module, installShellFiles, callPackage, nixosTests, @@ -22,6 +22,8 @@ }: let + buildGoModule = buildGo124Module; + inherit (import ./sources.nix { inherit fetchFromGitHub; }) pname version diff --git a/pkgs/servers/authelia/sources.nix b/pkgs/by-name/au/authelia/sources.nix similarity index 100% rename from pkgs/servers/authelia/sources.nix rename to pkgs/by-name/au/authelia/sources.nix diff --git a/pkgs/servers/authelia/update.sh b/pkgs/by-name/au/authelia/update.sh similarity index 100% rename from pkgs/servers/authelia/update.sh rename to pkgs/by-name/au/authelia/update.sh diff --git a/pkgs/servers/authelia/web.nix b/pkgs/by-name/au/authelia/web.nix similarity index 100% rename from pkgs/servers/authelia/web.nix rename to pkgs/by-name/au/authelia/web.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b779e18478d..8ff117dd491b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1450,10 +1450,6 @@ with pkgs; arpack-mpi = arpack.override { useMpi = true; }; - authelia = callPackage ../servers/authelia { - buildGoModule = buildGo124Module; - }; - authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { }); autoflake = with python3.pkgs; toPythonApplication autoflake; From 4a4b14536d4b4819ab124ccf985bbfbc39719eb6 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:25:11 +0100 Subject: [PATCH 0938/1216] code-server: move to pkgs/by-name this shouldn't create any rebuilds --- .../co}/code-server/build-vscode-nogit.patch | 0 .../default.nix => by-name/co/code-server/package.nix} | 6 +++--- .../co}/code-server/remove-node-download.patch | 0 pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 3 insertions(+), 7 deletions(-) rename pkgs/{servers => by-name/co}/code-server/build-vscode-nogit.patch (100%) rename pkgs/{servers/code-server/default.nix => by-name/co/code-server/package.nix} (99%) rename pkgs/{servers => by-name/co}/code-server/remove-node-download.patch (100%) diff --git a/pkgs/servers/code-server/build-vscode-nogit.patch b/pkgs/by-name/co/code-server/build-vscode-nogit.patch similarity index 100% rename from pkgs/servers/code-server/build-vscode-nogit.patch rename to pkgs/by-name/co/code-server/build-vscode-nogit.patch diff --git a/pkgs/servers/code-server/default.nix b/pkgs/by-name/co/code-server/package.nix similarity index 99% rename from pkgs/servers/code-server/default.nix rename to pkgs/by-name/co/code-server/package.nix index 2494fa1e5e11..a6fbb49d73d2 100644 --- a/pkgs/servers/code-server/default.nix +++ b/pkgs/by-name/co/code-server/package.nix @@ -13,7 +13,7 @@ yarn, python3, esbuild, - nodejs, + nodejs_20, node-gyp, libsecret, xorg, @@ -27,7 +27,7 @@ let system = stdenv.hostPlatform.system; - python = python3; + nodejs = nodejs_20; yarn' = yarn.override { inherit nodejs; }; defaultYarnOpts = [ ]; @@ -126,7 +126,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs yarn' - python + python3 pkg-config makeWrapper git diff --git a/pkgs/servers/code-server/remove-node-download.patch b/pkgs/by-name/co/code-server/remove-node-download.patch similarity index 100% rename from pkgs/servers/code-server/remove-node-download.patch rename to pkgs/by-name/co/code-server/remove-node-download.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ff117dd491b..acf58b40a899 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11850,10 +11850,6 @@ with pkgs; vscode-generic = ../applications/editors/vscode/generic.nix; }; - code-server = callPackage ../servers/code-server { - nodejs = nodejs_20; - }; - kiro = callPackage ../by-name/ki/kiro/package.nix { vscode-generic = ../applications/editors/vscode/generic.nix; }; From 61b1f141c6d481741abfd50f2dc6f90bc17819b1 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:27:57 +0100 Subject: [PATCH 0939/1216] deconz: move to pkgs/by-name this shouldn't create any rebuilds --- .../default.nix => by-name/de/deconz/package.nix} | 10 ++++------ pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 4 insertions(+), 8 deletions(-) rename pkgs/{servers/deconz/default.nix => by-name/de/deconz/package.nix} (95%) diff --git a/pkgs/servers/deconz/default.nix b/pkgs/by-name/de/deconz/package.nix similarity index 95% rename from pkgs/servers/deconz/default.nix rename to pkgs/by-name/de/deconz/package.nix index d7ea9aeb32e7..e50f106b63a2 100644 --- a/pkgs/servers/deconz/default.nix +++ b/pkgs/by-name/de/deconz/package.nix @@ -2,11 +2,9 @@ stdenv, lib, fetchurl, - wrapQtAppsHook, + qt5, dpkg, autoPatchelfHook, - qtserialport, - qtwebsockets, openssl, libredirect, makeWrapper, @@ -28,12 +26,12 @@ stdenv.mkDerivation rec { dpkg autoPatchelfHook makeWrapper - wrapQtAppsHook + qt5.wrapQtAppsHook ]; buildInputs = [ - qtserialport - qtwebsockets + qt5.qtserialport + qt5.qtwebsockets openssl ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index acf58b40a899..9a9c2d369631 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8575,8 +8575,6 @@ with pkgs; dcnnt = python3Packages.callPackage ../servers/dcnnt { }; - deconz = qt5.callPackage ../servers/deconz { }; - dict = callPackage ../servers/dict { flex = flex_2_5_35; libmaa = callPackage ../servers/dict/libmaa.nix { }; From 0ba4ce499384e5488ff2107816d6f0fbab805d5f Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 08:31:14 +0100 Subject: [PATCH 0940/1216] diod: move to pkgs/by-name this shouldn't create any rebuilds --- .../diod/default.nix => by-name/di/diod/package.nix} | 6 ++++-- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) rename pkgs/{servers/diod/default.nix => by-name/di/diod/package.nix} (96%) diff --git a/pkgs/servers/diod/default.nix b/pkgs/by-name/di/diod/package.nix similarity index 96% rename from pkgs/servers/diod/default.nix rename to pkgs/by-name/di/diod/package.nix index 32c9af05dd7b..bbc3c89e6e1d 100644 --- a/pkgs/servers/diod/default.nix +++ b/pkgs/by-name/di/diod/package.nix @@ -5,12 +5,14 @@ autoreconfHook, pkg-config, munge, - lua, + lua5_1, libcap, perl, ncurses, }: - +let + lua = lua5_1; +in stdenv.mkDerivation rec { pname = "diod"; version = "1.1.0"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a9c2d369631..3dafa553e1c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8584,8 +8584,6 @@ with pkgs; dictDBCollector = callPackage ../servers/dict/dictd-db-collector.nix { }; - diod = callPackage ../servers/diod { lua = lua5_1; }; - dodgy = with python3Packages; toPythonApplication dodgy; prosody = callPackage ../servers/xmpp/prosody { From 381dfe4525aef3c913d092bcac7534e95469cde8 Mon Sep 17 00:00:00 2001 From: Ming-Chuan Date: Thu, 22 Jan 2026 16:55:13 +0800 Subject: [PATCH 0941/1216] opencc: patch CVE-2025-15536 --- pkgs/by-name/op/opencc/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/op/opencc/package.nix b/pkgs/by-name/op/opencc/package.nix index 820da80aa8dd..c156b9ca79ac 100644 --- a/pkgs/by-name/op/opencc/package.nix +++ b/pkgs/by-name/op/opencc/package.nix @@ -31,6 +31,11 @@ stdenv.mkDerivation rec { url = "https://github.com/BYVoid/OpenCC/commit/72cae18cfe4272f2b11c9ec1c44d6af7907abcab.patch"; hash = "sha256-Cd95AsW/tLk2l8skxqfEfQUm0t23G4ocoirauwMbuwk="; }) + (fetchpatch { + name = "CVE-2025-15536.patch"; + url = "https://github.com/BYVoid/OpenCC/commit/345c9a50ab07018f1b4439776bad78a0d40778ec.patch"; + hash = "sha256-lwzVRcCkMjHniaOQeoicO9fpEhyku2yhiPREk0WoXVM="; + }) ]; nativeBuildInputs = [ From a0f158cfd4dde38480109314d0cf66984fe2935d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:55:16 +0000 Subject: [PATCH 0942/1216] python3Packages.quantities: 0.16.2 -> 0.16.4 --- pkgs/development/python-modules/quantities/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/quantities/default.nix b/pkgs/development/python-modules/quantities/default.nix index 9b2eb27f6093..353e3c0972f0 100644 --- a/pkgs/development/python-modules/quantities/default.nix +++ b/pkgs/development/python-modules/quantities/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "quantities"; - version = "0.16.2"; + version = "0.16.4"; pyproject = true; src = fetchFromGitHub { owner = "python-quantities"; repo = "python-quantities"; tag = "v${version}"; - hash = "sha256-6Kl7TiSCSDtMjRKMNVweoGJ1y8kmo1j4SY0tikyAozs="; + hash = "sha256-a+UtNvcnQr4z87tpidx99u46M2H+EKtQ1EzIG5zQnmI="; }; build-system = [ From 9606b30ecd97e7acc8396ee0d89580055c5aab32 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 10:04:40 +0100 Subject: [PATCH 0943/1216] felix{,_remoteshell}: move to pkgs/by-name this shouldn't create any rebuilds --- .../felix/default.nix => by-name/fe/felix/package.nix} | 0 .../fe/felix_remoteshell/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 4 deletions(-) rename pkgs/{servers/felix/default.nix => by-name/fe/felix/package.nix} (100%) rename pkgs/{servers/felix/remoteshell.nix => by-name/fe/felix_remoteshell/package.nix} (100%) diff --git a/pkgs/servers/felix/default.nix b/pkgs/by-name/fe/felix/package.nix similarity index 100% rename from pkgs/servers/felix/default.nix rename to pkgs/by-name/fe/felix/package.nix diff --git a/pkgs/servers/felix/remoteshell.nix b/pkgs/by-name/fe/felix_remoteshell/package.nix similarity index 100% rename from pkgs/servers/felix/remoteshell.nix rename to pkgs/by-name/fe/felix_remoteshell/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3dafa553e1c6..86fc01636272 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8591,10 +8591,6 @@ with pkgs; withExtraLuaPackages = _: [ ]; }; - felix = callPackage ../servers/felix { }; - - felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { }; - inherit (callPackages ../servers/firebird { }) firebird_4 firebird_3 From 042481f972ac5caacc937a02ef79e01236459565 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 10:05:06 +0100 Subject: [PATCH 0944/1216] gpm: move to pkgs/by-name this shouldn't create any rebuilds --- pkgs/{servers/gpm/default.nix => by-name/gp/gpm/package.nix} | 2 +- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) rename pkgs/{servers/gpm/default.nix => by-name/gp/gpm/package.nix} (98%) diff --git a/pkgs/servers/gpm/default.nix b/pkgs/by-name/gp/gpm/package.nix similarity index 98% rename from pkgs/servers/gpm/default.nix rename to pkgs/by-name/gp/gpm/package.nix index 7552e6fbf13c..3ab2e882b896 100644 --- a/pkgs/servers/gpm/default.nix +++ b/pkgs/by-name/gp/gpm/package.nix @@ -10,7 +10,7 @@ texinfo, fetchpatch, pkgsStatic, - withNcurses ? true, + withNcurses ? false, ncurses, }: diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 86fc01636272..de165ae87e6e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9276,10 +9276,6 @@ with pkgs; fuse2 = lowPrio (if stdenv.hostPlatform.isDarwin then macfuse-stubs else fusePackages.fuse_2); fuse3 = fusePackages.fuse_3; - gpm = callPackage ../servers/gpm { - withNcurses = false; # Keep curses disabled for lack of value - }; - gpm-ncurses = gpm.override { withNcurses = true; }; btop-cuda = btop.override { cudaSupport = true; }; From cd91697cd34ca7d731c8ede3a537fa62289c8414 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Thu, 22 Jan 2026 10:11:13 +0100 Subject: [PATCH 0945/1216] hockeypuck{,-web}: move to pkgs/by-name this shouldn't create any rebuilds --- .../ho/hockeypuck-web/package.nix} | 9 +++------ .../ho/hockeypuck/package.nix} | 17 +++++++++++------ pkgs/servers/hockeypuck/sources.nix | 16 ---------------- pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 14 insertions(+), 32 deletions(-) rename pkgs/{servers/hockeypuck/web.nix => by-name/ho/hockeypuck-web/package.nix} (75%) rename pkgs/{servers/hockeypuck/server.nix => by-name/ho/hockeypuck/package.nix} (59%) delete mode 100644 pkgs/servers/hockeypuck/sources.nix diff --git a/pkgs/servers/hockeypuck/web.nix b/pkgs/by-name/ho/hockeypuck-web/package.nix similarity index 75% rename from pkgs/servers/hockeypuck/web.nix rename to pkgs/by-name/ho/hockeypuck-web/package.nix index 42fdaf5bff7f..d267bba0f1f4 100644 --- a/pkgs/servers/hockeypuck/web.nix +++ b/pkgs/by-name/ho/hockeypuck-web/package.nix @@ -1,17 +1,14 @@ { stdenv, lib, - fetchFromGitHub, + hockeypuck, nixosTests, }: -let - sources = (import ./sources.nix) { inherit fetchFromGitHub; }; -in stdenv.mkDerivation { - pname = "${sources.pname}-web"; + pname = "hockeypuck-web"; - inherit (sources) version src; + inherit (hockeypuck) version src; dontBuild = true; # We should just copy the web templates diff --git a/pkgs/servers/hockeypuck/server.nix b/pkgs/by-name/ho/hockeypuck/package.nix similarity index 59% rename from pkgs/servers/hockeypuck/server.nix rename to pkgs/by-name/ho/hockeypuck/package.nix index ad5254df27bd..a79bbf3f1186 100644 --- a/pkgs/servers/hockeypuck/server.nix +++ b/pkgs/by-name/ho/hockeypuck/package.nix @@ -5,11 +5,16 @@ nixosTests, }: -let - sources = (import ./sources.nix) { inherit fetchFromGitHub; }; -in -buildGoModule { - inherit (sources) pname version src; +buildGoModule (finalAttrs: { + pname = "hockeypuck"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "hockeypuck"; + repo = "hockeypuck"; + rev = finalAttrs.version; + sha256 = "0da3ffbqck0dr7d89gy2yillp7g9a4ziyjlvrm8vgkkg2fs8dlb1"; + }; modRoot = "src/hockeypuck/"; vendorHash = null; @@ -23,4 +28,4 @@ buildGoModule { license = lib.licenses.agpl3Plus; maintainers = [ ]; }; -} +}) diff --git a/pkgs/servers/hockeypuck/sources.nix b/pkgs/servers/hockeypuck/sources.nix deleted file mode 100644 index b504cd331410..000000000000 --- a/pkgs/servers/hockeypuck/sources.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ fetchFromGitHub }: - -let - pname = "hockeypuck"; - version = "2.1.0"; -in -{ - inherit version pname; - - src = fetchFromGitHub { - owner = pname; - repo = pname; - rev = version; - sha256 = "0da3ffbqck0dr7d89gy2yillp7g9a4ziyjlvrm8vgkkg2fs8dlb1"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index de165ae87e6e..eb5a59d5c51b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2799,10 +2799,6 @@ with pkgs; lua = lua5; }; - hockeypuck = callPackage ../servers/hockeypuck/server.nix { }; - - hockeypuck-web = callPackage ../servers/hockeypuck/web.nix { }; - host = bind.host; hotdoc = python3Packages.callPackage ../development/tools/hotdoc { }; From f23c66b3375bc2245f4e04846a57ef91d4c5c1ee Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Thu, 22 Jan 2026 08:21:34 +0100 Subject: [PATCH 0946/1216] vscode-extensions.anthropic.claude-code: 2.1.11 -> 2.1.15 The VSCode extension no longer ships with resources/native-binary/ directory, so we need to create it before symlinking the claude binary. https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md --- .../vscode/extensions/anthropic.claude-code/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix index 423c440f280c..83ac5f951a49 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -8,11 +8,12 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; - version = "2.1.11"; - hash = "sha256-zqCILYNwBudsEv7+7ZV1YQoPJi30kj5w8suXqAPKORo="; + version = "2.1.15"; + hash = "sha256-BtVxSVp80qlZhMrh872+0DQ7sTskEdP/5p5T7n9jeGU="; }; postInstall = '' + mkdir -p "$out/$installPrefix/resources/native-binary" rm -f "$out/$installPrefix/resources/native-binary/claude"* ln -s "${claude-code}/bin/claude" "$out/$installPrefix/resources/native-binary/claude" ''; From fb10eab196b785b01aff521ede8e4a82f62ca6ba Mon Sep 17 00:00:00 2001 From: Muhammad Falak R Wani Date: Thu, 22 Jan 2026 09:16:41 +0000 Subject: [PATCH 0947/1216] jql: 8.0.9 -> 8.0.10 Diff: https://github.com/yamafaktory/jql/compare/jql-v8.0.9...jql-v8.0.10 Changelog: https://github.com/yamafaktory/jql/releases/tag/jql-v8.0.10 Signed-off-by: Muhammad Falak R Wani --- pkgs/by-name/jq/jql/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/jq/jql/package.nix b/pkgs/by-name/jq/jql/package.nix index e9467c3ddf59..4ceb76fe3b2c 100644 --- a/pkgs/by-name/jq/jql/package.nix +++ b/pkgs/by-name/jq/jql/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "jql"; - version = "8.0.9"; + version = "8.0.10"; src = fetchFromGitHub { owner = "yamafaktory"; repo = "jql"; tag = "jql-v${finalAttrs.version}"; - hash = "sha256-1gkKOOR2mIUKrbVb1BlFxVuskL6y7s6mrI99xTfjjTI="; + hash = "sha256-QKdLKib9cz5TjU3+tKaB+1jD9H7bYXidzruldTO6iuw="; }; - cargoHash = "sha256-7pSvHZqvPW9SXwU0AtQHIjgHQCSKPzrBhNxLY5ZAcMw="; + cargoHash = "sha256-krhy+CLoQyXeYyLHuNYVleSPtEAFKrdf24zDBCGID2Q="; nativeInstallCheckInputs = [ versionCheckHook From 84cb0a93f08ee632ea3c04f54f993a025a7809a9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 09:27:44 +0000 Subject: [PATCH 0948/1216] n64recomp: 0-unstable-2025-12-31 -> 0-unstable-2026-01-17 --- pkgs/by-name/n6/n64recomp/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/n6/n64recomp/package.nix b/pkgs/by-name/n6/n64recomp/package.nix index c39f3a88da23..3ddce615c014 100644 --- a/pkgs/by-name/n6/n64recomp/package.nix +++ b/pkgs/by-name/n6/n64recomp/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "n64recomp"; - version = "0-unstable-2025-12-31"; + version = "0-unstable-2026-01-17"; src = fetchFromGitHub { owner = "N64Recomp"; repo = "N64Recomp"; - rev = "2b6f05688de2abc7d86da5b4a89b84c2c6acbabe"; - hash = "sha256-nf1O4Q6ewNbXG4EuFlY+ckP8335ZAUgpH/ckaB9aEZg="; + rev = "81213c1831fab2521a6a5459c67b63437d67e253"; + hash = "sha256-BfZTmKAXn+9b0lHg0SbTP4/ZTjk7IqvPc78ab8XNFoM="; fetchSubmodules = true; }; From ce3f4a6c05cda47a7298e5feaf88a4136b427d82 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:07:17 +0000 Subject: [PATCH 0949/1216] python3Packages.sagemaker-core: 1.0.73 -> 1.0.74 --- .../python-modules/sagemaker-core/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/sagemaker-core/default.nix b/pkgs/development/python-modules/sagemaker-core/default.nix index 48a7351a4682..14d6a337786d 100644 --- a/pkgs/development/python-modules/sagemaker-core/default.nix +++ b/pkgs/development/python-modules/sagemaker-core/default.nix @@ -26,16 +26,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sagemaker-core"; - version = "1.0.73"; + version = "1.0.74"; pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "sagemaker-core"; - tag = "v${version}"; - hash = "sha256-0pjz5XKiHe4ReDSeDeKpuT9hmv+XkM6ut3AbiWQDAlE="; + tag = "v${finalAttrs.version}"; + hash = "sha256-1wQvytoIMeBpFZfP88CfHXy0sJdg3+D0P7vXcltNAWs="; }; build-system = [ @@ -76,7 +76,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; disabledTestPaths = [ # Tries to import deprecated `sklearn` @@ -89,8 +89,8 @@ buildPythonPackage rec { meta = { description = "Python object-oriented interface for interacting with Amazon SageMaker resources"; homepage = "https://github.com/aws/sagemaker-core"; - changelog = "https://github.com/aws/sagemaker-core/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/aws/sagemaker-core/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) From 646881a98263a836c034fe7fa9096503f1d540bb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 10:57:19 +0100 Subject: [PATCH 0950/1216] python313Packages.iamdata: 0.1.202601211 -> 0.1.202601221 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202601211...v0.1.202601221 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202601221 --- pkgs/development/python-modules/iamdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 711855542852..8fee00aa661b 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202601211"; + version = "0.1.202601221"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-Zq9lKDETW2gk1ILoFZDg/ZKs8B7zDbLXhtQi6f64KLY="; + hash = "sha256-IyRkeKrLd4F4m9IkfHN/FFF0k2BNTMGIC76id+qULPk="; }; __darwinAllowLocalNetworking = true; From a603eb19c5f48d4a47269bb3b8346239b3de8c9c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 11:05:09 +0100 Subject: [PATCH 0951/1216] python313Packages.securityreporter: migrate to finalAttrs --- .../python-modules/securityreporter/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/securityreporter/default.nix b/pkgs/development/python-modules/securityreporter/default.nix index a71ba187ac62..2b5e11cfdce8 100644 --- a/pkgs/development/python-modules/securityreporter/default.nix +++ b/pkgs/development/python-modules/securityreporter/default.nix @@ -9,7 +9,7 @@ responses, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "securityreporter"; version = "1.4.0"; pyproject = true; @@ -17,13 +17,13 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "dongit-org"; repo = "python-reporter"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-bM11ztDd7Zg0O2+yGn9ZxKSo3B8nvhqUHSmdea/6sTg="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail 'version = "0.0.0"' 'version = "${version}"' + --replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"' ''; build-system = [ poetry-core ]; @@ -46,8 +46,8 @@ buildPythonPackage rec { meta = { description = "Python wrapper for the Reporter API"; homepage = "https://github.com/dongit-org/python-reporter"; - changelog = "https://github.com/dongit-org/python-reporter/releases/tag/v${version}"; + changelog = "https://github.com/dongit-org/python-reporter/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 978a08c88fbd7448cb0385f0bc5732ad4c00dea7 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 5 Jan 2026 18:45:15 +0100 Subject: [PATCH 0952/1216] nixos-rebuild-ng: allow deploying closures Tools that want to deploy NixOS all re-implement the same core logic available in `nixos-rebuild-ng` (bin/switch-to-configuration + nix-env -p) because they want to be able to deploy specific system closures. By adding a `--store-path` flag, tools can now directly invoke nixos-rebuild-ng instead. Bringing the interface to a higher level allows us to incorporate ideas such as health checks and auto-rollbacks that are harder to achieve on the lower layer. --- nixos/tests/all-tests.nix | 3 + nixos/tests/nixos-rebuild-store-path.nix | 101 ++++++++++ .../ni/nixos-rebuild-ng/nixos-rebuild.8.scd | 16 +- pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 1 + .../src/nixos_rebuild/__init__.py | 23 ++- .../src/nixos_rebuild/services.py | 9 +- .../nixos-rebuild-ng/src/tests/test_main.py | 184 ++++++++++++++++++ 7 files changed, 334 insertions(+), 3 deletions(-) create mode 100644 nixos/tests/nixos-rebuild-store-path.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 6cd4ac9a4ecb..39542f1e683a 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1107,6 +1107,9 @@ in nixos-rebuild-specialisations = runTestOn [ "x86_64-linux" ] { imports = [ ./nixos-rebuild-specialisations.nix ]; }; + nixos-rebuild-store-path = runTestOn [ "x86_64-linux" ] { + imports = [ ./nixos-rebuild-store-path.nix ]; + }; nixos-rebuild-target-host = runTest { imports = [ ./nixos-rebuild-target-host.nix ]; }; diff --git a/nixos/tests/nixos-rebuild-store-path.nix b/nixos/tests/nixos-rebuild-store-path.nix new file mode 100644 index 000000000000..c451ff865744 --- /dev/null +++ b/nixos/tests/nixos-rebuild-store-path.nix @@ -0,0 +1,101 @@ +{ hostPkgs, ... }: +{ + name = "nixos-rebuild-store-path"; + + # TODO: remove overlay from nixos/modules/profiles/installation-device.nix + # make it a _small package instead, then remove pkgsReadOnly = false;. + node.pkgsReadOnly = false; + + nodes = { + machine = + { lib, pkgs, ... }: + { + imports = [ + ../modules/profiles/installation-device.nix + ../modules/profiles/base.nix + ]; + + nix.settings = { + substituters = lib.mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; + }; + + system.includeBuildDependencies = true; + + system.extraDependencies = [ + # Not part of the initial build apparently? + pkgs.grub2 + ]; + + system.switch.enable = true; + + virtualisation = { + cores = 2; + memorySize = 4096; + }; + }; + }; + + testScript = + let + configFile = + hostname: + hostPkgs.writeText "configuration.nix" # nix + '' + { lib, pkgs, ... }: { + imports = [ + ./hardware-configuration.nix + + ]; + + boot.loader.grub = { + enable = true; + device = "/dev/vda"; + forceInstall = true; + }; + + documentation.enable = false; + + networking.hostName = "${hostname}"; + } + ''; + + in + # python + '' + machine.start() + machine.succeed("udevadm settle") + machine.wait_for_unit("multi-user.target") + + machine.succeed("nixos-generate-config") + + with subtest("Build configuration without switching"): + machine.copy_from_host( + "${configFile "store-path-test"}", + "/etc/nixos/configuration.nix", + ) + store_path = machine.succeed("nix-build '' -A system --no-out-link").strip() + machine.succeed(f"test -f {store_path}/nixos-version") + + with subtest("Switch using --store-path"): + machine.succeed(f"nixos-rebuild switch --store-path {store_path}") + hostname = machine.succeed("cat /etc/hostname").strip() + assert hostname == "store-path-test", f"Expected hostname 'store-path-test', got '{hostname}'" + + with subtest("Test using --store-path"): + machine.copy_from_host( + "${configFile "store-path-test-2"}", + "/etc/nixos/configuration.nix", + ) + store_path_2 = machine.succeed("nix-build '' -A system --no-out-link").strip() + machine.succeed(f"nixos-rebuild test --store-path {store_path_2}") + hostname = machine.succeed("cat /etc/hostname").strip() + assert hostname == "store-path-test-2", f"Expected hostname 'store-path-test-2', got '{hostname}'" + + with subtest("Ensure --store-path rejects invalid combinations"): + machine.fail(f"nixos-rebuild switch --store-path {store_path} --rollback") + machine.fail(f"nixos-rebuild switch --store-path {store_path} --flake .") + machine.fail(f"nixos-rebuild build --store-path {store_path}") + ''; +} diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd b/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd index 3e04426ba66a..bc7f09e036d1 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd +++ b/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd @@ -21,7 +21,7 @@ nixos-rebuild - reconfigure a NixOS machine _nixos-rebuild_ \[--verbose] [--quiet] [--max-jobs MAX_JOBS] [--cores CORES] [--log-format LOG_FORMAT] [--keep-going] [--keep-failed] [--fallback] [--repair] [--option OPTION OPTION] [--builders BUILDERS] [--include INCLUDE]++ \[--print-build-logs] [--show-trace] [--accept-flake-config] [--refresh] [--impure] [--offline] [--no-net] [--recreate-lock-file] [--no-update-lock-file] [--no-write-lock-file] [--no-registries] [--commit-lock-file]++ \[--update-input UPDATE_INPUT] [--override-input OVERRIDE_INPUT OVERRIDE_INPUT] [--no-build-output] [--use-substitutes] [--help] [--debug] [--file FILE] [--attr ATTR] [--flake [FLAKE]] [--no-flake] [--install-bootloader]++ - \[--profile-name PROFILE_NAME] [--specialisation SPECIALISATION] [--rollback] [--upgrade] [--upgrade-all] [--json] [--ask-sudo-password] [--sudo] [--no-reexec]++ + \[--profile-name PROFILE_NAME] [--specialisation SPECIALISATION] [--rollback] [--store-path STORE_PATH] [--upgrade] [--upgrade-all] [--json] [--ask-sudo-password] [--sudo] [--no-reexec]++ \[--build-host BUILD_HOST] [--target-host TARGET_HOST] [--no-build-nix] [--image-variant IMAGE_VARIANT]++ \[{switch,boot,test,build,edit,repl,dry-build,dry-run,dry-activate,build-image,build-vm,build-vm-with-bootloader,list-generations}] @@ -182,6 +182,20 @@ It must be one of the following: (The previous configuration is defined as the one before the “current” generation of the Nix profile _/nix/var/nix/profiles/system_.) +*--store-path* _path_ + Use a pre-built NixOS system store path at _path_ instead of evaluating + and building from the configuration. This skips the evaluation and build + phases entirely. The path must be a valid NixOS system closure + (containing _nixos-version_ and _bin/switch-to-configuration_). + + This is useful for deploying closures that were built elsewhere, such as + in CI systems or on remote build machines. + + Can only be used with *switch*, *boot*, *test*, and *dry-activate* + actions. Mutually exclusive with *--rollback*, *--flake*, *--file*, and + *--attr*. The *--build-host* option is ignored when *--store-path* is + specified. + *--builders* _builder-spec_ Allow ad-hoc remote builders for building the new system. This requires the user executing *nixos-rebuild* (usually root) to be configured as a diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index b62492b58b66..e08e5cca9c65 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -98,6 +98,7 @@ python3Packages.buildPythonApplication rec { # FIXME: this test is disabled since it times out in @ofborg # nixos-rebuild-install-bootloader nixos-rebuild-specialisations + nixos-rebuild-store-path nixos-rebuild-target-host ; repl = callPackage ./tests/repl.nix { }; diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py index e4fa5ef75a43..bedfdba11536 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py @@ -136,6 +136,11 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa action="store_true", help="Roll back to the previous configuration", ) + main_parser.add_argument( + "--store-path", + metavar="PATH", + help="Use a pre-built NixOS system store path instead of building", + ) main_parser.add_argument( "--upgrade", action="store_true", @@ -269,6 +274,22 @@ def parse_args( if args.flake and (args.file or args.attr): parser.error("--flake cannot be used with --file or --attr") + if args.store_path: + if args.rollback: + parser.error("--store-path and --rollback are mutually exclusive") + if args.flake or args.file or args.attr: + parser.error("--store-path cannot be used with --flake, --file, or --attr") + if args.action not in ( + Action.SWITCH.value, + Action.BOOT.value, + Action.TEST.value, + Action.DRY_ACTIVATE.value, + ): + parser.error(f"--store-path cannot be used with '{args.action}'") + if args.flake is None: + # Disable flake auto-detection since we're using a pre-built store path + args.flake = False + return args, grouped_nix_args @@ -297,7 +318,7 @@ def execute(argv: list[str]) -> None: build_attr = BuildAttr.from_arg(args.attr, args.file) flake = Flake.from_arg(args.flake, target_host) - if can_run and not flake: + if can_run and not flake and not args.store_path: services.write_version_suffix(grouped_nix_args) match action: diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py index f1902bd30fb8..5d3a74ea821e 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py @@ -290,7 +290,14 @@ def build_and_activate_system( grouped_nix_args=grouped_nix_args, ) - if args.rollback: + if args.store_path: + path_to_config = Path(args.store_path) + nix.copy_closure( + path_to_config, + to_host=target_host, + copy_flags=grouped_nix_args.copy_flags, + ) + elif args.rollback: path_to_config = _rollback_system( action=action, args=args, diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index cb7c87ad74f3..cd8716c7d024 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -34,6 +34,30 @@ def test_parse_args() -> None: nr.parse_args(["nixos-rebuild", "edit", "--attr", "attr"]) assert e.value.code == 2 + # --store-path validation tests + with pytest.raises(SystemExit) as e: + nr.parse_args( + ["nixos-rebuild", "switch", "--store-path", "/nix/store/foo", "--rollback"] + ) + assert e.value.code == 2 + + with pytest.raises(SystemExit) as e: + nr.parse_args( + ["nixos-rebuild", "switch", "--store-path", "/nix/store/foo", "--flake"] + ) + assert e.value.code == 2 + + with pytest.raises(SystemExit) as e: + nr.parse_args(["nixos-rebuild", "build", "--store-path", "/nix/store/foo"]) + assert e.value.code == 2 + + # --store-path should disable flake auto-detection + r_store_path, _ = nr.parse_args( + ["nixos-rebuild", "switch", "--store-path", "/nix/store/foo"] + ) + assert r_store_path.flake is False + assert r_store_path.store_path == "/nix/store/foo" + r1, g1 = nr.parse_args( [ "nixos-rebuild", @@ -1214,3 +1238,163 @@ def test_execute_test_rollback( ), ] ) + + +@patch.dict( + os.environ, + {"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"}, + clear=True, +) +@patch("subprocess.run", autospec=True) +def test_execute_switch_store_path(mock_run: Mock, tmp_path: Path) -> None: + config_path = tmp_path / "test-system" + config_path.mkdir() + + mock_run.return_value = CompletedProcess([], 0) + + nr.execute( + [ + "nixos-rebuild", + "switch", + "--store-path", + str(config_path), + "--no-reexec", + ] + ) + + # --store-path skips build and write_version_suffix, so only activation calls + assert mock_run.call_count == 3 + mock_run.assert_has_calls( + [ + call( + [ + "nix-env", + "-p", + Path("/nix/var/nix/profiles/system"), + "--set", + config_path, + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + ["test", "-d", "/run/systemd/system"], + check=False, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + *nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX, + config_path / "bin/switch-to-configuration", + "switch", + ], + check=True, + **( + DEFAULT_RUN_KWARGS + | { + "env": { + "NIXOS_INSTALL_BOOTLOADER": "0", + "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1", + } + } + ), + ), + ] + ) + + +@patch.dict(os.environ, {}, clear=True) +@patch("subprocess.run", autospec=True) +@patch(get_qualified_name(nr.services.cleanup_ssh), autospec=True) +def test_execute_switch_store_path_target_host( + mock_cleanup_ssh: Mock, + mock_run: Mock, + tmp_path: Path, +) -> None: + config_path = tmp_path / "test-system" + config_path.mkdir() + + mock_run.return_value = CompletedProcess([], 0) + + nr.execute( + [ + "nixos-rebuild", + "switch", + "--store-path", + str(config_path), + "--target-host", + "user@remote-host", + "--sudo", + "--no-reexec", + ] + ) + + # --store-path skips build and write_version_suffix, so only copy/activation calls + assert mock_run.call_count == 5 + mock_run.assert_has_calls( + [ + call( + ["nix-copy-closure", "--to", "user@remote-host", config_path], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@remote-host", + "--", + "test", + "-f", + str(config_path / "nixos-version"), + ], + check=False, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@remote-host", + "--", + "sudo", + "nix-env", + "-p", + "/nix/var/nix/profiles/system", + "--set", + str(config_path), + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@remote-host", + "--", + "test", + "-d", + "/run/systemd/system", + ], + check=False, + **DEFAULT_RUN_KWARGS, + ), + call( + [ + "ssh", + *nr.process.SSH_DEFAULT_OPTS, + "user@remote-host", + "--", + "sudo", + "env", + "NIXOS_INSTALL_BOOTLOADER=0", + *nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX, + str(config_path / "bin/switch-to-configuration"), + "switch", + ], + check=True, + **DEFAULT_RUN_KWARGS, + ), + ] + ) From e94bb248e218d9d35ef324f47469119369a56fa4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 10:19:13 +0000 Subject: [PATCH 0953/1216] terraform-providers.terraform-routeros_routeros: 1.98.0 -> 1.99.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 76cab2ff3a2a..81c15a886861 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1355,13 +1355,13 @@ "vendorHash": "sha256-CcbNooB1AjLbyMkTNmAklqNm6o6FVCBEBiEnD/U5yGU=" }, "terraform-routeros_routeros": { - "hash": "sha256-KhxNuzVaZFCO6XTCaj9wBddgw7TXULh/6LnMjiqPRLg=", + "hash": "sha256-19QR6kugDQoWlW3U1u2PX/7+S+Rb+o58HWsKHHd7pqo=", "homepage": "https://registry.terraform.io/providers/terraform-routeros/routeros", "owner": "terraform-routeros", "repo": "terraform-provider-routeros", - "rev": "v1.98.0", + "rev": "v1.99.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-+u00PWotHxCQ/BveXY23ulrQszoyG59GCkUIYKwlulc=" + "vendorHash": "sha256-0VVL8wF8bAB77erJ4YgHN5Q4gkuRPL30OucJe7Jvj1w=" }, "timohirt_hetznerdns": { "hash": "sha256-wmXZ6+5Ex3G2JUdw2is2VIo/X1X0V1Auw5KmYpGllug=", From acfc6f675f5a9d6d530c6a3ccfceb30a010a4edf Mon Sep 17 00:00:00 2001 From: dbeley <6568955+dbeley@users.noreply.github.com> Date: Thu, 22 Jan 2026 00:20:03 +0100 Subject: [PATCH 0954/1216] opencode: 1.1.25 -> 1.1.30 --- pkgs/by-name/op/opencode/package.nix | 15 ++++++---- .../op/opencode/relax-bun-version-check.patch | 28 ------------------- 2 files changed, 10 insertions(+), 33 deletions(-) delete mode 100644 pkgs/by-name/op/opencode/relax-bun-version-check.patch diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index b62877f6a9ad..70c18efc5ec3 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -14,12 +14,12 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencode"; - version = "1.1.25"; + version = "1.1.30"; src = fetchFromGitHub { owner = "anomalyco"; repo = "opencode"; tag = "v${finalAttrs.version}"; - hash = "sha256-cvz4HO5vNwA3zWx7zdVfs59Z7vD/00+MMCDbLU5WKpM="; + hash = "sha256-RTj64yrVLTFNpVc8MvPAJISOlBo/j2MnuL5jo4VtKWM="; }; node_modules = stdenvNoCC.mkDerivation { @@ -66,7 +66,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-ojbTZBWM353NLMMHckMjFf+k6TpeOoF/yeQR9dq0nNo="; + outputHash = "sha256-5U8lpx3sy6XXgR99IfUqDffIZ8FQ1nxXq5dVwpS+d00="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; @@ -80,12 +80,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; patches = [ - # NOTE: Relax Bun version check to be a warning instead of an error - ./relax-bun-version-check.patch # NOTE: Remove special and windows build targes ./remove-special-and-windows-build-targets.patch ]; + postPatch = '' + # NOTE: Relax Bun version check to be a warning instead of an error + substituteInPlace packages/script/src/index.ts \ + --replace-fail 'throw new Error(`This script requires bun@''${expectedBunVersionRange}' \ + 'console.warn(`Warning: This script requires bun@''${expectedBunVersionRange}' + ''; + configurePhase = '' runHook preConfigure diff --git a/pkgs/by-name/op/opencode/relax-bun-version-check.patch b/pkgs/by-name/op/opencode/relax-bun-version-check.patch deleted file mode 100644 index 5d14f166a15c..000000000000 --- a/pkgs/by-name/op/opencode/relax-bun-version-check.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0e07ea8225f5667e39c6aa59eea726266f0afab0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= -Date: Thu, 13 Nov 2025 10:16:31 +0100 -Subject: [PATCH] Change Bun version check from error to warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Jörg Thalheim ---- - packages/script/src/index.ts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/packages/script/src/index.ts b/packages/script/src/index.ts -index 141d2b75..de06d0dc 100644 ---- a/packages/script/src/index.ts -+++ b/packages/script/src/index.ts -@@ -10,7 +10,7 @@ if (!expectedBunVersion) { - } - - if (process.versions.bun !== expectedBunVersion) { -- throw new Error(`This script requires bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`) -+ console.warn(`Warning: This script expects bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`) - } - - const CHANNEL = process.env["OPENCODE_CHANNEL"] ?? (await $`git branch --show-current`.text().then((x) => x.trim())) --- -2.51.0 From 4e867beb3ca5115bb9bd06ec4c1a763ba7ad4185 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 10:36:24 +0000 Subject: [PATCH 0955/1216] cpm-cmake: 0.42.0 -> 0.42.1 --- pkgs/by-name/cp/cpm-cmake/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cp/cpm-cmake/package.nix b/pkgs/by-name/cp/cpm-cmake/package.nix index e2d55912388f..135069bc8124 100644 --- a/pkgs/by-name/cp/cpm-cmake/package.nix +++ b/pkgs/by-name/cp/cpm-cmake/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "cpm-cmake"; - version = "0.42.0"; + version = "0.42.1"; src = fetchFromGitHub { owner = "cpm-cmake"; repo = "cpm.cmake"; rev = "v${finalAttrs.version}"; - hash = "sha256-IA13qA/b+owlrqbVAkhd4rS98/XB5RNONiJaPwjDm+A="; + hash = "sha256-IVlONpApZJOcm6ooC+mguBEgAevzqiynrabSYdq+SDA="; }; postPatch = '' From a6eca83ac1d16ba3140eeebe3771cc6fa1619ac7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 10:42:06 +0000 Subject: [PATCH 0956/1216] ollama: 0.14.2 -> 0.14.3 --- pkgs/by-name/ol/ollama/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix index 450f71bbcb80..945bb3bb32c5 100644 --- a/pkgs/by-name/ol/ollama/package.nix +++ b/pkgs/by-name/ol/ollama/package.nix @@ -138,13 +138,13 @@ in goBuild (finalAttrs: { pname = "ollama"; # don't forget to invalidate all hashes each update - version = "0.14.2"; + version = "0.14.3"; src = fetchFromGitHub { owner = "ollama"; repo = "ollama"; tag = "v${finalAttrs.version}"; - hash = "sha256-NDtXMRpglUG0XhkTJrd90kv1utpxXGNppMHOG3Zmt54="; + hash = "sha256-SVzJDuy5qXaqxE4HqiqVhoyGLTOt57370q8r3YV18Og="; }; vendorHash = "sha256-WdHAjCD20eLj0d9v1K6VYP8vJ+IZ8BEZ3CciYLLMtxc="; From 033f1388d7ee9ad915e337f75a435591a1a8009a Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 22 Jan 2026 11:10:42 +0000 Subject: [PATCH 0957/1216] python3Packages.pocket-tts: 1.0.2 -> 1.0.3 Diff: https://github.com/kyutai-labs/pocket-tts/compare/v1.0.2...v1.0.3 Changelog: https://github.com/kyutai-labs/pocket-tts/releases/tag/v1.0.3 --- pkgs/development/python-modules/pocket-tts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pocket-tts/default.nix b/pkgs/development/python-modules/pocket-tts/default.nix index d8edaaba7539..b4a037e47e54 100644 --- a/pkgs/development/python-modules/pocket-tts/default.nix +++ b/pkgs/development/python-modules/pocket-tts/default.nix @@ -29,14 +29,14 @@ buildPythonPackage (finalAttrs: { pname = "pocket-tts"; - version = "1.0.2"; + version = "1.0.3"; pyproject = true; src = fetchFromGitHub { owner = "kyutai-labs"; repo = "pocket-tts"; tag = "v${finalAttrs.version}"; - hash = "sha256-m//UCZEENE5bl9TV0rDCA3Th1TykvC5oZLay+f7lEr8="; + hash = "sha256-zGZySn8nXCjwfcXYglJIrS/u1cqiJrErx1wQkC7H93k="; }; build-system = [ From bbc5ae2a0a0e8729d08cf62fa0e74cbe3a2bf024 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 11:13:21 +0000 Subject: [PATCH 0958/1216] github-backup: 0.61.1 -> 0.61.2 --- pkgs/by-name/gi/github-backup/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/github-backup/package.nix b/pkgs/by-name/gi/github-backup/package.nix index c8d800125c50..5056b11f03f0 100644 --- a/pkgs/by-name/gi/github-backup/package.nix +++ b/pkgs/by-name/gi/github-backup/package.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication rec { pname = "github-backup"; - version = "0.61.1"; + version = "0.61.2"; pyproject = true; src = fetchFromGitHub { owner = "josegonzalez"; repo = "python-github-backup"; tag = version; - hash = "sha256-1gUhwZLZ+D1ML5yOifEGVWXpgcLgsligB1+yCkAvX5I="; + hash = "sha256-yxVovL4jjS+qMDH9ZrLVnFMLQeO+xwh49npv/ifgFEQ="; }; build-system = with python3Packages; [ From 786e3e89ada20566f9ac8ede7eee2e98e440a4b6 Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Thu, 22 Jan 2026 12:17:39 +0100 Subject: [PATCH 0959/1216] python3Packages.dissect-cstruct: update license With dissect.cstruct release 3.4 the license changed to Apache 2.0. https://github.com/fox-it/dissect.cstruct/releases/tag/3.4 --- pkgs/development/python-modules/dissect-cstruct/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/dissect-cstruct/default.nix b/pkgs/development/python-modules/dissect-cstruct/default.nix index 3d379304fac0..955dfd829c71 100644 --- a/pkgs/development/python-modules/dissect-cstruct/default.nix +++ b/pkgs/development/python-modules/dissect-cstruct/default.nix @@ -32,7 +32,7 @@ buildPythonPackage rec { description = "Dissect module implementing a parser for C-like structures"; homepage = "https://github.com/fox-it/dissect.cstruct"; changelog = "https://github.com/fox-it/dissect.cstruct/releases/tag/${src.tag}"; - license = lib.licenses.agpl3Only; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; } From 1eb60e6ca4a270af6798a8b51bb5a3a4d23ebad1 Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Thu, 22 Jan 2026 12:17:41 +0100 Subject: [PATCH 0960/1216] python3Packages.dissect-cobaltstrike: update license Looks like dissect.cobaltstrike is MIT since first public commit. https://github.com/fox-it/dissect.cobaltstrike/commits/main/LICENSE --- .../development/python-modules/dissect-cobaltstrike/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/dissect-cobaltstrike/default.nix b/pkgs/development/python-modules/dissect-cobaltstrike/default.nix index a414b3ffd5ab..921d8e7cac75 100644 --- a/pkgs/development/python-modules/dissect-cobaltstrike/default.nix +++ b/pkgs/development/python-modules/dissect-cobaltstrike/default.nix @@ -80,7 +80,7 @@ buildPythonPackage rec { description = "Dissect module implementing a parser for Cobalt Strike related data"; homepage = "https://github.com/fox-it/dissect.cobaltstrike"; changelog = "https://github.com/fox-it/dissect.cobaltstrike/releases/tag/${src.tag}"; - license = lib.licenses.agpl3Only; + license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; } From b0ea48f776756356222c7ac4df49e6b495b5b3d0 Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Thu, 22 Jan 2026 12:17:42 +0100 Subject: [PATCH 0961/1216] python3Packages.dissect-database: update license With dissect.database release 1.0 the license changed to Apache 2.0. https://github.com/fox-it/dissect.database/releases/tag/1.0 --- pkgs/development/python-modules/dissect-database/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/dissect-database/default.nix b/pkgs/development/python-modules/dissect-database/default.nix index 6fb61380bfc7..3113cd4cdbc7 100644 --- a/pkgs/development/python-modules/dissect-database/default.nix +++ b/pkgs/development/python-modules/dissect-database/default.nix @@ -42,7 +42,7 @@ buildPythonPackage rec { description = "Dissect module implementing a parser for various database formats"; homepage = "https://github.com/fox-it/dissect.database"; changelog = "https://github.com/fox-it/dissect.database/releases/tag/${src.tag}"; - license = lib.licenses.agpl3Only; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; } From ce06c5628290da1d527eff416ac2507254b7c3b7 Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Thu, 22 Jan 2026 12:17:43 +0100 Subject: [PATCH 0962/1216] python3Packages.dissect-util: update license With dissect.util release 3.5 the license changed to Apache 2.0. https://github.com/fox-it/dissect.util/releases/tag/3.5 --- pkgs/development/python-modules/dissect-util/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/dissect-util/default.nix b/pkgs/development/python-modules/dissect-util/default.nix index 407d3d3a3e76..8f7141e517fe 100644 --- a/pkgs/development/python-modules/dissect-util/default.nix +++ b/pkgs/development/python-modules/dissect-util/default.nix @@ -37,7 +37,7 @@ buildPythonPackage rec { description = "Dissect module implementing various utility functions for the other Dissect modules"; homepage = "https://github.com/fox-it/dissect.util"; changelog = "https://github.com/fox-it/dissect.util/releases/tag/${src.tag}"; - license = lib.licenses.agpl3Only; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; mainProgram = "dump-nskeyedarchiver"; }; From f629652945c9a7efc44a69ae6f2e03ec7b7f97ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Thu, 22 Jan 2026 06:43:00 -0500 Subject: [PATCH 0963/1216] signal-desktop-bin: 7.85.0 -> 7.86.0 --- .../si/signal-desktop-bin/signal-desktop-aarch64.nix | 6 +++--- .../by-name/si/signal-desktop-bin/signal-desktop-darwin.nix | 4 ++-- pkgs/by-name/si/signal-desktop-bin/signal-desktop.nix | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/si/signal-desktop-bin/signal-desktop-aarch64.nix b/pkgs/by-name/si/signal-desktop-bin/signal-desktop-aarch64.nix index 8f98f667594c..83a3fb4c9e9b 100644 --- a/pkgs/by-name/si/signal-desktop-bin/signal-desktop-aarch64.nix +++ b/pkgs/by-name/si/signal-desktop-bin/signal-desktop-aarch64.nix @@ -1,7 +1,7 @@ { callPackage, commandLineArgs }: callPackage ./generic.nix { inherit commandLineArgs; } { pname = "signal-desktop-bin"; - version = "7.85.0"; + version = "7.86.0"; libdir = "usr/lib64/signal-desktop"; bindir = "usr/bin"; @@ -10,6 +10,6 @@ callPackage ./generic.nix { inherit commandLineArgs; } { bsdtar -xf $downloadedFile -C "$out" ''; - url = "https://download.copr.fedorainfracloud.org/results/useidel/signal-desktop/fedora-43-aarch64/10010734-signal-desktop/signal-desktop-7.85.0-1.fc43.aarch64.rpm"; - hash = "sha256-ewjW5mwPph1xZXtqwYPishJ/zYjzpA/df+5WvdcEfWI="; + url = "https://download.copr.fedorainfracloud.org/results/useidel/signal-desktop/fedora-43-aarch64/10043047-signal-desktop/signal-desktop-7.86.0-1.fc43.aarch64.rpm"; + hash = "sha256-gInim9c3RBsMH2K9v0ELj9zQ/IxcwlISCajwBq142Js="; } diff --git a/pkgs/by-name/si/signal-desktop-bin/signal-desktop-darwin.nix b/pkgs/by-name/si/signal-desktop-bin/signal-desktop-darwin.nix index ce50656aab12..a7a15f0fe11b 100644 --- a/pkgs/by-name/si/signal-desktop-bin/signal-desktop-darwin.nix +++ b/pkgs/by-name/si/signal-desktop-bin/signal-desktop-darwin.nix @@ -6,11 +6,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "signal-desktop-bin"; - version = "7.85.0"; + version = "7.86.0"; src = fetchurl { url = "https://updates.signal.org/desktop/signal-desktop-mac-universal-${finalAttrs.version}.dmg"; - hash = "sha256-oXt4MlSvpj4NHwULg8K0XukaMqnlsF2UPkvBGH3Htko="; + hash = "sha256-Wk5fkJiKWsronC5gjAzpwPQt4bGURb8bU3/XUbI+kBU="; }; sourceRoot = "."; diff --git a/pkgs/by-name/si/signal-desktop-bin/signal-desktop.nix b/pkgs/by-name/si/signal-desktop-bin/signal-desktop.nix index f1501f6c145a..5e24de89a84d 100644 --- a/pkgs/by-name/si/signal-desktop-bin/signal-desktop.nix +++ b/pkgs/by-name/si/signal-desktop-bin/signal-desktop.nix @@ -1,12 +1,12 @@ { callPackage, commandLineArgs }: callPackage ./generic.nix { inherit commandLineArgs; } rec { pname = "signal-desktop-bin"; - version = "7.85.0"; + version = "7.86.0"; libdir = "opt/Signal"; bindir = libdir; extractPkg = "dpkg-deb -x $downloadedFile $out"; url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - hash = "sha256-5DJho9aYNwgasZsSuChEvoDK7N1H+n3RdDh7FMw73SA="; + hash = "sha256-OOnaOnrAWAw3EJS31Wzf83ekWiJab0EvY68UTEOTMjA="; } From debfea145cc0d2eee4f7711b660927aaf1c6f7dc Mon Sep 17 00:00:00 2001 From: John Rodewald Date: Tue, 6 Jan 2026 08:29:59 +0100 Subject: [PATCH 0964/1216] aztfexport: init at 0.18.0 --- pkgs/by-name/az/aztfexport/package.nix | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 pkgs/by-name/az/aztfexport/package.nix diff --git a/pkgs/by-name/az/aztfexport/package.nix b/pkgs/by-name/az/aztfexport/package.nix new file mode 100644 index 000000000000..6527293502d2 --- /dev/null +++ b/pkgs/by-name/az/aztfexport/package.nix @@ -0,0 +1,42 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + versionCheckHook, +}: +buildGoModule (finalAttrs: { + pname = "aztfexport"; + version = "0.18.0"; + + src = fetchFromGitHub { + owner = "Azure"; + repo = "aztfexport"; + tag = "v${finalAttrs.version}"; + hash = "sha256-j6WdQvbxmHOMEfCvnFDxr9ZNOZg0BIOC6u1nw+n3hA0="; + }; + + vendorHash = "sha256-qb4/sUjtfw/USITTLSuB2fXWR2mAuAcvbawrNA/ilRo="; + + ldflags = [ + "-s" + "-X main.version=${finalAttrs.version}" + ]; + + passthru.updateScript = nix-update-script { }; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + doInstallCheck = true; + + meta = { + description = "Tool to bring existing Azure resources under Terraform's management"; + homepage = "https://github.com/Azure/aztfexport"; + changelog = "https://github.com/Azure/aztfexport/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mpl20; + maintainers = [ lib.maintainers.john-rodewald ]; + mainProgram = "aztfexport"; + }; +}) From e3f06638bdcd0ba96ee5f514cd77b826014ee320 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 22 Jan 2026 14:17:17 +0200 Subject: [PATCH 0965/1216] swgp-go: 1.8.0-0-unstable-2026-01-18 -> 1.8.0-0-unstable-2026-01-24 Now supports proxyPSKFilePath in the config file. --- pkgs/by-name/sw/swgp-go/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sw/swgp-go/package.nix b/pkgs/by-name/sw/swgp-go/package.nix index 0163fe098498..99096eb601e9 100644 --- a/pkgs/by-name/sw/swgp-go/package.nix +++ b/pkgs/by-name/sw/swgp-go/package.nix @@ -8,13 +8,13 @@ buildGoModule { pname = "swgp-go"; - version = "1.8.0-0-unstable-2026-01-18"; + version = "1.8.0-0-unstable-2026-01-24"; src = fetchFromGitHub { owner = "database64128"; repo = "swgp-go"; - rev = "e8ed210b0a016c450ba371ee43041f2f53444841"; - hash = "sha256-LDYNQwc6vdVkI0bqD96p64D25fz0aGclFDc8SqvCdJQ="; + rev = "12be9c3ac0ea2c39b167cde708192935f7263a76"; + hash = "sha256-0W7yioZc86xfjrJKeCAPT4mLWyrQDaBa9QbGjrR/Tpc="; }; vendorHash = "sha256-Ghv5FwSPQSUFQ1t2zWTXpFggCA4/qrQmnVYkYBF8AQ4="; From 93497c91d9cac65128da800445e4d353618f0b87 Mon Sep 17 00:00:00 2001 From: N4CH72HR3R Date: Sun, 11 Jan 2026 19:46:38 +0100 Subject: [PATCH 0966/1216] maintainers: add N4CH723HR3R --- maintainers/maintainer-list.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4459836b0219..e92a87e239b5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18190,6 +18190,14 @@ githubId = 254145391; name = "n3tshift"; }; + N4CH723HR3R = { + email = "n4ch7@n3831.net"; + github = "N4CH723HR3R"; + githubId = 221765713; + keys = [ { fingerprint = "C5A6 76E5 DFDD 076B 9B59 ABEC D783 89DC 24B6 4620"; } ]; + matrix = "@n4ch7:n3831.net"; + name = "N4CH723HR3R"; + }; n8henrie = { name = "Nathan Henrie"; email = "nate@n8henrie.com"; From 2bcec9d3793ce2b81898036019b51d5b15a7def7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 13:33:57 +0100 Subject: [PATCH 0967/1216] python313Packages.signxml: migrate to finalAttrs --- pkgs/development/python-modules/signxml/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/signxml/default.nix b/pkgs/development/python-modules/signxml/default.nix index 6757ab7ed7f3..fa4ae55d6465 100644 --- a/pkgs/development/python-modules/signxml/default.nix +++ b/pkgs/development/python-modules/signxml/default.nix @@ -11,7 +11,7 @@ hatch-vcs, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "signxml"; version = "4.2.2"; pyproject = true; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "XML-Security"; repo = "signxml"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-IZa62HIsCsNiIlHhLgy0GRIq+E3HBnYSdy/LtDvPa/E="; }; @@ -44,8 +44,8 @@ buildPythonPackage rec { meta = { description = "Python XML Signature and XAdES library"; homepage = "https://github.com/XML-Security/signxml"; - changelog = "https://github.com/XML-Security/signxml/blob/${src.tag}/Changes.rst"; + changelog = "https://github.com/XML-Security/signxml/blob/${finalAttrs.src.tag}/Changes.rst"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 03e1c37eb11d1b140e7849940a42c052ddaf72d0 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:06:32 +0100 Subject: [PATCH 0968/1216] electron_40: init at 40.0.0 --- .../tools/electron/binary/info.json | 11 + .../tools/electron/chromedriver/info.json | 11 + pkgs/development/tools/electron/info.json | 1348 +++++++++++++++++ pkgs/top-level/all-packages.nix | 7 + 4 files changed, 1377 insertions(+) diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json index 695c7b8a8525..11b83dff171f 100644 --- a/pkgs/development/tools/electron/binary/info.json +++ b/pkgs/development/tools/electron/binary/info.json @@ -42,5 +42,16 @@ "x86_64-linux": "a676357322bdf28153ba3ad67e8558dd54d76757fe2b1ad48c53f4a5e20614c6" }, "version": "39.3.0" + }, + "40": { + "hashes": { + "aarch64-darwin": "bfa742c44b0053a9b6cf46a8124baff4a8a567feca2a5adbabf749075b298b69", + "aarch64-linux": "46969d090510b26af41d7cde74cab15a9ad35eb45e61e976076626f2db3589a1", + "armv7l-linux": "f87d8643c911c2e3678447be5a44636bdf375a1c3a9a7f20be3171a7ed510b86", + "headers": "0wjpbk33i1z74djqyscribisd281cs5c266nrh2r6aabn2byh16l", + "x86_64-darwin": "0120bcbd5cd063953b477fe8f950244b2f37770b9f85e60ca9b6bcaf85627b33", + "x86_64-linux": "2ac22df42a4368cdd93ff9f9f25c7f04b9157143a3a3a06d4f01ae0dbb4e6fd5" + }, + "version": "40.0.0" } } diff --git a/pkgs/development/tools/electron/chromedriver/info.json b/pkgs/development/tools/electron/chromedriver/info.json index 3ea54074c51d..7aefc2884214 100644 --- a/pkgs/development/tools/electron/chromedriver/info.json +++ b/pkgs/development/tools/electron/chromedriver/info.json @@ -42,5 +42,16 @@ "x86_64-linux": "44e15ac6c421e7bc7b36c55721085e5ccd4996c0770785dc78c55baaf4f73322" }, "version": "39.3.0" + }, + "40": { + "hashes": { + "aarch64-darwin": "27393f69ecca3686dad7a0e594ff06081631f7659307071f136bdb680e5c3649", + "aarch64-linux": "588aafc8b3afdb1abefccf9dfee95ebd1a590bea77370553103dcb03406f3366", + "armv7l-linux": "3ac8f1f6b2f3da81d2ebadb56f6d8cd05ada3dfa340f84b39e266ae8c35b7cf7", + "headers": "0wjpbk33i1z74djqyscribisd281cs5c266nrh2r6aabn2byh16l", + "x86_64-darwin": "633c29541cb253ceacb6fe2855086d18060ced216ad869d1f887a298467c2e28", + "x86_64-linux": "77f71758783822b7e24fb6777f9e4ccabf1cd5e4e964b905fb63a068b4d849da" + }, + "version": "40.0.0" } } diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json index cf20ede8704e..5d81857c7929 100644 --- a/pkgs/development/tools/electron/info.json +++ b/pkgs/development/tools/electron/info.json @@ -4002,5 +4002,1353 @@ "modules": "140", "node": "22.21.1", "version": "39.3.0" + }, + "40": { + "chrome": "144.0.7559.60", + "chromium": { + "deps": { + "gn": { + "hash": "sha256-04h38X/hqWwMiAOVsVu4OUrt8N+S7yS/JXc5yvRGo1I=", + "rev": "6e0b557db44b3c164094e57687d20ba036a80667", + "version": "0-unstable-2025-12-01" + } + }, + "version": "144.0.7559.60" + }, + "chromium_npm_hash": "sha256-13sgV/5BD7QvDLBAEmoLN5vongw+S5v5znvZcctxhWc=", + "deps": { + "src": { + "args": { + "hash": "sha256-xd7eAfRiSMO0NavLy95b78e+fYCV3eGkAyVQhOixvaA=", + "postFetch": "rm -rf $(find $out/third_party/blink/web_tests ! -name BUILD.gn -mindepth 1 -maxdepth 1); rm -r $out/content/test/data; rm -rf $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ", + "tag": "144.0.7559.60", + "url": "https://chromium.googlesource.com/chromium/src.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/chrome/test/data/perf/canvas_bench": { + "args": { + "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=", + "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732", + "url": "https://chromium.googlesource.com/chromium/canvas_bench.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/chrome/test/data/perf/frame_rate/content": { + "args": { + "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=", + "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9", + "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/chrome/test/data/xr/webvr_info": { + "args": { + "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=", + "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248", + "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/docs/website": { + "args": { + "hash": "sha256-LnLvIl4L3IFim5LA5ZFYSE6kpBMF8cL1dC/os7QmhHI=", + "rev": "d9a0c174b535ee5165fb8ef278324be9efa49352", + "url": "https://chromium.googlesource.com/website.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/electron": { + "args": { + "hash": "sha256-/6WaLMcOqIyc02Gjm/B4DRLSsrhn9YkIngB1O9WfpkU=", + "owner": "electron", + "repo": "electron", + "tag": "v40.0.0" + }, + "fetcher": "fetchFromGitHub" + }, + "src/media/cdm/api": { + "args": { + "hash": "sha256-voZaq/OiP5/QSSZmBx1ifriBc6HQ9+m4pUz0o9+O9x8=", + "rev": "a4cbc4325e6de42ead733f2af43c08292d0e65a8", + "url": "https://chromium.googlesource.com/chromium/cdm.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/net/third_party/quiche/src": { + "args": { + "hash": "sha256-yjHB2BYtSJiK34zIda1t2kcY+netDUIiaQ0vVtglYfw=", + "rev": "901d0a7b4dbb141f2ad4eb8e1f00eb87f945044e", + "url": "https://quiche.googlesource.com/quiche.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/testing/libfuzzer/fuzzers/wasm_corpus": { + "args": { + "hash": "sha256-gItDOfNqm1tHlmelz3l2GGdiKi9adu1EpPP6U7+8EQY=", + "rev": "1df5e50a45db9518a56ebb42cb020a94a090258b", + "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/angle": { + "args": { + "hash": "sha256-JOIeH+nMIS6BqS+8LKzRKHFiyZd8Stbybx6a08dixEE=", + "rev": "a96fca8d5ee2ca61e8de419e38cd577579281c9e", + "url": "https://chromium.googlesource.com/angle/angle.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/angle/third_party/VK-GL-CTS/src": { + "args": { + "hash": "sha256-nOsbMbfBKzyRN+QzOb09LKYIRIoTjTDdsSaR78g3Puk=", + "rev": "4a7c2fcd1b1a3701295f7d3fe42719e867c1b793", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/angle/third_party/glmark2/src": { + "args": { + "hash": "sha256-VebUALLFKwEa4+oE+jF8mBSzhJd6aflphPmcK1Em8bw=", + "rev": "6edcf02205fd1e8979dc3f3964257a81959b80c8", + "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/angle/third_party/rapidjson/src": { + "args": { + "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=", + "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f", + "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/anonymous_tokens/src": { + "args": { + "hash": "sha256-jwfszvnWRtTmzPm5x/lyceX1Y0G0hyIATcKlYkKj/SY=", + "rev": "50e04fb27eacd49a5e2bfde5977ac689e13ebeeb", + "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/boringssl/src": { + "args": { + "hash": "sha256-i+HP5Q1UmBCLmDdGvSKPts6nwo/9vGUh5wMdmmQ7qLU=", + "rev": "b94d71f87ff943a617d77f3ff029f9a01a1ec6bc", + "url": "https://boringssl.googlesource.com/boringssl.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/breakpad/breakpad": { + "args": { + "hash": "sha256-CQ1doQRsX0zvfgYKJalz0i35mPJfk5o6m2sdGYqS4co=", + "rev": "d0b41ca2a38c7b14c4b7853254eb5bf3b4039691", + "url": "https://chromium.googlesource.com/breakpad/breakpad.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/cast_core/public/src": { + "args": { + "hash": "sha256-yQxm1GMMne80bLl1P7OAN3bJLz1qRNAvou2/5MKp2ig=", + "rev": "f5ee589bdaea60418f670fa176be15ccb9a34942", + "url": "https://chromium.googlesource.com/cast_core/public" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/catapult": { + "args": { + "hash": "sha256-FumPjVoqe6OLULHlduuMZgJTn2cau7QMAQz6gv1gAnU=", + "rev": "a202c86635d505fa893d73bad1e220a66bb644e6", + "url": "https://chromium.googlesource.com/catapult.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ced/src": { + "args": { + "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=", + "rev": "ba412eaaacd3186085babcd901679a48863c7dd5", + "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/clang-format/script": { + "args": { + "hash": "sha256-f+BbQ6xIubloSzx/MhPSZ8ymCskmS+9+epDGtPjZqXc=", + "rev": "c2725e0622e1a86d55f14514f2177a39efea4a0e", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/cld_3/src": { + "args": { + "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=", + "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661", + "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/colorama/src": { + "args": { + "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=", + "rev": "3de9f013df4b470069d03d250224062e8cf15c49", + "url": "https://chromium.googlesource.com/external/colorama.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/compiler-rt/src": { + "args": { + "hash": "sha256-Wl18dFoXfwe266yCKDYviOI46OimFLfstke/+baPzgM=", + "rev": "cb2de163a470f2e9d56ec8a4f912f644378b7191", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/content_analysis_sdk/src": { + "args": { + "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=", + "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc", + "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/cpu_features/src": { + "args": { + "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=", + "rev": "936b9ab5515dead115606559502e3864958f7f6e", + "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/cpuinfo/src": { + "args": { + "hash": "sha256-uzo6QpNfzTcqOpDse14e2OoxNyKDU8jSx+/wPLxmpJg=", + "rev": "161a9ec374884f4b3e85725cb22e05f9458fdc93", + "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/crabbyavif/src": { + "args": { + "hash": "sha256-5nU1QDY6irjmufd7nO70dTS74EchC7NXX2MBNz3LNPw=", + "rev": "640d2758f8d2e59d1a55ae0933673f0f65de68c4", + "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/crc32c/src": { + "args": { + "hash": "sha256-KBraGaO5LmmPP+p8RuDogGldbTWdNDK+WzF4Q09keuE=", + "rev": "d3d60ac6e0f16780bcfcc825385e1d338801a558", + "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/cros-components/src": { + "args": { + "hash": "sha256-g7LzBd2V21AaLdSdCw65WGYvKfrbtpRXsYc+3ILdiKs=", + "rev": "7ccdbf60606671c2c057628125908fbfef9bd0c8", + "url": "https://chromium.googlesource.com/external/google3/cros_components.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/cros_system_api": { + "args": { + "hash": "sha256-dWWNvPtZ90quSvu/ZfOHd40UosOG9EwPCF3QklHUvA0=", + "rev": "5f1ffac5e855229e27c6e4356ffb189f3010283f", + "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/crossbench": { + "args": { + "hash": "sha256-PHP2En509QS+LAvb7zt4l+34VGy7kik0X87n1fKH5tw=", + "rev": "77240be1ccd1dc99b73be332223a8856641a2073", + "url": "https://chromium.googlesource.com/crossbench.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/crossbench-web-tests": { + "args": { + "hash": "sha256-yJmi1IpUiKhdoHAXyazkpm+Ezuc4Hp8pOIBntG5hN+U=", + "rev": "3c76c8201f0732fe9781742229ab8ac43bf90cbf", + "url": "https://chromium.googlesource.com/chromium/web-tests.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dav1d/libdav1d": { + "args": { + "hash": "sha256-Lux+OGbeWnQJhIYDczH6jP/+lO+ZLlwpuUcLbO4Jvuo=", + "rev": "fcbc3d1b93f91c709293ed9faea8b7cbcac9030b", + "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn": { + "args": { + "hash": "sha256-GJuT3rqNxvKkRTMvoMi8/QYda0y0RTkZLhb5v9QkwGA=", + "rev": "a8d1e554a9bd35b0418ba7fd6b0bc005250a7703", + "url": "https://dawn.googlesource.com/dawn.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/dxc": { + "args": { + "hash": "sha256-LS4+U+GdWXDSkEXMIibeSvjA1079kvQyrASq+5N8gYw=", + "rev": "3f85295cfc982e5447f9faaa36f345366faca11d", + "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/dxheaders": { + "args": { + "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=", + "rev": "980971e835876dc0cde415e8f9bc646e64667bf7", + "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/glfw": { + "args": { + "hash": "sha256-E1zXIDiw87badrLOZTvV+Wh9NZHu51nb70ZK9vlAlqE=", + "rev": "b35641f4a3c62aa86a0b3c983d163bc0fe36026d", + "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/khronos/EGL-Registry": { + "args": { + "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=", + "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/khronos/OpenGL-Registry": { + "args": { + "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=", + "rev": "5bae8738b23d06968e7c3a41308568120943ae77", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/webgpu-cts": { + "args": { + "hash": "sha256-bMo94M5Io0S76REatQvA/nC9QRvxy5rpKjeItFvZr4k=", + "rev": "3314e4108692d0c201f0d381bf10ddc8dbbc7b69", + "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dawn/third_party/webgpu-headers/src": { + "args": { + "hash": "sha256-4ARtN5+4yxMoFGKvPvQgJGYqAqQLjHlrrxlTmka/UhE=", + "rev": "079d4e5153eaabc4033584cc399c27f1acbb2548", + "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/depot_tools": { + "args": { + "hash": "sha256-UhEzt9TBZiyuEjPVyHyTEg/idVj9EaAfrHHw2iRuIro=", + "rev": "2e88a3f08bd8c4a0014eae82729beca935f7f188", + "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/devtools-frontend/src": { + "args": { + "hash": "sha256-BmwsvTjgYQayFnyT9EfFzpCfbgdTt9xZlsUba0uJelg=", + "rev": "d5efa4236f8676254c9f39ccfef18bd633de5fd3", + "url": "https://chromium.googlesource.com/devtools/devtools-frontend" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dom_distiller_js/dist": { + "args": { + "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=", + "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d", + "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/domato/src": { + "args": { + "hash": "sha256-fYxoA0fxKe9U23j+Jp0MWj4m7RfsRpM0XjF6/yOhX1I=", + "rev": "053714bccbda79cf76dac3fee48ab2b27f21925e", + "url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/dragonbox/src": { + "args": { + "hash": "sha256-AOniXMPgwKpkJqivRd+GazEnhdw53FzhxKqG+GdU+cc=", + "rev": "6c7c925b571d54486b9ffae8d9d18a822801cbda", + "url": "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/eigen3/src": { + "args": { + "hash": "sha256-6K6CqifDPVYSs6g6AbG38sP3w7W7/q6bhLgm873Z9bk=", + "rev": "49623d0c4e1af3c680845191948d10f6d3e92f8a", + "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/electron_node": { + "args": { + "hash": "sha256-nDAuDTYmOeziiIm203x2NgTZl+3YRy0B3K4Fx8D+yNU=", + "owner": "nodejs", + "repo": "node", + "tag": "v24.11.1" + }, + "fetcher": "fetchFromGitHub" + }, + "src/third_party/emoji-segmenter/src": { + "args": { + "hash": "sha256-KdQdKBBipEBRT8UmNGao6yCB4m2CU8/SrMVvcXlb5qE=", + "rev": "955936be8b391e00835257059607d7c5b72ce744", + "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/engflow-reclient-configs": { + "args": { + "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=", + "owner": "EngFlow", + "repo": "reclient-configs", + "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d" + }, + "fetcher": "fetchFromGitHub" + }, + "src/third_party/expat/src": { + "args": { + "hash": "sha256-qe8O7otL6YcDDBx2DS/+c5mWIS8Rf8RQXVtLFMIAeyk=", + "rev": "69d6c054c1bd5258c2a13405a7f5628c72c177c2", + "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/farmhash/src": { + "args": { + "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=", + "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45", + "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/fast_float/src": { + "args": { + "hash": "sha256-CG5je117WYyemTe5PTqznDP0bvY5TeXn8Vu1Xh5yUzQ=", + "rev": "cb1d42aaa1e14b09e1452cfdef373d051b8c02a4", + "url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/federated_compute/src": { + "args": { + "hash": "sha256-5kuTp0TXOUCQQ7XcnwBRsQRxugl869hZhx8MbxDLwYk=", + "rev": "e51058dfe7888094ecc09cda38bfceffd4d4664b", + "url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ffmpeg": { + "args": { + "hash": "sha256-ecfRGFHkLcly874w6m5/oIO99MRgXftOJAb8KCc51ZU=", + "rev": "e18f48eba6b367ac68b9c477ae6cbe224e36b031", + "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/flac": { + "args": { + "hash": "sha256-Y5TXyJ8lVh8TaVC5S4BVxOmFxySBzPbJYEe8YJS6ZR4=", + "rev": "807e251d9f8c5dd6059e547931e9c6a4251967af", + "url": "https://chromium.googlesource.com/chromium/deps/flac.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/flatbuffers/src": { + "args": { + "hash": "sha256-A9nWfgcuVW3x9MDFeviCUK/oGcWJQwadI8LqNR8BlQw=", + "rev": "187240970746d00bbd26b0f5873ed54d2477f9f3", + "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/fontconfig/src": { + "args": { + "hash": "sha256-+vd+Q6NzoWA7Ou+hkgIRhUZ0A1G+rZAh7JrP84f0wnQ=", + "rev": "23b3fc6e58a13d126b9c30fafc9a16f8bd7143e9", + "url": "https://chromium.googlesource.com/external/fontconfig.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/fp16/src": { + "args": { + "hash": "sha256-CR7h1d9RFE86l6btk4N8vbQxy0KQDxSMvckbiO87JEg=", + "rev": "3d2de1816307bac63c16a297e8c4dc501b4076df", + "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/freetype/src": { + "args": { + "hash": "sha256-gUW2+dn13kexIGfU5DAY3EEzVtPzZzqjPnvDhUZXzQA=", + "rev": "32fc0af22206327ffd06e1d025f13b11fd8d1a46", + "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/fuzztest/src": { + "args": { + "hash": "sha256-PjeVtPCRoyRtXX0Q5x+EbT6tE9/FiYGdJjRqIVL29i0=", + "rev": "7406afb783ff5e7f3a1a66aebb81090622716412", + "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/fxdiv/src": { + "args": { + "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=", + "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8", + "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/gemmlowp/src": { + "args": { + "hash": "sha256-e6AeRhZioIiTG5R+IA9g2GBqI4o74wijJYmqINLOtQs=", + "rev": "16e8662c34917be0065110bfcd9cc27d30f52fdf", + "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/glslang/src": { + "args": { + "hash": "sha256-BXfe5SgjPy5a+FJh4KIe5kwvKVBvo773OfIZpOsDBLo=", + "rev": "7a47e2531cb334982b2a2dd8513dca0a3de4373d", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/google_benchmark/src": { + "args": { + "hash": "sha256-GfqY2d+Nd7ovNrXxzTRm/AYWj7GuxIO6FawzUEzwOVA=", + "rev": "188e8278990a9069ffc84441cb5a024fd0bede37", + "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/googletest/src": { + "args": { + "hash": "sha256-gJhv3DQQSP5BQ6GmDobq42/Gkx4AbOg/ZS80bM0WpEw=", + "rev": "4fe3307fb2d9f86d19777c7eb0e4809e9694dde7", + "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/harfbuzz-ng/src": { + "args": { + "hash": "sha256-gUUXBd2/di6MYhUzo0QkGQvRY6KLcy7qdDlSClnmnL8=", + "rev": "7d936359a27abb2d7cb14ecc102463bb15c11843", + "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/highway/src": { + "args": { + "hash": "sha256-HNrlqtAs1vKCoSJ5TASs34XhzjEbLW+ISco1NQON+BI=", + "rev": "84379d1c73de9681b54fbe1c035a23c7bd5d272d", + "url": "https://chromium.googlesource.com/external/github.com/google/highway.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/hunspell_dictionaries": { + "args": { + "hash": "sha256-mYDPXa64IOKLMNiBiMqDrQMR7gDPI+vdyVc+M7E+ddc=", + "rev": "cccf64a8acc951afe3f47fee023908e55699bc58", + "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/icu": { + "args": { + "hash": "sha256-zFxeAY6lEFRGNbCOOJij0CFjp3512WkyaN1Ld0+WADs=", + "rev": "a86a32e67b8d1384b33f8fa48c83a6079b86f8cd", + "url": "https://chromium.googlesource.com/chromium/deps/icu.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ink/src": { + "args": { + "hash": "sha256-Z4cxFSJHyARUbeAnW51Ar7zuTMyMzi52Z9R1anN4d74=", + "rev": "11ca89062782d7e5a57741a303a925f510b91015", + "url": "https://chromium.googlesource.com/external/github.com/google/ink.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ink_stroke_modeler/src": { + "args": { + "hash": "sha256-h/xI/TPV2yiRLqrBgaDAkr8Nfg3RLkjHVuYX+nH99CQ=", + "rev": "2cd45e8683025c28fa2efcf672ad46607e8af869", + "url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/instrumented_libs": { + "args": { + "hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU=", + "rev": "69015643b3f68dbd438c010439c59adc52cac808", + "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/jetstream/main": { + "args": { + "hash": "sha256-ai1OYU+O3xsrKWIH6iw09KZrMJOFPfe3GQpdDDtfxXQ=", + "rev": "f88580ef6265b59295f37eb0c6666466b11a0e74", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/jetstream/v2.2": { + "args": { + "hash": "sha256-zucA2tqNOsvjhwYQKZ5bFUC73ZF/Fu7KpBflSelvixw=", + "rev": "2145cedef4ca2777b792cb0059d3400ee2a6153c", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/jsoncpp/source": { + "args": { + "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=", + "rev": "42e892d96e47b1f6e29844cc705e148ec4856448", + "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/leveldatabase/src": { + "args": { + "hash": "sha256-ANtMVRZmW6iOjDVn2y15ak2fTagFTTaz1Se6flUHL8w=", + "rev": "4ee78d7ea98330f7d7599c42576ca99e3c6ff9c5", + "url": "https://chromium.googlesource.com/external/leveldb.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libFuzzer/src": { + "args": { + "hash": "sha256-TDi1OvYClJKmEDikanKVTmy8uxUXJ95nuVKo5u+uFPM=", + "rev": "bea408a6e01f0f7e6c82a43121fe3af4506c932e", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libaddressinput/src": { + "args": { + "hash": "sha256-6h4/DQUBoBtuGfbaTL5Te1Z+24qjTaBuIydcTV18j80=", + "rev": "2610f7b1043d6784ada41392fc9392d1ea09ea07", + "url": "https://chromium.googlesource.com/external/libaddressinput.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libaom/source/libaom": { + "args": { + "hash": "sha256-jVbneofb6JsFKBVwafMTPZBlNkqalkFdQvexZjCmxlA=", + "rev": "5d80673d723a5e2e268b124d81d425053823d875", + "url": "https://aomedia.googlesource.com/aom.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libc++/src": { + "args": { + "hash": "sha256-fhaWlbzkvsbz02yqJ9nf6/lVrKDYBaIYNlx++A0JFTU=", + "rev": "07572e7b169225ef3a999584cba9d9004631ae66", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libc++abi/src": { + "args": { + "hash": "sha256-iRVRMcK8mKyHe+8Oh5qfl3Y8HYwVwK2NlgNE7WxbKJM=", + "rev": "83a852080747b9a362e8f9e361366b7a601f302c", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libdrm/src": { + "args": { + "hash": "sha256-woSYEDUfcEBpYOYnli13wLMt754A7KnUbmTEcFQdFGw=", + "rev": "ad78bb591d02162d3b90890aa4d0a238b2a37cde", + "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libgav1/src": { + "args": { + "hash": "sha256-BgTfWmbcMvJB1KewJpRcMtbOd2FVuJ+fi1zAXBXfkrg=", + "rev": "c05bf9be660cf170d7c26bd06bb42b3322180e58", + "url": "https://chromium.googlesource.com/codecs/libgav1.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libipp/libipp": { + "args": { + "hash": "sha256-GzLVt6RIN+FgOpcK61ya5lvdIIhQRciAb/ISIirWogY=", + "rev": "4be5f77f672a3a9f1bbf3c935fb0ea8b3f86ce61", + "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libjpeg_turbo": { + "args": { + "hash": "sha256-chUqHiT1HMmFRaCOgjGLVU+LxeN/iUq7y6ckrcqFYFI=", + "rev": "6383cf609c1f63c18af0f59b2738caa0c6c7e379", + "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/liblouis/src": { + "args": { + "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=", + "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376", + "url": "https://chromium.googlesource.com/external/liblouis-github.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libpfm4/src": { + "args": { + "hash": "sha256-awpZ22rovLZWQkX/qog93vL4u2gJ+F3w5IGFNlZ0heQ=", + "rev": "964baf9d35d5f88d8422f96d8a82c672042e7064", + "url": "https://chromium.googlesource.com/external/git.code.sf.net/p/perfmon2/libpfm4.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libphonenumber/dist": { + "args": { + "hash": "sha256-ZbuDrZEUVp/ekjUP8WO/FsjAomRjeDBptT4nQZvTVi4=", + "rev": "9d46308f313f2bf8dbce1dfd4f364633ca869ca7", + "url": "https://chromium.googlesource.com/external/libphonenumber.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libprotobuf-mutator/src": { + "args": { + "hash": "sha256-EaEC6R7SzqLw4QjEcWXFXhZc84lNBp6RSa9izjGnWKE=", + "rev": "7bf98f78a30b067e22420ff699348f084f802e12", + "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libsrtp": { + "args": { + "hash": "sha256-bkG1+ss+1a2rCHGwZjhvf5UaNVbPPZJt9HZSIPBKGwM=", + "rev": "a52756acb1c5e133089c798736dd171567df11f5", + "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libsync/src": { + "args": { + "hash": "sha256-aI7Exie3AmTy8R/Ua5lua0lCwMO1k4wMS6cxulU6iD8=", + "rev": "d29ac04dc81e6b072c091c5b1342a282765ea250", + "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libunwind/src": { + "args": { + "hash": "sha256-C5gUvzQIO00UbB8yotxbbjbrkqe7pXVzMeLlcSH0/Bg=", + "rev": "c65639bf792928e0d38aed822dc34d3e72066a6c", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libva-fake-driver/src": { + "args": { + "hash": "sha256-em/8rNqwv6szlxyji7mnYr3nObSW/x3OzEEnkiLuqpI=", + "rev": "a9bcab9cd6b15d4e3634ca44d5e5f7652c612194", + "url": "https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libvpx/source/libvpx": { + "args": { + "hash": "sha256-PdRZyXurQkw3UWOH1MkkuzggJkt9Uxq472L4LkxaYtw=", + "rev": "9a7674e1a83d1261a49776c8794b87c9bccc85d7", + "url": "https://chromium.googlesource.com/webm/libvpx.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libwebm/source": { + "args": { + "hash": "sha256-SxDGt7nPVkSxwRF/lMmcch1h+C2Dyh6GZUXoZjnXWb4=", + "rev": "f2a982d748b80586ae53b89a2e6ebbc305848b8c", + "url": "https://chromium.googlesource.com/webm/libwebm.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libwebp/src": { + "args": { + "hash": "sha256-a7F97BEnwpdx9W8OsVnz+NfIYW+J1XVDSi38KsIZIfI=", + "rev": "c00d83f6642e7838a12bb03bca94237f03cc2e00", + "url": "https://chromium.googlesource.com/webm/libwebp.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/libyuv": { + "args": { + "hash": "sha256-FZufzbDupdGhlSNGjSC6XlYiTCl677vfr9VHYot4t8g=", + "rev": "4825d9b29eea4dac24607245db7ec7d4c41c1964", + "url": "https://chromium.googlesource.com/libyuv/libyuv.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/llvm-libc/src": { + "args": { + "hash": "sha256-mqj2ee9F2UDMZQSD9ZAP/g5r2P56Awq+grCdcypUqFE=", + "rev": "fe97633934c21742a74962d52c17b3bcba7ad824", + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/lss": { + "args": { + "hash": "sha256-89CdA7vBYudbko0nAIyHcpHMXqFZHC05kwRIUmeEWGo=", + "rev": "29164a80da4d41134950d76d55199ea33fbb9613", + "url": "https://chromium.googlesource.com/linux-syscall-support.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/material_color_utilities/src": { + "args": { + "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=", + "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465", + "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/minigbm/src": { + "args": { + "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=", + "rev": "3018207f4d89395cc271278fb9a6558b660885f5", + "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/nan": { + "args": { + "hash": "sha256-Tq6whJBeGlJhF7/ctFOEgb1W12Tu/HGNTC5ujQtk+Qk=", + "owner": "nodejs", + "repo": "nan", + "rev": "675cefebca42410733da8a454c8d9391fcebfbc2" + }, + "fetcher": "fetchFromGitHub" + }, + "src/third_party/nasm": { + "args": { + "hash": "sha256-vH3OUzfLZbaPY4DMAvSW0jKYRJmOa7aE8EfIJtZ1/Xs=", + "rev": "af5eeeb054bebadfbb79c7bcd100a95e2ad4525f", + "url": "https://chromium.googlesource.com/chromium/deps/nasm.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/nearby/src": { + "args": { + "hash": "sha256-Mwuo2RlKweqZPkDw4OcJDD+QNRiXVysSyzLdjHsG1mA=", + "rev": "0bad8b0c9877f92eeeb550654f1ea51a71a085e4", + "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/neon_2_sse/src": { + "args": { + "hash": "sha256-AkDAHOPO5NdXXk0hETS5D67mzw0RVXwPDDKqM0XXo5g=", + "rev": "eb8b80b28f956275e291ea04a7beb5ed8289e872", + "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/oak/src": { + "args": { + "hash": "sha256-+ouwII+i5CbWoJ3NAxQPmczofzkPwtZTtjIPaXyyXt8=", + "rev": "96c00a6c99ac382f3f3a8f376bc7a70890d1adaa", + "url": "https://chromium.googlesource.com/external/github.com/project-oak/oak.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/openh264/src": { + "args": { + "hash": "sha256-tf0lnxATCkoq+xRti6gK6J47HwioAYWnpEsLGSA5Xdg=", + "rev": "652bdb7719f30b52b08e506645a7322ff1b2cc6f", + "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/openscreen/src": { + "args": { + "hash": "sha256-DIn/qjmbuFeqzXOwyDf0/GStKv6VuCYGN/AATpD+9zM=", + "rev": "734877394201dcfcc786b3c8ea057b7607a56993", + "url": "https://chromium.googlesource.com/openscreen" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/openscreen/src/buildtools": { + "args": { + "hash": "sha256-AHPwOX5Z0R3rl49OvFsW92jlvCKvScsMYkfOJeBnWZ8=", + "rev": "5df641722f2e50623646d702e0046fb68c0f5ce1", + "url": "https://chromium.googlesource.com/chromium/src/buildtools" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/openscreen/src/third_party/tinycbor/src": { + "args": { + "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=", + "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7", + "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ots/src": { + "args": { + "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=", + "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33", + "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/pdfium": { + "args": { + "hash": "sha256-PX3jg11+zGfEIiOewgO4s9Knfw5a1shhFl8BZfioXng=", + "rev": "66c6bc40966122935d37eef739deb988581214d4", + "url": "https://pdfium.googlesource.com/pdfium.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/perfetto": { + "args": { + "hash": "sha256-qhZ8ghbw3AuJh8uUbH+cCreqJs55v9PxxsykhSpXfks=", + "rev": "fdb95badca57068440acc569169f602acee51d7a", + "url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/protobuf-javascript/src": { + "args": { + "hash": "sha256-1o6N9+1wsQSu1B4w5LlGlwzIUmuPCIYHPqwOyt234ZM=", + "rev": "e6d763860001ba1a76a63adcff5efb12b1c96024", + "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/pthreadpool/src": { + "args": { + "hash": "sha256-VdgC6LMzcfhH2Y65Gu+Osi6BXxIq01Fmw5AehsBlX70=", + "rev": "d90cd6f1493e09d12c407243f7f331a8cda55efb", + "url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/pyelftools": { + "args": { + "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=", + "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae", + "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/pywebsocket3/src": { + "args": { + "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=", + "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2", + "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/quic_trace/src": { + "args": { + "hash": "sha256-JmK7nmHg/BfXvFNG2oMpOV83EF+LwVLdwL6qX5FGREs=", + "rev": "352288a06d2c83ae68b5a402b2219f4678be9f39", + "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/re2/src": { + "args": { + "hash": "sha256-WOwDr0VEjvJyEmvrpw0YmlAnHJP0+0q28fUVpl4E7Eg=", + "rev": "e7aec5985072c1dbe735add802653ef4b36c231a", + "url": "https://chromium.googlesource.com/external/github.com/google/re2.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/readability/src": { + "args": { + "hash": "sha256-lFsHXk4kEkzIbHgJiLTgeiKqiGOErzUwADo8WSZlnec=", + "rev": "d7949dc47dd9ed9ee1d3b34ffdcf3bce28cde435", + "url": "https://chromium.googlesource.com/external/github.com/mozilla/readability.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ruy/src": { + "args": { + "hash": "sha256-+GNd+hU/fYAsgeaPnWWg90uw8rKKxTTvPS5aOpYa8zM=", + "rev": "1e6e50872655a73b5250f954d7b9da9a87292fd3", + "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/search_engines_data/resources": { + "args": { + "hash": "sha256-ZT9Vbvh2hI7DJziwwvU2C2CVx37CycyzdQke4E3eipg=", + "rev": "97355b69daee73d74ac38f2227788458bd95d372", + "url": "https://chromium.googlesource.com/external/search_engines_data.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/securemessage/src": { + "args": { + "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=", + "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84", + "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/skia": { + "args": { + "hash": "sha256-0LiFK/8873gei70iVhNGRlcFeGIp7tjDEfxTBz1LYv8=", + "rev": "ee20d565acb08dece4a32e3f209cdd41119015ca", + "url": "https://skia.googlesource.com/skia.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/smhasher/src": { + "args": { + "hash": "sha256-OgZQwkQcVgRMf62ROGuY+3zQhBoWuUSP4naTmSKdq8s=", + "rev": "0ff96f7835817a27d0487325b6c16033e2992eb5", + "url": "https://chromium.googlesource.com/external/smhasher.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/snappy/src": { + "args": { + "hash": "sha256-jUwnjbaqXz7fgI2TPRK7SlUPQUVzcpjp4ZlFbEzwA+o=", + "rev": "32ded457c0b1fe78ceb8397632c416568d6714a0", + "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/speedometer/main": { + "args": { + "hash": "sha256-oF8ELo2qmkgaTpNzBLaC3A6gyf2iFv+FQNPGwdGqzVU=", + "rev": "e2e2538900938c5d6819e9456bf33d48f806c96c", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/speedometer/v2.0": { + "args": { + "hash": "sha256-p7WUS8gZUaS+LOm7pNmRkwgxjx+V8R6yy7bbaEHaIs4=", + "rev": "732af0dfe867f8815e662ac637357e55f285dbbb", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/speedometer/v2.1": { + "args": { + "hash": "sha256-0z5tZlz32fYh9I1ALqfLm2WWO8HiRBwt0hcmgKQhaeM=", + "rev": "8bf7946e39e47c875c00767177197aea5727e84a", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/speedometer/v3.0": { + "args": { + "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=", + "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/speedometer/v3.1": { + "args": { + "hash": "sha256-G89mrrgRaANT1vqzhKPQKemHbz56YwR+oku7rlRoCHw=", + "rev": "1386415be8fef2f6b6bbdbe1828872471c5d802a", + "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/spirv-cross/src": { + "args": { + "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=", + "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/spirv-headers/src": { + "args": { + "hash": "sha256-HjJjMuqTrYv5LUOWcexzPHb8nhOT4duooDAhDsd44Zo=", + "rev": "b824a462d4256d720bebb40e78b9eb8f78bbb305", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/spirv-tools/src": { + "args": { + "hash": "sha256-HSqI9VkDBgivSqEAAkSXf+u2CT1OZcPU2YcH2BF1Y9o=", + "rev": "f410b3c178740f9f5bd28d5b22a71d4bc10acd49", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/sqlite/src": { + "args": { + "hash": "sha256-13HMEpzzcFx/UKqt4V68619R+0j4B/GOl6NYlhpBk0c=", + "rev": "7d348fc79216a09b864ff881d8561a6222301666", + "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/squirrel.mac": { + "args": { + "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=", + "owner": "Squirrel", + "repo": "Squirrel.Mac", + "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38" + }, + "fetcher": "fetchFromGitHub" + }, + "src/third_party/squirrel.mac/vendor/Mantle": { + "args": { + "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=", + "owner": "Mantle", + "repo": "Mantle", + "rev": "78d3966b3c331292ea29ec38661b25df0a245948" + }, + "fetcher": "fetchFromGitHub" + }, + "src/third_party/squirrel.mac/vendor/ReactiveObjC": { + "args": { + "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=", + "owner": "ReactiveCocoa", + "repo": "ReactiveObjC", + "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76" + }, + "fetcher": "fetchFromGitHub" + }, + "src/third_party/swiftshader": { + "args": { + "hash": "sha256-kg0beZH6AKT9TqPWF9aZRRTGHbTSVYm1pffuERv0eG4=", + "rev": "04fbb7daf5a53689e067190e7ef1047c5d49e292", + "url": "https://swiftshader.googlesource.com/SwiftShader.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/text-fragments-polyfill/src": { + "args": { + "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=", + "rev": "c036420683f672d685e27415de0a5f5e85bdc23f", + "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/tflite/src": { + "args": { + "hash": "sha256-iWUx5GFHhdo3It/djUO2rc+zb5VpIVwyiMYKjB2RIE0=", + "rev": "247b0cf254fbbf3d326feed3820ec24503a353a5", + "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/ukey2/src": { + "args": { + "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=", + "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47", + "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan-deps": { + "args": { + "hash": "sha256-Ky1pMR6W0bgBq2ifVB/1b72dk2aZbIjF44Vc2Ho3iEg=", + "rev": "327bc9dec2a42806ad78c284829363657bb728dc", + "url": "https://chromium.googlesource.com/vulkan-deps" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan-headers/src": { + "args": { + "hash": "sha256-DIePLzDoImnaso0WYUv819wSDeA7Zy1I/tYAbsALXKg=", + "rev": "2fa203425eb4af9dfc6b03f97ef72b0b5bcb8350", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan-loader/src": { + "args": { + "hash": "sha256-43eoTxe2O7MxwsC16nv1R1Xf4WkNNsTf0G5Mo46oipk=", + "rev": "052ac24611eced7b0ca62cc5cca2eeeb2051fa28", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan-tools/src": { + "args": { + "hash": "sha256-uT3KUUiYZzgaAjfUhhqPsjTXE4B6XuSt/zSWE8R9lS0=", + "rev": "48b5d246b2d0b1a41ee7ea1b69525ae7bb38a2ae", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan-utility-libraries/src": { + "args": { + "hash": "sha256-lDO0B7wEYT6cc/t/ZW5OAxxgRfDORoGd+pF5r5R7yoQ=", + "rev": "c010c19e796035e92fb3b0462cb887518a41a7c1", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan-validation-layers/src": { + "args": { + "hash": "sha256-ZxLoVN0e58eA5ySn0MknTRMSD/bjCebFnwo2WgtrPYc=", + "rev": "5e175a92548d1a507bd81fdc5db6fa1d2572a6ea", + "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/vulkan_memory_allocator": { + "args": { + "hash": "sha256-yBCs3zfqs/60htsZAOscjcyKhVbAWE6znweuXcs1oKo=", + "rev": "cb0597213b0fcb999caa9ed08c2f88dc45eb7d50", + "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/wayland-protocols/gtk": { + "args": { + "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=", + "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0", + "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/wayland-protocols/kde": { + "args": { + "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=", + "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e", + "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/wayland-protocols/src": { + "args": { + "hash": "sha256-tdpEK7soY0aKSk6VD4nulH7ORubX8RfjXYmNAd/cWKY=", + "rev": "efbc060534be948b63e1f395d69b583eebba3235", + "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/wayland/src": { + "args": { + "hash": "sha256-5iG0HaPXJCEo027TuyXlJQNGluTaAPlvwQDFbiYOEJQ=", + "rev": "736d12ac67c20c60dc406dc49bb06be878501f86", + "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/webdriver/pylib": { + "args": { + "hash": "sha256-k5qx4xyO83jPtHaMh6aMigMJ3hsytFdFQOcZLmwPEYo=", + "rev": "1e954903022e9386b9acf452c24f4458dd4c4fc1", + "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/webgl/src": { + "args": { + "hash": "sha256-mSketnpcDtz3NnhPkXMpMpq8MWcFiSviJbK6h06fcnw=", + "rev": "c01b768bce4a143e152c1870b6ba99ea6267d2b0", + "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/webgpu-cts/src": { + "args": { + "hash": "sha256-0Bn319fWpTERI31a9WahXiWi63v62rxI9aA/VUMzuAw=", + "rev": "e7cad0143f136c69b345024d0a60e0d859dd7503", + "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/webpagereplay": { + "args": { + "hash": "sha256-wrA3iN0HEXqIg53tprARRR7ekSYFXVbqaDIt1zZeTP4=", + "rev": "052833a44dd2f538b85936092bad545b6062e193", + "url": "https://chromium.googlesource.com/webpagereplay.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/webrtc": { + "args": { + "hash": "sha256-rs/miFkNVNCGOTSEvSRdWWf8zg1+WU+L/Pt+TblSGy4=", + "rev": "8f3537ef5b85b4c7dabed2676d4b72214c69c494", + "url": "https://webrtc.googlesource.com/src.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/weston/src": { + "args": { + "hash": "sha256-o49a3sp+D9FycxeB+uMcKouVvlKWoWpfws7FLEGJ/V8=", + "rev": "bdba2f9adaca673fd58339d8140bc04727ee279d", + "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/wuffs/src": { + "args": { + "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=", + "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8", + "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/xdg-utils": { + "args": { + "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=", + "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44", + "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/xnnpack/src": { + "args": { + "hash": "sha256-f3Bcapnbzg3wjrKJY8Yq9aGm7PHttJQt3ri6blRhEBk=", + "rev": "d3efd0a2fcd944931416811da6d24222c91ddd9d", + "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/third_party/zstd/src": { + "args": { + "hash": "sha256-W1pQwaVAPqr9QsNmQXoefPJASXB5OsFxx7TUUXRJkjU=", + "rev": "a25c1fc96f431e69abea38f52cb31e6bc074e9f1", + "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git" + }, + "fetcher": "fetchFromGitiles" + }, + "src/v8": { + "args": { + "hash": "sha256-vyOtnPA3tAeorNOGTDuAnwJ/UtpjeO8z+RSjx9RIFFc=", + "rev": "ad25f9ae50a53bee50f459bfee25fb1e6f64adc3", + "url": "https://chromium.googlesource.com/v8/v8.git" + }, + "fetcher": "fetchFromGitiles" + } + }, + "electron_yarn_hash": "sha256-XfBaGCIERh5B/xq7H5zcB9moB75X1QVR53i3LCpa0D8=", + "modules": "143", + "node": "24.11.1", + "version": "40.0.0" } } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c49df86f211..932072f3894f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5780,6 +5780,7 @@ with pkgs; electron_37-bin electron_38-bin electron_39-bin + electron_40-bin ; inherit (callPackages ../development/tools/electron/chromedriver { }) @@ -5787,6 +5788,7 @@ with pkgs; electron-chromedriver_37 electron-chromedriver_38 electron-chromedriver_39 + electron-chromedriver_40 ; electron_36 = electron_36-bin; @@ -5805,6 +5807,11 @@ with pkgs; electron-source.electron_39 else electron_39-bin; + electron_40 = + if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_40 then + electron-source.electron_40 + else + electron_40-bin; electron = electron_38; electron-bin = electron_38-bin; electron-chromedriver = electron-chromedriver_38; From 2a81f36e4fb985d53dae9a6f3be61a63c0975c43 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 12:48:16 +0000 Subject: [PATCH 0969/1216] zola: 0.22.0 -> 0.22.1 --- pkgs/by-name/zo/zola/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zo/zola/package.nix b/pkgs/by-name/zo/zola/package.nix index 4b1f2b59a4af..90e53739af5d 100644 --- a/pkgs/by-name/zo/zola/package.nix +++ b/pkgs/by-name/zo/zola/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "zola"; - version = "0.22.0"; + version = "0.22.1"; src = fetchFromGitHub { owner = "getzola"; repo = "zola"; rev = "v${version}"; - hash = "sha256-ahinXciTzG4fBtWKLSWP9uFG3Z3M7NHg60mcziMV1qM="; + hash = "sha256-mynoXNJE7IcP/0bMLUr/pJQbaEVEj2q/488Z4c9Tr5A="; }; - cargoHash = "sha256-37AoQOfntpdLb0EPRmlgqrElLts7IGW0fr8g2TeTTRc="; + cargoHash = "sha256-AEgyaKenTMKAoJjzcklFFWjy5H5hkNZvVnlMZmqQxlM="; nativeBuildInputs = [ pkg-config From 8d649cc301a235b0db1c95766c0c60b52e945da6 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 22 Jan 2026 00:11:42 +0000 Subject: [PATCH 0970/1216] python3Packages.pylance: 1.0.2 -> 1.0.3 Diff: https://github.com/lancedb/lance/compare/v1.0.2...v1.0.3 Changelog: https://github.com/lancedb/lance/releases/tag/v1.0.3 --- .../python-modules/pylance/default.nix | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pylance/default.nix b/pkgs/development/python-modules/pylance/default.nix index b37d5cd7e8b8..a084c467818e 100644 --- a/pkgs/development/python-modules/pylance/default.nix +++ b/pkgs/development/python-modules/pylance/default.nix @@ -34,14 +34,14 @@ buildPythonPackage (finalAttrs: { pname = "pylance"; - version = "1.0.2"; + version = "1.0.3"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lance"; tag = "v${finalAttrs.version}"; - hash = "sha256-yhEM+1Rr0nEVj5XGQOjaZXlRQKnvPagvlNBhDfNUItw="; + hash = "sha256-k6dwZAKhziTDoOGsIj1tasF2QUn4EG1+ogeirCt3Kwc="; }; sourceRoot = "${finalAttrs.src.name}/python"; @@ -53,7 +53,7 @@ buildPythonPackage (finalAttrs: { src sourceRoot ; - hash = "sha256-aMgy20urjm5gRX2fOh/vAoGUpXvnG3oY8u/D8rfSbHw="; + hash = "sha256-8Ja6GrqZqq/zJCh/QiUrHaukHFMvGEcXKZmo1gZjGq8="; }; nativeBuildInputs = [ @@ -107,6 +107,13 @@ buildPythonPackage (finalAttrs: { "-Wignore::DeprecationWarning" ]; + disabledTestPaths = lib.optionals (pythonAtLeast "3.14") [ + # RuntimeError: torch.compile is not supported on Python 3.14+ + "torch_tests/test_bench_utils.py" + "torch_tests/test_distance.py" + "torch_tests/test_torch_kmeans.py" + ]; + disabledTests = [ # Hangs indefinitely "test_all_permutations" @@ -148,6 +155,26 @@ buildPythonPackage (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Build hangs after all the tests are run due to a torch subprocess not exiting "test_multiprocess_loading" + + # torch._inductor.exc.InductorError: CppCompileError: C++ compile error + # OpenMP support not found + # TODO: figure out why this only happens on python 3.13 and not 3.14 + "test_cosine_distance" + "test_ground_truth" + "test_index_cast_centroids" + "test_index_with_no_centroid_movement" + "test_l2_distance" + "test_l2_distance_f16_bf16_cpu" + "test_pairwise_cosine" + "test_torch_index_with_nans" + "test_torch_kmeans_nans" + ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # RuntimeError: torch.compile is not supported on Python 3.14+ + "test_create_index_unsupported_accelerator" + "test_index_cast_centroids" + "test_index_with_no_centroid_movement" + "test_torch_index_with_nans" ]; __darwinAllowLocalNetworking = true; From 85edfcd90da6f1010357d1662c3db91f4ec33b49 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 13:11:53 +0000 Subject: [PATCH 0971/1216] scalingo: 1.42.0 -> 1.43.0 --- pkgs/by-name/sc/scalingo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix index 2ee62a45eeec..98c682fa8588 100644 --- a/pkgs/by-name/sc/scalingo/package.nix +++ b/pkgs/by-name/sc/scalingo/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "scalingo"; - version = "1.42.0"; + version = "1.43.0"; src = fetchFromGitHub { owner = pname; repo = "cli"; rev = version; - hash = "sha256-Ifrt3pvKw40f7lDwM2C2EVm/g6i4Dd+3fxVphAxU3as="; + hash = "sha256-A1kz4Zh6SiXcsmFqHuldRTa1qI8+bJBALjweWYBvnTo="; }; vendorHash = null; From 84b87704cf4dde6fd8c353b2bb6e346cf184b2f9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 11:06:19 +0100 Subject: [PATCH 0972/1216] python313Packages.pytapo: migrate to finalAttrs --- pkgs/development/python-modules/pytapo/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pytapo/default.nix b/pkgs/development/python-modules/pytapo/default.nix index 7901d5b13d9c..b9a2164f1deb 100644 --- a/pkgs/development/python-modules/pytapo/default.nix +++ b/pkgs/development/python-modules/pytapo/default.nix @@ -10,13 +10,13 @@ urllib3, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pytapo"; version = "3.3.56"; pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-Cx3X0C8CiTixEdepj0bQViSMQJ65bVTRrZuMnPO/ys8="; }; @@ -38,8 +38,8 @@ buildPythonPackage rec { meta = { description = "Python library for communication with Tapo Cameras"; homepage = "https://github.com/JurajNyiri/pytapo"; - changelog = "https://github.com/JurajNyiri/pytapo/releases/tag/${version}"; + changelog = "https://github.com/JurajNyiri/pytapo/releases/tag/${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fleaz ]; }; -} +}) From 842dc238c7ad3b88310185c7a783b5725686f036 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 22 Jan 2026 15:22:24 +0200 Subject: [PATCH 0973/1216] easysnap: substitute with --replace-fail --- pkgs/by-name/ea/easysnap/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ea/easysnap/package.nix b/pkgs/by-name/ea/easysnap/package.nix index 4a5b6cbd64dd..d6b44b8127a6 100644 --- a/pkgs/by-name/ea/easysnap/package.nix +++ b/pkgs/by-name/ea/easysnap/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { for i in $out/bin/*; do substituteInPlace $i \ - --replace zfs ${zfs}/bin/zfs + --replace-fail zfs ${zfs}/bin/zfs done ''; From 6fc5a3006bcf881645a7126e5fbb2fc5162ccf5e Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 22 Jan 2026 15:22:49 +0200 Subject: [PATCH 0974/1216] easysnap: substitute with lib.getExe --- pkgs/by-name/ea/easysnap/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ea/easysnap/package.nix b/pkgs/by-name/ea/easysnap/package.nix index d6b44b8127a6..3a27c2083a9e 100644 --- a/pkgs/by-name/ea/easysnap/package.nix +++ b/pkgs/by-name/ea/easysnap/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { for i in $out/bin/*; do substituteInPlace $i \ - --replace-fail zfs ${zfs}/bin/zfs + --replace-fail zfs ${lib.getExe zfs} done ''; From 569793d9e7c695f8442445f640e6bb33ac6f62f4 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 22 Jan 2026 15:24:24 +0200 Subject: [PATCH 0975/1216] easysnap: add install hooks https://github.com/jtojnar/nixpkgs-hammering/blob/main/explanations/missing-phase-hooks.md --- pkgs/by-name/ea/easysnap/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/ea/easysnap/package.nix b/pkgs/by-name/ea/easysnap/package.nix index 3a27c2083a9e..f31f6d60f470 100644 --- a/pkgs/by-name/ea/easysnap/package.nix +++ b/pkgs/by-name/ea/easysnap/package.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { }; installPhase = '' + runHook preInstall + mkdir -p $out/bin cp easysnap* $out/bin/ @@ -24,6 +26,8 @@ stdenv.mkDerivation { substituteInPlace $i \ --replace-fail zfs ${lib.getExe zfs} done + + runHook postInstall ''; meta = { From 2946c169c2edf965a319bcc126ffb8558a82509c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 13:25:57 +0000 Subject: [PATCH 0976/1216] surrealdb: 2.4.1 -> 2.5.0 --- pkgs/by-name/su/surrealdb/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/su/surrealdb/package.nix b/pkgs/by-name/su/surrealdb/package.nix index 07ecf04cee85..66cf38a78947 100644 --- a/pkgs/by-name/su/surrealdb/package.nix +++ b/pkgs/by-name/su/surrealdb/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "surrealdb"; - version = "2.4.1"; + version = "2.5.0"; src = fetchFromGitHub { owner = "surrealdb"; repo = "surrealdb"; tag = "v${finalAttrs.version}"; - hash = "sha256-woItGD998p8EWerkrWESqGON0HQp7Vrbl/kiQi+IT7g="; + hash = "sha256-SDzj/viDcuGbJ8HM0/KXBOjpc5vnreobTx0U3eNeKo8="; }; - cargoHash = "sha256-RbmhhJ+bJcCM8h2mkc2dK2Xlm+izESXwvbNvxuVC7vg="; + cargoHash = "sha256-alxRXeeeIxi9lb5sIOU15nCD6A/B3ba5iouOTKRTe+w="; # error: linker `aarch64-linux-gnu-gcc` not found postPatch = '' From 515f3d356ee3e116423a13fefe7d709e3061f259 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 13:30:21 +0000 Subject: [PATCH 0977/1216] python3Packages.ppft: 1.7.7 -> 1.7.8 --- pkgs/development/python-modules/ppft/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ppft/default.nix b/pkgs/development/python-modules/ppft/default.nix index 99a4a9521a61..42b741fa7d56 100644 --- a/pkgs/development/python-modules/ppft/default.nix +++ b/pkgs/development/python-modules/ppft/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "ppft"; - version = "1.7.7"; + version = "1.7.8"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-8/d0SM/iTCuNIpa22HMigLJQQaPz4fVRhWxkUdPgG5Y="; + hash = "sha256-X2ltTzl66bCvObH6/7MZV8Ud+8WjgVhWRy1PTocpN+4="; }; propagatedBuildInputs = [ six ]; From d47876cf52e446e9ac4eadc20900ce9b7ce28bd4 Mon Sep 17 00:00:00 2001 From: Sergei Volkov Date: Wed, 21 Jan 2026 18:58:59 +0100 Subject: [PATCH 0978/1216] python3Packages.cadwyn: disable for Python 3.14 --- pkgs/development/python-modules/cadwyn/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/cadwyn/default.nix b/pkgs/development/python-modules/cadwyn/default.nix index 0049172411ce..34fc2f74030e 100644 --- a/pkgs/development/python-modules/cadwyn/default.nix +++ b/pkgs/development/python-modules/cadwyn/default.nix @@ -22,6 +22,7 @@ svcs, typer, uvicorn, + pythonAtLeast, }: buildPythonPackage rec { @@ -36,6 +37,8 @@ buildPythonPackage rec { hash = "sha256-VVi79c/Y1mu520H/7gy9lGdBIVuKsYedU49P501NQao="; }; + disabled = pythonAtLeast "3.14"; + build-system = [ hatchling ]; dependencies = [ From c971beb7148226bc71c076e40e6428df618d4bf3 Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Mon, 11 Aug 2025 12:06:47 +0200 Subject: [PATCH 0979/1216] apache-airflow: 2.10.5 -> 3.1.0 Co-authored-by: Wolfgang Walther --- pkgs/by-name/ap/apache-airflow/package.nix | 264 +- pkgs/by-name/ap/apache-airflow/providers.nix | 2261 +++-------------- .../ap/apache-airflow/python-package.nix | 440 ++-- .../ap/apache-airflow/update-providers.py | 234 +- pkgs/by-name/ap/apache-airflow/update.sh | 57 +- 5 files changed, 867 insertions(+), 2389 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/package.nix b/pkgs/by-name/ap/apache-airflow/package.nix index 2565d93106c5..7e8e9065b3ff 100644 --- a/pkgs/by-name/ap/apache-airflow/package.nix +++ b/pkgs/by-name/ap/apache-airflow/package.nix @@ -9,213 +9,6 @@ let python = python3.override { self = python; packageOverrides = pySelf: pySuper: { - connexion = pySuper.connexion.overridePythonAttrs rec { - version = "2.14.2"; - src = fetchFromGitHub { - owner = "spec-first"; - repo = "connexion"; - tag = version; - hash = "sha256-1v1xCHY3ZnZG/Vu9wN/it7rLKC/StoDefoMNs+hMjIs="; - }; - nativeBuildInputs = with pySelf; [ - setuptools - ]; - pythonRelaxDeps = [ - "werkzeug" - ]; - propagatedBuildInputs = with pySelf; [ - aiohttp - aiohttp-jinja2 - aiohttp-swagger - clickclick - flask - inflection - jsonschema - openapi-spec-validator - packaging - pyyaml - requests - swagger-ui-bundle - ]; - nativeCheckInputs = with pySelf; [ - aiohttp-remotes - decorator - pytest-aiohttp - pytest-tornasync - pytestCheckHook - testfixtures - ]; - disabledTests = [ - "test_aiohttp_simple_api" - "test_app" - "test_invalid_type" # https://github.com/spec-first/connexion/issues/1969 - "test_openapi_yaml_behind_proxy" - "test_run_with_wsgi_containers" - "test_swagger_ui" - ]; - postPatch = '' - substituteInPlace connexion/__init__.py \ - --replace-fail "2020.0.dev1" "${version}" - ''; - }; - werkzeug = pySuper.werkzeug.overridePythonAttrs rec { - version = "2.3.8"; - src = fetchPypi { - pname = "werkzeug"; - inherit version; - hash = "sha256-VUslfHS763oNJUFgpPj/4YUkP1KlIDUGC3Ycpi2XfwM="; - }; - nativeCheckInputs = with pySelf; [ - pytest-xprocess - ]; - }; - # flask's test-suite needs click 8.1.8 - # TypeError: CliRunner.__init__() got an unexpected keyword argument 'mix_stderr' - click = pySuper.click.overridePythonAttrs rec { - version = "8.1.8"; - src = fetchPypi { - pname = "click"; - inherit version; - hash = "sha256-7VPJ2JkNg8Kifermjk7jN0c/YzDAQKMdQiXJV00WCWo="; - }; - }; - flask = pySuper.flask.overridePythonAttrs (o: rec { - version = "2.2.5"; - src = fetchPypi { - pname = "Flask"; - inherit version; - hash = "sha256-7e6bCn/yZiG9WowQ/0hK4oc3okENmbC7mmhQx/uXeqA="; - }; - nativeBuildInputs = (o.nativeBuildInputs or [ ]) ++ [ - pySelf.setuptools - ]; - pytestFlagsArray = [ - # tests that are marked with filterwarnings fail with - # DeprecationWarning: 'pkgutil.get_loader' is deprecated and slated for - # removal in Python 3.14; use importlib.util.find_spec() instead - "-W ignore::DeprecationWarning" - ]; - }); - flask-login = pySuper.flask-login.overridePythonAttrs rec { - version = "0.6.3"; - src = fetchFromGitHub { - owner = "maxcountryman"; - repo = "flask-login"; - tag = version; - hash = "sha256-Sn7Ond67P/3+OmKKFE/KfA6FE4IajhiRXVVrXKJtY3I="; - }; - nativeBuildInputs = with pySelf; [ setuptools ]; - pytestFlagsArray = [ - # DeprecationWarning: datetime.datetime.utcnow() is deprecated - # and scheduled for removal in a future version. - # Use timezone-aware objects to represent datetimes in UTC: - # datetime.datetime.now(datetime.UTC). - "-W ignore::DeprecationWarning" - ]; - }; - flask-session = pySuper.flask-session.overridePythonAttrs rec { - version = "0.5.0"; - src = fetchFromGitHub { - owner = "palletc-eco"; - repo = "flask-session"; - tag = version; - hash = "sha256-t8w6ZS4gBDpnnKvL3DLtn+rRLQNJbrT2Hxm4f3+a3Xc="; - }; - nativeCheckInputs = with pySelf; [ pytestCheckHook ]; - pytestFlagsArray = [ - "-k" - "'null_session or filesystem_session'" - ]; - dependencies = with pySelf; [ - flask-sqlalchemy - cachelib - ]; - disabledTests = [ ]; - disabledTestPaths = [ ]; - preCheck = ""; - postCheck = ""; - }; - # flask-appbuilder doesn't work with sqlalchemy 2.x, flask-appbuilder 3.x - # https://github.com/dpgaspar/Flask-AppBuilder/issues/2038 - flask-appbuilder = pySuper.flask-appbuilder.overridePythonAttrs { - meta.broken = false; - }; - # a knock-on effect from overriding the sqlalchemy version - flask-sqlalchemy = pySuper.flask-sqlalchemy.overridePythonAttrs { - src = fetchPypi { - pname = "Flask-SQLAlchemy"; - version = "2.5.1"; - hash = "sha256-K9pEtD58rLFdTgX/PMH4vJeTbMRkYjQkECv8LDXpWRI="; - }; - format = "setuptools"; - }; - httpcore = pySuper.httpcore.overridePythonAttrs { - # nullify upstream's pytest flags which cause - # "TLS/SSL connection has been closed (EOF)" - # with pytest-httpbin 1.x - preCheck = '' - substituteInPlace pyproject.toml \ - --replace-fail '[tool.pytest.ini_options]' '[tool.notpytest.ini_options]' - ''; - }; - pytest-httpbin = pySuper.pytest-httpbin.overridePythonAttrs rec { - version = "1.0.2"; - src = fetchFromGitHub { - owner = "kevin1024"; - repo = "pytest-httpbin"; - tag = "v${version}"; - hash = "sha256-S4ThQx4H3UlKhunJo35esPClZiEn7gX/Qwo4kE1QMTI="; - }; - # Use unmerged PR #65 to fix older version: - # https://github.com/kevin1024/pytest-httpbin/pull/65/ - # It was closed in favour of another which isn't compatible with the overriden version. - patches = [ - (fetchpatch { - url = "https://github.com/kevin1024/pytest-httpbin/commit/4e325f877ff8f77dec9f380bd8e53bb42976775c.patch"; - hash = "sha256-a33XcdMupD+7ZzvUibePdldGImmPLDNU2sxRbwpveDA="; - }) - (fetchpatch { - url = "https://github.com/kevin1024/pytest-httpbin/commit/463afb9b200563ac6fe7ae535f7a7a3c818b0418.patch"; - hash = "sha256-HFmuLtAtEjnB6heSG1YNnqxtz2phXNkHbQaZyB5bLJs="; - }) - ]; - disabledTests = [ - "test_httpbin_secure_accepts_get_requests" - "test_httpbin_secure_accepts_lots_of_get_requests" - "test_httpbin_both[https]" - "test_chunked_encoding[https]" - "TestClassBassedTests::test_http_secure" - "test_dont_crash_on_certificate_problems" - "test_redirect_location_is_https_for_secure_server" - "test_httpbin_secure_accepts_get_requests" - "test_http_secure" - ]; - }; - # apache-airflow doesn't work with sqlalchemy 2.x - # https://github.com/apache/airflow/issues/28723 - sqlalchemy = pySuper.sqlalchemy_1_4; - gitpython = pySuper.gitpython.overridePythonAttrs rec { - version = "3.1.44"; - src = fetchFromGitHub { - owner = "gitpython-developers"; - repo = "gitpython"; - rev = version; - hash = "sha256-KnKaBv/tKk4wiGWUWCEgd1vgrTouwUhqxJ1/nMjRaWk="; - }; - }; - # ValueError: Unknown classifier in field `project.classifiers`: Programming Language :: Python :: Free Threading :: 2 - Beta - urllib3 = pySuper.urllib3.overridePythonAttrs rec { - version = "2.5.0"; - src = fetchPypi { - pname = "urllib3"; - inherit version; - hash = "sha256-P8R3M8fkGdS8P2s9wrT4kLt0OQajDVa6Slv6S7/5J2A="; - }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail ', "setuptools-scm>=8,<9"' "" - ''; - }; smmap = pySuper.smmap.overridePythonAttrs rec { version = "5.0.2"; src = fetchFromGitHub { @@ -225,53 +18,22 @@ let hash = "sha256-0Y175kjv/8UJpSxtLpWH4/VT7JrcVPAq79Nf3rtHZZM="; }; }; - trove-classifiers = pySuper.trove-classifiers.overridePythonAttrs rec { - version = "2024.10.21.16"; - src = fetchPypi { - pname = "trove_classifiers"; - inherit version; - hash = "sha256-F8vQVdZ9Xp2d5jKTqHMpQ/q8IVdOTHt07fEStJKM9fM="; - }; - postPatch = ""; - }; - packaging = pySuper.packaging.overridePythonAttrs rec { - version = "24.2"; - src = fetchPypi { - pname = "packaging"; - inherit version; - hash = "sha256-wiim3F6TLTRrxXOTeRCdSeiFPdgiNXHHxbVSYO3AuX8="; - }; - }; - pluggy = pySuper.pluggy.overridePythonAttrs rec { - version = "1.5.0"; + structlog = pySuper.structlog.overridePythonAttrs (o: rec { + version = "25.4.0"; src = fetchFromGitHub { - owner = "pytest-dev"; - repo = "pluggy"; + owner = "hynek"; + repo = "structlog"; tag = version; - hash = "sha256-f0DxyZZk6RoYtOEXLACcsOn2B+Hot4U4g5Ogr/hKmOE="; + hash = "sha256-iNnUogcICQJvHBZO2J8uk4NleQY/ra3ZzxQgnSRKr30="; }; - }; - pyproject-api = pySuper.pyproject-api.overridePythonAttrs rec { - version = "1.8.0"; - src = fetchPypi { - pname = "pyproject_api"; - inherit version; - hash = "sha256-d7gEny/rXTPu/MIbV/HieWNid6isita1hxA3skN3hJY="; - }; - disabledTests = [ - # AssertionError: assert ['magic>3', 'requests>2'] == ['magic >3', 'requests >2'] - "test_frontend_setuptools" - ]; - }; - tox = pySuper.tox.overridePythonAttrs rec { - version = "4.27.0"; - src = fetchFromGitHub { - owner = "tox-dev"; - repo = "tox"; - tag = version; - hash = "sha256-Z3qUK4w1ebPvdZD4ZuKgZXJPUu5lG0G41vn/pc9gC/0="; - }; - }; + nativeCheckInputs = + with pySelf; + o.nativeCheckInputs + ++ [ + freezegun + pretend + ]; + }); apache-airflow = pySelf.callPackage ./python-package.nix { }; }; }; diff --git a/pkgs/by-name/ap/apache-airflow/providers.nix b/pkgs/by-name/ap/apache-airflow/providers.nix index d2da8c6a4c65..a33d6fd234d1 100644 --- a/pkgs/by-name/ap/apache-airflow/providers.nix +++ b/pkgs/by-name/ap/apache-airflow/providers.nix @@ -1,851 +1,361 @@ # Warning: generated by update-providers.py, do not update manually { airbyte = { - deps = [ - "aiohttp" - "asgiref" - "requests" - "requests-toolbelt" - ]; - imports = [ - "airflow.providers.airbyte.hooks.airbyte" - "airflow.providers.airbyte.operators.airbyte" - ]; + deps = [ "requests" ]; + imports = [ "airflow.providers.airbyte.get_provider_info" ]; + version = "5.2.3"; }; + alibaba = { deps = [ "oss2" ]; - imports = [ - "airflow.providers.alibaba.cloud.hooks.analyticdb_spark" - "airflow.providers.alibaba.cloud.hooks.oss" - "airflow.providers.alibaba.cloud.operators.analyticdb_spark" - "airflow.providers.alibaba.cloud.operators.oss" - ]; + imports = [ "airflow.providers.alibaba.get_provider_info" ]; + version = "3.2.2"; }; + amazon = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" + "aiobotocore" "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" "boto3" "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" "inflection" "jmespath" - "json-merge-patch" "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" + "lxml" + "marshmallow" "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" + "python3-saml" "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.amazon.aws.hooks.appflow" - "airflow.providers.amazon.aws.hooks.athena" - "airflow.providers.amazon.aws.hooks.athena_sql" - "airflow.providers.amazon.aws.hooks.base_aws" - "airflow.providers.amazon.aws.hooks.batch_client" - "airflow.providers.amazon.aws.hooks.batch_waiters" - "airflow.providers.amazon.aws.hooks.bedrock" - "airflow.providers.amazon.aws.hooks.chime" - "airflow.providers.amazon.aws.hooks.cloud_formation" - "airflow.providers.amazon.aws.hooks.comprehend" - "airflow.providers.amazon.aws.hooks.datasync" - "airflow.providers.amazon.aws.hooks.dms" - "airflow.providers.amazon.aws.hooks.dynamodb" - "airflow.providers.amazon.aws.hooks.ec2" - "airflow.providers.amazon.aws.hooks.ecr" - "airflow.providers.amazon.aws.hooks.ecs" - "airflow.providers.amazon.aws.hooks.eks" - "airflow.providers.amazon.aws.hooks.elasticache_replication_group" - "airflow.providers.amazon.aws.hooks.emr" - "airflow.providers.amazon.aws.hooks.emr" - "airflow.providers.amazon.aws.hooks.eventbridge" - "airflow.providers.amazon.aws.hooks.glacier" - "airflow.providers.amazon.aws.hooks.glue" - "airflow.providers.amazon.aws.hooks.glue_catalog" - "airflow.providers.amazon.aws.hooks.glue_crawler" - "airflow.providers.amazon.aws.hooks.glue_databrew" - "airflow.providers.amazon.aws.hooks.kinesis" - "airflow.providers.amazon.aws.hooks.kinesis_analytics" - "airflow.providers.amazon.aws.hooks.lambda_function" - "airflow.providers.amazon.aws.hooks.logs" - "airflow.providers.amazon.aws.hooks.neptune" - "airflow.providers.amazon.aws.hooks.opensearch_serverless" - "airflow.providers.amazon.aws.hooks.quicksight" - "airflow.providers.amazon.aws.hooks.rds" - "airflow.providers.amazon.aws.hooks.redshift_cluster" - "airflow.providers.amazon.aws.hooks.redshift_data" - "airflow.providers.amazon.aws.hooks.redshift_sql" - "airflow.providers.amazon.aws.hooks.s3" - "airflow.providers.amazon.aws.hooks.sagemaker" - "airflow.providers.amazon.aws.hooks.secrets_manager" - "airflow.providers.amazon.aws.hooks.ses" - "airflow.providers.amazon.aws.hooks.sns" - "airflow.providers.amazon.aws.hooks.sqs" - "airflow.providers.amazon.aws.hooks.ssm" - "airflow.providers.amazon.aws.hooks.step_function" - "airflow.providers.amazon.aws.hooks.sts" - "airflow.providers.amazon.aws.hooks.verified_permissions" - "airflow.providers.amazon.aws.operators.appflow" - "airflow.providers.amazon.aws.operators.athena" - "airflow.providers.amazon.aws.operators.base_aws" - "airflow.providers.amazon.aws.operators.batch" - "airflow.providers.amazon.aws.operators.bedrock" - "airflow.providers.amazon.aws.operators.cloud_formation" - "airflow.providers.amazon.aws.operators.comprehend" - "airflow.providers.amazon.aws.operators.datasync" - "airflow.providers.amazon.aws.operators.dms" - "airflow.providers.amazon.aws.operators.ec2" - "airflow.providers.amazon.aws.operators.ecs" - "airflow.providers.amazon.aws.operators.eks" - "airflow.providers.amazon.aws.operators.emr" - "airflow.providers.amazon.aws.operators.emr" - "airflow.providers.amazon.aws.operators.eventbridge" - "airflow.providers.amazon.aws.operators.glacier" - "airflow.providers.amazon.aws.operators.glue" - "airflow.providers.amazon.aws.operators.glue_crawler" - "airflow.providers.amazon.aws.operators.glue_databrew" - "airflow.providers.amazon.aws.operators.kinesis_analytics" - "airflow.providers.amazon.aws.operators.lambda_function" - "airflow.providers.amazon.aws.operators.neptune" - "airflow.providers.amazon.aws.operators.quicksight" - "airflow.providers.amazon.aws.operators.rds" - "airflow.providers.amazon.aws.operators.redshift_cluster" - "airflow.providers.amazon.aws.operators.redshift_data" - "airflow.providers.amazon.aws.operators.s3" - "airflow.providers.amazon.aws.operators.sagemaker" - "airflow.providers.amazon.aws.operators.sns" - "airflow.providers.amazon.aws.operators.sqs" - "airflow.providers.amazon.aws.operators.step_function" + "s3fs" + "xmlsec" ]; + imports = [ "airflow.providers.amazon.get_provider_info" ]; + version = "9.13.0"; }; + apache_beam = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" + "numpy" "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.apache.beam.hooks.beam" - "airflow.providers.apache.beam.operators.beam" ]; + imports = [ "airflow.providers.apache.beam.get_provider_info" ]; + version = "6.1.4"; }; + apache_cassandra = { deps = [ "cassandra-driver" ]; - imports = [ "airflow.providers.apache.cassandra.hooks.cassandra" ]; + imports = [ "airflow.providers.apache.cassandra.get_provider_info" ]; + version = "3.8.2"; }; + apache_drill = { deps = [ ]; - imports = [ - "airflow.providers.apache.drill.hooks.drill" - "airflow.providers.apache.drill.operators.drill" - ]; + imports = [ "airflow.providers.apache.drill.get_provider_info" ]; + version = "3.1.2"; }; + apache_druid = { - deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pydruid" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.apache.druid.hooks.druid" - "airflow.providers.apache.druid.operators.druid" - "airflow.providers.apache.druid.operators.druid_check" - ]; + deps = [ "pydruid" ]; + imports = [ "airflow.providers.apache.druid.get_provider_info" ]; + version = "4.3.0"; }; + apache_flink = { - deps = [ - "aiofiles" - "asgiref" - "cryptography" - "google-re2" - "kubernetes" - "kubernetes-asyncio" - ]; - imports = [ "airflow.providers.apache.flink.operators.flink_kubernetes" ]; + deps = [ "cryptography" ]; + imports = [ "airflow.providers.apache.flink.get_provider_info" ]; + version = "1.7.2"; }; + apache_hdfs = { - deps = [ "pandas" ]; - imports = [ "airflow.providers.apache.hdfs.hooks.webhdfs" ]; + deps = [ + "hdfs" + "pandas" + ]; + imports = [ "airflow.providers.apache.hdfs.get_provider_info" ]; + version = "4.10.2"; }; + apache_hive = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.apache.hive.hooks.hive" - "airflow.providers.apache.hive.operators.hive" - "airflow.providers.apache.hive.operators.hive_stats" ]; + imports = [ "airflow.providers.apache.hive.get_provider_info" ]; + version = "9.1.2"; }; + apache_iceberg = { deps = [ ]; - imports = [ "airflow.providers.apache.iceberg.hooks.iceberg" ]; + imports = [ "airflow.providers.apache.iceberg.get_provider_info" ]; + version = "1.3.2"; }; + apache_impala = { - deps = [ ]; - imports = [ "airflow.providers.apache.impala.hooks.impala" ]; + deps = [ "kerberos" ]; + imports = [ "airflow.providers.apache.impala.get_provider_info" ]; + version = "1.7.2"; }; + apache_kafka = { deps = [ "asgiref" "confluent-kafka" ]; - imports = [ - "airflow.providers.apache.kafka.hooks.base" - "airflow.providers.apache.kafka.hooks.client" - "airflow.providers.apache.kafka.hooks.consume" - "airflow.providers.apache.kafka.hooks.produce" - "airflow.providers.apache.kafka.operators.consume" - "airflow.providers.apache.kafka.operators.produce" - ]; + imports = [ "airflow.providers.apache.kafka.get_provider_info" ]; + version = "1.10.3"; }; + apache_kylin = { deps = [ ]; - imports = [ - "airflow.providers.apache.kylin.hooks.kylin" - "airflow.providers.apache.kylin.operators.kylin_cube" - ]; + imports = [ "airflow.providers.apache.kylin.get_provider_info" ]; + version = "3.9.2"; }; + apache_livy = { deps = [ "aiohttp" "asgiref" - "requests" - "requests-toolbelt" - ]; - imports = [ - "airflow.providers.apache.livy.hooks.livy" - "airflow.providers.apache.livy.operators.livy" ]; + imports = [ "airflow.providers.apache.livy.get_provider_info" ]; + version = "4.4.2"; }; + apache_pig = { deps = [ ]; - imports = [ - "airflow.providers.apache.pig.hooks.pig" - "airflow.providers.apache.pig.operators.pig" - ]; + imports = [ "airflow.providers.apache.pig.get_provider_info" ]; + version = "4.7.2"; }; + apache_pinot = { deps = [ ]; - imports = [ "airflow.providers.apache.pinot.hooks.pinot" ]; + imports = [ "airflow.providers.apache.pinot.get_provider_info" ]; + version = "4.8.2"; }; + apache_spark = { deps = [ - "aiofiles" - "asgiref" - "cryptography" - "google-re2" "grpcio-status" - "kubernetes" - "kubernetes-asyncio" "pyspark" ]; - imports = [ - "airflow.providers.apache.spark.hooks.spark_connect" - "airflow.providers.apache.spark.hooks.spark_jdbc" - "airflow.providers.apache.spark.hooks.spark_jdbc_script" - "airflow.providers.apache.spark.hooks.spark_sql" - "airflow.providers.apache.spark.hooks.spark_submit" - "airflow.providers.apache.spark.operators.spark_jdbc" - "airflow.providers.apache.spark.operators.spark_sql" - "airflow.providers.apache.spark.operators.spark_submit" - ]; + imports = [ "airflow.providers.apache.spark.get_provider_info" ]; + version = "5.3.2"; }; + + apache_tinkerpop = { + deps = [ "gremlinpython" ]; + imports = [ "airflow.providers.apache.tinkerpop.get_provider_info" ]; + version = "1.0.3"; + }; + apprise = { deps = [ "apprise" ]; - imports = [ "airflow.providers.apprise.hooks.apprise" ]; + imports = [ "airflow.providers.apprise.get_provider_info" ]; + version = "2.1.2"; }; + arangodb = { deps = [ "python-arango" ]; - imports = [ - "airflow.providers.arangodb.hooks.arangodb" - "airflow.providers.arangodb.operators.arangodb" - ]; + imports = [ "airflow.providers.arangodb.get_provider_info" ]; + version = "2.8.2"; }; + asana = { deps = [ "asana" ]; - imports = [ - "airflow.providers.asana.hooks.asana" - "airflow.providers.asana.operators.asana_tasks" - ]; + imports = [ "airflow.providers.asana.get_provider_info" ]; + version = "2.10.2"; }; + atlassian_jira = { deps = [ "atlassian-python-api" ]; - imports = [ - "airflow.providers.atlassian.jira.hooks.jira" - "airflow.providers.atlassian.jira.operators.jira" - ]; + imports = [ "airflow.providers.atlassian.jira.get_provider_info" ]; + version = "3.1.2"; }; + celery = { deps = [ - "aiofiles" - "asgiref" - "cryptography" + "celery" "flower" - "google-re2" - "kubernetes" - "kubernetes-asyncio" ]; - imports = [ ]; + imports = [ "airflow.providers.celery.get_provider_info" ]; + version = "3.12.3"; }; + cloudant = { deps = [ ]; - imports = [ "airflow.providers.cloudant.hooks.cloudant" ]; + imports = [ "airflow.providers.cloudant.get_provider_info" ]; + version = "4.2.2"; }; + cncf_kubernetes = { deps = [ "aiofiles" "asgiref" "cryptography" - "google-re2" "kubernetes" "kubernetes-asyncio" ]; - imports = [ - "airflow.providers.cncf.kubernetes.hooks.kubernetes" - "airflow.providers.cncf.kubernetes.operators.custom_object_launcher" - "airflow.providers.cncf.kubernetes.operators.job" - "airflow.providers.cncf.kubernetes.operators.pod" - "airflow.providers.cncf.kubernetes.operators.resource" - "airflow.providers.cncf.kubernetes.operators.spark_kubernetes" - ]; + imports = [ "airflow.providers.cncf.kubernetes.get_provider_info" ]; + version = "10.8.0"; }; + cohere = { deps = [ "cohere" ]; - imports = [ - "airflow.providers.cohere.hooks.cohere" - "airflow.providers.cohere.operators.embedding" - ]; + imports = [ "airflow.providers.cohere.get_provider_info" ]; + version = "1.5.3"; }; + common_compat = { deps = [ ]; - imports = [ ]; + imports = [ "airflow.providers.common.compat.get_provider_info" ]; + version = "1.7.3"; }; + common_io = { - deps = [ "attrs" ]; - imports = [ "airflow.providers.common.io.operators.file_transfer" ]; + deps = [ ]; + imports = [ "airflow.providers.common.io.get_provider_info" ]; + version = "1.6.2"; }; + + common_messaging = { + deps = [ ]; + imports = [ "airflow.providers.common.messaging.get_provider_info" ]; + version = "2.0.0"; + }; + common_sql = { deps = [ - "attrs" + "methodtools" "more-itertools" + "pandas" + "polars" "sqlparse" ]; - imports = [ - "airflow.providers.common.sql.hooks.sql" - "airflow.providers.common.sql.operators.sql" - ]; + imports = [ "airflow.providers.common.sql.get_provider_info" ]; + version = "1.28.0"; }; + databricks = { deps = [ "aiohttp" + "azure-identity" + "databricks-sdk" "databricks-sql-connector" "mergedeep" "pandas" "pyarrow" "requests" ]; - imports = [ - "airflow.providers.databricks.hooks.databricks" - "airflow.providers.databricks.hooks.databricks_base" - "airflow.providers.databricks.hooks.databricks_sql" - "airflow.providers.databricks.operators.databricks" - "airflow.providers.databricks.operators.databricks_repos" - "airflow.providers.databricks.operators.databricks_sql" - "airflow.providers.databricks.operators.databricks_workflow" - ]; + imports = [ "airflow.providers.databricks.get_provider_info" ]; + version = "7.7.2"; }; + datadog = { deps = [ "datadog" ]; - imports = [ "airflow.providers.datadog.hooks.datadog" ]; + imports = [ "airflow.providers.datadog.get_provider_info" ]; + version = "3.9.2"; }; + dbt_cloud = { deps = [ "aiohttp" "asgiref" - "attrs" - "requests" - "requests-toolbelt" - ]; - imports = [ - "airflow.providers.dbt.cloud.hooks.dbt" - "airflow.providers.dbt.cloud.operators.dbt" ]; + imports = [ "airflow.providers.dbt.cloud.get_provider_info" ]; + version = "4.4.3"; }; + dingding = { - deps = [ - "aiohttp" - "asgiref" - "requests" - "requests-toolbelt" - ]; - imports = [ - "airflow.providers.dingding.hooks.dingding" - "airflow.providers.dingding.operators.dingding" - ]; + deps = [ ]; + imports = [ "airflow.providers.dingding.get_provider_info" ]; + version = "3.8.2"; }; + discord = { - deps = [ - "aiohttp" - "asgiref" - "requests" - "requests-toolbelt" - ]; - imports = [ - "airflow.providers.discord.hooks.discord_webhook" - "airflow.providers.discord.operators.discord_webhook" - ]; + deps = [ ]; + imports = [ "airflow.providers.discord.get_provider_info" ]; + version = "3.10.2"; }; + docker = { deps = [ "docker" "python-dotenv" ]; - imports = [ - "airflow.providers.docker.hooks.docker" - "airflow.providers.docker.operators.docker" - "airflow.providers.docker.operators.docker_swarm" - ]; + imports = [ "airflow.providers.docker.get_provider_info" ]; + version = "4.4.2"; }; + + edge3 = { + deps = [ + "pydantic" + "retryhttp" + ]; + imports = [ "airflow.providers.edge3.get_provider_info" ]; + version = "1.2.0"; + }; + elasticsearch = { deps = [ "elasticsearch" ]; - imports = [ "airflow.providers.elasticsearch.hooks.elasticsearch" ]; + imports = [ "airflow.providers.elasticsearch.get_provider_info" ]; + version = "6.3.2"; }; + exasol = { deps = [ "pandas" ]; - imports = [ - "airflow.providers.exasol.hooks.exasol" - "airflow.providers.exasol.operators.exasol" - ]; + imports = [ "airflow.providers.exasol.get_provider_info" ]; + version = "4.8.2"; }; + fab = { deps = [ + "blinker" + "connexion" "flask" "flask-appbuilder" + "flask-limiter" "flask-login" - "google-re2" + "flask-session" + "flask-wtf" "jmespath" + "kerberos" + "werkzeug" + "wtforms" ]; - imports = [ ]; + imports = [ "airflow.providers.fab.get_provider_info" ]; + version = "2.4.2"; }; + facebook = { deps = [ ]; - imports = [ "airflow.providers.facebook.ads.hooks.ads" ]; + imports = [ "airflow.providers.facebook.get_provider_info" ]; + version = "3.8.2"; }; + ftp = { - deps = [ "attrs" ]; - imports = [ - "airflow.providers.ftp.hooks.ftp" - "airflow.providers.ftp.operators.ftp" - ]; + deps = [ ]; + imports = [ "airflow.providers.ftp.get_provider_info" ]; + version = "3.13.2"; }; + + git = { + deps = [ "gitpython" ]; + imports = [ "airflow.providers.git.get_provider_info" ]; + version = "0.0.7"; + }; + github = { deps = [ "pygithub" ]; - imports = [ - "airflow.providers.github.hooks.github" - "airflow.providers.github.operators.github" - ]; + imports = [ "airflow.providers.github.get_provider_info" ]; + version = "2.9.2"; }; + google = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" "apache-beam" "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" "dill" - "dnspython" "gcsfs" "google-api-core" "google-api-python-client" @@ -854,6 +364,7 @@ "google-cloud-automl" "google-cloud-bigquery" "google-cloud-bigquery-datatransfer" + "google-cloud-bigquery-storage" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" @@ -876,285 +387,42 @@ "google-cloud-videointelligence" "google-cloud-vision" "google-cloud-workflows" - "google-re2" "grpcio-gcp" "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" + "immutabledict" "pandas" - "paramiko" + "plyvel" "proto-plus" - "psycopg2" "pyarrow" - "pyathena" - "pymongo" - "pymssql" "pyopenssl" - "pysftp" "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" + "ray" "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.google.ads.hooks.ads" - "airflow.providers.google.ads.operators.ads" - "airflow.providers.google.cloud.hooks.automl" - "airflow.providers.google.cloud.hooks.bigquery" - "airflow.providers.google.cloud.hooks.bigquery_dts" - "airflow.providers.google.cloud.hooks.bigtable" - "airflow.providers.google.cloud.hooks.cloud_batch" - "airflow.providers.google.cloud.hooks.cloud_build" - "airflow.providers.google.cloud.hooks.cloud_composer" - "airflow.providers.google.cloud.hooks.cloud_memorystore" - "airflow.providers.google.cloud.hooks.cloud_run" - "airflow.providers.google.cloud.hooks.cloud_sql" - "airflow.providers.google.cloud.hooks.cloud_storage_transfer_service" - "airflow.providers.google.cloud.hooks.compute" - "airflow.providers.google.cloud.hooks.compute_ssh" - "airflow.providers.google.cloud.hooks.datacatalog" - "airflow.providers.google.cloud.hooks.dataflow" - "airflow.providers.google.cloud.hooks.dataform" - "airflow.providers.google.cloud.hooks.datafusion" - "airflow.providers.google.cloud.hooks.datapipeline" - "airflow.providers.google.cloud.hooks.dataplex" - "airflow.providers.google.cloud.hooks.dataprep" - "airflow.providers.google.cloud.hooks.dataproc" - "airflow.providers.google.cloud.hooks.dataproc_metastore" - "airflow.providers.google.cloud.hooks.datastore" - "airflow.providers.google.cloud.hooks.dlp" - "airflow.providers.google.cloud.hooks.functions" - "airflow.providers.google.cloud.hooks.gcs" - "airflow.providers.google.cloud.hooks.gdm" - "airflow.providers.google.cloud.hooks.kms" - "airflow.providers.google.cloud.hooks.kubernetes_engine" - "airflow.providers.google.cloud.hooks.life_sciences" - "airflow.providers.google.cloud.hooks.looker" - "airflow.providers.google.cloud.hooks.mlengine" - "airflow.providers.google.cloud.hooks.natural_language" - "airflow.providers.google.cloud.hooks.os_login" - "airflow.providers.google.cloud.hooks.pubsub" - "airflow.providers.google.cloud.hooks.secret_manager" - "airflow.providers.google.cloud.hooks.spanner" - "airflow.providers.google.cloud.hooks.speech_to_text" - "airflow.providers.google.cloud.hooks.stackdriver" - "airflow.providers.google.cloud.hooks.tasks" - "airflow.providers.google.cloud.hooks.text_to_speech" - "airflow.providers.google.cloud.hooks.translate" - "airflow.providers.google.cloud.hooks.vertex_ai.auto_ml" - "airflow.providers.google.cloud.hooks.vertex_ai.batch_prediction_job" - "airflow.providers.google.cloud.hooks.vertex_ai.custom_job" - "airflow.providers.google.cloud.hooks.vertex_ai.dataset" - "airflow.providers.google.cloud.hooks.vertex_ai.endpoint_service" - "airflow.providers.google.cloud.hooks.vertex_ai.generative_model" - "airflow.providers.google.cloud.hooks.vertex_ai.hyperparameter_tuning_job" - "airflow.providers.google.cloud.hooks.vertex_ai.model_service" - "airflow.providers.google.cloud.hooks.vertex_ai.pipeline_job" - "airflow.providers.google.cloud.hooks.vertex_ai.prediction_service" - "airflow.providers.google.cloud.hooks.video_intelligence" - "airflow.providers.google.cloud.hooks.vision" - "airflow.providers.google.cloud.hooks.workflows" - "airflow.providers.google.cloud.operators.automl" - "airflow.providers.google.cloud.operators.bigquery" - "airflow.providers.google.cloud.operators.bigquery_dts" - "airflow.providers.google.cloud.operators.bigtable" - "airflow.providers.google.cloud.operators.cloud_base" - "airflow.providers.google.cloud.operators.cloud_batch" - "airflow.providers.google.cloud.operators.cloud_build" - "airflow.providers.google.cloud.operators.cloud_composer" - "airflow.providers.google.cloud.operators.cloud_memorystore" - "airflow.providers.google.cloud.operators.cloud_run" - "airflow.providers.google.cloud.operators.cloud_sql" - "airflow.providers.google.cloud.operators.cloud_storage_transfer_service" - "airflow.providers.google.cloud.operators.compute" - "airflow.providers.google.cloud.operators.datacatalog" - "airflow.providers.google.cloud.operators.dataflow" - "airflow.providers.google.cloud.operators.dataform" - "airflow.providers.google.cloud.operators.datafusion" - "airflow.providers.google.cloud.operators.datapipeline" - "airflow.providers.google.cloud.operators.dataplex" - "airflow.providers.google.cloud.operators.dataprep" - "airflow.providers.google.cloud.operators.dataproc" - "airflow.providers.google.cloud.operators.dataproc_metastore" - "airflow.providers.google.cloud.operators.datastore" - "airflow.providers.google.cloud.operators.dlp" - "airflow.providers.google.cloud.operators.functions" - "airflow.providers.google.cloud.operators.gcs" - "airflow.providers.google.cloud.operators.kubernetes_engine" - "airflow.providers.google.cloud.operators.life_sciences" - "airflow.providers.google.cloud.operators.looker" - "airflow.providers.google.cloud.operators.mlengine" - "airflow.providers.google.cloud.operators.natural_language" - "airflow.providers.google.cloud.operators.pubsub" - "airflow.providers.google.cloud.operators.spanner" - "airflow.providers.google.cloud.operators.speech_to_text" - "airflow.providers.google.cloud.operators.stackdriver" - "airflow.providers.google.cloud.operators.tasks" - "airflow.providers.google.cloud.operators.text_to_speech" - "airflow.providers.google.cloud.operators.translate" - "airflow.providers.google.cloud.operators.translate_speech" - "airflow.providers.google.cloud.operators.translate_speech" - "airflow.providers.google.cloud.operators.vertex_ai.auto_ml" - "airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job" - "airflow.providers.google.cloud.operators.vertex_ai.custom_job" - "airflow.providers.google.cloud.operators.vertex_ai.dataset" - "airflow.providers.google.cloud.operators.vertex_ai.endpoint_service" - "airflow.providers.google.cloud.operators.vertex_ai.generative_model" - "airflow.providers.google.cloud.operators.vertex_ai.hyperparameter_tuning_job" - "airflow.providers.google.cloud.operators.vertex_ai.model_service" - "airflow.providers.google.cloud.operators.vertex_ai.pipeline_job" - "airflow.providers.google.cloud.operators.video_intelligence" - "airflow.providers.google.cloud.operators.vision" - "airflow.providers.google.cloud.operators.workflows" - "airflow.providers.google.common.hooks.base_google" - "airflow.providers.google.common.hooks.discovery_api" - "airflow.providers.google.firebase.hooks.firestore" - "airflow.providers.google.firebase.operators.firestore" - "airflow.providers.google.leveldb.hooks.leveldb" - "airflow.providers.google.leveldb.operators.leveldb" - "airflow.providers.google.marketing_platform.hooks.analytics" - "airflow.providers.google.marketing_platform.hooks.analytics_admin" - "airflow.providers.google.marketing_platform.hooks.campaign_manager" - "airflow.providers.google.marketing_platform.hooks.display_video" - "airflow.providers.google.marketing_platform.hooks.search_ads" - "airflow.providers.google.marketing_platform.operators.analytics" - "airflow.providers.google.marketing_platform.operators.analytics_admin" - "airflow.providers.google.marketing_platform.operators.campaign_manager" - "airflow.providers.google.marketing_platform.operators.display_video" - "airflow.providers.google.marketing_platform.operators.search_ads" - "airflow.providers.google.suite.hooks.calendar" - "airflow.providers.google.suite.hooks.drive" - "airflow.providers.google.suite.hooks.sheets" - "airflow.providers.google.suite.operators.sheets" + "types-protobuf" ]; + imports = [ "airflow.providers.google.get_provider_info" ]; + version = "17.2.0"; }; + grpc = { deps = [ "google-auth" "google-auth-httplib2" "grpcio" ]; - imports = [ - "airflow.providers.grpc.hooks.grpc" - "airflow.providers.grpc.operators.grpc" - ]; + imports = [ "airflow.providers.grpc.get_provider_info" ]; + version = "3.8.2"; }; + hashicorp = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" "hvac" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" ]; - imports = [ "airflow.providers.hashicorp.hooks.vault" ]; + imports = [ "airflow.providers.hashicorp.get_provider_info" ]; + version = "4.3.2"; }; + http = { deps = [ "aiohttp" @@ -1162,49 +430,47 @@ "requests" "requests-toolbelt" ]; - imports = [ - "airflow.providers.http.hooks.http" - "airflow.providers.http.operators.http" - ]; + imports = [ "airflow.providers.http.get_provider_info" ]; + version = "5.3.4"; }; + imap = { deps = [ ]; - imports = [ "airflow.providers.imap.hooks.imap" ]; + imports = [ "airflow.providers.imap.get_provider_info" ]; + version = "3.9.2"; }; + influxdb = { deps = [ "influxdb-client" "requests" ]; - imports = [ - "airflow.providers.influxdb.hooks.influxdb" - "airflow.providers.influxdb.operators.influxdb" - ]; + imports = [ "airflow.providers.influxdb.get_provider_info" ]; + version = "2.9.3"; }; + jdbc = { deps = [ "jaydebeapi" ]; - imports = [ - "airflow.providers.jdbc.hooks.jdbc" - "airflow.providers.jdbc.operators.jdbc" - ]; + imports = [ "airflow.providers.jdbc.get_provider_info" ]; + version = "5.2.3"; }; + jenkins = { deps = [ "python-jenkins" ]; - imports = [ - "airflow.providers.jenkins.hooks.jenkins" - "airflow.providers.jenkins.operators.jenkins_job_trigger" - ]; + imports = [ "airflow.providers.jenkins.get_provider_info" ]; + version = "4.1.2"; }; + + keycloak = { + deps = [ "python-keycloak" ]; + imports = [ "airflow.providers.keycloak.get_provider_info" ]; + version = "0.1.0"; + }; + microsoft_azure = { deps = [ "adal" "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" "azure-batch" "azure-cosmos" "azure-datalake-store" @@ -1224,1085 +490,316 @@ "azure-storage-file-share" "azure-synapse-artifacts" "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" "microsoft-kiota-abstractions" + "microsoft-kiota-authentication-azure" + "microsoft-kiota-http" + "microsoft-kiota-serialization-json" + "microsoft-kiota-serialization-text" + "msal-extensions" "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.microsoft.azure.hooks.adx" - "airflow.providers.microsoft.azure.hooks.asb" - "airflow.providers.microsoft.azure.hooks.base_azure" - "airflow.providers.microsoft.azure.hooks.batch" - "airflow.providers.microsoft.azure.hooks.container_instance" - "airflow.providers.microsoft.azure.hooks.container_registry" - "airflow.providers.microsoft.azure.hooks.container_volume" - "airflow.providers.microsoft.azure.hooks.cosmos" - "airflow.providers.microsoft.azure.hooks.data_factory" - "airflow.providers.microsoft.azure.hooks.data_lake" - "airflow.providers.microsoft.azure.hooks.data_lake" - "airflow.providers.microsoft.azure.hooks.fileshare" - "airflow.providers.microsoft.azure.hooks.msgraph" - "airflow.providers.microsoft.azure.hooks.synapse" - "airflow.providers.microsoft.azure.hooks.wasb" - "airflow.providers.microsoft.azure.operators.adls" - "airflow.providers.microsoft.azure.operators.adx" - "airflow.providers.microsoft.azure.operators.asb" - "airflow.providers.microsoft.azure.operators.batch" - "airflow.providers.microsoft.azure.operators.container_instances" - "airflow.providers.microsoft.azure.operators.cosmos" - "airflow.providers.microsoft.azure.operators.data_factory" - "airflow.providers.microsoft.azure.operators.msgraph" - "airflow.providers.microsoft.azure.operators.synapse" - "airflow.providers.microsoft.azure.operators.wasb_delete_blob" ]; + imports = [ "airflow.providers.microsoft.azure.get_provider_info" ]; + version = "12.7.0"; }; + microsoft_mssql = { - deps = [ "pymssql" ]; - imports = [ - "airflow.providers.microsoft.mssql.hooks.mssql" - "airflow.providers.microsoft.mssql.operators.mssql" + deps = [ + "methodtools" + "pymssql" ]; + imports = [ "airflow.providers.microsoft.mssql.get_provider_info" ]; + version = "4.3.2"; }; + microsoft_psrp = { deps = [ "pypsrp" ]; - imports = [ - "airflow.providers.microsoft.psrp.hooks.psrp" - "airflow.providers.microsoft.psrp.operators.psrp" - ]; + imports = [ "airflow.providers.microsoft.psrp.get_provider_info" ]; + version = "3.1.2"; }; + microsoft_winrm = { deps = [ "pywinrm" ]; - imports = [ - "airflow.providers.microsoft.winrm.hooks.winrm" - "airflow.providers.microsoft.winrm.operators.winrm" - ]; + imports = [ "airflow.providers.microsoft.winrm.get_provider_info" ]; + version = "3.11.0"; }; + mongo = { deps = [ "dnspython" "pymongo" ]; - imports = [ "airflow.providers.mongo.hooks.mongo" ]; + imports = [ "airflow.providers.mongo.get_provider_info" ]; + version = "5.2.2"; }; + mysql = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" + "aiomysql" "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.mysql.hooks.mysql" - "airflow.providers.mysql.operators.mysql" ]; + imports = [ "airflow.providers.mysql.get_provider_info" ]; + version = "6.3.4"; }; + neo4j = { deps = [ "neo4j" ]; - imports = [ - "airflow.providers.neo4j.hooks.neo4j" - "airflow.providers.neo4j.operators.neo4j" - ]; + imports = [ "airflow.providers.neo4j.get_provider_info" ]; + version = "3.10.1"; }; + odbc = { deps = [ "pyodbc" ]; - imports = [ "airflow.providers.odbc.hooks.odbc" ]; + imports = [ "airflow.providers.odbc.get_provider_info" ]; + version = "4.10.2"; }; + openai = { - deps = [ ]; - imports = [ - "airflow.providers.openai.hooks.openai" - "airflow.providers.openai.operators.openai" - ]; + deps = [ "openai" ]; + imports = [ "airflow.providers.openai.get_provider_info" ]; + version = "1.6.2"; }; + openfaas = { deps = [ ]; - imports = [ "airflow.providers.openfaas.hooks.openfaas" ]; + imports = [ "airflow.providers.openfaas.get_provider_info" ]; + version = "3.8.2"; }; + openlineage = { deps = [ "attrs" ]; - imports = [ ]; + imports = [ "airflow.providers.openlineage.get_provider_info" ]; + version = "2.7.0"; }; + opensearch = { deps = [ "opensearch-py" ]; - imports = [ - "airflow.providers.opensearch.hooks.opensearch" - "airflow.providers.opensearch.operators.opensearch" - ]; + imports = [ "airflow.providers.opensearch.get_provider_info" ]; + version = "1.7.2"; }; + opsgenie = { deps = [ ]; - imports = [ - "airflow.providers.opsgenie.hooks.opsgenie" - "airflow.providers.opsgenie.operators.opsgenie" - ]; + imports = [ "airflow.providers.opsgenie.get_provider_info" ]; + version = "5.9.2"; }; + oracle = { - deps = [ "oracledb" ]; - imports = [ - "airflow.providers.oracle.hooks.oracle" - "airflow.providers.oracle.operators.oracle" + deps = [ + "numpy" + "oracledb" ]; + imports = [ "airflow.providers.oracle.get_provider_info" ]; + version = "4.2.0"; }; + pagerduty = { deps = [ ]; - imports = [ - "airflow.providers.pagerduty.hooks.pagerduty" - "airflow.providers.pagerduty.hooks.pagerduty_events" - ]; + imports = [ "airflow.providers.pagerduty.get_provider_info" ]; + version = "5.0.2"; }; + papermill = { deps = [ "ipykernel" + "nbconvert" "pandas" + "papermill" ]; - imports = [ - "airflow.providers.papermill.hooks.kernel" - "airflow.providers.papermill.operators.papermill" - ]; + imports = [ "airflow.providers.papermill.get_provider_info" ]; + version = "3.11.2"; }; + pgvector = { - deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.pgvector.hooks.pgvector" - "airflow.providers.pgvector.operators.pgvector" - ]; + deps = [ "pgvector" ]; + imports = [ "airflow.providers.pgvector.get_provider_info" ]; + version = "1.5.2"; }; + pinecone = { - deps = [ "pinecone-client" ]; - imports = [ - "airflow.providers.pinecone.hooks.pinecone" - "airflow.providers.pinecone.operators.pinecone" - ]; + deps = [ ]; + imports = [ "airflow.providers.pinecone.get_provider_info" ]; + version = "2.3.4"; }; + postgres = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" + "asyncpg" "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.postgres.hooks.postgres" - "airflow.providers.postgres.operators.postgres" + "polars" + "psycopg" + "psycopg2-binary" ]; + imports = [ "airflow.providers.postgres.get_provider_info" ]; + version = "6.3.0"; }; + presto = { deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" + "presto-python-client" ]; - imports = [ "airflow.providers.presto.hooks.presto" ]; + imports = [ "airflow.providers.presto.get_provider_info" ]; + version = "5.9.2"; }; + qdrant = { deps = [ "qdrant-client" ]; - imports = [ - "airflow.providers.qdrant.hooks.qdrant" - "airflow.providers.qdrant.operators.qdrant" - ]; + imports = [ "airflow.providers.qdrant.get_provider_info" ]; + version = "1.4.3"; }; + redis = { deps = [ "redis" ]; - imports = [ - "airflow.providers.redis.hooks.redis" - "airflow.providers.redis.operators.redis_publish" - ]; + imports = [ "airflow.providers.redis.get_provider_info" ]; + version = "4.3.0"; }; + salesforce = { deps = [ "pandas" "simple-salesforce" ]; - imports = [ - "airflow.providers.salesforce.hooks.salesforce" - "airflow.providers.salesforce.operators.bulk" - "airflow.providers.salesforce.operators.salesforce_apex_rest" - ]; + imports = [ "airflow.providers.salesforce.get_provider_info" ]; + version = "5.11.3"; }; + samba = { - deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ "airflow.providers.samba.hooks.samba" ]; + deps = [ "smbprotocol" ]; + imports = [ "airflow.providers.samba.get_provider_info" ]; + version = "4.11.0"; }; + segment = { deps = [ ]; - imports = [ - "airflow.providers.segment.hooks.segment" - "airflow.providers.segment.operators.segment_track_event" - ]; + imports = [ "airflow.providers.segment.get_provider_info" ]; + version = "3.8.2"; }; + sendgrid = { - deps = [ "sendgrid" ]; - imports = [ ]; + deps = [ + "sendgrid" + "werkzeug" + ]; + imports = [ "airflow.providers.sendgrid.get_provider_info" ]; + version = "4.1.3"; }; + sftp = { deps = [ "asyncssh" - "attrs" "paramiko" "pysftp" - "sshtunnel" - ]; - imports = [ - "airflow.providers.sftp.hooks.sftp" - "airflow.providers.sftp.operators.sftp" ]; + imports = [ "airflow.providers.sftp.get_provider_info" ]; + version = "5.4.0"; }; + singularity = { deps = [ "spython" ]; - imports = [ "airflow.providers.singularity.operators.singularity" ]; + imports = [ "airflow.providers.singularity.get_provider_info" ]; + version = "3.8.2"; }; + slack = { deps = [ "slack-sdk" ]; - imports = [ - "airflow.providers.slack.hooks.slack" - "airflow.providers.slack.hooks.slack_webhook" - "airflow.providers.slack.operators.slack" - "airflow.providers.slack.operators.slack_webhook" - ]; + imports = [ "airflow.providers.slack.get_provider_info" ]; + version = "9.2.0"; }; + smtp = { deps = [ ]; - imports = [ - "airflow.providers.smtp.hooks.smtp" - "airflow.providers.smtp.operators.smtp" - ]; + imports = [ "airflow.providers.smtp.get_provider_info" ]; + version = "2.2.1"; }; + snowflake = { deps = [ - "attrs" "pandas" "pyarrow" "snowflake-connector-python" "snowflake-sqlalchemy" ]; - imports = [ - "airflow.providers.snowflake.hooks.snowflake" - "airflow.providers.snowflake.hooks.snowflake_sql_api" - "airflow.providers.snowflake.operators.snowflake" - ]; + imports = [ "airflow.providers.snowflake.get_provider_info" ]; + version = "6.5.3"; }; + sqlite = { deps = [ ]; - imports = [ - "airflow.providers.sqlite.hooks.sqlite" - "airflow.providers.sqlite.operators.sqlite" - ]; + imports = [ "airflow.providers.sqlite.get_provider_info" ]; + version = "4.1.2"; }; + ssh = { deps = [ "paramiko" "sshtunnel" ]; - imports = [ - "airflow.providers.ssh.hooks.ssh" - "airflow.providers.ssh.operators.ssh" - ]; + imports = [ "airflow.providers.ssh.get_provider_info" ]; + version = "4.1.3"; }; + + standard = { + deps = [ ]; + imports = [ "airflow.providers.standard.get_provider_info" ]; + version = "1.7.0"; + }; + tableau = { deps = [ "tableauserverclient" ]; - imports = [ - "airflow.providers.tableau.hooks.tableau" - "airflow.providers.tableau.operators.tableau" - ]; - }; - tabular = { - deps = [ ]; - imports = [ ]; + imports = [ "airflow.providers.tableau.get_provider_info" ]; + version = "5.2.0"; }; + telegram = { deps = [ "python-telegram-bot" ]; - imports = [ - "airflow.providers.telegram.hooks.telegram" - "airflow.providers.telegram.operators.telegram" - ]; + imports = [ "airflow.providers.telegram.get_provider_info" ]; + version = "4.8.2"; }; + teradata = { - deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.teradata.hooks.teradata" - "airflow.providers.teradata.operators.teradata" - "airflow.providers.teradata.operators.teradata_compute_cluster" - ]; + deps = [ ]; + imports = [ "airflow.providers.teradata.get_provider_info" ]; + version = "3.2.1"; }; + trino = { - deps = [ - "adal" - "adlfs" - "aiofiles" - "aiohttp" - "apache-beam" - "asgiref" - "asyncssh" - "attrs" - "azure-batch" - "azure-cosmos" - "azure-datalake-store" - "azure-identity" - "azure-keyvault-secrets" - "azure-kusto-data" - "azure-mgmt-containerinstance" - "azure-mgmt-containerregistry" - "azure-mgmt-cosmosdb" - "azure-mgmt-datafactory" - "azure-mgmt-datalake-store" - "azure-mgmt-resource" - "azure-mgmt-storage" - "azure-servicebus" - "azure-storage-blob" - "azure-storage-file-datalake" - "azure-storage-file-share" - "azure-synapse-artifacts" - "azure-synapse-spark" - "boto3" - "botocore" - "cassandra-driver" - "cryptography" - "dill" - "dnspython" - "gcsfs" - "google-api-core" - "google-api-python-client" - "google-auth" - "google-auth-httplib2" - "google-cloud-automl" - "google-cloud-bigquery" - "google-cloud-bigquery-datatransfer" - "google-cloud-bigtable" - "google-cloud-compute" - "google-cloud-container" - "google-cloud-datacatalog" - "google-cloud-dataproc" - "google-cloud-dlp" - "google-cloud-kms" - "google-cloud-language" - "google-cloud-logging" - "google-cloud-monitoring" - "google-cloud-pubsub" - "google-cloud-redis" - "google-cloud-secret-manager" - "google-cloud-spanner" - "google-cloud-speech" - "google-cloud-storage" - "google-cloud-tasks" - "google-cloud-texttospeech" - "google-cloud-translate" - "google-cloud-videointelligence" - "google-cloud-vision" - "google-cloud-workflows" - "google-re2" - "grpcio-gcp" - "httpx" - "inflection" - "jmespath" - "json-merge-patch" - "jsonpath-ng" - "kubernetes" - "kubernetes-asyncio" - "microsoft-kiota-abstractions" - "msgraph-core" - "mysqlclient" - "oracledb" - "pandas" - "paramiko" - "proto-plus" - "psycopg2" - "pyarrow" - "pyathena" - "pymongo" - "pymssql" - "pyopenssl" - "pysftp" - "python-slugify" - "redshift-connector" - "requests" - "requests-toolbelt" - "simple-salesforce" - "smbprotocol" - "sshtunnel" - "tenacity" - "thrift" - "vertica-python" - ]; - imports = [ - "airflow.providers.trino.hooks.trino" - "airflow.providers.trino.operators.trino" - ]; + deps = [ "pandas" ]; + imports = [ "airflow.providers.trino.get_provider_info" ]; + version = "6.3.3"; }; + vertica = { deps = [ "vertica-python" ]; - imports = [ - "airflow.providers.vertica.hooks.vertica" - "airflow.providers.vertica.operators.vertica" - ]; + imports = [ "airflow.providers.vertica.get_provider_info" ]; + version = "4.1.2"; }; + weaviate = { deps = [ "httpx" "pandas" "weaviate-client" ]; - imports = [ - "airflow.providers.weaviate.hooks.weaviate" - "airflow.providers.weaviate.operators.weaviate" - ]; + imports = [ "airflow.providers.weaviate.get_provider_info" ]; + version = "3.2.3"; }; + yandex = { deps = [ ]; - imports = [ - "airflow.providers.yandex.hooks.dataproc" - "airflow.providers.yandex.hooks.yandex" - "airflow.providers.yandex.hooks.yq" - "airflow.providers.yandex.operators.dataproc" - "airflow.providers.yandex.operators.yq" - ]; + imports = [ "airflow.providers.yandex.get_provider_info" ]; + version = "4.2.0"; }; + ydb = { deps = [ ]; - imports = [ - "airflow.providers.ydb.hooks._vendor.dbapi.connection" - "airflow.providers.ydb.hooks._vendor.dbapi.constants" - "airflow.providers.ydb.hooks._vendor.dbapi.cursor" - "airflow.providers.ydb.hooks._vendor.dbapi.errors" - "airflow.providers.ydb.hooks.ydb" - "airflow.providers.ydb.operators.ydb" - ]; + imports = [ "airflow.providers.ydb.get_provider_info" ]; + version = "2.2.2"; }; + zendesk = { deps = [ ]; - imports = [ "airflow.providers.zendesk.hooks.zendesk" ]; + imports = [ "airflow.providers.zendesk.get_provider_info" ]; + version = "4.10.2"; }; + } diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index e3056ce7c4d0..9d71376a95a3 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -5,102 +5,152 @@ writableTmpDirAsHomeHook, # javascript - fetchYarnDeps, + fetchPnpmDeps, nodejs, - webpack-cli, - yarnBuildHook, - yarnConfigHook, + pnpm, + pnpmConfigHook, # python + a2wsgi, + aiosqlite, alembic, argcomplete, + asgiref, + attrs, buildPythonPackage, + cadwyn, colorlog, - configupdater, - connexion, cron-descriptor, croniter, cryptography, + deprecated, dill, - flask-caching, - flask-login, - flask-session, + fastapi, + flit-core, fsspec, gitdb, gitpython, - gunicorn, + greenback, hatchling, + httpx, + importlib-metadata, + itsdangerous, + jinja2, + jsonschema, lazy-object-proxy, + libcst, linkify-it-py, lockfile, - marshmallow-oneofschema, - mdit-py-plugins, methodtools, + msgspec, + natsort, opentelemetry-api, opentelemetry-exporter-otlp, packaging, - pandas, pathspec, pendulum, pluggy, psutil, - pytest-asyncio, - pytestCheckHook, + pydantic, + pygments, + pygtrie, + pyjwt, python, python-daemon, - python-nvd3, + python-dateutil, python-slugify, + pyyaml, + requests, + retryhttp, + rich, rich-argparse, + rich-click, setproctitle, smmap, sqlalchemy, sqlalchemy-jsonfield, + sqlalchemy-utils, + starlette, + structlog, + svcs, tabulate, tenacity, termcolor, tomli, trove-classifiers, + types-requests, + typing-extensions, universal-pathlib, + uuid6, # Extra airflow providers to enable enabledProviders ? [ ], }: let - version = "2.10.5"; + version = "3.1.0"; - airflow-src = fetchFromGitHub { + src = fetchFromGitHub { owner = "apache"; repo = "airflow"; tag = version; - hash = "sha256-APmZ/ylAcZuW5du2JJdMeAQ9g0VNAsXB+ZBPr0OEprg="; + hash = "sha256-bg7PYW2xjDVWgBr8IduF+duIm5QnM23E23zY+fcKkns="; }; - airflow-frontend = stdenv.mkDerivation rec { - name = "airflow-frontend"; - - src = "${airflow-src}/airflow/www"; - - offlineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; - hash = "sha256-hKgtMH4c8sPRDLPLVn+H8rmwc2Q6ei6U4er6fGuFn4I="; - }; + airflowUi = stdenv.mkDerivation rec { + pname = "airflow-ui-assets"; + inherit src version; + sourceRoot = "${src.name}/airflow-core/src/airflow/ui"; nativeBuildInputs = [ nodejs - webpack-cli - yarnBuildHook - yarnConfigHook + pnpm + pnpmConfigHook ]; - # The webpack license plugin tries to create /3rd-party-licenses when given the - # original relative path - postPatch = '' - sed -i 's!../../../../3rd-party-licenses/LICENSES-ui.txt!/3rd-party-licenses/LICENSES-ui.txt!' webpack.config.js + pnpmDeps = fetchPnpmDeps { + pname = "airflow-ui"; + inherit sourceRoot src version; + fetcherVersion = 1; + hash = "sha256-bGWt9KKvseuwDe7I+GbAUGUz3yGjDA2semKX5EmoNPM="; + }; + + buildPhase = '' + pnpm install + pnpm build ''; installPhase = '' - mkdir -p $out/static/ - cp -r static/dist $out/static + mkdir -p $out/share/airflow/ui + cp -r dist $out/share/airflow/ui/ + ''; + }; + + airflowSimpleAuthUi = stdenv.mkDerivation rec { + pname = "airflow-simple-ui-assets"; + inherit src version; + sourceRoot = "${src.name}/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui"; + + nativeBuildInputs = [ + nodejs + pnpm + pnpmConfigHook + ]; + + pnpmDeps = fetchPnpmDeps { + pname = "simple-auth-manager-ui"; + inherit sourceRoot src version; + fetcherVersion = 1; + hash = "sha256-XXA6Ynxvt/KnVT8EsV4z5Nxd5QejZO8iDDEcS04B57A="; + }; + + buildPhase = '' + pnpm install + pnpm build + ''; + + installPhase = '' + mkdir -p $out/share/airflow/simple-ui + cp -r dist $out/share/airflow/simple-ui/ ''; }; @@ -108,93 +158,179 @@ let "common_compat" "common_io" "common_sql" - "fab" - "ftp" - "http" - "imap" "smtp" - "sqlite" + "standard" ]; - # Import generated file with metadata for provider dependencies and imports. - # Enable additional providers using enabledProviders above. providers = import ./providers.nix; - getProviderPath = provider: lib.replaceStrings [ "_" ] [ "/" ] provider; - getProviderDeps = provider: map (dep: python.pkgs.${dep}) providers.${provider}.deps; - getProviderImports = provider: providers.${provider}.imports; - providerImports = lib.concatMap getProviderImports enabledProviders; buildProvider = provider: - let - providerPath = getProviderPath provider; - in - python.pkgs.buildPythonPackage { + buildPythonPackage { pname = "apache-airflow-providers-${provider}"; - version = "unstable"; # will be extracted in the build phase - pyproject = false; # providers packages don't have pyproject.toml nor setup.py + version = providers.${provider}.version; + pyproject = true; - src = airflow-src; + inherit src; + sourceRoot = "${src.name}/providers/${lib.replaceStrings [ "_" ] [ "/" ] provider}"; - propagatedBuildInputs = getProviderDeps provider; - dependencies = [ packaging ]; + buildInputs = [ flit-core ]; - buildPhase = '' - # extract version from the provider's __init__.py file - if [ -f "airflow/providers/${providerPath}/__init__.py" ]; then - version=$(grep -oP "(?<=__version__ = ')[^']+" "airflow/providers/${providerPath}/__init__.py" || echo "0.0.0") - echo "Provider ${provider} version: $version" - else - echo "Error: __init__.py not found for provider ${provider} at path airflow/providers/${providerPath}" - exit 1 - fi - ''; + dependencies = map (dep: python.pkgs.${dep}) providers.${provider}.deps; - installPhase = '' - # create directory structure - mkdir -p $out/${python.sitePackages}/airflow/providers + pythonRemoveDeps = [ + "apache-airflow" + ]; - # copy the provider directory - if [ -d "airflow/providers/${providerPath}" ]; then - mkdir -p $out/${python.sitePackages}/airflow/providers/$(dirname "${providerPath}") - cp -r airflow/providers/${providerPath} $out/${python.sitePackages}/airflow/providers/$(dirname "${providerPath}") - - # create parent __init__.py files - touch $out/${python.sitePackages}/airflow/__init__.py - touch $out/${python.sitePackages}/airflow/providers/__init__.py - - # create any needed intermediate __init__.py files for nested providers - providerDir=$(dirname "${providerPath}") - while [ "$providerDir" != "." ] && [ -n "$providerDir" ]; do - mkdir -p $out/${python.sitePackages}/airflow/providers/$providerDir - touch $out/${python.sitePackages}/airflow/providers/$providerDir/__init__.py - providerDir=$(dirname "$providerDir") - done - - # create egg-info for package discovery - mkdir -p $out/${python.sitePackages}/apache_airflow_providers_${provider}.egg-info - cat > $out/${python.sitePackages}/apache_airflow_providers_${provider}.egg-info/PKG-INFO < Path: - return Path(os.path.dirname(sys.argv[0])) / "../../../.." + return Path(os.path.dirname(sys.argv[0])) / "../../../../" def dump_packages() -> Dict[str, Dict[str, str]]: @@ -70,27 +73,33 @@ def dump_packages() -> Dict[str, Dict[str, str]]: def remove_version_constraint(req: str) -> str: - return re.sub(r"[=><~].*$", "", req) + parsed_req = Requirement(req) + name = parsed_req.name + extras = ",".join(sorted(parsed_req.extras)) + if extras: + return f"{name}[{extras}]" + return name def name_to_attr_path(req: str, packages: Dict[str, Dict[str, str]]) -> Optional[str]: - if req in PKG_PREFERENCES: - return f"{PKG_SET}.{PKG_PREFERENCES[req]}" + # Extract the base name, removing any extras (e.g., '[flask]') + base_req_name = req.split("[")[0] + logging.debug(f"Searching for base_req_name: {base_req_name}") + if base_req_name in PKG_PREFERENCES: + return f"{PKG_SET}.{PKG_PREFERENCES[base_req_name]}" attr_paths = [] - names = [req] + names = [base_req_name] # E.g. python-mpd2 is actually called python3.6-mpd2 # instead of python-3.6-python-mpd2 inside Nixpkgs - if req.startswith("python-") or req.startswith("python_"): - names.append(req[len("python-") :]) + if base_req_name.startswith("python-") or base_req_name.startswith("python_"): + names.append(base_req_name[len("python-") :]) for name in names: # treat "-" and "_" equally name = re.sub("[-_]", "[-_]", name) # python(minor).(major)-(pname)-(version or unstable-date) # we need the version qualifier, or we'll have multiple matches # (e.g. pyserial and pyserial-asyncio when looking for pyserial) - pattern = re.compile( - f"^python\\d+\\.\\d+-{name}-(?:\\d|unstable-.*)", re.I - ) + pattern = re.compile(rf"^python\d+\.\d+-{name}-(?:[\d\.]+|unstable-.*)", re.I) for attr_path, package in packages.items(): # logging.debug("Checking match for %s with %s", name, package["name"]) if pattern.match(package["name"]): @@ -130,30 +139,81 @@ def get_cross_provider_reqs( if len(cross_provider_deps[provider]) > 0: reqs.update( chain.from_iterable( - get_cross_provider_reqs( - d, provider_reqs, cross_provider_deps, seen + [provider] + ( + get_cross_provider_reqs( + d, provider_reqs, cross_provider_deps, seen + [provider] + ) + if d not in seen + else [] ) - if d not in seen - else [] for d in cross_provider_deps[provider] ) ) return reqs -def get_provider_reqs(version: str, packages: Dict) -> Dict: - provider_dependencies = get_file_from_github( - version, "generated/provider_dependencies.json" - ) +def parse_pyproject_toml(version: str, provider_name: str) -> Dict: + provider_dir = provider_name.replace(".", "/") + path = f"providers/{provider_dir}/pyproject.toml" + try: + content = get_file_from_github(version, path) + data = tomli.loads(content.decode("utf-8")) + + dependencies = data.get("project", {}).get("dependencies", []) + + # Extract optional dependencies + optional_dependencies = data.get("project", {}).get("optional-dependencies", {}) + for opt_deps_list in optional_dependencies.values(): + dependencies.extend(opt_deps_list) + + imports = [] + # Heuristic to generate imports based on provider name + # This might not be exhaustive but covers common cases + base_import_path = f"airflow.providers.{provider_name.replace('-', '.')}" + + # Try to get more specific imports from provider_info entry point if available + provider_info_entry_point = ( + data.get("project", {}) + .get("entry-points", {}) + .get("apache_airflow_provider", {}) + .get("provider_info") + ) + if provider_info_entry_point: + module_path = provider_info_entry_point.split(":")[0] + if module_path not in imports: + imports.append(module_path) + + return { + "deps": dependencies, + "imports": sorted(list(set(imports))), # Remove duplicates and sort + "cross-providers-deps": [], # pyproject.toml doesn't directly list cross-provider deps + "version": data.get("project", {}).get("version", "unknown"), + } + except HTTPError: + logging.warning("Couldn't get pyproject.toml for %s", provider_name) + return {"deps": [], "imports": [], "cross-providers-deps": []} + except Exception as e: + logging.error(f"Error parsing pyproject.toml for {provider_name}: {e}") + return {"deps": [], "imports": [], "cross-providers-deps": []} + + +def get_provider_reqs(version: str, packages: Dict, provider_names: List[str]) -> Dict: + provider_data = {} + for provider in provider_names: + data = parse_pyproject_toml(version, provider) + provider_data[provider] = { + "deps": data["deps"], + "cross-providers-deps": data["cross-providers-deps"], + } + provider_reqs = {} cross_provider_deps = {} - for provider, provider_data in provider_dependencies.items(): + for provider, data in provider_data.items(): provider_reqs[provider] = list( - provider_reqs_to_attr_paths(provider_data["deps"], packages) + provider_reqs_to_attr_paths(data["deps"], packages) ) + EXTRA_REQS.get(provider, []) - cross_provider_deps[provider] = [ - d for d in provider_data["cross-providers-deps"] if d != "common.sql" - ] + cross_provider_deps[provider] = data["cross-providers-deps"] + transitive_provider_reqs = {} # Add transitive cross-provider reqs for provider in provider_reqs: @@ -163,39 +223,25 @@ def get_provider_reqs(version: str, packages: Dict) -> Dict: return transitive_provider_reqs -def get_provider_yaml(version: str, provider: str) -> Dict: - provider_dir = provider.replace(".", "/") - path = f"airflow/providers/{provider_dir}/provider.yaml" - try: - return get_file_from_github(version, path) - except HTTPError: - logging.warning("Couldn't get provider yaml for %s", provider) - return {} - - -def get_provider_imports(version: str, providers) -> Dict: +def get_provider_imports(version: str, provider_names: List[str]) -> Dict: provider_imports = {} - for provider in providers: - provider_yaml = get_provider_yaml(version, provider) - imports: List[str] = [] - if "hooks" in provider_yaml: - imports.extend( - chain.from_iterable( - hook["python-modules"] for hook in provider_yaml["hooks"] - ) - ) - if "operators" in provider_yaml: - imports.extend( - chain.from_iterable( - operator["python-modules"] - for operator in provider_yaml["operators"] - ) - ) - provider_imports[provider] = imports + for provider in provider_names: + data = parse_pyproject_toml(version, provider) + provider_imports[provider] = data["imports"] return provider_imports -def to_nix_expr(provider_reqs: Dict, provider_imports: Dict, fh: TextIO) -> None: +def get_provider_versions(version: str, provider_names: List[str]) -> Dict: + provider_versions = {} + for provider in provider_names: + data = parse_pyproject_toml(version, provider) + provider_versions[provider] = data["version"] + return provider_versions + + +def to_nix_expr( + provider_reqs: Dict, provider_imports: Dict, provider_versions: Dict, fh: TextIO +) -> None: fh.write("# Warning: generated by update-providers.py, do not update manually\n") fh.write("{\n") for provider, reqs in provider_reqs.items(): @@ -209,19 +255,83 @@ def to_nix_expr(provider_reqs: Dict, provider_imports: Dict, fh: TextIO) -> None + " ".join(sorted(f'"{imp}"' for imp in provider_imports[provider])) + " ];\n" ) + fh.write(f' version = "{provider_versions[provider]}";\n') fh.write(" };\n") + fh.write("\n") fh.write("}\n") +def get_all_providers_from_github(version: str) -> List[str]: + """ + Fetches all provider paths that contain a pyproject.toml file from the airflow repository. + This is done by recursively fetching the git tree for the providers directory. + """ + providers = [] + try: + # Get the SHA of the 'providers' directory for the given version + with urlopen( + f"https://api.github.com/repos/apache/airflow/contents/?ref={version}" + ) as response: + root_contents = json.loads(response.read()) + + providers_dir_info = next( + ( + item + for item in root_contents + if item["name"] == "providers" and item["type"] == "dir" + ), + None, + ) + + if not providers_dir_info: + logging.error( + "Could not find 'providers' directory in the root of the repository." + ) + sys.exit(1) + + providers_dir_sha = providers_dir_info["sha"] + + # Now, get the tree for the 'providers' directory recursively + with urlopen( + f"https://api.github.com/repos/apache/airflow/git/trees/{providers_dir_sha}?recursive=1" + ) as response: + tree = json.loads(response.read()) + + pyproject_paths = [ + item["path"] + for item in tree["tree"] + if item["type"] == "blob" and item["path"].endswith("/pyproject.toml") + ] + + for path in pyproject_paths: + # remove /pyproject.toml suffix + provider_path = path[: -len("/pyproject.toml")] + # Exclude tests directory and empty paths (root pyproject.toml) + if provider_path and not provider_path.startswith("tests/"): + provider_name = provider_path.replace("/", ".") + providers.append(provider_name) + + except HTTPError as e: + logging.error(f"Error fetching provider list from GitHub: {e}") + sys.exit(1) + + return sorted(providers) + + def main() -> None: - logging.basicConfig(level=logging.INFO) + logging.basicConfig(level=logging.DEBUG) version = get_version() packages = dump_packages() logging.info("Generating providers.nix for version %s", version) - provider_reqs = get_provider_reqs(version, packages) - provider_imports = get_provider_imports(version, provider_reqs.keys()) - with open("providers.nix", "w") as fh: - to_nix_expr(provider_reqs, provider_imports, fh) + + # Fetch provider names from GitHub API + provider_names = get_all_providers_from_github(version) + + provider_reqs = get_provider_reqs(version, packages, provider_names) + provider_imports = get_provider_imports(version, provider_names) + provider_versions = get_provider_versions(version, provider_names) + with open(os.path.join(os.path.dirname(sys.argv[0]), "providers.nix"), "w") as fh: + to_nix_expr(provider_reqs, provider_imports, provider_versions, fh) if __name__ == "__main__": diff --git a/pkgs/by-name/ap/apache-airflow/update.sh b/pkgs/by-name/ap/apache-airflow/update.sh index 319e9c70f3d6..cf957d3ba778 100755 --- a/pkgs/by-name/ap/apache-airflow/update.sh +++ b/pkgs/by-name/ap/apache-airflow/update.sh @@ -1,18 +1,51 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p common-updater-scripts curl pcre "python3.withPackages (ps: with ps; [ pyyaml ])" yarn2nix +#!nix-shell -i bash -p common-updater-scripts curl jq set -euo pipefail -# Get new version -new_version="$(curl -s https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html | - pcregrep -o1 'Airflow ([0-9.]+).' | head -1)" -update-source-version apache-airflow "$new_version" +# This script updates apache-airflow to the latest tag for a given major version. +# It defaults to major version 3. +# +# Usage: ./update.sh [MAJOR_VERSION] +# Example: ./update.sh 2 -# Update frontend -cd ./pkgs/servers/apache-airflow -curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/yarn.lock -curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/package.json -yarn2nix > yarn.nix +MAJOR_VERSION="${1:-3}" +PACKAGE_DIR=$(dirname "$0") +PACKAGE_NAME="apache-airflow" + +# Fetches the latest git tag for the given major version from the GitHub API. +# It filters for tags that look like version numbers and sorts them to find the latest. +get_latest_tag() { + TEMP_FILE=$(mktemp) + curl -s "https://api.github.com/repos/apache/airflow/releases" > "$TEMP_FILE" + LATEST_TAG=$(jq -r --arg major_version "$MAJOR_VERSION" ' + .[] + | select(.tag_name | test("^" + $major_version + "\\.\\d+\\.\\d+$")) + | .tag_name + ' "$TEMP_FILE" | sort -V | tail -n 1) + rm "$TEMP_FILE" + echo "$LATEST_TAG" +} + +echo "Looking for latest tag for major version $MAJOR_VERSION..." +LATEST_TAG=$(get_latest_tag) + +if [[ -z "$LATEST_TAG" ]]; then + echo "No new tag found for major version $MAJOR_VERSION." + exit 0 +fi + +echo "Latest tag found: $LATEST_TAG" + +# Update the version and hash in the package definition +# This uses the standard nixpkgs script `update-source-version`. +echo "Updating source version for $PACKAGE_NAME to $LATEST_TAG..." +update-source-version "$PACKAGE_NAME" "$LATEST_TAG" + +# After updating the main package, run the providers update script. +# It will automatically pick up the new version from the nix file. +echo "Updating provider dependencies..." +"$PACKAGE_DIR/update-providers.py" + +echo "Update complete. Please check the git diff for changes." -# update provider dependencies -./update-providers.py From 69d641f2e161fb7ecafa4200a9d06c3fc5000044 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 8 Jan 2026 11:55:28 +0100 Subject: [PATCH 0980/1216] apache-airflow: expose enabledProviders Not sure how these were supposed to be enabled, without exposing them on the package interface itself. --- pkgs/by-name/ap/apache-airflow/package.nix | 5 ++++- pkgs/by-name/ap/apache-airflow/python-package.nix | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/package.nix b/pkgs/by-name/ap/apache-airflow/package.nix index 7e8e9065b3ff..f8d5ee6ab778 100644 --- a/pkgs/by-name/ap/apache-airflow/package.nix +++ b/pkgs/by-name/ap/apache-airflow/package.nix @@ -3,6 +3,9 @@ fetchpatch, fetchPypi, python3, + + # Extra airflow providers to enable + enabledProviders ? [ ], }: let @@ -34,7 +37,7 @@ let pretend ]; }); - apache-airflow = pySelf.callPackage ./python-package.nix { }; + apache-airflow = pySelf.callPackage ./python-package.nix { inherit enabledProviders; }; }; }; in diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index 9d71376a95a3..a83ccef41919 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -83,8 +83,7 @@ universal-pathlib, uuid6, - # Extra airflow providers to enable - enabledProviders ? [ ], + enabledProviders, }: let version = "3.1.0"; From acd825e7746b750be7e5ac12d78cf7d06268a41e Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 8 Jan 2026 13:25:33 +0100 Subject: [PATCH 0981/1216] apache-airflow: 3.1.0 -> 3.1.5 --- pkgs/by-name/ap/apache-airflow/providers.nix | 11 +++++----- .../ap/apache-airflow/python-package.nix | 20 ++++++++++++++----- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/providers.nix b/pkgs/by-name/ap/apache-airflow/providers.nix index a33d6fd234d1..24698f9536fb 100644 --- a/pkgs/by-name/ap/apache-airflow/providers.nix +++ b/pkgs/by-name/ap/apache-airflow/providers.nix @@ -209,13 +209,13 @@ common_compat = { deps = [ ]; imports = [ "airflow.providers.common.compat.get_provider_info" ]; - version = "1.7.3"; + version = "1.7.4"; }; common_io = { deps = [ ]; imports = [ "airflow.providers.common.io.get_provider_info" ]; - version = "1.6.2"; + version = "1.6.3"; }; common_messaging = { @@ -233,7 +233,7 @@ "sqlparse" ]; imports = [ "airflow.providers.common.sql.get_provider_info" ]; - version = "1.28.0"; + version = "1.28.1"; }; databricks = { @@ -377,6 +377,7 @@ "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" + "google-cloud-run" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" @@ -709,7 +710,7 @@ smtp = { deps = [ ]; imports = [ "airflow.providers.smtp.get_provider_info" ]; - version = "2.2.1"; + version = "2.3.1"; }; snowflake = { @@ -741,7 +742,7 @@ standard = { deps = [ ]; imports = [ "airflow.providers.standard.get_provider_info" ]; - version = "1.7.0"; + version = "1.9.0"; }; tableau = { diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index a83ccef41919..f5a26cd82234 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -17,6 +17,7 @@ argcomplete, asgiref, attrs, + babel, buildPythonPackage, cadwyn, colorlog, @@ -82,17 +83,18 @@ typing-extensions, universal-pathlib, uuid6, + uvicorn, enabledProviders, }: let - version = "3.1.0"; + version = "3.1.5"; src = fetchFromGitHub { owner = "apache"; repo = "airflow"; tag = version; - hash = "sha256-bg7PYW2xjDVWgBr8IduF+duIm5QnM23E23zY+fcKkns="; + hash = "sha256-C6QujoXUHN3xLHjLhjgcecdT1VQQMQ9v2f3x97i0NpM="; }; airflowUi = stdenv.mkDerivation rec { @@ -110,7 +112,7 @@ let pname = "airflow-ui"; inherit sourceRoot src version; fetcherVersion = 1; - hash = "sha256-bGWt9KKvseuwDe7I+GbAUGUz3yGjDA2semKX5EmoNPM="; + hash = "sha256-oB6fbQ9FwBJNkbXVN1ovMYvegbmyG1xDSYBYqHKKh+M="; }; buildPhase = '' @@ -139,7 +141,7 @@ let pname = "simple-auth-manager-ui"; inherit sourceRoot src version; fetcherVersion = 1; - hash = "sha256-XXA6Ynxvt/KnVT8EsV4z5Nxd5QejZO8iDDEcS04B57A="; + hash = "sha256-rUmrDHdC/Pqpe9njAM7cmoBLuPSgh36yLCT9j8ImN58="; }; buildPhase = '' @@ -242,6 +244,7 @@ let lockfile methodtools msgspec + natsort opentelemetry-api opentelemetry-exporter-otlp packaging @@ -275,8 +278,15 @@ let typing-extensions universal-pathlib uuid6 + uvicorn ] ++ (map buildProvider requiredProviders); + + pythonRelaxDeps = [ + # Temporary to fix CI only: + # https://github.com/apache/airflow/commit/c474be9ff06cf16bf96f93de9a09e30ffc476bee + "fastapi" + ]; }; taskSdk = buildPythonPackage { @@ -298,6 +308,7 @@ let dependencies = [ asgiref attrs + babel colorlog fsspec greenback @@ -346,7 +357,6 @@ buildPythonPackage rec { dependencies = [ airflowCore # subpackage from airflow src - natsort taskSdk # subpackage from airflow src ] ++ (map buildProvider enabledProviders); From 0b2284a690d6e9f525fdb7109c2a5dc33a81b470 Mon Sep 17 00:00:00 2001 From: Sergei Volkov Date: Wed, 21 Jan 2026 15:34:21 +0100 Subject: [PATCH 0982/1216] apache-airflow: 3.1.5 -> 3.1.6 --- pkgs/by-name/ap/apache-airflow/providers.nix | 486 ++++++++++++++---- .../ap/apache-airflow/python-package.nix | 10 +- 2 files changed, 395 insertions(+), 101 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/providers.nix b/pkgs/by-name/ap/apache-airflow/providers.nix index 24698f9536fb..d20c06f64e48 100644 --- a/pkgs/by-name/ap/apache-airflow/providers.nix +++ b/pkgs/by-name/ap/apache-airflow/providers.nix @@ -2,13 +2,19 @@ { airbyte = { deps = [ "requests" ]; - imports = [ "airflow.providers.airbyte.get_provider_info" ]; + imports = [ + "airflow.providers.airbyte" + "airflow.providers.airbyte.get_provider_info" + ]; version = "5.2.3"; }; alibaba = { deps = [ "oss2" ]; - imports = [ "airflow.providers.alibaba.get_provider_info" ]; + imports = [ + "airflow.providers.alibaba" + "airflow.providers.alibaba.get_provider_info" + ]; version = "3.2.2"; }; @@ -29,7 +35,10 @@ "s3fs" "xmlsec" ]; - imports = [ "airflow.providers.amazon.get_provider_info" ]; + imports = [ + "airflow.providers.amazon" + "airflow.providers.amazon.get_provider_info" + ]; version = "9.13.0"; }; @@ -39,31 +48,46 @@ "numpy" "pyarrow" ]; - imports = [ "airflow.providers.apache.beam.get_provider_info" ]; + imports = [ + "airflow.providers.apache.beam" + "airflow.providers.apache.beam.get_provider_info" + ]; version = "6.1.4"; }; apache_cassandra = { deps = [ "cassandra-driver" ]; - imports = [ "airflow.providers.apache.cassandra.get_provider_info" ]; + imports = [ + "airflow.providers.apache.cassandra" + "airflow.providers.apache.cassandra.get_provider_info" + ]; version = "3.8.2"; }; apache_drill = { deps = [ ]; - imports = [ "airflow.providers.apache.drill.get_provider_info" ]; + imports = [ + "airflow.providers.apache.drill" + "airflow.providers.apache.drill.get_provider_info" + ]; version = "3.1.2"; }; apache_druid = { deps = [ "pydruid" ]; - imports = [ "airflow.providers.apache.druid.get_provider_info" ]; + imports = [ + "airflow.providers.apache.druid" + "airflow.providers.apache.druid.get_provider_info" + ]; version = "4.3.0"; }; apache_flink = { deps = [ "cryptography" ]; - imports = [ "airflow.providers.apache.flink.get_provider_info" ]; + imports = [ + "airflow.providers.apache.flink" + "airflow.providers.apache.flink.get_provider_info" + ]; version = "1.7.2"; }; @@ -72,7 +96,10 @@ "hdfs" "pandas" ]; - imports = [ "airflow.providers.apache.hdfs.get_provider_info" ]; + imports = [ + "airflow.providers.apache.hdfs" + "airflow.providers.apache.hdfs.get_provider_info" + ]; version = "4.10.2"; }; @@ -82,19 +109,28 @@ "pandas" "thrift" ]; - imports = [ "airflow.providers.apache.hive.get_provider_info" ]; + imports = [ + "airflow.providers.apache.hive" + "airflow.providers.apache.hive.get_provider_info" + ]; version = "9.1.2"; }; apache_iceberg = { deps = [ ]; - imports = [ "airflow.providers.apache.iceberg.get_provider_info" ]; + imports = [ + "airflow.providers.apache.iceberg" + "airflow.providers.apache.iceberg.get_provider_info" + ]; version = "1.3.2"; }; apache_impala = { deps = [ "kerberos" ]; - imports = [ "airflow.providers.apache.impala.get_provider_info" ]; + imports = [ + "airflow.providers.apache.impala" + "airflow.providers.apache.impala.get_provider_info" + ]; version = "1.7.2"; }; @@ -103,13 +139,19 @@ "asgiref" "confluent-kafka" ]; - imports = [ "airflow.providers.apache.kafka.get_provider_info" ]; + imports = [ + "airflow.providers.apache.kafka" + "airflow.providers.apache.kafka.get_provider_info" + ]; version = "1.10.3"; }; apache_kylin = { deps = [ ]; - imports = [ "airflow.providers.apache.kylin.get_provider_info" ]; + imports = [ + "airflow.providers.apache.kylin" + "airflow.providers.apache.kylin.get_provider_info" + ]; version = "3.9.2"; }; @@ -118,19 +160,28 @@ "aiohttp" "asgiref" ]; - imports = [ "airflow.providers.apache.livy.get_provider_info" ]; + imports = [ + "airflow.providers.apache.livy" + "airflow.providers.apache.livy.get_provider_info" + ]; version = "4.4.2"; }; apache_pig = { deps = [ ]; - imports = [ "airflow.providers.apache.pig.get_provider_info" ]; + imports = [ + "airflow.providers.apache.pig" + "airflow.providers.apache.pig.get_provider_info" + ]; version = "4.7.2"; }; apache_pinot = { deps = [ ]; - imports = [ "airflow.providers.apache.pinot.get_provider_info" ]; + imports = [ + "airflow.providers.apache.pinot" + "airflow.providers.apache.pinot.get_provider_info" + ]; version = "4.8.2"; }; @@ -139,37 +190,55 @@ "grpcio-status" "pyspark" ]; - imports = [ "airflow.providers.apache.spark.get_provider_info" ]; + imports = [ + "airflow.providers.apache.spark" + "airflow.providers.apache.spark.get_provider_info" + ]; version = "5.3.2"; }; apache_tinkerpop = { deps = [ "gremlinpython" ]; - imports = [ "airflow.providers.apache.tinkerpop.get_provider_info" ]; + imports = [ + "airflow.providers.apache.tinkerpop" + "airflow.providers.apache.tinkerpop.get_provider_info" + ]; version = "1.0.3"; }; apprise = { deps = [ "apprise" ]; - imports = [ "airflow.providers.apprise.get_provider_info" ]; + imports = [ + "airflow.providers.apprise" + "airflow.providers.apprise.get_provider_info" + ]; version = "2.1.2"; }; arangodb = { deps = [ "python-arango" ]; - imports = [ "airflow.providers.arangodb.get_provider_info" ]; + imports = [ + "airflow.providers.arangodb" + "airflow.providers.arangodb.get_provider_info" + ]; version = "2.8.2"; }; asana = { deps = [ "asana" ]; - imports = [ "airflow.providers.asana.get_provider_info" ]; + imports = [ + "airflow.providers.asana" + "airflow.providers.asana.get_provider_info" + ]; version = "2.10.2"; }; atlassian_jira = { deps = [ "atlassian-python-api" ]; - imports = [ "airflow.providers.atlassian.jira.get_provider_info" ]; + imports = [ + "airflow.providers.atlassian.jira" + "airflow.providers.atlassian.jira.get_provider_info" + ]; version = "3.1.2"; }; @@ -178,13 +247,19 @@ "celery" "flower" ]; - imports = [ "airflow.providers.celery.get_provider_info" ]; + imports = [ + "airflow.providers.celery" + "airflow.providers.celery.get_provider_info" + ]; version = "3.12.3"; }; cloudant = { deps = [ ]; - imports = [ "airflow.providers.cloudant.get_provider_info" ]; + imports = [ + "airflow.providers.cloudant" + "airflow.providers.cloudant.get_provider_info" + ]; version = "4.2.2"; }; @@ -195,32 +270,48 @@ "cryptography" "kubernetes" "kubernetes-asyncio" + "urllib3" + ]; + imports = [ + "airflow.providers.cncf.kubernetes" + "airflow.providers.cncf.kubernetes.get_provider_info" ]; - imports = [ "airflow.providers.cncf.kubernetes.get_provider_info" ]; version = "10.8.0"; }; cohere = { deps = [ "cohere" ]; - imports = [ "airflow.providers.cohere.get_provider_info" ]; + imports = [ + "airflow.providers.cohere" + "airflow.providers.cohere.get_provider_info" + ]; version = "1.5.3"; }; common_compat = { deps = [ ]; - imports = [ "airflow.providers.common.compat.get_provider_info" ]; + imports = [ + "airflow.providers.common.compat" + "airflow.providers.common.compat.get_provider_info" + ]; version = "1.7.4"; }; common_io = { deps = [ ]; - imports = [ "airflow.providers.common.io.get_provider_info" ]; + imports = [ + "airflow.providers.common.io" + "airflow.providers.common.io.get_provider_info" + ]; version = "1.6.3"; }; common_messaging = { deps = [ ]; - imports = [ "airflow.providers.common.messaging.get_provider_info" ]; + imports = [ + "airflow.providers.common.messaging" + "airflow.providers.common.messaging.get_provider_info" + ]; version = "2.0.0"; }; @@ -232,7 +323,10 @@ "polars" "sqlparse" ]; - imports = [ "airflow.providers.common.sql.get_provider_info" ]; + imports = [ + "airflow.providers.common.sql" + "airflow.providers.common.sql.get_provider_info" + ]; version = "1.28.1"; }; @@ -247,13 +341,19 @@ "pyarrow" "requests" ]; - imports = [ "airflow.providers.databricks.get_provider_info" ]; + imports = [ + "airflow.providers.databricks" + "airflow.providers.databricks.get_provider_info" + ]; version = "7.7.2"; }; datadog = { deps = [ "datadog" ]; - imports = [ "airflow.providers.datadog.get_provider_info" ]; + imports = [ + "airflow.providers.datadog" + "airflow.providers.datadog.get_provider_info" + ]; version = "3.9.2"; }; @@ -262,19 +362,28 @@ "aiohttp" "asgiref" ]; - imports = [ "airflow.providers.dbt.cloud.get_provider_info" ]; + imports = [ + "airflow.providers.dbt.cloud" + "airflow.providers.dbt.cloud.get_provider_info" + ]; version = "4.4.3"; }; dingding = { deps = [ ]; - imports = [ "airflow.providers.dingding.get_provider_info" ]; + imports = [ + "airflow.providers.dingding" + "airflow.providers.dingding.get_provider_info" + ]; version = "3.8.2"; }; discord = { deps = [ ]; - imports = [ "airflow.providers.discord.get_provider_info" ]; + imports = [ + "airflow.providers.discord" + "airflow.providers.discord.get_provider_info" + ]; version = "3.10.2"; }; @@ -283,7 +392,10 @@ "docker" "python-dotenv" ]; - imports = [ "airflow.providers.docker.get_provider_info" ]; + imports = [ + "airflow.providers.docker" + "airflow.providers.docker.get_provider_info" + ]; version = "4.4.2"; }; @@ -292,19 +404,28 @@ "pydantic" "retryhttp" ]; - imports = [ "airflow.providers.edge3.get_provider_info" ]; + imports = [ + "airflow.providers.edge3" + "airflow.providers.edge3.get_provider_info" + ]; version = "1.2.0"; }; elasticsearch = { deps = [ "elasticsearch" ]; - imports = [ "airflow.providers.elasticsearch.get_provider_info" ]; + imports = [ + "airflow.providers.elasticsearch" + "airflow.providers.elasticsearch.get_provider_info" + ]; version = "6.3.2"; }; exasol = { deps = [ "pandas" ]; - imports = [ "airflow.providers.exasol.get_provider_info" ]; + imports = [ + "airflow.providers.exasol" + "airflow.providers.exasol.get_provider_info" + ]; version = "4.8.2"; }; @@ -323,31 +444,46 @@ "werkzeug" "wtforms" ]; - imports = [ "airflow.providers.fab.get_provider_info" ]; + imports = [ + "airflow.providers.fab" + "airflow.providers.fab.get_provider_info" + ]; version = "2.4.2"; }; facebook = { deps = [ ]; - imports = [ "airflow.providers.facebook.get_provider_info" ]; + imports = [ + "airflow.providers.facebook" + "airflow.providers.facebook.get_provider_info" + ]; version = "3.8.2"; }; ftp = { deps = [ ]; - imports = [ "airflow.providers.ftp.get_provider_info" ]; + imports = [ + "airflow.providers.ftp" + "airflow.providers.ftp.get_provider_info" + ]; version = "3.13.2"; }; git = { deps = [ "gitpython" ]; - imports = [ "airflow.providers.git.get_provider_info" ]; + imports = [ + "airflow.providers.git" + "airflow.providers.git.get_provider_info" + ]; version = "0.0.7"; }; github = { deps = [ "pygithub" ]; - imports = [ "airflow.providers.github.get_provider_info" ]; + imports = [ + "airflow.providers.github" + "airflow.providers.github.get_provider_info" + ]; version = "2.9.2"; }; @@ -401,7 +537,10 @@ "tenacity" "types-protobuf" ]; - imports = [ "airflow.providers.google.get_provider_info" ]; + imports = [ + "airflow.providers.google" + "airflow.providers.google.get_provider_info" + ]; version = "17.2.0"; }; @@ -411,7 +550,10 @@ "google-auth-httplib2" "grpcio" ]; - imports = [ "airflow.providers.grpc.get_provider_info" ]; + imports = [ + "airflow.providers.grpc" + "airflow.providers.grpc.get_provider_info" + ]; version = "3.8.2"; }; @@ -420,7 +562,10 @@ "boto3" "hvac" ]; - imports = [ "airflow.providers.hashicorp.get_provider_info" ]; + imports = [ + "airflow.providers.hashicorp" + "airflow.providers.hashicorp.get_provider_info" + ]; version = "4.3.2"; }; @@ -431,13 +576,19 @@ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.http.get_provider_info" ]; + imports = [ + "airflow.providers.http" + "airflow.providers.http.get_provider_info" + ]; version = "5.3.4"; }; imap = { deps = [ ]; - imports = [ "airflow.providers.imap.get_provider_info" ]; + imports = [ + "airflow.providers.imap" + "airflow.providers.imap.get_provider_info" + ]; version = "3.9.2"; }; @@ -446,25 +597,37 @@ "influxdb-client" "requests" ]; - imports = [ "airflow.providers.influxdb.get_provider_info" ]; + imports = [ + "airflow.providers.influxdb" + "airflow.providers.influxdb.get_provider_info" + ]; version = "2.9.3"; }; jdbc = { deps = [ "jaydebeapi" ]; - imports = [ "airflow.providers.jdbc.get_provider_info" ]; + imports = [ + "airflow.providers.jdbc" + "airflow.providers.jdbc.get_provider_info" + ]; version = "5.2.3"; }; jenkins = { deps = [ "python-jenkins" ]; - imports = [ "airflow.providers.jenkins.get_provider_info" ]; + imports = [ + "airflow.providers.jenkins" + "airflow.providers.jenkins.get_provider_info" + ]; version = "4.1.2"; }; keycloak = { deps = [ "python-keycloak" ]; - imports = [ "airflow.providers.keycloak.get_provider_info" ]; + imports = [ + "airflow.providers.keycloak" + "airflow.providers.keycloak.get_provider_info" + ]; version = "0.1.0"; }; @@ -499,7 +662,10 @@ "msal-extensions" "msgraph-core" ]; - imports = [ "airflow.providers.microsoft.azure.get_provider_info" ]; + imports = [ + "airflow.providers.microsoft.azure" + "airflow.providers.microsoft.azure.get_provider_info" + ]; version = "12.7.0"; }; @@ -508,19 +674,28 @@ "methodtools" "pymssql" ]; - imports = [ "airflow.providers.microsoft.mssql.get_provider_info" ]; + imports = [ + "airflow.providers.microsoft.mssql" + "airflow.providers.microsoft.mssql.get_provider_info" + ]; version = "4.3.2"; }; microsoft_psrp = { deps = [ "pypsrp" ]; - imports = [ "airflow.providers.microsoft.psrp.get_provider_info" ]; + imports = [ + "airflow.providers.microsoft.psrp" + "airflow.providers.microsoft.psrp.get_provider_info" + ]; version = "3.1.2"; }; microsoft_winrm = { deps = [ "pywinrm" ]; - imports = [ "airflow.providers.microsoft.winrm.get_provider_info" ]; + imports = [ + "airflow.providers.microsoft.winrm" + "airflow.providers.microsoft.winrm.get_provider_info" + ]; version = "3.11.0"; }; @@ -529,7 +704,10 @@ "dnspython" "pymongo" ]; - imports = [ "airflow.providers.mongo.get_provider_info" ]; + imports = [ + "airflow.providers.mongo" + "airflow.providers.mongo.get_provider_info" + ]; version = "5.2.2"; }; @@ -538,49 +716,73 @@ "aiomysql" "mysqlclient" ]; - imports = [ "airflow.providers.mysql.get_provider_info" ]; + imports = [ + "airflow.providers.mysql" + "airflow.providers.mysql.get_provider_info" + ]; version = "6.3.4"; }; neo4j = { deps = [ "neo4j" ]; - imports = [ "airflow.providers.neo4j.get_provider_info" ]; + imports = [ + "airflow.providers.neo4j" + "airflow.providers.neo4j.get_provider_info" + ]; version = "3.10.1"; }; odbc = { deps = [ "pyodbc" ]; - imports = [ "airflow.providers.odbc.get_provider_info" ]; + imports = [ + "airflow.providers.odbc" + "airflow.providers.odbc.get_provider_info" + ]; version = "4.10.2"; }; openai = { deps = [ "openai" ]; - imports = [ "airflow.providers.openai.get_provider_info" ]; + imports = [ + "airflow.providers.openai" + "airflow.providers.openai.get_provider_info" + ]; version = "1.6.2"; }; openfaas = { deps = [ ]; - imports = [ "airflow.providers.openfaas.get_provider_info" ]; + imports = [ + "airflow.providers.openfaas" + "airflow.providers.openfaas.get_provider_info" + ]; version = "3.8.2"; }; openlineage = { deps = [ "attrs" ]; - imports = [ "airflow.providers.openlineage.get_provider_info" ]; + imports = [ + "airflow.providers.openlineage" + "airflow.providers.openlineage.get_provider_info" + ]; version = "2.7.0"; }; opensearch = { deps = [ "opensearch-py" ]; - imports = [ "airflow.providers.opensearch.get_provider_info" ]; + imports = [ + "airflow.providers.opensearch" + "airflow.providers.opensearch.get_provider_info" + ]; version = "1.7.2"; }; opsgenie = { deps = [ ]; - imports = [ "airflow.providers.opsgenie.get_provider_info" ]; + imports = [ + "airflow.providers.opsgenie" + "airflow.providers.opsgenie.get_provider_info" + ]; version = "5.9.2"; }; @@ -589,13 +791,19 @@ "numpy" "oracledb" ]; - imports = [ "airflow.providers.oracle.get_provider_info" ]; + imports = [ + "airflow.providers.oracle" + "airflow.providers.oracle.get_provider_info" + ]; version = "4.2.0"; }; pagerduty = { deps = [ ]; - imports = [ "airflow.providers.pagerduty.get_provider_info" ]; + imports = [ + "airflow.providers.pagerduty" + "airflow.providers.pagerduty.get_provider_info" + ]; version = "5.0.2"; }; @@ -606,19 +814,28 @@ "pandas" "papermill" ]; - imports = [ "airflow.providers.papermill.get_provider_info" ]; + imports = [ + "airflow.providers.papermill" + "airflow.providers.papermill.get_provider_info" + ]; version = "3.11.2"; }; pgvector = { deps = [ "pgvector" ]; - imports = [ "airflow.providers.pgvector.get_provider_info" ]; + imports = [ + "airflow.providers.pgvector" + "airflow.providers.pgvector.get_provider_info" + ]; version = "1.5.2"; }; pinecone = { deps = [ ]; - imports = [ "airflow.providers.pinecone.get_provider_info" ]; + imports = [ + "airflow.providers.pinecone" + "airflow.providers.pinecone.get_provider_info" + ]; version = "2.3.4"; }; @@ -630,7 +847,10 @@ "psycopg" "psycopg2-binary" ]; - imports = [ "airflow.providers.postgres.get_provider_info" ]; + imports = [ + "airflow.providers.postgres" + "airflow.providers.postgres.get_provider_info" + ]; version = "6.3.0"; }; @@ -639,19 +859,28 @@ "pandas" "presto-python-client" ]; - imports = [ "airflow.providers.presto.get_provider_info" ]; + imports = [ + "airflow.providers.presto" + "airflow.providers.presto.get_provider_info" + ]; version = "5.9.2"; }; qdrant = { deps = [ "qdrant-client" ]; - imports = [ "airflow.providers.qdrant.get_provider_info" ]; + imports = [ + "airflow.providers.qdrant" + "airflow.providers.qdrant.get_provider_info" + ]; version = "1.4.3"; }; redis = { deps = [ "redis" ]; - imports = [ "airflow.providers.redis.get_provider_info" ]; + imports = [ + "airflow.providers.redis" + "airflow.providers.redis.get_provider_info" + ]; version = "4.3.0"; }; @@ -660,19 +889,28 @@ "pandas" "simple-salesforce" ]; - imports = [ "airflow.providers.salesforce.get_provider_info" ]; + imports = [ + "airflow.providers.salesforce" + "airflow.providers.salesforce.get_provider_info" + ]; version = "5.11.3"; }; samba = { deps = [ "smbprotocol" ]; - imports = [ "airflow.providers.samba.get_provider_info" ]; + imports = [ + "airflow.providers.samba" + "airflow.providers.samba.get_provider_info" + ]; version = "4.11.0"; }; segment = { deps = [ ]; - imports = [ "airflow.providers.segment.get_provider_info" ]; + imports = [ + "airflow.providers.segment" + "airflow.providers.segment.get_provider_info" + ]; version = "3.8.2"; }; @@ -681,7 +919,10 @@ "sendgrid" "werkzeug" ]; - imports = [ "airflow.providers.sendgrid.get_provider_info" ]; + imports = [ + "airflow.providers.sendgrid" + "airflow.providers.sendgrid.get_provider_info" + ]; version = "4.1.3"; }; @@ -691,25 +932,37 @@ "paramiko" "pysftp" ]; - imports = [ "airflow.providers.sftp.get_provider_info" ]; + imports = [ + "airflow.providers.sftp" + "airflow.providers.sftp.get_provider_info" + ]; version = "5.4.0"; }; singularity = { deps = [ "spython" ]; - imports = [ "airflow.providers.singularity.get_provider_info" ]; + imports = [ + "airflow.providers.singularity" + "airflow.providers.singularity.get_provider_info" + ]; version = "3.8.2"; }; slack = { deps = [ "slack-sdk" ]; - imports = [ "airflow.providers.slack.get_provider_info" ]; + imports = [ + "airflow.providers.slack" + "airflow.providers.slack.get_provider_info" + ]; version = "9.2.0"; }; smtp = { deps = [ ]; - imports = [ "airflow.providers.smtp.get_provider_info" ]; + imports = [ + "airflow.providers.smtp" + "airflow.providers.smtp.get_provider_info" + ]; version = "2.3.1"; }; @@ -720,13 +973,19 @@ "snowflake-connector-python" "snowflake-sqlalchemy" ]; - imports = [ "airflow.providers.snowflake.get_provider_info" ]; + imports = [ + "airflow.providers.snowflake" + "airflow.providers.snowflake.get_provider_info" + ]; version = "6.5.3"; }; sqlite = { deps = [ ]; - imports = [ "airflow.providers.sqlite.get_provider_info" ]; + imports = [ + "airflow.providers.sqlite" + "airflow.providers.sqlite.get_provider_info" + ]; version = "4.1.2"; }; @@ -735,43 +994,64 @@ "paramiko" "sshtunnel" ]; - imports = [ "airflow.providers.ssh.get_provider_info" ]; + imports = [ + "airflow.providers.ssh" + "airflow.providers.ssh.get_provider_info" + ]; version = "4.1.3"; }; standard = { deps = [ ]; - imports = [ "airflow.providers.standard.get_provider_info" ]; + imports = [ + "airflow.providers.standard" + "airflow.providers.standard.get_provider_info" + ]; version = "1.9.0"; }; tableau = { deps = [ "tableauserverclient" ]; - imports = [ "airflow.providers.tableau.get_provider_info" ]; + imports = [ + "airflow.providers.tableau" + "airflow.providers.tableau.get_provider_info" + ]; version = "5.2.0"; }; telegram = { deps = [ "python-telegram-bot" ]; - imports = [ "airflow.providers.telegram.get_provider_info" ]; + imports = [ + "airflow.providers.telegram" + "airflow.providers.telegram.get_provider_info" + ]; version = "4.8.2"; }; teradata = { deps = [ ]; - imports = [ "airflow.providers.teradata.get_provider_info" ]; + imports = [ + "airflow.providers.teradata" + "airflow.providers.teradata.get_provider_info" + ]; version = "3.2.1"; }; trino = { deps = [ "pandas" ]; - imports = [ "airflow.providers.trino.get_provider_info" ]; + imports = [ + "airflow.providers.trino" + "airflow.providers.trino.get_provider_info" + ]; version = "6.3.3"; }; vertica = { deps = [ "vertica-python" ]; - imports = [ "airflow.providers.vertica.get_provider_info" ]; + imports = [ + "airflow.providers.vertica" + "airflow.providers.vertica.get_provider_info" + ]; version = "4.1.2"; }; @@ -781,25 +1061,37 @@ "pandas" "weaviate-client" ]; - imports = [ "airflow.providers.weaviate.get_provider_info" ]; + imports = [ + "airflow.providers.weaviate" + "airflow.providers.weaviate.get_provider_info" + ]; version = "3.2.3"; }; yandex = { deps = [ ]; - imports = [ "airflow.providers.yandex.get_provider_info" ]; + imports = [ + "airflow.providers.yandex" + "airflow.providers.yandex.get_provider_info" + ]; version = "4.2.0"; }; ydb = { deps = [ ]; - imports = [ "airflow.providers.ydb.get_provider_info" ]; + imports = [ + "airflow.providers.ydb" + "airflow.providers.ydb.get_provider_info" + ]; version = "2.2.2"; }; zendesk = { deps = [ ]; - imports = [ "airflow.providers.zendesk.get_provider_info" ]; + imports = [ + "airflow.providers.zendesk" + "airflow.providers.zendesk.get_provider_info" + ]; version = "4.10.2"; }; diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index f5a26cd82234..d08ed53b8079 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -88,13 +88,13 @@ enabledProviders, }: let - version = "3.1.5"; + version = "3.1.6"; src = fetchFromGitHub { owner = "apache"; repo = "airflow"; tag = version; - hash = "sha256-C6QujoXUHN3xLHjLhjgcecdT1VQQMQ9v2f3x97i0NpM="; + hash = "sha256-wC6C0jhCA76/+KhBQbe3WeSGqR6FwaudCT5xPV39Z6c="; }; airflowUi = stdenv.mkDerivation rec { @@ -112,7 +112,7 @@ let pname = "airflow-ui"; inherit sourceRoot src version; fetcherVersion = 1; - hash = "sha256-oB6fbQ9FwBJNkbXVN1ovMYvegbmyG1xDSYBYqHKKh+M="; + hash = "sha256-UcEFQkDZ9Ye+VfyJ9rdZKe0wilTgO4dMsULABWfL2Co="; }; buildPhase = '' @@ -141,7 +141,7 @@ let pname = "simple-auth-manager-ui"; inherit sourceRoot src version; fetcherVersion = 1; - hash = "sha256-rUmrDHdC/Pqpe9njAM7cmoBLuPSgh36yLCT9j8ImN58="; + hash = "sha256-8nZdWnhERUkiaY8USyy/a/j+dMksjmEzCabSkysndSE="; }; buildPhase = '' @@ -382,6 +382,8 @@ buildPythonPackage rec { ++ lib.concatMap (provider: providers.${provider}.imports) (requiredProviders ++ enabledProviders); passthru.updateScript = ./update.sh; + passthru.airflowUi = airflowUi; + passthru.airflowSimpleAuthUi = airflowSimpleAuthUi; # Note on testing the web UI: # You can (manually) test the web UI as follows: From 62c9aa3392a08a844e289552ea5aaf7c0358d555 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 22 Jan 2026 15:28:38 +0200 Subject: [PATCH 0983/1216] zfs: small outputs preparation formatting --- pkgs/os-specific/linux/zfs/generic.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix index dde56cb2684f..23ff5d58952f 100644 --- a/pkgs/os-specific/linux/zfs/generic.nix +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -300,7 +300,12 @@ let done ''; - outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; + outputs = [ + "out" + ] + ++ optionals buildUser [ + "dev" + ]; passthru = { inherit kernel; From aff8fbe5aacca00954f592c95243c657faf99b80 Mon Sep 17 00:00:00 2001 From: Pascal Dietrich Date: Thu, 22 Jan 2026 14:32:55 +0100 Subject: [PATCH 0984/1216] andcli: 2.4.2 -> 2.4.3 --- pkgs/by-name/an/andcli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/an/andcli/package.nix b/pkgs/by-name/an/andcli/package.nix index 8cffa71c0ef6..9274e10731ff 100644 --- a/pkgs/by-name/an/andcli/package.nix +++ b/pkgs/by-name/an/andcli/package.nix @@ -8,7 +8,7 @@ buildGoModule (finalAttrs: { pname = "andcli"; - version = "2.4.2"; + version = "2.4.3"; subPackages = [ "cmd/andcli" ]; @@ -16,10 +16,10 @@ buildGoModule (finalAttrs: { owner = "tjblackheart"; repo = "andcli"; tag = "v${finalAttrs.version}"; - hash = "sha256-gABpQFD0F08rSVf/6X2i15aulx9ABGPGtq5CaN5ovbw="; + hash = "sha256-OhMycd1L52hkrXbKwi21zh063FqPRQrBCcXcmy2ljdA="; }; - vendorHash = "sha256-FpXTKjTThrRejBiB4QKr7GfDsnWmDWDgxn5tHfgU+Dk="; + vendorHash = "sha256-XZcSD7/vIA5XibWCI7PorqB300r6/gWhItgUq7v92m4="; ldflags = [ "-s" From 988222f90720565a534f9a708947f28d63e075e3 Mon Sep 17 00:00:00 2001 From: Sergei Volkov Date: Thu, 22 Jan 2026 14:34:04 +0100 Subject: [PATCH 0985/1216] apache-airflow: improve update scripts - add nixfmt-tree call to format generated providers.nix - fix update-providers script to include correct imports --- pkgs/by-name/ap/apache-airflow/update-providers.py | 1 + pkgs/by-name/ap/apache-airflow/update.sh | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ap/apache-airflow/update-providers.py b/pkgs/by-name/ap/apache-airflow/update-providers.py index 74fc728f1a60..01ee2bd49fe0 100755 --- a/pkgs/by-name/ap/apache-airflow/update-providers.py +++ b/pkgs/by-name/ap/apache-airflow/update-providers.py @@ -170,6 +170,7 @@ def parse_pyproject_toml(version: str, provider_name: str) -> Dict: # Heuristic to generate imports based on provider name # This might not be exhaustive but covers common cases base_import_path = f"airflow.providers.{provider_name.replace('-', '.')}" + imports.append(base_import_path) # Try to get more specific imports from provider_info entry point if available provider_info_entry_point = ( diff --git a/pkgs/by-name/ap/apache-airflow/update.sh b/pkgs/by-name/ap/apache-airflow/update.sh index cf957d3ba778..943f73dcc6bf 100755 --- a/pkgs/by-name/ap/apache-airflow/update.sh +++ b/pkgs/by-name/ap/apache-airflow/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p common-updater-scripts curl jq +#!nix-shell -i bash -p common-updater-scripts curl jq nixfmt-tree set -euo pipefail @@ -46,6 +46,8 @@ update-source-version "$PACKAGE_NAME" "$LATEST_TAG" # It will automatically pick up the new version from the nix file. echo "Updating provider dependencies..." "$PACKAGE_DIR/update-providers.py" +echo "Formatting generated providers.nix" +treefmt "$PACKAGE_DIR" echo "Update complete. Please check the git diff for changes." From c203b742ca6d68dd34ed6e54d35ee40db6e514f0 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 22 Jan 2026 15:33:22 +0200 Subject: [PATCH 0986/1216] zfs: split man output Co-Authored-By: Izorkin --- pkgs/os-specific/linux/zfs/generic.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix index 23ff5d58952f..8ab888ecc789 100644 --- a/pkgs/os-specific/linux/zfs/generic.nix +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -305,6 +305,9 @@ let ] ++ optionals buildUser [ "dev" + ] + ++ optionals (!buildKernel) [ + "man" ]; passthru = { From 7a56243bdd3cd7d220bfd7566ec84622c1981859 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 13:52:44 +0000 Subject: [PATCH 0987/1216] lighthouse-steamvr: 1.3.2 -> 1.4.0 --- pkgs/by-name/li/lighthouse-steamvr/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lighthouse-steamvr/package.nix b/pkgs/by-name/li/lighthouse-steamvr/package.nix index 60a90c771828..cb9ae9b98d84 100644 --- a/pkgs/by-name/li/lighthouse-steamvr/package.nix +++ b/pkgs/by-name/li/lighthouse-steamvr/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "Lighthouse"; - version = "1.3.2"; + version = "1.4.0"; src = fetchFromGitHub { owner = "ShayBox"; repo = "Lighthouse"; rev = version; - hash = "sha256-GgKY7HDu6e/hpYNOZdcjLvaNfQOZMl+H6CmKTbd1LNE="; + hash = "sha256-Ai+d7BKA1o98iOhQ7VXltnWHW/knw122xLZHhFM6gZ0="; }; - cargoHash = "sha256-oC5HA6diRlRWoeeQQgWR32yxZ2BLyFmKbaSkFBLdrXc="; + cargoHash = "sha256-+5fxqWq7akICVmDa8Lc6M8laEAWrrEyg4uCFLoCNRpo="; nativeBuildInputs = [ pkg-config ]; From 2ac03ad6102514a623c18ddb4d47fb0cdb517395 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Fri, 23 Jan 2026 00:41:34 +1100 Subject: [PATCH 0988/1216] anubis: drop maintainership Signed-off-by: Fernando Rodrigues --- pkgs/by-name/an/anubis/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/an/anubis/package.nix b/pkgs/by-name/an/anubis/package.nix index faf678b6df56..2c949ea1f4ae 100644 --- a/pkgs/by-name/an/anubis/package.nix +++ b/pkgs/by-name/an/anubis/package.nix @@ -90,7 +90,6 @@ buildGoModule (finalAttrs: { knightpp soopyc ryand56 - sigmasquadron defelo ]; mainProgram = "anubis"; From 8b29e8b3dd649145d9aabcfd182e7277f39485a5 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Fri, 23 Jan 2026 00:43:20 +1100 Subject: [PATCH 0989/1216] fosrl-*: drop maintainership Signed-off-by: Fernando Rodrigues --- pkgs/by-name/fo/fosrl-gerbil/package.nix | 1 - pkgs/by-name/fo/fosrl-newt/package.nix | 1 - pkgs/by-name/fo/fosrl-olm/package.nix | 1 - pkgs/by-name/fo/fosrl-pangolin/package.nix | 1 - 4 files changed, 4 deletions(-) diff --git a/pkgs/by-name/fo/fosrl-gerbil/package.nix b/pkgs/by-name/fo/fosrl-gerbil/package.nix index b3f3ff83116a..62a712ff9297 100644 --- a/pkgs/by-name/fo/fosrl-gerbil/package.nix +++ b/pkgs/by-name/fo/fosrl-gerbil/package.nix @@ -32,7 +32,6 @@ buildGoModule rec { license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ jackr - sigmasquadron water-sucks ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/fo/fosrl-newt/package.nix b/pkgs/by-name/fo/fosrl-newt/package.nix index 2748f03d30dc..2204da49223e 100644 --- a/pkgs/by-name/fo/fosrl-newt/package.nix +++ b/pkgs/by-name/fo/fosrl-newt/package.nix @@ -41,7 +41,6 @@ buildGoModule rec { maintainers = with lib.maintainers; [ fab jackr - sigmasquadron water-sucks ]; mainProgram = "newt"; diff --git a/pkgs/by-name/fo/fosrl-olm/package.nix b/pkgs/by-name/fo/fosrl-olm/package.nix index 3a11a41dbeb0..ea0a438c2361 100644 --- a/pkgs/by-name/fo/fosrl-olm/package.nix +++ b/pkgs/by-name/fo/fosrl-olm/package.nix @@ -31,7 +31,6 @@ buildGoModule rec { license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ jackr - sigmasquadron water-sucks ]; mainProgram = "olm"; diff --git a/pkgs/by-name/fo/fosrl-pangolin/package.nix b/pkgs/by-name/fo/fosrl-pangolin/package.nix index 0d9a1aaad83a..391a61d1b62c 100644 --- a/pkgs/by-name/fo/fosrl-pangolin/package.nix +++ b/pkgs/by-name/fo/fosrl-pangolin/package.nix @@ -167,7 +167,6 @@ buildNpmPackage (finalAttrs: { license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ jackr - sigmasquadron water-sucks ]; platforms = lib.platforms.linux; From b69687e615166319ce10ca1a24d249dfad618b29 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Fri, 23 Jan 2026 00:43:50 +1100 Subject: [PATCH 0990/1216] nixos/pangolin: drop maintainership Signed-off-by: Fernando Rodrigues --- nixos/modules/services/networking/pangolin.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/networking/pangolin.nix b/nixos/modules/services/networking/pangolin.nix index 8f5b78ec7e11..302867adee3d 100644 --- a/nixos/modules/services/networking/pangolin.nix +++ b/nixos/modules/services/networking/pangolin.nix @@ -554,7 +554,6 @@ in meta.maintainers = with lib.maintainers; [ jackr - sigmasquadron water-sucks ]; } From cf94d93a67243b7df92b9cafc8d5099c962d11b1 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Fri, 23 Jan 2026 00:48:37 +1100 Subject: [PATCH 0991/1216] btop: join maintainership Signed-off-by: Fernando Rodrigues --- pkgs/by-name/bt/btop/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/bt/btop/package.nix b/pkgs/by-name/bt/btop/package.nix index e781eb4038e2..e4176c314d0e 100644 --- a/pkgs/by-name/bt/btop/package.nix +++ b/pkgs/by-name/bt/btop/package.nix @@ -67,6 +67,7 @@ stdenv.mkDerivation (finalAttrs: { khaneliman rmcgibbo ryan4yin + sigmasquadron ]; mainProgram = "btop"; }; From 411d14295d280ec2aa5ea938139384ba3dd5c3e6 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Fri, 23 Jan 2026 00:50:01 +1100 Subject: [PATCH 0992/1216] starsector: join maintainership Signed-off-by: Fernando Rodrigues --- pkgs/by-name/st/starsector/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/st/starsector/package.nix b/pkgs/by-name/st/starsector/package.nix index 9a48fdd40c80..9c4cec38b960 100644 --- a/pkgs/by-name/st/starsector/package.nix +++ b/pkgs/by-name/st/starsector/package.nix @@ -106,6 +106,7 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ bbigras rafaelrc + sigmasquadron ]; }; } From c2e94fb472633dc95c2a5ead901100f7a51e0278 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 22 Jan 2026 16:12:38 +0200 Subject: [PATCH 0993/1216] btrfs-progs: split dev, man & lib outputs --- pkgs/by-name/bt/btrfs-progs/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/bt/btrfs-progs/package.nix b/pkgs/by-name/bt/btrfs-progs/package.nix index f521f193042a..dd7562919915 100644 --- a/pkgs/by-name/bt/btrfs-progs/package.nix +++ b/pkgs/by-name/bt/btrfs-progs/package.nix @@ -79,6 +79,13 @@ stdenv.mkDerivation rec { makeFlags = [ "udevruledir=$(out)/lib/udev/rules.d" ]; + outputs = [ + "out" + "dev" + "man" + "lib" + ]; + enableParallelBuilding = true; doInstallCheck = true; From 3b92483bfa1aa4c7c3c43c4954c4ad33414d31d7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:15:04 +0000 Subject: [PATCH 0994/1216] ferron: 2.3.2 -> 2.4.1 --- pkgs/by-name/fe/ferron/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fe/ferron/package.nix b/pkgs/by-name/fe/ferron/package.nix index 4e383d6b7e8c..a17814444551 100644 --- a/pkgs/by-name/fe/ferron/package.nix +++ b/pkgs/by-name/fe/ferron/package.nix @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ferron"; - version = "2.3.2"; + version = "2.4.1"; src = fetchFromGitHub { owner = "ferronweb"; repo = "ferron"; tag = finalAttrs.version; - hash = "sha256-va9OUI2jQiJ3K/Cq3Wrh7RmMST3dBJLB5REcqp7WRP0="; + hash = "sha256-darDJYPh0x1o1NHeXK2gyp48Zppbs2ovTXN/xX71eag="; }; # ../../ is cargoDepsCopy, and obviously does not contain monoio's README.md @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '#![doc = include_str!("../../README.md")]' "" ''; - cargoHash = "sha256-cOkZ8WVcgfIrwEBAGN/U3qp9VZl5S78Bmrpe4nxn994="; + cargoHash = "sha256-YJ4Ur/4IUiupVE2gZyn0IAYwpIppVKB0hWtmc5Ue7jQ="; nativeBuildInputs = [ pkg-config From 8421d098cbaf4b8a97dd14fc1275abfce06f4603 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:19:27 +0000 Subject: [PATCH 0995/1216] go-jet: 2.14.0 -> 2.14.1 --- pkgs/by-name/go/go-jet/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/go-jet/package.nix b/pkgs/by-name/go/go-jet/package.nix index 4eb87a75a35a..599295fb4eea 100644 --- a/pkgs/by-name/go/go-jet/package.nix +++ b/pkgs/by-name/go/go-jet/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "go-jet"; - version = "2.14.0"; + version = "2.14.1"; src = fetchFromGitHub { owner = pname; repo = "jet"; rev = "v${version}"; - sha256 = "sha256-6cFkLnZGSAlwvsewxXaKeNoeDaILqLo02vkzqjruhxU="; + sha256 = "sha256-BwhatFakmd2ksLQv7OLwvkuDHqnZI4HRnldfyJhR+i8="; }; vendorHash = "sha256-fgYZULAz3orhK637cJNYK7bw9hsQ9PuLH1nMDLVwoGM="; From 329f3e7059886fe3200f38713b2b08246adb06d4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:26:04 +0000 Subject: [PATCH 0996/1216] vscode-extensions.firsttris.vscode-jest-runner: 0.4.86 -> 0.4.98 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 3131b5e1f649..5a29ad088b9f 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1711,8 +1711,8 @@ let mktplcRef = { name = "vscode-jest-runner"; publisher = "firsttris"; - version = "0.4.86"; - hash = "sha256-QLa8+WAghGJlToGCx7/R68D0GRgCbA0jkEtlA5EnEGA="; + version = "0.4.98"; + hash = "sha256-UhPkiUIIIf58D9hO4mFZba+IO4uJZkP18BH6PTVVfHk="; }; meta = { description = "Simple way to run or debug a single (or multiple) tests from context-menu"; From f9dbf575ad93a290aa7e57c7a3640211a5166073 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 15:26:13 +0100 Subject: [PATCH 0997/1216] python313Packages.apprise: update homepage --- pkgs/development/python-modules/apprise/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix index ff355afdcf64..92de3b4620c8 100644 --- a/pkgs/development/python-modules/apprise/default.nix +++ b/pkgs/development/python-modules/apprise/default.nix @@ -74,7 +74,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Push Notifications that work with just about every platform"; - homepage = "https://github.com/caronc/apprise"; + homepage = "https://appriseit.com/"; changelog = "https://github.com/caronc/apprise/releases/tag/v${finalAttrs.version}"; license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ getchoo ]; From a71e00732d157090f62e728abfc2800e7fbf6d8a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:30:33 +0000 Subject: [PATCH 0998/1216] vscode-extensions.google.colab: 0.1.6 -> 0.1.7 --- .../editors/vscode/extensions/google.colab/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/google.colab/default.nix b/pkgs/applications/editors/vscode/extensions/google.colab/default.nix index de2b1ed5f41e..e49838ccbeba 100644 --- a/pkgs/applications/editors/vscode/extensions/google.colab/default.nix +++ b/pkgs/applications/editors/vscode/extensions/google.colab/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "google"; name = "colab"; - version = "0.1.6"; - hash = "sha256-2WJLXQfsdjor4YThjxvUZejBRjxEEe6fVCMba9grqIQ="; + version = "0.1.7"; + hash = "sha256-wAvmXccgIEfw9Q84F/ozJwvzo26OvehdrTy3DqKu5e8="; }; meta = { From 84629d13e0a2bef45993e0b37d2de3df93b39e68 Mon Sep 17 00:00:00 2001 From: Allemand Instable <68656923+code-instable@users.noreply.github.com> Date: Thu, 22 Jan 2026 15:41:10 +0100 Subject: [PATCH 0999/1216] typstPackages: sync with Typst Universe as of 2026-01-22 Updates typstPackages to match the Typst Universe as of 2026-01-22, at commit 06998f03971f4299b75c28d0a56303595732eee5. It was regenerated with maintainers/scripts/update-typst-packages.py. - Typst Packages Data source: typst/packages@06998f0. - Nixpkgs Upstream reference: NixOS/nixpkgs@a36b8c6 --- .../typst/typst-packages-from-universe.toml | 2547 +++++++++++++++++ 1 file changed, 2547 insertions(+) diff --git a/pkgs/by-name/ty/typst/typst-packages-from-universe.toml b/pkgs/by-name/ty/typst/typst-packages-from-universe.toml index f9daabe8b788..579635e87f8f 100644 --- a/pkgs/by-name/ty/typst/typst-packages-from-universe.toml +++ b/pkgs/by-name/ty/typst/typst-packages-from-universe.toml @@ -250,6 +250,16 @@ license = [ ] homepage = "https://github.com/eltos/accelerated-jacow/" +[acorn-resume."0.1.0"] +url = "https://packages.typst.org/preview/acorn-resume-0.1.0.tar.gz" +hash = "sha256-8Yp5+3nlFshLMwTZ0AMx7C+VnTha6uIbsLNuqZHIdh4=" +typstDeps = [] +description = "A clean, minimal resume template with flexible, customizable sections" +license = [ + "MIT", +] +homepage = "https://github.com/Ruchita1010/acorn-resume" + [acrostiche."0.7.0"] url = "https://packages.typst.org/preview/acrostiche-0.7.0.tar.gz" hash = "sha256-YQ6KGNc/v75uMJhG4y2ioV95tuuVG4CgUNtUaTEqPIQ=" @@ -494,6 +504,16 @@ license = [ ] homepage = "https://github.com/tristanduncombe/aero-navigator" +[agregyst."1.0.0"] +url = "https://packages.typst.org/preview/agregyst-1.0.0.tar.gz" +hash = "sha256-d6j8erbKAk1MBJBiYr2yodfWca9EAcfBN2h0UdaKA2s=" +typstDeps = [] +description = "Two-column agrégation lesson with summary at the end" +license = [ + "MIT", +] +homepage = "https://github.com/pauladam94/agregyst" + [agregyst."0.1.0"] url = "https://packages.typst.org/preview/agregyst-0.1.0.tar.gz" hash = "sha256-ejVmOx40ozuzVXhUf6nvnHm6Gg0be+RYT1uuMx7dNk0=" @@ -686,6 +706,16 @@ license = [ ] homepage = "https://github.com/Robotechnic/alchemist" +[alexandria."0.2.2"] +url = "https://packages.typst.org/preview/alexandria-0.2.2.tar.gz" +hash = "sha256-clsmCK//tcdWUeEOqQl+yyDdRONN6JWF23ZaUeOg5IM=" +typstDeps = [] +description = "Use multiple bibliographies in a single Typst document " +license = [ + "MIT", +] +homepage = "https://github.com/SillyFreak/typst-alexandria" + [alexandria."0.2.1"] url = "https://packages.typst.org/preview/alexandria-0.2.1.tar.gz" hash = "sha256-bK+GyrEE0VXiKARCEy2oFEMkp6TTfQhQ+scM5i7+a8A=" @@ -959,6 +989,16 @@ license = [ "MPL-2.0", ] +[ampelmark."0.1.2"] +url = "https://packages.typst.org/preview/ampelmark-0.1.2.tar.gz" +hash = "sha256-sGRU05hVOsouMyz5w5GxWcWgb+JfpMxTOqZcAALyIfE=" +typstDeps = [] +description = "Create Traffic Light Protocol (TLP) markings (v2.0" +license = [ + "MIT", +] +homepage = "https://github.com/teismar/typst-ampelmark" + [amsterdammetje-article."0.1.1"] url = "https://packages.typst.org/preview/amsterdammetje-article-0.1.1.tar.gz" hash = "sha256-q+shUXY1t9GuJOd6UaDWgqN4eDEQUZgVfpwixTWKxlg=" @@ -1241,6 +1281,18 @@ license = [ ] homepage = "https://github.com/mrwunderbar666/typst-apa7ish" +[ape."0.4.3"] +url = "https://packages.typst.org/preview/ape-0.4.3.tar.gz" +hash = "sha256-sDv/w4jA2DkFDR912c+8Kc/Zd80nKE5JJiVRfsJBiyY=" +typstDeps = [ + "cetz_0_3_2", + "cetz-plot_0_1_1", +] +description = "Stop monkeying around with your layouts! Get sophisticated with Ape for Typst" +license = [ + "MIT", +] + [ape."0.4.2"] url = "https://packages.typst.org/preview/ape-0.4.2.tar.gz" hash = "sha256-sYXxxZStirvbGrkGtF7QalmHsU1O1sioudRi2ZlhxDY=" @@ -1453,6 +1505,16 @@ license = [ ] homepage = "https://github.com/Coders-Compass/articulate-coderscompass" +[ascii-ipa."2.1.0"] +url = "https://packages.typst.org/preview/ascii-ipa-2.1.0.tar.gz" +hash = "sha256-ilmjuzDaas9+ZrVil76moJ+NMFChwO0tB/fPRcMIDtE=" +typstDeps = [] +description = "Converter for ASCII representations of the International Phonetic Alphabet (IPA" +license = [ + "MIT", +] +homepage = "https://github.com/imatpot/typst-ascii-ipa" + [ascii-ipa."2.0.0"] url = "https://packages.typst.org/preview/ascii-ipa-2.0.0.tar.gz" hash = "sha256-E/ookDGdRJh0Ac29xnNV+AJVALUW/uM7MyztcFJlKdg=" @@ -1628,6 +1690,42 @@ license = [ ] homepage = "https://github.com/euwbah/typst-packages/tree/auto-div" +[auto-jrubby."0.3.3"] +url = "https://packages.typst.org/preview/auto-jrubby-0.3.3.tar.gz" +hash = "sha256-mlOAc+wPdeQsHojCG02q3tfB/JKNFGlLTnWFSF004rs=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic Ruby Generation" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/rice8y/auto-jrubby" + +[auto-jrubby."0.3.2"] +url = "https://packages.typst.org/preview/auto-jrubby-0.3.2.tar.gz" +hash = "sha256-xDMXWtMsU8a6dfAaMATClc4Ja/YYkQ8uhS1NaNNcXkk=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic Ruby Generation" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/rice8y/auto-jrubby" + +[auto-jrubby."0.3.1"] +url = "https://packages.typst.org/preview/auto-jrubby-0.3.1.tar.gz" +hash = "sha256-wIsn3Ooau9NRkGgbM6MdPIPMiblLlCMPHgvh/heLsJQ=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic Ruby Generation" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/rice8y/auto-jrubby" + [auto-jrubby."0.3.0"] url = "https://packages.typst.org/preview/auto-jrubby-0.3.0.tar.gz" hash = "sha256-x4IWisLNoooIrSiBXj2OkPATwrgsY3GQIRybvpa4L1w=" @@ -1692,6 +1790,18 @@ license = [ ] homepage = "https://github.com/3akev/autofletcher" +[axiomst."0.2.0"] +url = "https://packages.typst.org/preview/axiomst-0.2.0.tar.gz" +hash = "sha256-ybl0v51WBzb5BZTq0F8FQX/as8Q+ET0bcInejK/OpqM=" +typstDeps = [ + "showybox_2_0_4", +] +description = "Academic homework and presentation slides template" +license = [ + "MIT", +] +homepage = "https://github.com/rezaarezvan/axiomst" + [babble-bubbles."0.1.0"] url = "https://packages.typst.org/preview/babble-bubbles-0.1.0.tar.gz" hash = "sha256-orOm67ydNPmIangnUNiiHiPU6Y5ivQ4KEmCWkFdwdw0=" @@ -1847,6 +1957,18 @@ license = [ ] homepage = "https://github.com/avonmoll/bamdone-rebuttal" +[bananote."0.1.1"] +url = "https://packages.typst.org/preview/bananote-0.1.1.tar.gz" +hash = "sha256-CPSpHjKFiZQ2COV/AVrwpuFU7ZXGemgHDwYdX3ZI1PU=" +typstDeps = [ + "pergamon_0_6_0", +] +description = "Nice template for research notes with splashes of yellow" +license = [ + "MIT", +] +homepage = "https://github.com/coli-saar/bananote" + [bananote."0.1.0"] url = "https://packages.typst.org/preview/bananote-0.1.0.tar.gz" hash = "sha256-8ktfRrHFLJVJNCRFhEWkJ4duxJIpmI4/huo+LSu/R8Q=" @@ -2068,6 +2190,18 @@ license = [ ] homepage = "https://github.com/polylux-typ/basic" +[basic-report."0.4.0"] +url = "https://packages.typst.org/preview/basic-report-0.4.0.tar.gz" +hash = "sha256-t37OUsuPiQNpr0u9C59j5ptUy7Q5yp6ClOB5Hnnxqlc=" +typstDeps = [ + "hydra_0_6_2", +] +description = "A simple template for reports" +license = [ + "MIT", +] +homepage = "https://github.com/roland-KA/basic-report-typst-template" + [basic-report."0.3.1"] url = "https://packages.typst.org/preview/basic-report-0.3.1.tar.gz" hash = "sha256-HXEA2FpnVTicdOSkCggH2i0JLx5ENxQCSaUhcCzEncs=" @@ -2276,6 +2410,18 @@ license = [ ] homepage = "https://github.com/stuxf/basic-typst-resume-template" +[beam."0.1.0"] +url = "https://packages.typst.org/preview/beam-0.1.0.tar.gz" +hash = "sha256-ny6DDQNq444lIxhiU2J0G2oC7aZ3BC18wUgRXSpjxo8=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A package to draw optical setups with CeTZ" +license = [ + "LGPL-3.0-or-later", +] +homepage = "https://github.com/bendix4620/beam" + [bean-upm."0.1.0"] url = "https://packages.typst.org/preview/bean-upm-0.1.0.tar.gz" hash = "sha256-WOhY8YuDqZELAz4+WDN6Ojltt7igcGYL9zw6mVdnc10=" @@ -2378,6 +2524,20 @@ license = [ "Unlicense", ] +[biz-report."0.3.1"] +url = "https://packages.typst.org/preview/biz-report-0.3.1.tar.gz" +hash = "sha256-67JoOqOlWPdyGYiRsVT+1o22vbRiU46ytcns0E0yp04=" +typstDeps = [ + "droplet_0_3_1", + "fontawesome_0_6_0", + "wrap-it_0_1_1", +] +description = "Multi-chapter business report with table styling and optional dropcaps, infoboxes & author cutout" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/garethwebber/business-report" + [biz-report."0.3.0"] url = "https://packages.typst.org/preview/biz-report-0.3.0.tar.gz" hash = "sha256-cqv1x75T/VFUVv1wkBVCqQHRiHTJ62jmkMjotByYPV4=" @@ -2511,6 +2671,28 @@ license = [ ] homepage = "https://github.com/daskol/typst-templates" +[board-n-pieces."0.9.0"] +url = "https://packages.typst.org/preview/board-n-pieces-0.9.0.tar.gz" +hash = "sha256-al0YD3QVzCTSLoDpNPKeRNhNIMzkKigDtenEuMKZVwQ=" +typstDeps = [] +description = "Display chessboards" +license = [ + "MIT", + "GPL-2.0-only", +] +homepage = "https://github.com/MDLC01/board-n-pieces" + +[board-n-pieces."0.8.0"] +url = "https://packages.typst.org/preview/board-n-pieces-0.8.0.tar.gz" +hash = "sha256-HElewvVJSvFPrJD0rE9lkaRn8yJrdVSucqA/X9C6O/w=" +typstDeps = [] +description = "Display chessboards" +license = [ + "MIT", + "GPL-2.0-only", +] +homepage = "https://github.com/MDLC01/board-n-pieces" + [board-n-pieces."0.7.0"] url = "https://packages.typst.org/preview/board-n-pieces-0.7.0.tar.gz" hash = "sha256-7ji0N0Kp4MA/DLs26rGfEgNfZZQsQ+YjUmr8EgrQW3g=" @@ -2686,6 +2868,23 @@ license = [ "Apache-2.0", ] +[bookly."1.1.2"] +url = "https://packages.typst.org/preview/bookly-1.1.2.tar.gz" +hash = "sha256-RuU39gQB5p2TN3qK3THCRUfHAnigdxiCD+wRQ7ob5JU=" +typstDeps = [ + "drafting_0_2_2", + "equate_0_3_2", + "hydra_0_6_2", + "showybox_2_0_4", + "suboutline_0_3_0", + "subpar_0_2_2", +] +description = "Book template for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/book_template" + [bookly."1.1.1"] url = "https://packages.typst.org/preview/bookly-1.1.1.tar.gz" hash = "sha256-aNpYcc7iO+FEA6NKhDWpYqhSZFQ50dZy5ukbEZHpgFM=" @@ -2793,6 +2992,16 @@ license = [ ] homepage = "https://github.com/bzindovic/typst-packages" +[boxed-sheet."0.1.2"] +url = "https://packages.typst.org/preview/boxed-sheet-0.1.2.tar.gz" +hash = "sha256-xeb2CQ+zupfQ/rKYwjDuyczBucBibGaoo6dypoRI7ek=" +typstDeps = [] +description = "An automatically colored and well organised cheatsheet template for writing daily notes with colored bounding box and line titles" +license = [ + "MIT", +] +homepage = "https://github.com/LZHMS/boxed-sheet.git" + [boxed-sheet."0.1.1"] url = "https://packages.typst.org/preview/boxed-sheet-0.1.1.tar.gz" hash = "sha256-hWj8eSxZy+EvDFKUJuWvme9Js0D8ikXOWmw/PhxgcyI=" @@ -2813,6 +3022,16 @@ license = [ ] homepage = "https://github.com/LZHMS/CheatSheet.git" +[boxproof."0.1.0"] +url = "https://packages.typst.org/preview/boxproof-0.1.0.tar.gz" +hash = "sha256-eoZpcBNywFLtE4LDPtVz3cHdm0XHNVvaLd0FyZdgocs=" +typstDeps = [] +description = "Create boxed proofs for natural deduction" +license = [ + "MIT", +] +homepage = "https://github.com/xiaoshihou514/boxproof-typst" + [boxr."0.1.0"] url = "https://packages.typst.org/preview/boxr-0.1.0.tar.gz" hash = "sha256-7/BI8so0a2VnjP99d7FR9SiMKN2MXrcH8gPX8UvV6Gg=" @@ -2833,6 +3052,16 @@ license = [ ] homepage = "https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z3bYXx6FurPtAURke7sUV8ktrtFNt" +[briefs."0.2.0"] +url = "https://packages.typst.org/preview/briefs-0.2.0.tar.gz" +hash = "sha256-HjWI3xDSscORV+M81lWVk2HrxjMShFRdle7wCK45Y78=" +typstDeps = [] +description = "A simple Typst template for letters" +license = [ + "MIT", +] +homepage = "https://github.com/tndrle/briefs" + [briefs."0.1.0"] url = "https://packages.typst.org/preview/briefs-0.1.0.tar.gz" hash = "sha256-tPO3dxvDOWccaXLbwGr2rtVKMU5q8c00obGSiiAmG9A=" @@ -3051,6 +3280,16 @@ license = [ "MIT", ] +[butterick-resume."0.1.0"] +url = "https://packages.typst.org/preview/butterick-resume-0.1.0.tar.gz" +hash = "sha256-kVkA/v1r92saq8j7PRktybi0fzfMSzC2s3ATtdcrOSc=" +typstDeps = [] +description = "Résumé template based on Matthew Butterick's guide" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/jassielof/typst-templates" + [bye-ubc."0.2.3"] url = "https://packages.typst.org/preview/bye-ubc-0.2.3.tar.gz" hash = "sha256-tFqwzWsS69SWdP9j5rnpB1fCIgzhoBh1FpPPrkNbkm4=" @@ -3280,6 +3519,18 @@ license = [ ] homepage = "https://github.com/knuesel/callisto" +[calmly-touying."0.1.0"] +url = "https://packages.typst.org/preview/calmly-touying-0.1.0.tar.gz" +hash = "sha256-Sb4Luq4dgsBGas3Na6y0DbbDdT+20eUxOSnSzIpXFok=" +typstDeps = [ + "touying_0_6_1", +] +description = "A calm, modern presentation theme for Touying with Moloch-inspired design" +license = [ + "MIT", +] +homepage = "https://github.com/YHan228/calmly-touying" + [canonical-nthu-thesis."0.2.0"] url = "https://packages.typst.org/preview/canonical-nthu-thesis-0.2.0.tar.gz" hash = "sha256-W58iv2XIWSUmMSjNzrW8fV0ZwDvaGZ4StHM3kEmMUW4=" @@ -3932,6 +4183,16 @@ license = [ ] homepage = "https://github.com/csimide/SEU-Typst-Template" +[chef-cookbook."0.1.0"] +url = "https://packages.typst.org/preview/chef-cookbook-0.1.0.tar.gz" +hash = "sha256-nhxWDJZWq3FmrKXaR2KJhHhtZzK7Zy8+pXz5d5n15wQ=" +typstDeps = [] +description = "Create simple recipe collections and cookbooks" +license = [ + "MIT", +] +homepage = "https://github.com/Paulmue0/chef-cookbook" + [chem-par."0.0.1"] url = "https://packages.typst.org/preview/chem-par-0.0.1.tar.gz" hash = "sha256-wcoZAnaDvGbhPjXFd/8kHVbHwWvMPv/YFjwc8Y7fpXI=" @@ -4109,6 +4370,16 @@ license = [ ] homepage = "https://github.com/skyzh/chicv" +[chomp."0.1.0"] +url = "https://packages.typst.org/preview/chomp-0.1.0.tar.gz" +hash = "sha256-wNy3ZZV0+ho1T8yyrL5BM/9NFIoJDioMWowz+73fUWk=" +typstDeps = [] +description = "Dynamically and efficiently truncate a string to make content fit constraints" +license = [ + "MIT", +] +homepage = "https://github.com/JeppeKlitgaard/chomp" + [chordish."0.2.0"] url = "https://packages.typst.org/preview/chordish-0.2.0.tar.gz" hash = "sha256-s9uPjFDe86t68jLqTD6eXvzjmq3mAPDDkCosxVF1TPs=" @@ -4205,6 +4476,19 @@ license = [ ] homepage = "https://github.com/ljgago/typst-chords" +[chribel."1.1.1"] +url = "https://packages.typst.org/preview/chribel-1.1.1.tar.gz" +hash = "sha256-qMLveDMjyiLG1/lJ3vR+N4sdfcSCDx20hxKqAPPxJts=" +typstDeps = [ + "chribel_1_0_0", + "tableau-icons_0_334_1", +] +description = "A compact summary template with custom callouts" +license = [ + "EUPL-1.2", +] +homepage = "https://codeberg.org/joelvonrotz/typst-chribel-template" + [chribel."1.1.0"] url = "https://packages.typst.org/preview/chribel-1.1.0.tar.gz" hash = "sha256-w/DXHuHtAZJTRcGuYbHSE9ABXdALsWW3tCbURTjMVVw=" @@ -4381,6 +4665,16 @@ license = [ ] homepage = "https://git.kb28.ch/HEL/circuiteria" +[citegeist."0.2.1"] +url = "https://packages.typst.org/preview/citegeist-0.2.1.tar.gz" +hash = "sha256-xAx29cFRZ3vfLrJaBhWgz96n8Z18h0uOzhsLjvHdr6s=" +typstDeps = [] +description = "Makes a Bibtex bibliography available as a Typst dictionary" +license = [ + "MIT", +] +homepage = "https://github.com/alexanderkoller/typst-citegeist" + [citegeist."0.2.0"] url = "https://packages.typst.org/preview/citegeist-0.2.0.tar.gz" hash = "sha256-4bvuLxM+h82wS/VroIksuwtC36nW2PRqvp23l7ny1uI=" @@ -4401,6 +4695,19 @@ license = [ ] homepage = "https://github.com/alexanderkoller/typst-citegeist" +[cjk-spacer."0.2.0"] +url = "https://packages.typst.org/preview/cjk-spacer-0.2.0.tar.gz" +hash = "sha256-6vZi4AOIBDBg/MtB4zlD8RtqMLR4HjEk4iicXPRhFtU=" +typstDeps = [ + "cjk-unbreak_0_2_1", + "codly_1_3_0", +] +description = "Improves spacing between characters when typesetting Japanese (CJK characters" +license = [ + "MIT", +] +homepage = "https://github.com/ryuryu-ymj/cjk-spacer" + [cjk-spacer."0.1.0"] url = "https://packages.typst.org/preview/cjk-spacer-0.1.0.tar.gz" hash = "sha256-0xr5kO5MgM+U/jlBtJL7aJFqvyDIj0CSxBN7tEP6hKY=" @@ -4414,6 +4721,18 @@ license = [ ] homepage = "https://github.com/ryuryu-ymj/cjk-spacer" +[cjk-unbreak."0.2.2"] +url = "https://packages.typst.org/preview/cjk-unbreak-0.2.2.tar.gz" +hash = "sha256-jL1o/hO1VWhbAsj6u3PcHmXooshYWRCy7w33HMqHjn4=" +typstDeps = [ + "touying_0_6_1", +] +description = "Remove spaces caused by line breaks around CJK" +license = [ + "MIT", +] +homepage = "https://github.com/KZNS/cjk-unbreak" + [cjk-unbreak."0.2.1"] url = "https://packages.typst.org/preview/cjk-unbreak-0.2.1.tar.gz" hash = "sha256-f20yye3QpWzyGCvruICJcLsKHjYwMAG2ruHWSD6hNLU=" @@ -4575,6 +4894,29 @@ license = [ ] homepage = "https://github.com/tibirius24/classic-tud-math-thesis" +[classicthesis."0.1.0"] +url = "https://packages.typst.org/preview/classicthesis-0.1.0.tar.gz" +hash = "sha256-vwH5aDnDDNlki6Sb2OISLRHYMJ7esRudfLB6WPwDJhA=" +typstDeps = [] +description = "Thesis inspired by André Miede's ClassicThesis style" +license = [ + "MIT", +] +homepage = "https://github.com/adwiteeymauriya/classicthesis-typst" + +[classy-german-invoice."0.3.2"] +url = "https://packages.typst.org/preview/classy-german-invoice-0.3.2.tar.gz" +hash = "sha256-bB+X+aQJNDjq8NZMPTZ7kedQzz2rr9LoBaKdAPoeElM=" +typstDeps = [ + "cades_0_3_1", + "ibanator_0_1_0", +] +description = "Minimalistic invoice for germany based freelancers" +license = [ + "MIT-0", +] +homepage = "https://github.com/erictapen/typst-invoice" + [classy-german-invoice."0.3.1"] url = "https://packages.typst.org/preview/classy-german-invoice-0.3.1.tar.gz" hash = "sha256-y7DUXmWHEjlRK3YxECtgaGGVidaA88piuLNDcJg96Mo=" @@ -4662,6 +5004,38 @@ license = [ ] homepage = "https://github.com/matisiekpl/agh-typst" +[clean-cnam-template."1.5.0"] +url = "https://packages.typst.org/preview/clean-cnam-template-1.5.0.tar.gz" +hash = "sha256-fpReR0Q6bgtLtbGec8Tq6YNeoJH83kkS49BLT6oKV2U=" +typstDeps = [ + "great-theorems_0_1_2", + "headcount_0_1_0", + "hydra_0_6_2", + "i-figured_0_2_4", + "linguify_0_4_2", +] +description = "A modular and organized template for creating professional documents using CNAM branding and styling" +license = [ + "MIT", +] +homepage = "https://github.com/TomPlanche/clean-cnam-template" + +[clean-cnam-template."1.4.0"] +url = "https://packages.typst.org/preview/clean-cnam-template-1.4.0.tar.gz" +hash = "sha256-ynkv1jszFwCVWhD1c/SghM71/tWReLpduiuPYUaLEMo=" +typstDeps = [ + "great-theorems_0_1_2", + "headcount_0_1_0", + "hydra_0_6_2", + "i-figured_0_2_4", + "linguify_0_4_2", +] +description = "A modular and organized template for creating professional documents using CNAM branding and styling" +license = [ + "MIT", +] +homepage = "https://github.com/TomPlanche/clean-cnam-template" + [clean-cnam-template."1.3.0"] url = "https://packages.typst.org/preview/clean-cnam-template-1.3.0.tar.gz" hash = "sha256-hhA+yv0R+EjrFO4gd7TYBE4vQlYpx4jZDCZ5b1piHsg=" @@ -5113,6 +5487,20 @@ license = [ ] homepage = "https://github.com/sebaseb98/clean-math-thesis" +[clean-othaw."0.3.3"] +url = "https://packages.typst.org/preview/clean-othaw-0.3.3.tar.gz" +hash = "sha256-jMXlZ+EAURo5bKFzxQMRRjoNoWSpH6dTxZLaOKhj9jQ=" +typstDeps = [ + "codelst_2_0_2", + "glossarium_0_5_10", + "hydra_0_6_2", +] +description = "A typst template for OTH Amberg-Weiden" +license = [ + "MIT", +] +homepage = "https://codeberg.org/ruebe5w/clean-othaw" + [clean-othaw."0.3.2"] url = "https://packages.typst.org/preview/clean-othaw-0.3.2.tar.gz" hash = "sha256-I1RlEI7D64UmbbhSXo0vvGksdprT/BTuOwJ77Pz43c0=" @@ -5139,6 +5527,18 @@ license = [ ] homepage = "https://github.com/pvelayudhan/clean-uoft-thesis" +[cleanified-hpi-research-proposal."0.2.0"] +url = "https://packages.typst.org/preview/cleanified-hpi-research-proposal-0.2.0.tar.gz" +hash = "sha256-F/DrtCtiQS756pZOTT3BeiywO3vkrapgMk8Q4bA2ywc=" +typstDeps = [ + "biceps_0_0_1", +] +description = "Clean-Asthetic HPI Research Proposal" +license = [ + "MIT", +] +homepage = "https://gitlab.hpi.de/robert.richter/typst-research-proposal-template/" + [cleanified-hpi-research-proposal."0.1.0"] url = "https://packages.typst.org/preview/cleanified-hpi-research-proposal-0.1.0.tar.gz" hash = "sha256-/n21OXWns8xee8gscLjsmZhshKZFuflY0XA+FgF+IPs=" @@ -5679,6 +6079,26 @@ license = [ ] homepage = "https://github.com/swaits/typst-collection" +[cogsci-conference."0.1.3"] +url = "https://packages.typst.org/preview/cogsci-conference-0.1.3.tar.gz" +hash = "sha256-RkoFkYw7UC7creLcDHXTsothre4ibhFLJX63vyTg53g=" +typstDeps = [] +description = "CogSci template for submissions to the Annual Conference of the Cognitive Science Society" +license = [ + "MIT", +] +homepage = "https://github.com/daeh/cogsci-typst-template" + +[cogsci-conference."0.1.2"] +url = "https://packages.typst.org/preview/cogsci-conference-0.1.2.tar.gz" +hash = "sha256-zwV4DLGD1MEnP4WjAy11GEMfnE37cQij7SJ7ZK6sG8g=" +typstDeps = [] +description = "CogSci template for submissions to the Annual Conference of the Cognitive Science Society" +license = [ + "MIT", +] +homepage = "https://github.com/daeh/cogsci-typst-template" + [cogsci-conference."0.1.1"] url = "https://packages.typst.org/preview/cogsci-conference-0.1.1.tar.gz" hash = "sha256-8CplOeNbzzPsFsFIvGlnu8fZp8UTvjpuCHpbx4L0EAY=" @@ -5973,6 +6393,16 @@ license = [ ] homepage = "https://github.com/ivaquero/typst-consketcher" +[coordy."0.1.0"] +url = "https://packages.typst.org/preview/coordy-0.1.0.tar.gz" +hash = "sha256-t0IDYptiuwA9SjvsOTJ//qIvC+rPZ5RbnLWWgg385+Y=" +typstDeps = [] +description = "Coordy displays a visual marker that you can move by typing ZQSD commands" +license = [ + "MIT", +] +homepage = "https://github.com/E-Paroxysme/Typst_Visual" + [covered-cs-thesis."0.1.5"] url = "https://packages.typst.org/preview/covered-cs-thesis-0.1.5.tar.gz" hash = "sha256-mNP3IN8ygS4lXfjUAArC40zztzaZQyHGfj4KcQkrBD8=" @@ -6837,6 +7267,16 @@ license = [ "MIT-0", ] +[debug-city."0.0.2"] +url = "https://packages.typst.org/preview/debug-city-0.0.2.tar.gz" +hash = "sha256-dqeJJ0KpYEgFIN1eJAwB/Z8UXxR4QcJOrl6tcOd5fj4=" +typstDeps = [] +description = "Debug bibliography entries by showing what CSL receives" +license = [ + "MIT", +] +homepage = "https://github.com/YDX-2147483647/typst-debug-city" + [decasify."0.11.2"] url = "https://packages.typst.org/preview/decasify-0.11.2.tar.gz" hash = "sha256-g9eDNYechHYxpXb0GQCGTMbJ42pHDL0C9wtoUuQaX94=" @@ -7356,6 +7796,16 @@ license = [ ] homepage = "https://github.com/Robotechnic/diagraph-layout.git" +[diatypst."0.9.0"] +url = "https://packages.typst.org/preview/diatypst-0.9.0.tar.gz" +hash = "sha256-C/Q08KAdpcCiAf9ni32cFfQTKmjZlzR1a6pc3+SyzDk=" +typstDeps = [] +description = "easy slides in typst - sensible defaults, easy syntax, well styled" +license = [ + "MIT-0", +] +homepage = "https://github.com/skriptum/Diatypst" + [diatypst."0.8.0"] url = "https://packages.typst.org/preview/diatypst-0.8.0.tar.gz" hash = "sha256-vIysNePgWDTP8dpeaJUG5HjD/DbDp66z2Uv8mw3cQkE=" @@ -7685,6 +8135,16 @@ license = [ ] homepage = "https://github.com/DVDTSB/dvdtyp" +[easy-paper."0.2.0"] +url = "https://packages.typst.org/preview/easy-paper-0.2.0.tar.gz" +hash = "sha256-uAeLL2iiRZxrxVeG3nody+pqmC72Fh5uztUeFctji+M=" +typstDeps = [] +description = "A ready-to-use Typst template for Chinese papers" +license = [ + "MIT", +] +homepage = "https://github.com/Dawnfz-Lenfeng/easy-paper" + [easy-pinyin."0.1.0"] url = "https://packages.typst.org/preview/easy-pinyin-0.1.0.tar.gz" hash = "sha256-25XJa5ovmFzwwzmBrdF24okyajCWdduT9sHf5c/krDw=" @@ -7927,6 +8387,28 @@ license = [ ] homepage = "https://github.com/mewmew/efter-plugget" +[ega-numbering."0.1.0"] +url = "https://packages.typst.org/preview/ega-numbering-0.1.0.tar.gz" +hash = "sha256-bQ4RoXRHHGvf94wW+2ILQ+nda8YFPOQlRFLQdDMNUvI=" +typstDeps = [] +description = "EGA style numbering" +license = [ + "MIT", +] + +[eggs."0.4.0"] +url = "https://packages.typst.org/preview/eggs-0.4.0.tar.gz" +hash = "sha256-10xJndDSuGguXs45dvb4oqXBYwGi2E5ZKRnQZI7MDLA=" +typstDeps = [ + "eggs_0_3_0", + "tidy_0_4_3", +] +description = "Linguistic examples with minimalist syntax" +license = [ + "MIT", +] +homepage = "https://github.com/retroflexivity/typst-eggs" + [eggs."0.3.0"] url = "https://packages.typst.org/preview/eggs-0.3.0.tar.gz" hash = "sha256-ZuYoi0GEhgaSGwZAElTnZOcn8mJOScvollaCthXMBUY=" @@ -8062,6 +8544,32 @@ license = [ ] homepage = "https://github.com/PgBiel/elembic" +[elsearticle."2.0.0"] +url = "https://packages.typst.org/preview/elsearticle-2.0.0.tar.gz" +hash = "sha256-5RPvIl+wEbE6b+Or7S9S9DxwBn+kwlCp07G5PDHT3bc=" +typstDeps = [ + "equate_0_3_2", + "subpar_0_2_2", +] +description = "Conversion of the LaTeX elsearticle.cls" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/elsearticle" + +[elsearticle."1.1.1"] +url = "https://packages.typst.org/preview/elsearticle-1.1.1.tar.gz" +hash = "sha256-y188ySTBjstKjdjoKYVQpzDcwfwPtgw9ftV5KXpPYqQ=" +typstDeps = [ + "equate_0_3_2", + "subpar_0_2_2", +] +description = "Conversion of the LaTeX elsearticle.cls" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/elsearticle" + [elsearticle."1.1.0"] url = "https://packages.typst.org/preview/elsearticle-1.1.0.tar.gz" hash = "sha256-ITobj77nTaOqJwmOaMJiEEcqLzwUYPsiDowmav0jCZc=" @@ -8584,6 +9092,18 @@ license = [ "Unlicense", ] +[exercise-bank."0.2.0"] +url = "https://packages.typst.org/preview/exercise-bank-0.2.0.tar.gz" +hash = "sha256-zqy1AeIVMZAKjT8m858MRk+V4+63zE8ypMmbBeHsjxM=" +typstDeps = [ + "g-exam_0_4_4", +] +description = "Exercise management with solutions, metadata, filtering, and exercise banks for educational documents" +license = [ + "MIT", +] +homepage = "https://gitlab.com/nathan-ed/typst-package-exercise-bank" + [exercism."1.0.0"] url = "https://packages.typst.org/preview/exercism-1.0.0.tar.gz" hash = "sha256-mXdQ7mXg/oRbnUBh3k/dS4i3OoF6+XyhzcZ7KDUpen8=" @@ -8596,6 +9116,16 @@ license = [ ] homepage = "https://github.com/mkorje/typst-exercism" +[exm."0.1.0"] +url = "https://packages.typst.org/preview/exm-0.1.0.tar.gz" +hash = "sha256-5mWv8Zj3+TAO4wop3DnrTBSFBxNfQIJMGg2QhyoC5PU=" +typstDeps = [] +description = "Worksheet and exam template used by Data 8 at UC Berkeley" +license = [ + "MIT", +] +homepage = "https://github.com/data-8/exm" + [exmllent."0.1.0"] url = "https://packages.typst.org/preview/exmllent-0.1.0.tar.gz" hash = "sha256-9MCCdvY8ozy6LsYFq8dcskQydcrWE3wnsvZ8UAeLtWA=" @@ -8606,6 +9136,17 @@ license = [ ] homepage = "https://github.com/hongjr03/typst-xml-table-parser" +[exzellenz-tum-thesis."0.2.0"] +url = "https://packages.typst.org/preview/exzellenz-tum-thesis-0.2.0.tar.gz" +hash = "sha256-ksyueegKQ3qEOo3XxGIZI24p5N8f92K4FufsCGJ75X4=" +typstDeps = [ + "glossarium_0_5_9", +] +description = "Customizable template for a thesis at the TU Munich" +license = [ + "MIT-0", +] + [exzellenz-tum-thesis."0.1.0"] url = "https://packages.typst.org/preview/exzellenz-tum-thesis-0.1.0.tar.gz" hash = "sha256-mHGSNkqvM8IzTKanFcPLybhaUn5+/bfe7nnN/Qha/4k=" @@ -8637,6 +9178,16 @@ license = [ ] homepage = "https://github.com/the-mathing/ez-algo" +[ez-today."2.1.0"] +url = "https://packages.typst.org/preview/ez-today-2.1.0.tar.gz" +hash = "sha256-PTYeIO1bSBjGeo8s2Ilp0q/ST4y2Jxu73zOLk6L8nwY=" +typstDeps = [] +description = "Simply displays the full current date" +license = [ + "MIT", +] +homepage = "https://github.com/CarloSchafflik12/typst-ez-today" + [ez-today."2.0.0"] url = "https://packages.typst.org/preview/ez-today-2.0.0.tar.gz" hash = "sha256-mlyNvN+8IhMDO44XaPe34iYMBOQvMiRca5ogzrxht38=" @@ -8709,6 +9260,16 @@ license = [ ] homepage = "https://github.com/gbchu/ezchem.git" +[ezexam."0.2.8"] +url = "https://packages.typst.org/preview/ezexam-0.2.8.tar.gz" +hash = "sha256-w0dalByMG6rsVpSfFKSpXA9aHV6mmT4DkdjgTNygAUs=" +typstDeps = [] +description = "An exam template inspired by the LaTeX package exam-zh and also can make handouts" +license = [ + "MIT", +] +homepage = "https://github.com/gbchu/ezexam.git" + [ezexam."0.2.7"] url = "https://packages.typst.org/preview/ezexam-0.2.7.tar.gz" hash = "sha256-H9BqMu4NNAkQ+s/1vKYjINpTcL8r3mHs9yVSuuzG74g=" @@ -8982,6 +9543,18 @@ license = [ ] homepage = "https://github.com/leiserfg/fervojo" +[fh-joanneum-iit-thesis."2.4.0"] +url = "https://packages.typst.org/preview/fh-joanneum-iit-thesis-2.4.0.tar.gz" +hash = "sha256-cc8rwRrNzEoU6t6JJSIDVUpvqzSI4C4yPm/IjJ0E/dc=" +typstDeps = [ + "glossarium_0_5_10", +] +description = "BA or MA thesis at FH JOANNEUM" +license = [ + "MIT", +] +homepage = "https://git-iit.fh-joanneum.at/oss/thesis-template" + [fh-joanneum-iit-thesis."2.3.0"] url = "https://packages.typst.org/preview/fh-joanneum-iit-thesis-2.3.0.tar.gz" hash = "sha256-CRQbAQpBxZxpkOlbZQxK7psZDoC/df58t150Y8B0r7o=" @@ -9099,6 +9672,16 @@ license = [ ] homepage = "https://github.com/gauthamrmn/fibber" +[fig-plucker."0.1.0"] +url = "https://packages.typst.org/preview/fig-plucker-0.1.0.tar.gz" +hash = "sha256-RhOEdnOB1oa4p9RC9vuW8j3Zxfl7k0q/uyoxLNZRXWQ=" +typstDeps = [] +description = "A utility for managing and exporting individual figures from a single file" +license = [ + "MIT", +] +homepage = "https://github.com/itpyi/typst-plot" + [fine-lncs."0.3.0"] url = "https://packages.typst.org/preview/fine-lncs-0.3.0.tar.gz" hash = "sha256-NCbv7zaGp/2ECEG41d9x1WbyGTplRSX4OttVtpEksx8=" @@ -9292,6 +9875,18 @@ license = [ ] homepage = "https://github.com/samrenault/flagada" +[flautomat."0.2.0"] +url = "https://packages.typst.org/preview/flautomat-0.2.0.tar.gz" +hash = "sha256-Hrp/YoS6QorcXL6CxMo4M8EN/sq29GrbYgNTkXMnSKs=" +typstDeps = [ + "fletcher_0_5_8", +] +description = "Visualize abstract automata based on json input" +license = [ + "MIT", +] +homepage = "https://codeberg.org/Kuchenmampfer/flautomat" + [flautomat."0.1.0"] url = "https://packages.typst.org/preview/flautomat-0.1.0.tar.gz" hash = "sha256-9ks3JA5cO4kvl8odrVdqEvzfbdr+AjHrTzWjbuDFo+4=" @@ -9634,6 +10229,30 @@ license = [ ] homepage = "https://github.com/fexh10/flow-way" +[flupke-headstamp."0.1.0"] +url = "https://packages.typst.org/preview/flupke-headstamp-0.1.0.tar.gz" +hash = "sha256-+mRrg9VUyfludsaXdZ4Gj+UrwpYSRotFDUV8d8lxZM8=" +typstDeps = [] +description = "Surface Git reflog metadata in documents" +license = [ + "MIT", +] +homepage = "https://github.com/flol3622/git-trace" + +[flyingcircus."4.0.0"] +url = "https://packages.typst.org/preview/flyingcircus-4.0.0.tar.gz" +hash = "sha256-TJJ61CHcanZtaPvFfViiK1LXEeMdRPgGGF3HyfeFaks=" +typstDeps = [ + "cetz_0_4_2", + "cetz-plot_0_1_3", + "cuti_0_4_0", +] +description = "For creating homebrew documents with the same fancy style as the Flying Circus book? Provides simple commands to generate a whole aircraft stat page, vehicle, or even ship" +license = [ + "MIT", +] +homepage = "https://github.com/Tetragramm/flying-circus-typst-template" + [flyingcircus."3.3.0"] url = "https://packages.typst.org/preview/flyingcircus-3.3.0.tar.gz" hash = "sha256-lOCr2yWHFdGlshaSRh67W+OAAu/6HPfl3j34V28eKc8=" @@ -9770,6 +10389,16 @@ license = [ ] homepage = "https://github.com/duskmoon314/typst-fontawesome" +[forensix."0.1.0"] +url = "https://packages.typst.org/preview/forensix-0.1.0.tar.gz" +hash = "sha256-LbB/F9zO7WMRHgjobPAdRMvR5xLs9Jc9B56nLyzAWAo=" +typstDeps = [] +description = "Render hex dumps, MACB timelines, IOC tables, and TTP references for forensics reports" +license = [ + "MIT", +] +homepage = "https://github.com/teismar/typst-forensix" + [formal."0.1.0"] url = "https://packages.typst.org/preview/formal-0.1.0.tar.gz" hash = "sha256-OaJGUsIntg35UNeq0qYlDnjlPxE4HoGeT8RpYpBi4o0=" @@ -9785,6 +10414,16 @@ license = [ ] homepage = "https://github.com/vsheg/formal" +[formalettre."0.3.1"] +url = "https://packages.typst.org/preview/formalettre-0.3.1.tar.gz" +hash = "sha256-aZInGfB258B8Y+uaTentyxmxogJZW6zFuUYb3nenuYs=" +typstDeps = [] +description = "French formal letter template" +license = [ + "BSD-3-Clause", +] +homepage = "https://github.com/Brndan/lettre" + [formalettre."0.3.0"] url = "https://packages.typst.org/preview/formalettre-0.3.0.tar.gz" hash = "sha256-ju6auj7eEcoMav4FOOr44aymHwCLdkeHMX/OGHVM7Eo=" @@ -10026,6 +10665,16 @@ license = [ ] homepage = "https://github.com/marc-thieme/frame-it" +[frederic."0.1.0"] +url = "https://packages.typst.org/preview/frederic-0.1.0.tar.gz" +hash = "sha256-THkJDFR7IWe8FrUI4DqG6c/lPNdVpRhVBwWOAa4zzAM=" +typstDeps = [] +description = "Fitch-style natural deduction proofs" +license = [ + "MIT", +] +homepage = "https://github.com/Lipen/typst-fitch" + [free-cv."1.0.0"] url = "https://packages.typst.org/preview/free-cv-1.0.0.tar.gz" hash = "sha256-xcW74X+VzfOZ4XxIzy3npTt6nuggDNgzpRVHfW6X8xE=" @@ -10177,6 +10826,18 @@ license = [ "GPL-3.0-or-later", ] +[g-exam."0.4.4"] +url = "https://packages.typst.org/preview/g-exam-0.4.4.tar.gz" +hash = "sha256-yQxwV6uSj38UKRDvfNR9IUkmsYGtGbxfBr6pj1ebMKg=" +typstDeps = [ + "oxifmt_1_0_0", +] +description = "Create exams with student information, grade chart, score control, questions, and sub-questions" +license = [ + "MIT", +] +homepage = "https://github.com/MatheSchool/typst-g-exam" + [g-exam."0.4.3"] url = "https://packages.typst.org/preview/g-exam-0.4.3.tar.gz" hash = "sha256-nQd4e5V6M8HSIzq5o7yDHrTljmVvFDzBteMCoSkM1qs=" @@ -10409,6 +11070,30 @@ license = [ ] homepage = "https://gitlab.com/john_t/typst-gantty" +[gb7714-bilingual."0.2.0"] +url = "https://packages.typst.org/preview/gb7714-bilingual-0.2.0.tar.gz" +hash = "sha256-J/DvQzbIWSgw/6om0n3/VS1qGreGRynFUfCMDj5mOfA=" +typstDeps = [ + "citegeist_0_2_0", +] +description = "GB/T 7714-2015/2025 bilingual bibliography for Typst with automatic Chinese/English term switching" +license = [ + "MIT", +] +homepage = "https://github.com/pku-typst/gb7714-bilingual" + +[gb7714-bilingual."0.1.0"] +url = "https://packages.typst.org/preview/gb7714-bilingual-0.1.0.tar.gz" +hash = "sha256-d9c3PObjeU4qgmnqpFtbyUquea18SeLrXBY7b5eCMqk=" +typstDeps = [ + "citegeist_0_2_0", +] +description = "GB/T 7714-2015/2025 bilingual bibliography for Typst with automatic Chinese/English term switching" +license = [ + "MIT", +] +homepage = "https://github.com/pku-typst/gb7714-bilingual" + [genealotree."0.3.0"] url = "https://packages.typst.org/preview/genealotree-0.3.0.tar.gz" hash = "sha256-zRq5Wn25rsrmFXiThlVhPhEQYU5/umgmJ5XK5tKoa34=" @@ -10450,6 +11135,16 @@ license = [ ] homepage = "https://codeberg.org/drloiseau/genealogy" +[genotypst."0.1.0"] +url = "https://packages.typst.org/preview/genotypst-0.1.0.tar.gz" +hash = "sha256-O5f4jepkN7aPRjAxjC//EEbnQ+354iwzw79L9OC8mgk=" +typstDeps = [] +description = "genotypst: A bioinformatics package for bioinformatics data analysis and visualization" +license = [ + "MIT", +] +homepage = "https://github.com/apcamargo/genotypst" + [gentle-clues."1.2.0"] url = "https://packages.typst.org/preview/gentle-clues-1.2.0.tar.gz" hash = "sha256-oQ/HcKJRijQPM450fNF7vF5WAQCu3bWLmy6bkmrnHfg=" @@ -10612,6 +11307,32 @@ license = [ ] homepage = "https://github.com/elegaanz/georges-yetyp" +[german-fx-invoice."0.2.0"] +url = "https://packages.typst.org/preview/german-fx-invoice-0.2.0.tar.gz" +hash = "sha256-bFvzlNnJ8fuu+EL48DkpNXldC9wK6UidTztP/itN0UM=" +typstDeps = [ + "cades_0_3_1", + "ibanator_0_1_0", +] +description = "Minimalistic invoice for freelancers based in Germany working with international customers with support for FX" +license = [ + "MIT-0", +] +homepage = "https://github.com/2color/typst-german-invoice" + +[german-fx-invoice."0.1.0"] +url = "https://packages.typst.org/preview/german-fx-invoice-0.1.0.tar.gz" +hash = "sha256-Zf2tfFLrFQUMaSdhbVYEG9G+ji6vroZpjo8AxWiDYLg=" +typstDeps = [ + "cades_0_3_1", + "ibanator_0_1_0", +] +description = "Minimalistic invoice for freelancers based in Germany working with international customers with support for FX" +license = [ + "MIT-0", +] +homepage = "https://github.com/2color/typst-german-fx-invoice" + [gibz-script."0.1.0"] url = "https://packages.typst.org/preview/gibz-script-0.1.0.tar.gz" hash = "sha256-EeO7J3h6bv3HWPRPIZ6cC5dIIAq0HCHqIqP+FXkjUcA=" @@ -10668,6 +11389,16 @@ license = [ ] homepage = "https://github.com/RolfBremer/typst-glossary" +[glossarium."0.5.10"] +url = "https://packages.typst.org/preview/glossarium-0.5.10.tar.gz" +hash = "sha256-+djwDgdFPxPpLQtytLwlmeQENyzV46J8xbOXxGoHnYY=" +typstDeps = [] +description = "Glossarium is a simple, easily customizable typst glossary" +license = [ + "MIT", +] +homepage = "https://github.com/typst-community/glossarium" + [glossarium."0.5.9"] url = "https://packages.typst.org/preview/glossarium-0.5.9.tar.gz" hash = "sha256-0dnDMC0jWETnlEouT/gTO1zF8bOe6fHREU0Op3VzpHI=" @@ -11206,6 +11937,19 @@ license = [ ] homepage = "https://github.com/piepert/grape-suite" +[graph-gen."0.1.0"] +url = "https://packages.typst.org/preview/graph-gen-0.1.0.tar.gz" +hash = "sha256-gXOgp+Qq+A/su+OZ5V5Qe3aX2GLm90SM9jgJkmlqlak=" +typstDeps = [ + "lemmify_0_1_8", + "showybox_2_0_4", +] +description = "Graph view for your notes" +license = [ + "MIT", +] +homepage = "https://github.com/euwbah/graph-gen" + [grayness."0.5.0"] url = "https://packages.typst.org/preview/grayness-0.5.0.tar.gz" hash = "sha256-svgS7Ze3G56KVa9M7Qcmsgg2CLM+w6Gy4OPFafAwiNE=" @@ -11790,6 +12534,16 @@ license = [ ] homepage = "https://github.com/Moelf/harvard-gsas-thesis-oat" +[haw-hamburg."0.8.1"] +url = "https://packages.typst.org/preview/haw-hamburg-0.8.1.tar.gz" +hash = "sha256-F4TmioaPLZNWmbd8sUPALGYZpHlSR+bSCE0rLKj/6g4=" +typstDeps = [] +description = "Unofficial template for writing a report or thesis in the HAW Hamburg Faculty of Computer Science and Digital Society style" +license = [ + "MIT", +] +homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" + [haw-hamburg."0.8.0"] url = "https://packages.typst.org/preview/haw-hamburg-0.8.0.tar.gz" hash = "sha256-JsZ4N39fNCWXH6gvAjUcnyNMTwqFh7X1tFL+CmTX/90=" @@ -11925,6 +12679,19 @@ license = [ ] homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" +[haw-hamburg-bachelor-thesis."0.8.1"] +url = "https://packages.typst.org/preview/haw-hamburg-bachelor-thesis-0.8.1.tar.gz" +hash = "sha256-qmc5BycpLTlY9hM+5a0YsNHHLjuZyDaMqzNEcPvbmvs=" +typstDeps = [ + "glossarium_0_5_9", + "haw-hamburg_0_8_1", +] +description = "Unofficial template for writing a bachelor-thesis in the HAW Hamburg Faculty of Computer Science and Digital Society style" +license = [ + "MIT", +] +homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" + [haw-hamburg-bachelor-thesis."0.8.0"] url = "https://packages.typst.org/preview/haw-hamburg-bachelor-thesis-0.8.0.tar.gz" hash = "sha256-QWroWPaeYzwinpD5xqloIKkm/m6XnDP6lDr08mU1CpA=" @@ -12068,6 +12835,19 @@ license = [ ] homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" +[haw-hamburg-master-thesis."0.8.1"] +url = "https://packages.typst.org/preview/haw-hamburg-master-thesis-0.8.1.tar.gz" +hash = "sha256-Bb+vNqr7VMHC8lsenJVC78jfLE4OR8MNX5QV0+L/BaI=" +typstDeps = [ + "glossarium_0_5_9", + "haw-hamburg_0_8_1", +] +description = "Unofficial template for writing a master-thesis in the HAW Hamburg Faculty of Computer Science and Digital Society style" +license = [ + "MIT", +] +homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" + [haw-hamburg-master-thesis."0.8.0"] url = "https://packages.typst.org/preview/haw-hamburg-master-thesis-0.8.0.tar.gz" hash = "sha256-XydE5/9Exiy8PWC8DmnxnIVWBCwK2hIvw4b2mEaaeBM=" @@ -12211,6 +12991,19 @@ license = [ ] homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" +[haw-hamburg-report."0.8.1"] +url = "https://packages.typst.org/preview/haw-hamburg-report-0.8.1.tar.gz" +hash = "sha256-+p2djVW74InOFDTFsn64EoKC4IDuO2b87yIdgpSBoyY=" +typstDeps = [ + "glossarium_0_5_9", + "haw-hamburg_0_8_1", +] +description = "Unofficial template for writing a report in the HAW Hamburg Faculty of Computer Science and Digital Society style" +license = [ + "MIT", +] +homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" + [haw-hamburg-report."0.8.0"] url = "https://packages.typst.org/preview/haw-hamburg-report-0.8.0.tar.gz" hash = "sha256-RvkyaqEqb6NK2OmtFvcpjcVhZiBxdV49VyZ0WpzXtcY=" @@ -12500,6 +13293,29 @@ license = [ ] homepage = "https://github.com/hei-templates/hei-synd-thesis" +[helios-polylux."0.1.0"] +url = "https://packages.typst.org/preview/helios-polylux-0.1.0.tar.gz" +hash = "sha256-H/FD02yCcUvhn/nyOFIxs7mm70K7HmbMWv8K/TuJOAI=" +typstDeps = [ + "polylux_0_4_0", +] +description = "Helios, a minimal theme for academic presentations with Polylux" +license = [ + "AGPL-3.0-or-later", +] + +[herodot."0.4.0"] +url = "https://packages.typst.org/preview/herodot-0.4.0.tar.gz" +hash = "sha256-qiyijB/qla8uB1ZiVfm3u9Lqm6xkZeK80AAtFxGRdYM=" +typstDeps = [ + "cetz_0_4_1", +] +description = "A package for making linear timelines, inspired by chronology" +license = [ + "GPL-3.0-only", +] +homepage = "https://github.com/gnist-dev/herodot" + [herodot."0.3.0"] url = "https://packages.typst.org/preview/herodot-0.3.0.tar.gz" hash = "sha256-fOlwl0hmDkTd17T7m+UHYmUCoDzO5TwYgLcOBd3MCpk=" @@ -12536,6 +13352,16 @@ license = [ ] homepage = "https://github.com/gnist-dev/herodot" +[heroic."0.1.1"] +url = "https://packages.typst.org/preview/heroic-0.1.1.tar.gz" +hash = "sha256-BpChIxHSIhLPadqgO3lf2mPJmWj+ON+XRsNo+LUjrJo=" +typstDeps = [] +description = "Add Heroicons to your documents" +license = [ + "MIT", +] +homepage = "https://github.com/jneug/typst-heroic" + [heroic."0.1.0"] url = "https://packages.typst.org/preview/heroic-0.1.0.tar.gz" hash = "sha256-3L551obRnGGTg0j0vfeKJ+QJbfA6yhkDFlW+CEWLjQU=" @@ -12731,6 +13557,16 @@ license = [ "MIT", ] +[hundouk."0.1.0"] +url = "https://packages.typst.org/preview/hundouk-0.1.0.tar.gz" +hash = "sha256-P4ovARWN4Oox1+PhWuYvQGnzlys3gbaZafNoJQ68xPk=" +typstDeps = [] +description = "Render kanbun kundoku (漢文訓読) with kunten (訓点) and optional vertical writing-mode" +license = [ + "MIT", +] +homepage = "https://github.com/mkpoli/hundouk" + [hy-dro-gen."0.1.2"] url = "https://packages.typst.org/preview/hy-dro-gen-0.1.2.tar.gz" hash = "sha256-Ri8wskUHxxhJ0gdbXoAz+jvEmBboPNwMWVS54N64efI=" @@ -13111,6 +13947,16 @@ license = [ ] homepage = "https://github.com/Bi0T1N/typst-iconic-salmon-svg" +[icu-datetime."0.2.1"] +url = "https://packages.typst.org/preview/icu-datetime-0.2.1.tar.gz" +hash = "sha256-tPYkNbw69hil04Rz+iePcr1IabbWKpx/TXXukspvfqw=" +typstDeps = [] +description = "Date and time formatting using ICU4X via WASM" +license = [ + "MIT", +] +homepage = "https://github.com/Nerixyz/icu-typ" + [icu-datetime."0.2.0"] url = "https://packages.typst.org/preview/icu-datetime-0.2.0.tar.gz" hash = "sha256-6CeuNilPvenD4jTYKWK2JY/IVOoz0nv7kF/vjK83xhE=" @@ -13194,6 +14040,16 @@ license = [ ] homepage = "https://github.com/Fricsion/typst-template_ieee-style-single-column" +[ieee-vgtc."0.0.1"] +url = "https://packages.typst.org/preview/ieee-vgtc-0.0.1.tar.gz" +hash = "sha256-6zu1LwN+O2c9RUaE6Dj/PRWonq0t5BNiOML8IsqiXc0=" +typstDeps = [] +description = "Templates for IEEE VGTC conferences and TVCG journal papers" +license = [ + "MIT-0", +] +homepage = "https://github.com/ieeevgtc/ieee-vgtc-typst" + [ijimai."1.0.0"] url = "https://packages.typst.org/preview/ijimai-1.0.0.tar.gz" hash = "sha256-hjjfA/h+YS2PVGN6cCdscCNufrnNTgmqctY/590cSuA=" @@ -13751,6 +14607,16 @@ license = [ ] homepage = "https://github.com/euwbah/intextual" +[invicta-thesis."1.1.0"] +url = "https://packages.typst.org/preview/invicta-thesis-1.1.0.tar.gz" +hash = "sha256-VJAA89Y1si6Tt0r/QygREJTDYQglXzpEBYSqe3AxDb0=" +typstDeps = [] +description = "Master's thesis for Faculty of Engineering of University of Porto" +license = [ + "MIT", +] +homepage = "https://github.com/Tonevanda/invicta-thesis" + [invicta-thesis."1.0.0"] url = "https://packages.typst.org/preview/invicta-thesis-1.0.0.tar.gz" hash = "sha256-1Zo0/JKWkpWeOKGBoBT+iwyqP7GQ+lA9Da3HPFB9U4M=" @@ -13771,6 +14637,34 @@ license = [ ] homepage = "https://github.com/ad-si/invoice-maker" +[invoice-pro."0.1.1"] +url = "https://packages.typst.org/preview/invoice-pro-0.1.1.tar.gz" +hash = "sha256-KCj89MzlCmpdnKj4/62RgZzFLYKN6n9CnsCOvISWItU=" +typstDeps = [ + "ibanator_0_1_0", + "letter-pro_3_0_0", + "rustycure_0_2_0", +] +description = "A professional, DIN 5008 compliant invoice template with automatic calculations and EPC-QR-Code (GiroCode) support" +license = [ + "MIT", +] +homepage = "https://github.com/leonieziechmann/invoice-pro" + +[invoice-pro."0.1.0"] +url = "https://packages.typst.org/preview/invoice-pro-0.1.0.tar.gz" +hash = "sha256-LRH33uYPRjcln5BA7iuWVO57NjrHCc/qDVvBdvXHkNM=" +typstDeps = [ + "ibanator_0_1_0", + "letter-pro_3_0_0", + "rustycure_0_2_0", +] +description = "A professional, DIN 5008 compliant invoice template with automatic calculations and EPC-QR-Code (GiroCode) support" +license = [ + "MIT", +] +homepage = "https://github.com/leonieziechmann/invoice-pro" + [ionio-illustrate."0.2.0"] url = "https://packages.typst.org/preview/ionio-illustrate-0.2.0.tar.gz" hash = "sha256-p+Z4u91PvA2APXlk80ZikJTEk+JIhPpIn64Z6P+rLrY=" @@ -13794,6 +14688,28 @@ license = [ "MIT", ] +[ioppub."0.1.0"] +url = "https://packages.typst.org/preview/ioppub-0.1.0.tar.gz" +hash = "sha256-Sv3iJjQShjHbZtrC6gynLvPhmq38tSMD3z7/22XRo8o=" +typstDeps = [ + "equate_0_3_2", +] +description = "IOP Publishing article template for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/munechika-koyo/ioppub" + +[ipsum."0.1.0"] +url = "https://packages.typst.org/preview/ipsum-0.1.0.tar.gz" +hash = "sha256-6gy/kbHffUXkpPILeiyyATP9GiR5IHZPUB6181mJT5Y=" +typstDeps = [] +description = "Create placeholder text to suit your design, layout and style" +license = [ + "MIT", +] +homepage = "https://github.com/neuralpain/ipsum" + [iridis."0.1.0"] url = "https://packages.typst.org/preview/iridis-0.1.0.tar.gz" hash = "sha256-ryceOZ0JS+SN90DO7C1n5D2sqizhM9yrXgW+Oxuo8UA=" @@ -13803,6 +14719,18 @@ license = [ "MIT", ] +[irif."0.0.2"] +url = "https://packages.typst.org/preview/irif-0.0.2.tar.gz" +hash = "sha256-N8RN8hBouKjgpXQZL/d9/k97OhGHRcqd+A1dLpcYelw=" +typstDeps = [ + "cetz_0_4_2", + "cetz-plot_0_1_3", +] +description = "Numerical methods for integration, differentiation and root finding" +license = [ + "MIT-0", +] + [irif."0.0.1"] url = "https://packages.typst.org/preview/irif-0.0.1.tar.gz" hash = "sha256-uNuwdgAAohs+ZsvwUdSXargjcVDoV1ilc7eckRVCXEY=" @@ -14109,6 +15037,18 @@ license = [ ] homepage = "https://github.com/glpda/typst-iversymbols" +[jabiz."0.1.3"] +url = "https://packages.typst.org/preview/jabiz-0.1.3.tar.gz" +hash = "sha256-hc0RT9I/yetmSiRKK0nYYqx794XuO/F1jCFnd6ImHAA=" +typstDeps = [ + "cjk-unbreak_0_2_1", +] +description = "Template for Japanese business documents. 日本語のビジネス文書テンプレート" +license = [ + "MIT-0", +] +homepage = "https://github.com/kimushun1101/typst-jabiz" + [jabiz."0.1.2"] url = "https://packages.typst.org/preview/jabiz-0.1.2.tar.gz" hash = "sha256-VULtFe+MCBNIo1r2tpXwmkY08vUU2K4AfSONuIE96bg=" @@ -14143,6 +15083,20 @@ license = [ ] homepage = "https://github.com/kimushun1101/typst-jabiz" +[jaconf."0.7.0"] +url = "https://packages.typst.org/preview/jaconf-0.7.0.tar.gz" +hash = "sha256-E6cKOUQymRljXYQmPgYLEiaN5szmj0hkA6KDxT8Az/M=" +typstDeps = [ + "cjk-unbreak_0_2_2", + "codly_1_3_0", + "ctheorems_1_1_3", +] +description = "Template for Japanese academic conference papers. 日本語の学会論文テンプレート" +license = [ + "MIT-0", +] +homepage = "https://github.com/kimushun1101/typst-jaconf" + [jaconf."0.6.0"] url = "https://packages.typst.org/preview/jaconf-0.6.0.tar.gz" hash = "sha256-O4kDiSJC4VRK0W0mrWLfpiG35tqEoGXzZKfMHrlQtGc=" @@ -14277,6 +15231,16 @@ license = [ ] homepage = "https://github.com/kimushun1101/typst-jp-conf-template" +[jastylest."0.1.3"] +url = "https://packages.typst.org/preview/jastylest-0.1.3.tar.gz" +hash = "sha256-3pQRokh/QYPLNsQa6BoeAJ99e73PqBQynTAtuDwzCQE=" +typstDeps = [] +description = "You can set up style templates for writing reports, papers, and slides in Japanese. It works similarly to LaTeX" +license = [ + "MIT-0", +] +homepage = "https://github.com/raygo0312/jastylest.git" + [jastylest."0.1.2"] url = "https://packages.typst.org/preview/jastylest-0.1.2.tar.gz" hash = "sha256-4MIjcyWdA0pMTGNSR7UmYflpKNIMzRe6Zmrr2odF968=" @@ -14499,6 +15463,15 @@ license = [ "MIT", ] +[juti."0.0.3"] +url = "https://packages.typst.org/preview/juti-0.0.3.tar.gz" +hash = "sha256-z3OllgBctVj++hEOV3Gz4l/idgmw3+ry/yFWcOadzKA=" +typstDeps = [] +description = "Template for writing articles for JUTI: Jurnal Ilmiah Teknologi Informasi" +license = [ + "MIT", +] + [juti."0.0.2"] url = "https://packages.typst.org/preview/juti-0.0.2.tar.gz" hash = "sha256-BcluOxlfOmvwCMGY1tnoLMOGpGw2FK+K4O9VbmAXDIc=" @@ -14517,6 +15490,16 @@ license = [ "MIT", ] +[k-mapper."1.4.0"] +url = "https://packages.typst.org/preview/k-mapper-1.4.0.tar.gz" +hash = "sha256-f3ee+jHt9zaSYJj3tUrPk6dgUsVNO/gCeW4EuAZdayQ=" +typstDeps = [] +description = "A package to add Karnaugh maps into Typst projects" +license = [ + "MIT", +] +homepage = "https://github.com/derekchai/typst-karnaugh-map" + [k-mapper."1.3.0"] url = "https://packages.typst.org/preview/k-mapper-1.3.0.tar.gz" hash = "sha256-d9/pdDMbCIiJxveqqHxpe9PRdzZzJ4RNLRvIds98WUM=" @@ -14614,6 +15597,16 @@ license = [ ] homepage = "https://github.com/tguichaoua/kebab-chart" +[keepsake."0.1.0"] +url = "https://packages.typst.org/preview/keepsake-0.1.0.tar.gz" +hash = "sha256-QuGiPWpyGfkSrUEmlwaZ9oRiEc/w2wPgnyodtUKOX2w=" +typstDeps = [] +description = "Create printable, folding cards for all occasions" +license = [ + "MIT", +] +homepage = "https://github.com/williambdean/keepsake" + [keyle."0.2.0"] url = "https://packages.typst.org/preview/keyle-0.2.0.tar.gz" hash = "sha256-RhC88JBzKG1muu+hoWB/Y8Q6/KUyeU72EU0OzllpUBA=" @@ -14665,6 +15658,20 @@ license = [ "MIT", ] +[kino."0.1.0"] +url = "https://packages.typst.org/preview/kino-0.1.0.tar.gz" +hash = "sha256-jdKv+Zh/RoxsZnI3nNnWJHQnawOpaXxu5bKwxxb4yp4=" +typstDeps = [ + "cetz_0_4_2", + "cetz-plot_0_1_3", + "lilaq_0_5_0", +] +description = "A proof of concept package for creating animations" +license = [ + "MIT", +] +homepage = "https://github.com/aualbert/kino" + [kiresume."0.1.17"] url = "https://packages.typst.org/preview/kiresume-0.1.17.tar.gz" hash = "sha256-/0IIJl3tUCWDYDt2aoW3HYmRodtLvpOXuVNraa3WqiA=" @@ -14822,6 +15829,22 @@ license = [ ] homepage = "https://github.com/Harry-Chen/kouhu" +[kthesis."0.1.3"] +url = "https://packages.typst.org/preview/kthesis-0.1.3.tar.gz" +hash = "sha256-ypLafTRIDV54rjrK2JxKLD7TgZpXryfsNQv38FP33lI=" +typstDeps = [ + "glossarium_0_5_8", + "headcount_0_1_0", + "hydra_0_6_1", + "linguify_0_4_2", +] +description = "Unofficial thesis template for KTH Royal Institute of Technology" +license = [ + "MIT", + "MIT-0", +] +homepage = "https://github.com/RafDevX/kthesis-typst" + [kthesis."0.1.2"] url = "https://packages.typst.org/preview/kthesis-0.1.2.tar.gz" hash = "sha256-p8FiG2pRXHh1YCZJXOda4u5/1WXj+q0XWq4FkOfhCVA=" @@ -14870,6 +15893,16 @@ license = [ ] homepage = "https://github.com/RafDevX/kthesis-typst" +[kuddle."0.1.0"] +url = "https://packages.typst.org/preview/kuddle-0.1.0.tar.gz" +hash = "sha256-ln4c3frS9qL+jwVG9sdNGz1NFH/W63nfSO4BhIutLhI=" +typstDeps = [] +description = "A kdl parser" +license = [ + "MIT", +] +homepage = "https://github.com/ludwig-austermann/kuddle" + [kunskap."0.1.0"] url = "https://packages.typst.org/preview/kunskap-0.1.0.tar.gz" hash = "sha256-drCRPbJP5vdJ1/oAcEVVlt8/UO+eHVH+GYRAsvJQYlg=" @@ -15036,6 +16069,16 @@ license = [ ] homepage = "https://codeberg.org/T0mstone/typst-latedef" +[latex-compat."0.1.0"] +url = "https://packages.typst.org/preview/latex-compat-0.1.0.tar.gz" +hash = "sha256-3BrZAzbp0eB1gPb9vfld0HxI5QKOy+EKi8wnH12ZmjI=" +typstDeps = [] +description = "LaTeX compatibility commands" +license = [ + "MIT", +] +homepage = "https://github.com/neruthes/typstpkg-latexcompat" + [latex-lookalike."0.1.4"] url = "https://packages.typst.org/preview/latex-lookalike-0.1.4.tar.gz" hash = "sha256-jqdXb7WgAosPzNvbgJGm6cJPN66ogMbV5aRiIhRES28=" @@ -15133,6 +16176,31 @@ license = [ ] homepage = "https://github.com/davystrong/layout-ltd" +[leetcode-livebook."0.1.1"] +url = "https://packages.typst.org/preview/leetcode-livebook-0.1.1.tar.gz" +hash = "sha256-2uOCHdsUGj52dXTvWhWxQYAbTXtvzvTvtl3R8Y7JYpU=" +typstDeps = [ + "cetz_0_4_2", + "leetcode-livebook_0_1_0", +] +description = "Practice LeetCode with built-in tests and visualizations" +license = [ + "MIT", +] +homepage = "https://github.com/lucifer1004/leetcode.typ" + +[leetcode-livebook."0.1.0"] +url = "https://packages.typst.org/preview/leetcode-livebook-0.1.0.tar.gz" +hash = "sha256-7CRGaqiPO9TEvmM9hgu4whi4jdNut4KMRBoidMG7ivo=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Practice LeetCode with built-in tests and visualizations" +license = [ + "MIT", +] +homepage = "https://github.com/lucifer1004/leetcode.typ" + [leetify."0.1.0"] url = "https://packages.typst.org/preview/leetify-0.1.0.tar.gz" hash = "sha256-poj6F9DTCBcw4aoZGnoJzxS6QnqgsiGw/KTl1i3obPA=" @@ -15538,6 +16606,16 @@ license = [ ] homepage = "https://github.com/KenyC/typst-lingotree" +[linguify."0.5.0"] +url = "https://packages.typst.org/preview/linguify-0.5.0.tar.gz" +hash = "sha256-Tgw1n6o0KNqVY2KQRV5ll+F2kRp6gCXRaUVMQ2vo7hg=" +typstDeps = [] +description = "Load strings for different languages easily" +license = [ + "MIT", +] +homepage = "https://github.com/typst-community/linguify" + [linguify."0.4.2"] url = "https://packages.typst.org/preview/linguify-0.4.2.tar.gz" hash = "sha256-ZwDpQZT19wqo2nrhIHaMHZPTyHam3/BhMlsYuPLR8a0=" @@ -15628,6 +16706,19 @@ license = [ ] homepage = "https://github.com/ellsphillips/linked-cv" +[linkify."0.1.2"] +url = "https://packages.typst.org/preview/linkify-0.1.2.tar.gz" +hash = "sha256-Rt/h/fM/QM313zTDiXWNQXT19PLIG+nGGmXBSZdOPCA=" +typstDeps = [ + "based_0_2_0", + "percencode_0_1_0", +] +description = "Generate URLs and nicely formatted links to web media contents" +license = [ + "MIT", +] +homepage = "https://github.com/vanleefxp/linkify_typ" + [linkify."0.1.1"] url = "https://packages.typst.org/preview/linkify-0.1.1.tar.gz" hash = "sha256-UZ9ewiKMMs0hT3vR4NQ4SMJPlQzRwZ42iyHZDDradtU=" @@ -15685,6 +16776,17 @@ license = [ ] homepage = "https://github.com/thatfloflo/typst-linphon" +[lion-ecl."0.1.0"] +url = "https://packages.typst.org/preview/lion-ecl-0.1.0.tar.gz" +hash = "sha256-xweKuikRs0L6cNn68sEBynYe89m6VpsHnhosG5gLRDY=" +typstDeps = [ + "codly_1_3_0", +] +description = "A template for Ecole Centrale de Lyon student report" +license = [ + "MIT", +] + [litfass."0.1.1"] url = "https://packages.typst.org/preview/litfass-0.1.1.tar.gz" hash = "sha256-o91DUjBvdQXbwhtbEAlGXcPMifaUTPcT/DVsuu2rHNo=" @@ -15703,6 +16805,16 @@ license = [ "MIT", ] +[loom."0.1.0"] +url = "https://packages.typst.org/preview/loom-0.1.0.tar.gz" +hash = "sha256-ZIq/CpRRe+52A4MHCXcgz+Z+kH1Ook+rypVXn+knp60=" +typstDeps = [] +description = "A meta-engine for reactive documents, bidirectional data flow, and global state management" +license = [ + "MIT", +] +homepage = "https://github.com/leonieziechmann/loom" + [lovelace."0.3.0"] url = "https://packages.typst.org/preview/lovelace-0.3.0.tar.gz" hash = "sha256-thSCDGxcTfykwUYjUsxBC7Xnei6dXiGybA8wyUoqKjo=" @@ -15769,6 +16881,16 @@ license = [ ] homepage = "https://github.com/daskol/typst-templates" +[lumen."0.1.3"] +url = "https://packages.typst.org/preview/lumen-0.1.3.tar.gz" +hash = "sha256-XvhrXwoRaXjlmLU/W+Lb8waFMDW/5OIOIv626Xz9VDI=" +typstDeps = [] +description = "unofficial template of the Université libre de Bruxelles thesis front cover" +license = [ + "MIT-0", +] +homepage = "https://codeberg.org/mononym/typst-ulb-phd-cover" + [lumen."0.1.2"] url = "https://packages.typst.org/preview/lumen-0.1.2.tar.gz" hash = "sha256-25ZXn7Fg1T7vav7oekne13JVyIJNwtBdram9OqRh3Sk=" @@ -15799,6 +16921,16 @@ license = [ ] homepage = "https://codeberg.org/mononym/typst-ulb-phd-cover" +[lure."0.2.0"] +url = "https://packages.typst.org/preview/lure-0.2.0.tar.gz" +hash = "sha256-ruRclPuzCf8v7rnFjJolVgn3mG3LgK8ZwJ6mtw/sHKc=" +typstDeps = [] +description = "Parse and normalize URLs, based on the WHATWG URL Standard, powered by rust-url and WebAssembly" +license = [ + "MIT", +] +homepage = "https://github.com/YDX-2147483647/typst-lure" + [lure."0.1.0"] url = "https://packages.typst.org/preview/lure-0.1.0.tar.gz" hash = "sha256-AhJHPrxXiptVvI2mvIbwyzQg1X10cmmCmGxsrriIrPI=" @@ -16120,6 +17252,16 @@ license = [ ] homepage = "https://github.com/jneug/typst-mantys" +[manuscr-ismin."0.2.0"] +url = "https://packages.typst.org/preview/manuscr-ismin-0.2.0.tar.gz" +hash = "sha256-HOU9kquP0+ndRIS5kTopJXqVe0jSG6l3o4tDMVqOhU0=" +typstDeps = [] +description = "Writing reports and/or various documents at the École des Mines de Saint-Étienne (unofficial" +license = [ + "MIT", +] +homepage = "https://github.com/senaalem/manuscr-ismin" + [manuscr-ismin."0.1.0"] url = "https://packages.typst.org/preview/manuscr-ismin-0.1.0.tar.gz" hash = "sha256-vHCxn7msNu6AsmaozKRrzdNCh/CnQEKiqdnpZZYKCEY=" @@ -16270,6 +17412,18 @@ license = [ ] homepage = "https://github.com/krisjdev/university-of-lincoln-thesis" +[markly."0.4.0"] +url = "https://packages.typst.org/preview/markly-0.4.0.tar.gz" +hash = "sha256-XuMKgEAYTC8qhgqrewFjC6G5xj702UUBrZAmyiCen1A=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Typst package for bleed, cut and registration marks" +license = [ + "MIT", +] +homepage = "https://github.com/cskeeters/typst-markly" + [markly."0.3.0"] url = "https://packages.typst.org/preview/markly-0.3.0.tar.gz" hash = "sha256-tOTkwsozXxUaOPFWUhiMjltd6yNjMaJskdb869AJjdU=" @@ -16393,6 +17547,26 @@ license = [ ] homepage = "https://github.com/sxdl/MCM-Typst-template" +[meander."0.4.0"] +url = "https://packages.typst.org/preview/meander-0.4.0.tar.gz" +hash = "sha256-3BbN7u6R61DJmh+7pMOX1amEeSCxMR3DKOmsrhFEKzU=" +typstDeps = [] +description = "Page layout engine with image wrap-around and text threading" +license = [ + "MIT", +] +homepage = "https://github.com/Vanille-N/meander.typ" + +[meander."0.3.1"] +url = "https://packages.typst.org/preview/meander-0.3.1.tar.gz" +hash = "sha256-qB+oxzZQycI08iUt2/H8QeZSScP9MUAwPj/xhwZKuIg=" +typstDeps = [] +description = "Page layout engine with image wrap-around and text threading" +license = [ + "MIT", +] +homepage = "https://github.com/Vanille-N/meander.typ" + [meander."0.3.0"] url = "https://packages.typst.org/preview/meander-0.3.0.tar.gz" hash = "sha256-hK9ev0epq1+A88eU42uBLb4a5ZrjkT6k0lnoqUbSyiA=" @@ -16750,6 +17924,18 @@ license = [ ] homepage = "https://github.com/polylux-typ/metropolis" +[metropolyst."0.1.0"] +url = "https://packages.typst.org/preview/metropolyst-0.1.0.tar.gz" +hash = "sha256-6J8A9NGUj3fhnP+g5vnfptaSesDPvfc0OugqG4V8q7g=" +typstDeps = [ + "touying_0_6_1", +] +description = "Configurable Metropolis presentation theme for Touying" +license = [ + "MIT", +] +homepage = "https://github.com/benzipperer/metropolyst" + [miage-rapide-tp."0.1.2"] url = "https://packages.typst.org/preview/miage-rapide-tp-0.1.2.tar.gz" hash = "sha256-WmlEiIIg1THwzgDk3xcXEAIBd+ZTZYpb5fWT8kgQ35Q=" @@ -16957,6 +18143,20 @@ license = [ ] homepage = "https://github.com/Dav1com/minerva-report-fcfm" +[minerva-thesis."0.2.1"] +url = "https://packages.typst.org/preview/minerva-thesis-0.2.1.tar.gz" +hash = "sha256-u80YYYEXtvZ1GkCg1LLiKiEHsQS6SrVCseUMPcd6Nvw=" +typstDeps = [ + "abbr_0_3_0", + "alexandria_0_2_2", + "subpar_0_2_2", +] +description = "Doctoral and master's theses following guidelines at Ghent University and providing some additional functions and features" +license = [ + "MIT", +] +homepage = "https://github.com/lvandevelde/typst-minerva-thesis" + [minerva-thesis."0.2.0"] url = "https://packages.typst.org/preview/minerva-thesis-0.2.0.tar.gz" hash = "sha256-NgQzAXTwqHrYVe+h3q+MZbrKVBN44wjyRQ05QlDXcKU=" @@ -16983,6 +18183,16 @@ license = [ ] homepage = "https://github.com/lvandevelde/Typst-UGent-thesis" +[minicise."0.1.0"] +url = "https://packages.typst.org/preview/minicise-0.1.0.tar.gz" +hash = "sha256-3yUdBpQjlF0Jy4i9h0f8X5rxlpSpNM8iRBfcrHQs/5A=" +typstDeps = [] +description = "Minimal exercise sheet, providing a simple header and title" +license = [ + "MIT", +] +homepage = "https://codeberg.org/max-dau/minicise" + [minideck."0.2.1"] url = "https://packages.typst.org/preview/minideck-0.2.1.tar.gz" hash = "sha256-UuH/zXlYpibGZaQgpiifTmmA/8swJ+OUAlgWkBghsYk=" @@ -17550,6 +18760,33 @@ license = [ ] homepage = "https://github.com/mosrat/modern-bnu-thesis" +[modern-buaa-thesis."0.2.0"] +url = "https://packages.typst.org/preview/modern-buaa-thesis-0.2.0.tar.gz" +hash = "sha256-AwXlmsb8Nitn+DhxHhK3W/O4/9B1du/x/8tv7CeQ938=" +typstDeps = [ + "cuti_0_3_0", + "subpar_0_2_2", +] +description = "A modern thesis template for BUAA" +license = [ + "MIT", +] +homepage = "https://github.com/wangjq4214/buaa-thesis" + +[modern-buaa-thesis."0.1.2"] +url = "https://packages.typst.org/preview/modern-buaa-thesis-0.1.2.tar.gz" +hash = "sha256-g4h/+6rfzM2+1fCVxLh1EbKBY+x7GhzTj6lJjI0fY6U=" +typstDeps = [ + "cuti_0_3_0", + "lovelace_0_3_0", + "subpar_0_2_2", +] +description = "A modern thesis template for BUAA" +license = [ + "MIT", +] +homepage = "https://github.com/wangjq4214/buaa-thesis" + [modern-buaa-thesis."0.1.1"] url = "https://packages.typst.org/preview/modern-buaa-thesis-0.1.1.tar.gz" hash = "sha256-y4X7IWYd4+SW+DQG7GmNT/T5cEvwp6JRxXcsKn1/ot4=" @@ -18005,6 +19242,22 @@ license = [ ] homepage = "https://github.com/KercyDing/modern-hfut-report" +[modern-hkust-thesis."0.1.1"] +url = "https://packages.typst.org/preview/modern-hkust-thesis-0.1.1.tar.gz" +hash = "sha256-Wc82xsrCgCTeUwV7W9HEIrlsG7lgXjE9BEguwSzWkX0=" +typstDeps = [ + "abbr_0_2_3", + "booktabs_0_0_4", + "datify-core_1_0_0", + "numbly_0_1_0", + "titleize_0_1_1", +] +description = "📄 Thesis Template for HKUST-GZ in typst" +license = [ + "MIT", +] +homepage = "https://gitlab.hkust-gz.edu.cn/jlu625/typst-thesis-template" + [modern-hkust-thesis."0.1.0"] url = "https://packages.typst.org/preview/modern-hkust-thesis-0.1.0.tar.gz" hash = "sha256-sBNXAJYFrm88NhvxpTKrHXIGGDqa6dPJRry45CKLAO0=" @@ -18111,6 +19364,30 @@ license = [ ] homepage = "https://github.com/MrToWy/hsh-thesis" +[modern-hust-cs-report."0.1.1"] +url = "https://packages.typst.org/preview/modern-hust-cs-report-0.1.1.tar.gz" +hash = "sha256-lmumT4UBbNJJHhWOwXCdBtygi1RxvtYrXp1f/NtZJus=" +typstDeps = [ + "cuti_0_4_0", +] +description = "An unofficial curriculum and lab report template for the School of Computer Science at HUST" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/Paulkm2006/modern-hust-cs-report" + +[modern-hust-cs-report."0.1.0"] +url = "https://packages.typst.org/preview/modern-hust-cs-report-0.1.0.tar.gz" +hash = "sha256-+PpU3ZIC7uf4dftN82rgu/JPHmuvBfe2j20Nw3CaraI=" +typstDeps = [ + "cuti_0_4_0", +] +description = "An unofficial curriculum and lab report template for the School of Computer Science at HUST" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/Paulkm2006/modern-hust-cs-report" + [modern-hust-cse-report."0.1.0"] url = "https://packages.typst.org/preview/modern-hust-cse-report-0.1.0.tar.gz" hash = "sha256-xp03V7PC+OnC/NnQUm5A4awBjg9W2XXRwgyZUqYzaYY=" @@ -18193,6 +19470,16 @@ license = [ ] homepage = "https://github.com/bojohnson5/modern-iu-thesis" +[modern-jakarta-cv."0.1.0"] +url = "https://packages.typst.org/preview/modern-jakarta-cv-0.1.0.tar.gz" +hash = "sha256-fO03o5zeoNVOOF9o3aGsTO2878axZXom2AjwLyRfGCk=" +typstDeps = [] +description = "A professional, ultra-tight CV template optimized for marketing and business roles" +license = [ + "MIT", +] +homepage = "https://github.com/bulgogipedas/modern-jakarta-cv" + [modern-mla."0.1.0"] url = "https://packages.typst.org/preview/modern-mla-0.1.0.tar.gz" hash = "sha256-JGsMcYkoS8P5D/n94WPCE1vCQIhGOHbu4adZ5T0UYQ4=" @@ -18393,6 +19680,52 @@ license = [ "MIT", ] +[modern-pku-thesis."0.2.0"] +url = "https://packages.typst.org/preview/modern-pku-thesis-0.2.0.tar.gz" +hash = "sha256-HKGYjBsZqHxFqXLYLmglj0tuAgkNLd2Ngzembx4A/50=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "cuti_0_4_0", + "gb7714-bilingual_0_2_0", + "itemize_0_2_0", +] +description = "Dissertation template for Peking University (PKU" +license = [ + "MIT", +] +homepage = "https://github.com/pku-typst/pkuthss-typst" + +[modern-pku-thesis."0.1.1"] +url = "https://packages.typst.org/preview/modern-pku-thesis-0.1.1.tar.gz" +hash = "sha256-TmXYSs71Lh+ZFMru79wnU/AnUhar0GORv4/sbMzcLBc=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "cuti_0_4_0", + "itemize_0_2_0", +] +description = "Dissertation template for Peking University (PKU" +license = [ + "MIT", +] +homepage = "https://github.com/pku-typst/pkuthss-typst" + +[modern-pku-thesis."0.1.0"] +url = "https://packages.typst.org/preview/modern-pku-thesis-0.1.0.tar.gz" +hash = "sha256-Y4rh3fuxRq6VrRO0bQ1JI3fjBjnXLccUj9cJxYl3Iu8=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "cuti_0_4_0", + "itemize_0_2_0", +] +description = "Dissertation template for Peking University (PKU" +license = [ + "MIT", +] +homepage = "https://github.com/pku-typst/pkuthss-typst" + [modern-report-umfds."0.1.2"] url = "https://packages.typst.org/preview/modern-report-umfds-0.1.2.tar.gz" hash = "sha256-YVoSuE6U+FJFLTe71/8vFpd3oP6bRGQ6ovBAiniVUWU=" @@ -18599,6 +19932,18 @@ license = [ ] homepage = "https://github.com/XY-cpp/typst-shu-thesis" +[modern-sjtu-report."0.1.1"] +url = "https://packages.typst.org/preview/modern-sjtu-report-0.1.1.tar.gz" +hash = "sha256-9gzp7S49zKKyGzGXXGmxlHppnsjQy0QpFSsHOkj48Ls=" +typstDeps = [ + "lovelace_0_3_0", +] +description = "A lab report template for SJTU in Typst" +license = [ + "Unlicense", +] +homepage = "https://github.com/StellarLane/modern-sjtu-report" + [modern-sjtu-thesis."0.5.1"] url = "https://packages.typst.org/preview/modern-sjtu-thesis-0.5.1.tar.gz" hash = "sha256-smLLOXtmnMx8eiG/6dv/eoPF4KLK1vYv4DgFJYquXaQ=" @@ -18795,6 +20140,22 @@ license = [ ] homepage = "https://github.com/tzhTaylor/typst-sjtu-thesis-master" +[modern-sustech-thesis."0.2.0"] +url = "https://packages.typst.org/preview/modern-sustech-thesis-0.2.0.tar.gz" +hash = "sha256-EZ3xLBM8ve9CICgpKF8bVV7kuV0utu04FcCIxIRvBO8=" +typstDeps = [ + "conjak_0_2_3", + "equate_0_3_2", + "hydra_0_6_2", + "numbly_0_1_0", + "subpar_0_2_2", +] +description = "南方科技大学的学士、硕士、博士学位论文模版。" +license = [ + "MIT", +] +homepage = "https://github.com/lace-wing/lacy-sustech-thesis.typ" + [modern-sustech-thesis."0.1.1"] url = "https://packages.typst.org/preview/modern-sustech-thesis-0.1.1.tar.gz" hash = "sha256-QDo0ILNewya1ecyfMX1lcqzG5OvUkPOOZuTcEb2vfNQ=" @@ -19232,6 +20593,20 @@ license = [ ] homepage = "https://github.com/ustctug/modern-ustc-proposal" +[modern-whs-assignment."0.3.0"] +url = "https://packages.typst.org/preview/modern-whs-assignment-0.3.0.tar.gz" +hash = "sha256-pZu9LgD4xJuuQ6aDa1ssI8rMp56Sz4qEXa4IBNFj58Y=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "glossarium_0_5_9", +] +description = "Assignment template for Westfälische Hochschule" +license = [ + "MIT", +] +homepage = "https://github.com/alex289/whs-typst-templates" + [modern-whs-assignment."0.2.1"] url = "https://packages.typst.org/preview/modern-whs-assignment-0.2.1.tar.gz" hash = "sha256-uP8ZDJN5kFfUW/4ZlgQGYfUe9gnxZAvVv6hcwtoZkp0=" @@ -19272,6 +20647,20 @@ license = [ ] homepage = "https://github.com/alex289/whs-typst-templates" +[modern-whs-thesis."0.5.0"] +url = "https://packages.typst.org/preview/modern-whs-thesis-0.5.0.tar.gz" +hash = "sha256-Scc2z8xxDdpnu/m0wfI/iVEUEIcL1yjSyCdRtCV6baA=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "glossarium_0_5_9", +] +description = "Thesis template for Westfälische Hochschule" +license = [ + "MIT", +] +homepage = "https://github.com/alex289/whs-typst-templates" + [modern-whs-thesis."0.4.0"] url = "https://packages.typst.org/preview/modern-whs-thesis-0.4.0.tar.gz" hash = "sha256-IxuvqGXy51u0arHU41KRhqlL9UjxhWDWIUJv+tdnPjU=" @@ -19671,6 +21060,16 @@ license = [ ] homepage = "https://github.com/SillyFreak/typst-moodular" +[mousse-notes."1.0.0"] +url = "https://packages.typst.org/preview/mousse-notes-1.0.0.tar.gz" +hash = "sha256-nTJLUBgDTx3UyFMfa4L7fr67PGCguBwuVfZv6F9yrpA=" +typstDeps = [] +description = "Lecture notes with a style inspired by old math books" +license = [ + "MIT-0", +] +homepage = "https://github.com/dogeystamp/mousse-notes" + [mtret."0.1.0"] url = "https://packages.typst.org/preview/mtret-0.1.0.tar.gz" hash = "sha256-ENlVrYOxeSGOwSLAyOxuafbkX4X5mxOh88ZNM74pJgs=" @@ -19764,6 +21163,16 @@ license = [ ] homepage = "https://github.com/Emberwhirl/muw-touying-community" +[naifs-islamic-research-toolkit."0.1.0"] +url = "https://packages.typst.org/preview/naifs-islamic-research-toolkit-0.1.0.tar.gz" +hash = "sha256-QfcmGnCsVUSZjDOhm8LbHuxtbLI5IaLB9Uf7ee9AHwk=" +typstDeps = [] +description = "Render Quranic text using the Madinah Mushaf (King Fahd Complex) fonts" +license = [ + "MIT", +] +homepage = "https://github.com/NaifAlsultan/typst-quran-package" + [name-it."0.1.2"] url = "https://packages.typst.org/preview/name-it-0.1.2.tar.gz" hash = "sha256-Pdz3NnF03i37t8k7rmS29MEf4oRW2j0eqQPipyAmw7w=" @@ -19862,6 +21271,32 @@ license = [ ] homepage = "https://github.com/Haouo/NCKU-Thesis-Typst" +[neat-cv."0.6.2"] +url = "https://packages.typst.org/preview/neat-cv-0.6.2.tar.gz" +hash = "sha256-j/FXF60M2MYnDp6umsXEsra2PnPH6dMHkMDuXmdtWsM=" +typstDeps = [ + "datify_1_0_0", + "fontawesome_0_6_0", +] +description = "A modern and elegant CV template for Typst, inspired by Awesome CV and simple-hisptercv" +license = [ + "MIT", +] +homepage = "https://github.com/dialvarezs/neat-cv" + +[neat-cv."0.6.1"] +url = "https://packages.typst.org/preview/neat-cv-0.6.1.tar.gz" +hash = "sha256-86gsxCne1zhg1RBHktkJZiRnpMwlPdzHRiyJMpYPWfI=" +typstDeps = [ + "datify_1_0_0", + "fontawesome_0_6_0", +] +description = "A modern and elegant CV template for Typst, inspired by Awesome CV and simple-hisptercv" +license = [ + "MIT", +] +homepage = "https://github.com/dialvarezs/neat-cv" + [neat-cv."0.6.0"] url = "https://packages.typst.org/preview/neat-cv-0.6.0.tar.gz" hash = "sha256-K+i5yfQ4deSKjxlO+O0u6z5/SIBC60qQFYN7lw7y3TE=" @@ -20470,6 +21905,28 @@ license = [ ] homepage = "https://github.com/flaribbit/numbly" +[numeris-scribere."0.1.3"] +url = "https://packages.typst.org/preview/numeris-scribere-0.1.3.tar.gz" +hash = "sha256-OaCojRh5WlU/0y8N5n9938iaDVRjldSnjtg7iiJIIFc=" +typstDeps = [ + "ctxjs_0_3_2", +] +description = "Literal naming of numbers in multiple languages" +license = [ + "Unlicense", +] +homepage = "https://github.com/Simon-Laux/numeris-scribere" + +[numty."0.1.0"] +url = "https://packages.typst.org/preview/numty-0.1.0.tar.gz" +hash = "sha256-BmzO+BQiIHNqNYFHWRf1sR7abpGap5OysYdftzBA8oU=" +typstDeps = [] +description = "Numeric Typst: Perform mathematical operations on n-dimensional matrices, vectors and numbers with numpy-like broadcasting rules" +license = [ + "MIT", +] +homepage = "https://github.com/PabloRuizCuevas/numty" + [numty."0.0.5"] url = "https://packages.typst.org/preview/numty-0.0.5.tar.gz" hash = "sha256-hQ0G8J6ZVCrBxbyA4agWBepGHxLf81qCLxw592UuqO0=" @@ -20597,6 +22054,16 @@ license = [ ] homepage = "https://github.com/baptiste/nutshell" +[nutthead-ebnf."0.3.1"] +url = "https://packages.typst.org/preview/nutthead-ebnf-0.3.1.tar.gz" +hash = "sha256-Ya5g1tTigVAGZk4eOwdZ3swZ2FPCC8d6hrgX7F6b68s=" +typstDeps = [] +description = "A package to render Extended Backus-Naur Form (EBNF) grammars" +license = [ + "MIT", +] +homepage = "https://github.com/nutthead/nutthead-ebnf.typ" + [nutthead-ebnf."0.2.0"] url = "https://packages.typst.org/preview/nutthead-ebnf-0.2.0.tar.gz" hash = "sha256-JHrwCOr0/io9y/31AHtIj+TKFVPR1IzTf117Tzofgr8=" @@ -20607,6 +22074,16 @@ license = [ ] homepage = "https://github.com/nutthead/nutthead-ebnf.typ" +[oasis-align."0.3.3"] +url = "https://packages.typst.org/preview/oasis-align-0.3.3.tar.gz" +hash = "sha256-i1zZnVEGn5966680C1HU8l48O7Dp3UIcliCuV21JOVY=" +typstDeps = [] +description = "Cleanly place content side by side with equal heights using automatic content sizing" +license = [ + "MIT", +] +homepage = "https://github.com/jdpieck/oasis-align" + [oasis-align."0.3.2"] url = "https://packages.typst.org/preview/oasis-align-0.3.2.tar.gz" hash = "sha256-rthT6LNU65lw5pcz9tPiL/5wurbOxRow0xQW42+qxrY=" @@ -20988,6 +22465,26 @@ license = [ ] homepage = "https://github.com/andrea-orione/orionotes" +[ose-pic."0.1.1"] +url = "https://packages.typst.org/preview/ose-pic-0.1.1.tar.gz" +hash = "sha256-xzWShabPbmt/i5jrF2x1dxa4NlfO2Riv8vgXV/LWhC4=" +typstDeps = [] +description = "LaTeX compatibility commands" +license = [ + "MIT", +] +homepage = "https://github.com/neruthes/ose-pic-typst" + +[ose-pic."0.1.0"] +url = "https://packages.typst.org/preview/ose-pic-0.1.0.tar.gz" +hash = "sha256-uj3sv2LsiAT2xNyEnm7wRN06Pby6uVHIAzfr8k/4Bp0=" +typstDeps = [] +description = "LaTeX compatibility commands" +license = [ + "MIT", +] +homepage = "https://github.com/neruthes/ose-pic-typst" + [ostfriesen-layout."0.1.0"] url = "https://packages.typst.org/preview/ostfriesen-layout-0.1.0.tar.gz" hash = "sha256-LjQb2C6xpIBvOMPhgr3bXmmJrPggk/wB7YNDsgSCAR0=" @@ -21002,6 +22499,16 @@ license = [ ] homepage = "https://github.com/TobiBeh/HS-Emden-Leer-Typst-Template" +[ourchat."0.2.2"] +url = "https://packages.typst.org/preview/ourchat-0.2.2.tar.gz" +hash = "sha256-w+0DQsa1yAcj4w9gDCPSksAvZgw/k2F6MHTEWRe8PJY=" +typstDeps = [] +description = "Forge wonderful chat messages" +license = [ + "MIT", +] +homepage = "https://github.com/QuadnucYard/ourchat-typ" + [ourchat."0.2.1"] url = "https://packages.typst.org/preview/ourchat-0.2.1.tar.gz" hash = "sha256-SutkP9LuOhH/wev3eQex8UvqeAsdYF7OwvZJG2p+JjY=" @@ -21138,6 +22645,38 @@ license = [ ] homepage = "https://gitlab.com/doggobit/typst-owlbear" +[ox-scholar."0.2.0"] +url = "https://packages.typst.org/preview/ox-scholar-0.2.0.tar.gz" +hash = "sha256-ZOAfB/8HCKlGHrNPWKlFIS5suzus5pq7MyuomBJq1wo=" +typstDeps = [ + "hydra_0_6_2", +] +description = "Unofficial Oxford DPhil thesis template" +license = [ + "MIT", +] +homepage = "https://github.com/fcelli/ox-scholar" + +[ox-scholar."0.1.1"] +url = "https://packages.typst.org/preview/ox-scholar-0.1.1.tar.gz" +hash = "sha256-UJC6TVltHMfeiXXkKpykvZuwTbXYnyUs+P8bK3EOFtY=" +typstDeps = [] +description = "Unofficial Oxford DPhil thesis template" +license = [ + "MIT", +] +homepage = "https://github.com/fcelli/ox-scholar" + +[ox-scholar."0.1.0"] +url = "https://packages.typst.org/preview/ox-scholar-0.1.0.tar.gz" +hash = "sha256-1QHc/QdLJH0hO3kAQnQ1tN34tNAl4zdCyhVM3y5wZLE=" +typstDeps = [] +description = "Unofficial Oxford DPhil thesis template" +license = [ + "MIT", +] +homepage = "https://github.com/fcelli/ox-scholar" + [oxdraw."0.1.0"] url = "https://packages.typst.org/preview/oxdraw-0.1.0.tar.gz" hash = "sha256-L+boejcN9ATCubeMkXdTPfrg/rGzr464zVwz5x913oU=" @@ -21214,6 +22753,21 @@ license = [ ] homepage = "https://github.com/wensimehrp/paiagram" +[palimset."0.1.0"] +url = "https://packages.typst.org/preview/palimset-0.1.0.tar.gz" +hash = "sha256-hcJ3iawyuxmZz9wouPm8h3HxHOu9vIq2htgcj5fEqhM=" +typstDeps = [ + "cetz_0_4_2", + "charged-ieee_0_1_4", + "js_0_1_3", + "touying_0_6_1", +] +description = "A package that shows the differences between two documents" +license = [ + "MIT", +] +homepage = "https://github.com/tkrhsmt/palimset" + [pannotyp."0.0.1"] url = "https://packages.typst.org/preview/pannotyp-0.0.1.tar.gz" hash = "sha256-uYYkP+fsvpDcB5GG2ZoRxL7EzE7NG871mGUUP4GNhK4=" @@ -21364,6 +22918,57 @@ license = [ ] homepage = "https://github.com/sebmestrallet/typst-paris-saclay-thesis-flat" +[patatrac."0.5.0"] +url = "https://packages.typst.org/preview/patatrac-0.5.0.tar.gz" +hash = "sha256-muCkMYjZVVBMWEZIQ7cToLtSalsT4EZvtQHJyQ+AQgY=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A powerful and user-friendly Typst package for drawing physics diagrams" +license = [ + "LGPL-3.0-or-later", +] +homepage = "https://github.com/ZaninDavide/patatrac" + +[patstdlib."0.3.0"] +url = "https://packages.typst.org/preview/patstdlib-0.3.0.tar.gz" +hash = "sha256-/aNpCPP1nPQZ6qzlQG3whWpgki7wlCHrtzJuqEssqFY=" +typstDeps = [ + "algorithmic_1_0_7", + "typsy_0_2_1", +] +description = "Some standard pieces I find useful: fonts, subfigures, algorithms, labeled enums, etc" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/patrick-kidger/patstdlib" + +[patstdlib."0.2.0"] +url = "https://packages.typst.org/preview/patstdlib-0.2.0.tar.gz" +hash = "sha256-Ds6Oqfp13uA+jCFgWk++Qm1YCjlT9XCt/rL6HVpGvMk=" +typstDeps = [ + "algorithmic_1_0_7", + "typsy_0_2_1", +] +description = "Some standard pieces I find useful: fonts, subfigures, algorithms, labeled enums, etc" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/patrick-kidger/patstdlib" + +[patstdlib."0.1.0"] +url = "https://packages.typst.org/preview/patstdlib-0.1.0.tar.gz" +hash = "sha256-AGtTmT9JVrl1VNQVDYxjSQhmRGCkjp17+LirVoVNItk=" +typstDeps = [ + "algorithmic_1_0_7", + "typsy_0_2_1", +] +description = "Some standard pieces I find useful: fonts, subfigures, algorithms, labeled enums, etc" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/patrick-kidger/patstdlib" + [pavemat."0.2.0"] url = "https://packages.typst.org/preview/pavemat-0.2.0.tar.gz" hash = "sha256-ioR1YD0kpmqmheXasyI1NrbpdjtAOGvzkjGOOkGUuKk=" @@ -21444,6 +23049,16 @@ license = [ ] homepage = "https://github.com/philippdrebes/typst-payqr-swiss" +[pc-letter."0.3.1"] +url = "https://packages.typst.org/preview/pc-letter-0.3.1.tar.gz" +hash = "sha256-brIgFySVGWIn0v20GR/ljw1J5BQGhfTddKtjSYlMd7E=" +typstDeps = [] +description = "A simple letter template for personal correspondence" +license = [ + "MIT", +] +homepage = "https://github.com/thatfloflo/typst-pc-letter" + [pc-letter."0.3.0"] url = "https://packages.typst.org/preview/pc-letter-0.3.0.tar.gz" hash = "sha256-yCQ2S4RF6pfdteQdIFqq695szCubKw8d0s5+sbaQJVU=" @@ -21484,6 +23099,16 @@ license = [ ] homepage = "https://github.com/thatfloflo/typst-pc-letter" +[pdf-decorating."0.1.0"] +url = "https://packages.typst.org/preview/pdf-decorating-0.1.0.tar.gz" +hash = "sha256-rvNMygnv9VLd4oOAs+FYnBG539GMkK8Zu4k8h7CzfkM=" +typstDeps = [] +description = "Make your pdf more attractive like a html lady" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/hackyardo/pdf-decorating" + [peace-of-posters."0.5.6"] url = "https://packages.typst.org/preview/peace-of-posters-0.5.6.tar.gz" hash = "sha256-oFZwuAptnhscrFLeJ3cjaZsIs1gbAMrxjkxKwwoMGmg=" @@ -21652,6 +23277,35 @@ license = [ ] homepage = "https://github.com/Servostar/typst-percencode" +[pergamon."0.7.1"] +url = "https://packages.typst.org/preview/pergamon-0.7.1.tar.gz" +hash = "sha256-S4jQOyDhU7W8fVWg3Z5TQZ2Ka+zgBS+6xbQOjYaUsyA=" +typstDeps = [ + "bullseye_0_1_0", + "citegeist_0_2_1", + "nth_1_0_1", + "oxifmt_1_0_0", +] +description = "Biblatex-style reference management for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/alexanderkoller/pergamon" + +[pergamon."0.7.0"] +url = "https://packages.typst.org/preview/pergamon-0.7.0.tar.gz" +hash = "sha256-pAB1pEHZdlIj2keRql8CKlGLnEm5d5iOI3TT5WPlqdc=" +typstDeps = [ + "citegeist_0_2_0", + "nth_1_0_1", + "oxifmt_1_0_0", +] +description = "Biblatex-style reference management for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/alexanderkoller/pergamon" + [pergamon."0.6.0"] url = "https://packages.typst.org/preview/pergamon-0.6.0.tar.gz" hash = "sha256-WFPh+lSq44DsjVj62Jhjj/eNeE/+ClSlXzYmPvDJcIc=" @@ -21814,6 +23468,62 @@ license = [ ] homepage = "https://github.com/talal/pesha" +[pf2e-style."0.1.0"] +url = "https://packages.typst.org/preview/pf2e-style-0.1.0.tar.gz" +hash = "sha256-G7KDVIOGCpAq/of8NF1oVKXLluvKLg6knTLjatamaEE=" +typstDeps = [] +description = "Pathfinder 2.1 Edition Toolkit" +license = [ + "MIT-0", +] +homepage = "https://gitlab.com/Jed_Hed/pf2e-typst" + +[phonokit."0.3.0"] +url = "https://packages.typst.org/preview/phonokit-0.3.0.tar.gz" +hash = "sha256-oi9yB7MHOP4pk3oiDxyHQvnRzK8m2VmuixtezH/nJ1c=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A toolkit to create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[phonokit."0.2.0"] +url = "https://packages.typst.org/preview/phonokit-0.2.0.tar.gz" +hash = "sha256-glkgWobMWjHzU4UqEAUwSS4nK+r+4WYc+JEDXQY4Nik=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[phonokit."0.0.1"] +url = "https://packages.typst.org/preview/phonokit-0.0.1.tar.gz" +hash = "sha256-rHdLbbFjITjwozpgzpqV6YgmIGy/wOVrt5Rv3pdTTHs=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Phonology toolkit: IPA transcription (tipa-style), prosodic structures, vowel/consonant charts with language inventories" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[physica."0.9.8"] +url = "https://packages.typst.org/preview/physica-0.9.8.tar.gz" +hash = "sha256-mPUFvFMLx+sajWWGtDXL3TDrHufYz1WF+AHfL4fZAu8=" +typstDeps = [] +description = "Math constructs for science and engineering: derivative, differential, vector field, matrix, tensor, Dirac braket, hbar, transpose, conjugate, many operators, and more" +license = [ + "MIT", +] +homepage = "https://github.com/Leedehai/typst-physics" + [physica."0.9.7"] url = "https://packages.typst.org/preview/physica-0.9.7.tar.gz" hash = "sha256-YIhz9AiVFZlwsrY+xX0Xu+MQjdX+Q5Spy3AUa0ZDKmw=" @@ -22534,6 +24244,16 @@ license = [ ] homepage = "https://github.com/SillyFreak/typst-prequery" +[presentate."0.2.3"] +url = "https://packages.typst.org/preview/presentate-0.2.3.tar.gz" +hash = "sha256-8oYwwQ/4q1X35vBYDY0IwCxSWHom4gDjGcTSVf+2mw4=" +typstDeps = [] +description = "A package to create slides with ease" +license = [ + "MIT", +] +homepage = "https://github.com/pacaunt/typst-presentate" + [presentate."0.2.2"] url = "https://packages.typst.org/preview/presentate-0.2.2.tar.gz" hash = "sha256-chpQGr7FYj0C12EHZiq0bLQKyevWI4eWtvG2Z7TKMBk=" @@ -22669,6 +24389,32 @@ license = [ ] homepage = "https://github.com/Jac-Zac/project-isi-zac.git" +[prometeu-thesis."1.0.0"] +url = "https://packages.typst.org/preview/prometeu-thesis-1.0.0.tar.gz" +hash = "sha256-BYP/zUu+22PBu7RD7pOE2zJJyX5GKCkjd1IwjVwStkk=" +typstDeps = [ + "glossarium_0_5_10", + "in-dexter_0_7_2", +] +description = "Thesis template for University of Minho" +license = [ + "MIT", +] +homepage = "https://github.com/chicoferreira/prometeu-thesis" + +[prometeu-thesis."0.2.0"] +url = "https://packages.typst.org/preview/prometeu-thesis-0.2.0.tar.gz" +hash = "sha256-eVATPUT+2u4yBe1RYQGNXY/3/nvh6BzOno0JHZuK9eg=" +typstDeps = [ + "glossarium_0_5_9", + "in-dexter_0_7_2", +] +description = "Thesis template for University of Minho" +license = [ + "MIT", +] +homepage = "https://github.com/chicoferreira/prometeu-thesis" + [prometeu-thesis."0.1.0"] url = "https://packages.typst.org/preview/prometeu-thesis-0.1.0.tar.gz" hash = "sha256-6vE+weAieHaj2yLC+HgLeYipkccapzAqd7La9TFPEuc=" @@ -23205,6 +24951,26 @@ license = [ ] homepage = "https://github.com/EpicEricEE/typst-quick-maths" +[quick-minutes."1.2.4"] +url = "https://packages.typst.org/preview/quick-minutes-1.2.4.tar.gz" +hash = "sha256-KW6jq9N7KFY3rXXuhHgvuiqMXdwdiK/+ey9NUZ358Mg=" +typstDeps = [] +description = "A typst template for the keeping of minutes" +license = [ + "MIT", +] +homepage = "https://github.com/Lypsilonx/quick-minutes" + +[quick-minutes."1.2.3"] +url = "https://packages.typst.org/preview/quick-minutes-1.2.3.tar.gz" +hash = "sha256-RBCFIWOIXcZDpRKlz56On9FBMlV4/zKO8ItrVHkmd4Q=" +typstDeps = [] +description = "A typst template for the keeping of minutes" +license = [ + "MIT", +] +homepage = "https://github.com/Lypsilonx/quick-minutes" + [quick-minutes."1.2.2"] url = "https://packages.typst.org/preview/quick-minutes-1.2.2.tar.gz" hash = "sha256-NsOuTyN+KzMAP3D++vSe1ZmCGhx9fY2mFpYjLYs4Hd8=" @@ -23457,6 +25223,16 @@ license = [ ] homepage = "https://github.com/yusancky/railynx" +[ratchet."0.0.1"] +url = "https://packages.typst.org/preview/ratchet-0.0.1.tar.gz" +hash = "sha256-c94QjS+FsGIFDtoBX1ov08S6uKj03W6YbxkzpMSAgBA=" +typstDeps = [] +description = "`ratchet` is a typst package for improved figure/table/equation/math.equation/custom-kind numbering and counters" +license = [ + "MIT", +] +homepage = "https://github.com/An-314/ratchet" + [ready-acm-dtu-ux."0.1.0"] url = "https://packages.typst.org/preview/ready-acm-dtu-ux-0.1.0.tar.gz" hash = "sha256-iBPQniPBZ3CAbBU8z8atUeLkTWuMyeYh68Fz7L6InT4=" @@ -24040,6 +25816,19 @@ license = [ ] homepage = "https://github.com/typst-community/rowmantic" +[rubber-article."0.5.1"] +url = "https://packages.typst.org/preview/rubber-article-0.5.1.tar.gz" +hash = "sha256-I6ei1kbeh637Gpmx5WNr0Arfo1CShkGKjZg+fFyNbew=" +typstDeps = [ + "hydra_0_6_2", + "pillar_0_3_3", +] +description = "A simple template recreating the look of the classic LaTeX article" +license = [ + "MIT", +] +homepage = "https://github.com/npikall/rubber-article.git" + [rubber-article."0.5.0"] url = "https://packages.typst.org/preview/rubber-article-0.5.0.tar.gz" hash = "sha256-5IhFTrk1r9FXTA9IpvWejnxKpJlN3svKrDH2XD+9o30=" @@ -24921,6 +26710,26 @@ license = [ ] homepage = "https://github.com/wznmickey/typst-self-example" +[sertyp."0.1.1"] +url = "https://packages.typst.org/preview/sertyp-0.1.1.tar.gz" +hash = "sha256-M+O9ZM8CeV1V/nW5+ojC6iTLQE/PmiQNi1+M6bteKuU=" +typstDeps = [] +description = "Serialization and deserialization of most typst types into sertyp CBOR format: This includes markdown, math, etc" +license = [ + "MIT", +] +homepage = "https://github.com/Uhrendoktor/sertyp" + +[sertyp."0.1.0"] +url = "https://packages.typst.org/preview/sertyp-0.1.0.tar.gz" +hash = "sha256-vtkYaCz2zXlGK/zLa8gznQSt44u/f2GL2CWPbvZr9wc=" +typstDeps = [] +description = "Serialization and deserialization of most types. Markdown, math, etc" +license = [ + "MIT", +] +homepage = "https://github.com/Uhrendoktor/sertyp" + [shadowed."0.2.0"] url = "https://packages.typst.org/preview/shadowed-0.2.0.tar.gz" hash = "sha256-TDZsj+sK5aIaX7luRUdtyH0YxTWzrFRyrIvUlOk+MfI=" @@ -25369,6 +27178,30 @@ license = [ "MIT", ] +[shuimu-touying."0.2.0"] +url = "https://packages.typst.org/preview/shuimu-touying-0.2.0.tar.gz" +hash = "sha256-aMHUz3oFB9OXBTlYd/OoYYUR40TtFJkaw2w3FxurGGA=" +typstDeps = [ + "touying_0_6_1", +] +description = "A clean, Beamer-style presentation template for Tsinghua University" +license = [ + "MIT", +] +homepage = "https://github.com/JSB-Unscarred/shuimu-touying" + +[shuimu-touying."0.1.0"] +url = "https://packages.typst.org/preview/shuimu-touying-0.1.0.tar.gz" +hash = "sha256-snl0qhdMCBS2WMovT0fYlPUCMo62ZZF+yRyU0AqrjNc=" +typstDeps = [ + "touying_0_6_1", +] +description = "A clean, Beamer-style presentation template for Tsinghua University" +license = [ + "MIT", +] +homepage = "https://github.com/JSB-Unscarred/shuimu-touying" + [shuosc-shu-bachelor-thesis."1.0.0"] url = "https://packages.typst.org/preview/shuosc-shu-bachelor-thesis-1.0.0.tar.gz" hash = "sha256-Vnbv/eJJrANE6A6phhaCqsn1uNN5hfrfJ/6mKvKWlB0=" @@ -25827,6 +27660,18 @@ license = [ ] homepage = "https://github.com/chillcicada/simple-handout-template" +[simple-hust-report."0.1.0"] +url = "https://packages.typst.org/preview/simple-hust-report-0.1.0.tar.gz" +hash = "sha256-fxR79qbbGhXHqU3rgQacq/EY8Sc5X+HEcFND5qjUqmQ=" +typstDeps = [ + "lovelace_0_3_0", +] +description = "A experiment/project report template for HUST students(and also suitable for other schools" +license = [ + "MIT", +] +homepage = "https://github.com/kkkkkkeng/hust-report-template-typst" + [simple-inria-touying-theme."0.1.1"] url = "https://packages.typst.org/preview/simple-inria-touying-theme-0.1.1.tar.gz" hash = "sha256-hil8KBmo7ubWj6fku+JFjRbOy0uZfOye8LYFUb5GJ1Y=" @@ -25900,6 +27745,30 @@ license = [ ] homepage = "https://github.com/torsteinnh/simple-ntnu-report" +[simple-plot."0.2.0"] +url = "https://packages.typst.org/preview/simple-plot-0.2.0.tar.gz" +hash = "sha256-PDvV9x26J0MhkiuMSaWrs0j8MiFy31EXeYqFsv9DGOw=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Simple, pgfplots-like function plotting for Typst" +license = [ + "MIT", +] +homepage = "https://gitlab.com/nathan-ed/typst-package-simple-plot" + +[simple-plot."0.1.0"] +url = "https://packages.typst.org/preview/simple-plot-0.1.0.tar.gz" +hash = "sha256-2wr9bMC8vXkHsdDBFIebaXmJmSFGMbgv92GII7J3aHs=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Simple, pgfplots-like function plotting for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/nathan-ed/simple-plot" + [simple-preavis."0.1.0"] url = "https://packages.typst.org/preview/simple-preavis-0.1.0.tar.gz" hash = "sha256-x5dtbcF3MGGGkGjAYSLHphn7XcrCnmRsf1g27aAq3vI=" @@ -25910,6 +27779,40 @@ license = [ ] homepage = "https://github.com/mathias-aparicio/simple-preavis" +[simple-receipt-printer."2.0.0"] +url = "https://packages.typst.org/preview/simple-receipt-printer-2.0.0.tar.gz" +hash = "sha256-ElE8U5as0ROWVAtonpnolmvH9sCDlyyeCRnL2VJrgDU=" +typstDeps = [] +description = "Print to a thermal receipt printer" +license = [ + "MIT", +] +homepage = "https://github.com/allgoewer/typst-packages" + +[simple-receipt-printer."1.0.0"] +url = "https://packages.typst.org/preview/simple-receipt-printer-1.0.0.tar.gz" +hash = "sha256-IxCRxoi8hifg7FuBmvy6yKAjQghSteMcgoJ9U3zx3Zc=" +typstDeps = [] +description = "Print to a thermal receipt printer" +license = [ + "MIT", +] +homepage = "https://github.com/allgoewer/typst-packages" + +[simple-research-poster."0.1.0"] +url = "https://packages.typst.org/preview/simple-research-poster-0.1.0.tar.gz" +hash = "sha256-qunQ04+3cEIqMUCrxKyhraJOORUet6zilfoqdCA1J8c=" +typstDeps = [ + "cetz_0_4_2", + "mannot_0_3_0", + "valkyrie_0_2_2", +] +description = "Simple research poster" +license = [ + "MIT-0", +] +homepage = "https://github.com/aneziac/simple-research-poster" + [simple-technical-resume."0.1.1"] url = "https://packages.typst.org/preview/simple-technical-resume-0.1.1.tar.gz" hash = "sha256-/P72crwL3pqiHqKCCuZy/lzvv86CYams967bTppcCrE=" @@ -25982,6 +27885,19 @@ license = [ ] homepage = "https://github.com/biipo/typst-unive-template" +[simple-xd-resume."0.1.0"] +url = "https://packages.typst.org/preview/simple-xd-resume-0.1.0.tar.gz" +hash = "sha256-fUl4ufNkjPvoqYzy9NjVd4CU8HMcqpxAPUMXCISuo6o=" +typstDeps = [ + "datify_1_0_0", + "fontawesome_0_6_0", +] +description = "A simple resume" +license = [ + "MIT", +] +homepage = "https://github.com/HinnyTsang/simple-xd-resume" + [simplebnf."0.1.1"] url = "https://packages.typst.org/preview/simplebnf-0.1.1.tar.gz" hash = "sha256-dGCrPJW/E4rRKwO8Q+M0g1+zuC5N58Y5nrp1l4Q/9W8=" @@ -26056,6 +27972,16 @@ license = [ ] homepage = "https://github.com/UtkarshVerma/sleek-university-assignment" +[slipst."0.1.0"] +url = "https://packages.typst.org/preview/slipst-0.1.0.tar.gz" +hash = "sha256-VP0qelJQk7mQ38Y2ioLkJBxvolX2Q+onKn2tZdOTJus=" +typstDeps = [] +description = "A new paradigm for presentations, inspired by slipshow" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/Wybxc/slipst" + [slydst."0.1.5"] url = "https://packages.typst.org/preview/slydst-0.1.5.tar.gz" hash = "sha256-koBCXklTJgihnbiIquI0/Gy4qK2oOFHT/bA8vMNnLj0=" @@ -26198,6 +28124,26 @@ license = [ ] homepage = "https://github.com/Bi0T1N/typst-socialhub-fa" +[solo-lu-df."1.0.0"] +url = "https://packages.typst.org/preview/solo-lu-df-1.0.0.tar.gz" +hash = "sha256-s/lBjW9HzcxfsJoylHxdX+LECUrvQDkjGVBdRDd3S4k=" +typstDeps = [] +description = "Write qualification papers, bachelor’s theses, and master’s theses for University of Latvia, Computer Science programme" +license = [ + "MIT-0", +] +homepage = "https://github.com/kristoferssolo/LU-DF-Typst-Template" + +[solo-lu-df."0.1.4"] +url = "https://packages.typst.org/preview/solo-lu-df-0.1.4.tar.gz" +hash = "sha256-M5sp53jND4CCCM6R2HBH+L0H4kGXXu9GPGTxx+odVGo=" +typstDeps = [] +description = "Write qualification papers, bachelor’s theses, and master’s theses for University of Latvia, Computer Science programme" +license = [ + "MIT-0", +] +homepage = "https://github.com/kristoferssolo/LU-DF-Typst-Template" + [solo-lu-df."0.1.3"] url = "https://packages.typst.org/preview/solo-lu-df-0.1.3.tar.gz" hash = "sha256-kkILSt3dLXJd3/HXjPX0fLyI5JQGPZ3k05Tog4Mt3w8=" @@ -26337,6 +28283,18 @@ license = [ ] homepage = "https://github.com/zhinenggongziliaoku/songting-book" +[sos-ugent-style."0.3.0"] +url = "https://packages.typst.org/preview/sos-ugent-style-0.3.0.tar.gz" +hash = "sha256-0qMFlaPbt4GiBYJQj4NmUae6FZMKTnlk3tPkp89SN4c=" +typstDeps = [ + "drafting_0_2_2", +] +description = "Write documents, presentations and dissertations in the same, uniform UGent style. Unofficial template" +license = [ + "GPL-3.0-only", +] +homepage = "https://codeberg.org/th1j5/typst-sos-ugent-style" + [sos-ugent-style."0.2.0"] url = "https://packages.typst.org/preview/sos-ugent-style-0.2.0.tar.gz" hash = "sha256-NgcPW5AsXOFMaALkcrMATJeXK3JZQK4HrwPb/0NbsPg=" @@ -26987,6 +28945,18 @@ license = [ ] homepage = "https://github.com/tingerrr/subpar" +[suiji."0.5.1"] +url = "https://packages.typst.org/preview/suiji-0.5.1.tar.gz" +hash = "sha256-HLyLEXodi2r/Ac/kz1jrqXL9+rOO2sbkMOXsJtSsQcA=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A high efficient random number generator in Typst" +license = [ + "MIT", +] +homepage = "https://github.com/liuguangxi/suiji" + [suiji."0.5.0"] url = "https://packages.typst.org/preview/suiji-0.5.0.tar.gz" hash = "sha256-2V03DiXni+W2mz6w+FX2nW3XXiIOo14NR4gXMwshDeI=" @@ -27406,6 +29376,38 @@ license = [ ] homepage = "https://github.com/DannySeidel/typst-dhbw-template" +[supercharged-hm."0.1.2"] +url = "https://packages.typst.org/preview/supercharged-hm-0.1.2.tar.gz" +hash = "sha256-qt2HDUDZKTMJMjVViFQOAqPRdPjB/AL8WL6duhFdaNA=" +typstDeps = [ + "codelst_2_0_2", + "drafting_0_2_2", + "glossarium_0_5_10", + "hydra_0_6_2", + "linguify_0_5_0", +] +description = "Unofficial Template for Munich University of Applied Science (HM" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/FelixSchladt/supercharged-hm" + +[supercharged-hm."0.1.1"] +url = "https://packages.typst.org/preview/supercharged-hm-0.1.1.tar.gz" +hash = "sha256-PuQQZPkQ2v1dsgNaRkBLNnF8O1r5J3oaxwS+OCw4e90=" +typstDeps = [ + "codelst_2_0_2", + "drafting_0_2_2", + "glossarium_0_5_9", + "hydra_0_6_2", + "linguify_0_5_0", +] +description = "Unofficial Template for Munich University of Applied Science (HM" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/FelixSchladt/supercharged-hm" + [supercharged-hm."0.1.0"] url = "https://packages.typst.org/preview/supercharged-hm-0.1.0.tar.gz" hash = "sha256-0LzAEIEnBH0uTIrtGsAz8OYT6e5qWZTtZysvsy8qC/4=" @@ -27910,6 +29912,16 @@ license = [ "MIT-0", ] +[taskize."0.2.0"] +url = "https://packages.typst.org/preview/taskize-0.2.0.tar.gz" +hash = "sha256-JJd8OtbN7bqXifOrKw3XeuIgpBSc156eXvtqU/baA7U=" +typstDeps = [] +description = "Horizontal and vertical columned lists for exercises and tasks, similar to LaTeX's tasks package" +license = [ + "MIT", +] +homepage = "https://gitlab.com/nathan-ed/typst-package-taskize" + [tasteful-pairings."0.1.0"] url = "https://packages.typst.org/preview/tasteful-pairings-0.1.0.tar.gz" hash = "sha256-j68y3BmvDWBFKt5XdOHJxu3lAR5XX5PD0Tw6JXIdXSk=" @@ -27974,6 +29986,19 @@ license = [ ] homepage = "https://github.com/maxcrees/tbl.typ" +[tblr."0.4.3"] +url = "https://packages.typst.org/preview/tblr-0.4.3.tar.gz" +hash = "sha256-2UMyCmWYoKSSwoa3wqZqs7tpFE3/of7VR78MZ6gI1Vs=" +typstDeps = [ + "rowmantic_0_4_0", + "zero_0_3_0", +] +description = "Table generation and alignment helpers inspired by LaTeX's Tabularray package" +license = [ + "MIT", +] +homepage = "https://github.com/tshort/tblr" + [tblr."0.4.2"] url = "https://packages.typst.org/preview/tblr-0.4.2.tar.gz" hash = "sha256-izComxcQ7DMpDse6Zc1weGasGzrCp0SLeDBrv9IH3ck=" @@ -28073,6 +30098,54 @@ license = [ ] homepage = "https://github.com/tshort/tblr" +[tcdm."0.0.2"] +url = "https://packages.typst.org/preview/tcdm-0.0.2.tar.gz" +hash = "sha256-1OtK0wkrd6sUAR4jXrAqzoWxmOUb/mAxVeDV4Qpsqww=" +typstDeps = [ + "cmarker_0_1_8", +] +description = "HTML generator for best-of lists, especially Best of Typst (TCDM" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/YDX-2147483647/best-of-typst" + +[tcdm."0.0.1"] +url = "https://packages.typst.org/preview/tcdm-0.0.1.tar.gz" +hash = "sha256-aK4W8dsLQmVeSIq1a8MyQ3IYfu0yjnsZaAuFgMwxbOc=" +typstDeps = [ + "cmarker_0_1_8", +] +description = "HTML generator for best-of lists, especially Best of Typst (TCDM" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/YDX-2147483647/best-of-typst" + +[tdtr."0.5.0"] +url = "https://packages.typst.org/preview/tdtr-0.5.0.tar.gz" +hash = "sha256-AB7AIjOJmyos+8uN8XpmJWoOHglMZ+3ThpGgVqyrla0=" +typstDeps = [ + "fletcher_0_5_8", +] +description = "A package for drawing beautiful tidy tree easily" +license = [ + "MIT", +] +homepage = "https://github.com/Vertsineu/typst-tdtr" + +[tdtr."0.4.4"] +url = "https://packages.typst.org/preview/tdtr-0.4.4.tar.gz" +hash = "sha256-pqXrQPABJZlmD4cpFsPmQvGsOlB4sIphcLTSmZv6MRA=" +typstDeps = [ + "fletcher_0_5_8", +] +description = "A package for drawing beautiful tidy tree easily" +license = [ + "MIT", +] +homepage = "https://github.com/Vertsineu/typst-tdtr" + [tdtr."0.4.3"] url = "https://packages.typst.org/preview/tdtr-0.4.3.tar.gz" hash = "sha256-oKinakXOXKrgwiHetw9vk2qwyXK1n9uVFjW0G9HJ3gU=" @@ -28436,6 +30509,16 @@ license = [ ] homepage = "https://github.com/Danila-Bain/typst-theorems" +[theoretic."0.3.0"] +url = "https://packages.typst.org/preview/theoretic-0.3.0.tar.gz" +hash = "sha256-YF2LFOZlEPkSS1zVgy6ngPNCz6eCeRmcQveyY8sTv/w=" +typstDeps = [] +description = "Opinionated tool to typeset theorems, lemmas and such" +license = [ + "Unlicense", +] +homepage = "https://github.com/nleanba/typst-theoretic" + [theoretic."0.2.0"] url = "https://packages.typst.org/preview/theoretic-0.2.0.tar.gz" hash = "sha256-MYLu49+gFBfkSnmTqc7Nh9qsjstJMBB2BFDaQdQLddI=" @@ -28551,6 +30634,22 @@ license = [ ] homepage = "https://github.com/OrangeX4/typst-theorion" +[thesist."1.1.0"] +url = "https://packages.typst.org/preview/thesist-1.1.0.tar.gz" +hash = "sha256-axYyGm3H3KRVU+Htyvq8OBmWzbiazkPN/32MThP33Ts=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "glossarium_0_5_9", + "lovelace_0_3_0", + "subpar_0_2_2", +] +description = "A Master's thesis template for Instituto Superior Técnico (IST" +license = [ + "MIT", +] +homepage = "https://codeberg.org/tfachada/thesist" + [thesist."1.0.2"] url = "https://packages.typst.org/preview/thesist-1.0.2.tar.gz" hash = "sha256-VSY1Syhq3D7pBdzE9YDX4+P5UpM5CzG/39ad/PwpCZM=" @@ -28802,6 +30901,40 @@ license = [ "MIT", ] +[tieflang."0.1.0"] +url = "https://packages.typst.org/preview/tieflang-0.1.0.tar.gz" +hash = "sha256-qmCGdi8Lq5aR6tfQgU+Y/v55vtvpSzJHW7VHLzxFMnw=" +typstDeps = [] +description = "Translation Library for Tief* Templates" +license = [ + "MIT", +] +homepage = "https://github.com/Tiefseetauchner/TiefLang" + +[tiefletter."0.2.1"] +url = "https://packages.typst.org/preview/tiefletter-0.2.1.tar.gz" +hash = "sha256-72g9jG6FnK8zqCupPnUwpu6JW488UoI1+NFCCZvNqVc=" +typstDeps = [ + "tiaoma_0_3_0", + "tieflang_0_1_0", +] +description = "Invoice and offer template for Austrian freelancers" +license = [ + "MIT", +] +homepage = "https://github.com/Tiefseetauchner/TiefLetter" + +[tiefletter."0.2.0"] +url = "https://packages.typst.org/preview/tiefletter-0.2.0.tar.gz" +hash = "sha256-GGFIqx58egDa6V3MdEuiGfxyGkINknvbHj49YJgXrKM=" +typstDeps = [ + "tiaoma_0_3_0", +] +description = "Invoice and offer template for Austrian freelancers" +license = [ + "MIT", +] + [tiefletter."0.1.3"] url = "https://packages.typst.org/preview/tiefletter-0.1.3.tar.gz" hash = "sha256-BZER3U5LIYvGdlk63Gi0Pylx2xhs9cTK29YXjm7HJ2Y=" @@ -28846,6 +30979,16 @@ license = [ "MIT", ] +[tieflied."0.2.1"] +url = "https://packages.typst.org/preview/tieflied-0.2.1.tar.gz" +hash = "sha256-sJq0pREPKgsqvKbtG5r9oQNIGzcIK1+7XMFn4aig9w4=" +typstDeps = [] +description = "Song book template (Liederbuch" +license = [ + "MIT", +] +homepage = "https://github.com/Tiefseetauchner/TiefLied" + [tieflied."0.2.0"] url = "https://packages.typst.org/preview/tieflied-0.2.0.tar.gz" hash = "sha256-u7FwEuClg+OW82StKG0Q4JM2IY9L/JrGuPR71mPJquU=" @@ -29194,6 +31337,26 @@ license = [ ] homepage = "https://github.com/chillcicada/tntt" +[to-stuff."0.5.1"] +url = "https://packages.typst.org/preview/to-stuff-0.5.1.tar.gz" +hash = "sha256-jNHU43QRp/1022m739eAOH16+OVNetH0HLLE/Kr1VS4=" +typstDeps = [] +description = "Safely parse string values into native data types: lengths, alignments, colors and more" +license = [ + "BSD-3-Clause", +] +homepage = "https://codeberg.org/boondoc/typst-to-stuff" + +[to-stuff."0.5.0"] +url = "https://packages.typst.org/preview/to-stuff-0.5.0.tar.gz" +hash = "sha256-FYi1ecBWO2upNJEcPCK2hyuPPh5sAzxTgytl966zJD4=" +typstDeps = [] +description = "Safely parse string values into native data types: lengths, alignments, colors and more" +license = [ + "BSD-3-Clause", +] +homepage = "https://codeberg.org/boondoc/typst-to-stuff" + [to-stuff."0.4.0"] url = "https://packages.typst.org/preview/to-stuff-0.4.0.tar.gz" hash = "sha256-yrkGyOyoxR+Ii5WcIXsnclp3v39vtIxd6n0JPFo4C6I=" @@ -29254,6 +31417,18 @@ license = [ ] homepage = "https://codeberg.org/boondoc/typst-to-stuff" +[toffee-tufte."0.1.1"] +url = "https://packages.typst.org/preview/toffee-tufte-0.1.1.tar.gz" +hash = "sha256-7H8FB3BqI7MlGsGCr6XewSgzxv380Tkx+eLP2aKll/E=" +typstDeps = [ + "drafting_0_2_2", +] +description = "An opinionated Tufte-inspired template for scientific reports" +license = [ + "MIT", +] +homepage = "https://codeberg.org/jianweicheong/toffee-tufte" + [toffee-tufte."0.1.0"] url = "https://packages.typst.org/preview/toffee-tufte-0.1.0.tar.gz" hash = "sha256-WdZ/O39zj4niuZy8iyZNJEYsdGOayH/IInythJqyBZ0=" @@ -29904,6 +32079,32 @@ license = [ ] homepage = "https://github.com/Quaternijkon/Typst_USTC_CS" +[touying-quarto-clean."0.1.4"] +url = "https://packages.typst.org/preview/touying-quarto-clean-0.1.4.tar.gz" +hash = "sha256-MF+G2z22j/7NEmXfovnGhYi8UjmMMUGfc9nxDS2D78Y=" +typstDeps = [ + "fontawesome_0_6_0", + "touying_0_6_1", +] +description = "A Clean Slide Theme for Touying" +license = [ + "MIT", +] +homepage = "https://github.com/kazuyanagimoto/quarto-clean-typst" + +[touying-quarto-clean."0.1.3"] +url = "https://packages.typst.org/preview/touying-quarto-clean-0.1.3.tar.gz" +hash = "sha256-tG3A3LdaPVfLbL1A5QCuUKyD1ylcCXRMQpquZ7C7zPU=" +typstDeps = [ + "fontawesome_0_6_0", + "touying_0_6_1", +] +description = "A Clean Slide Theme for Touying" +license = [ + "MIT", +] +homepage = "https://github.com/kazuyanagimoto/quarto-clean-typst" + [touying-quarto-clean."0.1.2"] url = "https://packages.typst.org/preview/touying-quarto-clean-0.1.2.tar.gz" hash = "sha256-VjH0PkaGedpLOnrCo9Qofv3hE2bEXrTNliSpztMkibI=" @@ -29943,6 +32144,21 @@ license = [ ] homepage = "https://github.com/kazuyanagimoto/quarto-clean-typst" +[touying-quick."0.4.0"] +url = "https://packages.typst.org/preview/touying-quick-0.4.0.tar.gz" +hash = "sha256-2u2pqM5aITpqsv/QkTzp8CRrMw2XtZ93+cY5Z9TYYrA=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "theorion_0_4_1", + "touying_0_6_1", +] +description = "A quick-start template based on touying for academic reports" +license = [ + "MIT", +] +homepage = "https://github.com/ivaquero/touying-quick.git" + [touying-quick."0.3.0"] url = "https://packages.typst.org/preview/touying-quick-0.3.0.tar.gz" hash = "sha256-QT0PZ1bnWJEGczwxTVFEeZGJWZM6IMUMeDK0/9T5Fa0=" @@ -30012,6 +32228,21 @@ license = [ ] homepage = "https://github.com/ivaquero/touying-quick.git" +[touying-simpl-cau."0.2.1"] +url = "https://packages.typst.org/preview/touying-simpl-cau-0.2.1.tar.gz" +hash = "sha256-rbdyZyCytIVQVEpqo+OGT9+qlsJqBrkgleV3NKd/P78=" +typstDeps = [ + "cetz_0_4_2", + "fletcher_0_5_8", + "numbly_0_1_0", + "touying_0_6_1", +] +description = "Touying Slide Theme for China Agricultural University" +license = [ + "MIT", +] +homepage = "https://github.com/maxchang3/touying-simpl-cau" + [touying-simpl-cau."0.2.0"] url = "https://packages.typst.org/preview/touying-simpl-cau-0.2.0.tar.gz" hash = "sha256-ZNqxrRPAa27RzF5Ib6u9PRAizftPqH2o8ar+NZ6yWAQ=" @@ -30043,6 +32274,21 @@ license = [ ] homepage = "https://github.com/maxchang3/touying-simpl-cau" +[touying-simpl-ecnu."0.0.1"] +url = "https://packages.typst.org/preview/touying-simpl-ecnu-0.0.1.tar.gz" +hash = "sha256-gO5LN0Rb0EYH7OCQdd7N6wjEUNoFbS377aITKzLSwSw=" +typstDeps = [ + "cetz_0_4_2", + "fletcher_0_5_8", + "numbly_0_1_0", + "touying_0_6_1", +] +description = "Touying Slide Theme for East China Normal University" +license = [ + "MIT", +] +homepage = "https://github.com/ccyoung3/touying-simpl-ecnu" + [touying-simpl-hkustgz."0.1.2"] url = "https://packages.typst.org/preview/touying-simpl-hkustgz-0.1.2.tar.gz" hash = "sha256-KAfxpNi8hLwlscFZvc2yFSdeagvmNFquuQHxit3NWwk=" @@ -30085,6 +32331,18 @@ license = [ ] homepage = "https://github.com/exAClior/touying-simpl-hkustgz" +[touying-simpl-neu."0.1.0"] +url = "https://packages.typst.org/preview/touying-simpl-neu-0.1.0.tar.gz" +hash = "sha256-zfLLa+spF6wRKevASv+iGe5Hi1IQgbSZv64AxXZ/e5M=" +typstDeps = [ + "touying_0_6_1", +] +description = "东北大学 Touying 幻灯片主题 (Touying Slide Theme for NEU" +license = [ + "MIT", +] +homepage = "https://github.com/SchrodingerBlume/touying-simpl-neu" + [touying-simpl-sjtu."0.1.0"] url = "https://packages.typst.org/preview/touying-simpl-sjtu-0.1.0.tar.gz" hash = "sha256-cMHpV1gcDaxYeNXuvNmuMSCDKTbNMwPNPCdNxAsLC9A=" @@ -30097,6 +32355,19 @@ license = [ ] homepage = "https://github.com/tzhTaylor/touying-sjtu" +[touying-simpl-swufe."0.2.0"] +url = "https://packages.typst.org/preview/touying-simpl-swufe-0.2.0.tar.gz" +hash = "sha256-DRW8AZWUv1g/pubpJyFIkDc0kwhxKxjDJl/4ND8WE3o=" +typstDeps = [ + "shadowed_0_2_0", + "touying_0_6_1", +] +description = "Touying slide theme for SWUFE (Southwestern University of Finance and Economics" +license = [ + "MIT", +] +homepage = "https://github.com/leichaol/touying-simpl-swufe" + [touying-simpl-swufe."0.1.0"] url = "https://packages.typst.org/preview/touying-simpl-swufe-0.1.0.tar.gz" hash = "sha256-wu901p+f0WaIK+7X2Xh+m3EUDCWKfbwahnlxGnpl0vE=" @@ -30254,6 +32525,20 @@ license = [ ] homepage = "https://github.com/ToyHugs/toy-cv" +[tracl."0.8.0"] +url = "https://packages.typst.org/preview/tracl-0.8.0.tar.gz" +hash = "sha256-SnuYI2fci9zmMtbk4wp48011HITmF6oy3S0bBBj2bLw=" +typstDeps = [ + "bullseye_0_1_0", + "oxifmt_1_0_0", + "pergamon_0_7_0", +] +description = "Template for papers at *ACL conferences" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/coli-saar/tracl" + [tracl."0.7.1"] url = "https://packages.typst.org/preview/tracl-0.7.1.tar.gz" hash = "sha256-yX2gBm6Sbv9wEqmEOcJEcy09TPC2yPqkcm6EK9vxlkM=" @@ -30472,6 +32757,16 @@ license = [ ] homepage = "https://github.com/ThumusLive/truthfy" +[ttq-classic-resume."0.1.0"] +url = "https://packages.typst.org/preview/ttq-classic-resume-0.1.0.tar.gz" +hash = "sha256-Ogyhrw0dxVC1Fq+t59IbDK00U8GyTdR32/+nn2bsO+g=" +typstDeps = [] +description = "A clean and modern resume" +license = [ + "MIT", +] +homepage = "https://github.com/nibsbin/ttq-classic-resume" + [ttt-exam."0.1.2"] url = "https://packages.typst.org/preview/ttt-exam-0.1.2.tar.gz" hash = "sha256-pd9Ckp8poHRmHc0UMUEW43c3prI/QWCSYLMjSI02DiY=" @@ -30804,6 +33099,26 @@ license = [ ] homepage = "https://github.com/vuw-scps/tuhi-programme-vuw" +[tum-tastic-thesis."0.1.1"] +url = "https://packages.typst.org/preview/tum-tastic-thesis-0.1.1.tar.gz" +hash = "sha256-LGNFoZbegDfa8vOHZtt8le89jyK4NizQ8UUVHEzX+UU=" +typstDeps = [] +description = "Thesis and Dissertation for the TU Munich" +license = [ + "MIT", +] +homepage = "https://github.com/santiagonar1/tum-tastic-thesis" + +[tum-tastic-thesis."0.1.0"] +url = "https://packages.typst.org/preview/tum-tastic-thesis-0.1.0.tar.gz" +hash = "sha256-MJ/lojjAgRgixSvTFb3+AkT6teHkwJZK8WYxPdus4Vw=" +typstDeps = [] +description = "Thesis and Dissertation for the TU Munich" +license = [ + "MIT", +] +homepage = "https://github.com/santiagonar1/tum-tastic-thesis" + [tutor."0.8.0"] url = "https://packages.typst.org/preview/tutor-0.8.0.tar.gz" hash = "sha256-M/t2Z/i2mYdeLX/K9LUBbf8DUg4KcjsE6PS1wWEHGDo=" @@ -30865,6 +33180,18 @@ license = [ ] homepage = "https://github.com/QuantumRange/twig" +[twilight-book."0.1.6"] +url = "https://packages.typst.org/preview/twilight-book-0.1.6.tar.gz" +hash = "sha256-40l9GWIXZaVpb/HNUc6Qlct4p6pm/oZDE7A+cxnkQ4Q=" +typstDeps = [ + "one-liner_0_2_0", +] +description = "Provide a numerous light and dark themes" +license = [ + "MIT", +] +homepage = "https://github.com/CrossDark/TwilightBook/" + [twilight-book."0.1.4"] url = "https://packages.typst.org/preview/twilight-book-0.1.4.tar.gz" hash = "sha256-aoRPg5Rw3qT5LCQ6+YS9jr0mZRKXAkx8tVfk3vigavc=" @@ -30877,6 +33204,15 @@ license = [ ] homepage = "https://github.com/CrossDark/TwilightBook/" +[tyipa."0.1.1"] +url = "https://packages.typst.org/preview/tyipa-0.1.1.tar.gz" +hash = "sha256-ctHkuW5ydIZdmt33t3NRSIyhZRuhampw8bz0DFvdDyU=" +typstDeps = [] +description = "Write phonetic transcriptions using the IPA" +license = [ + "MIT", +] + [tyipa."0.1.0"] url = "https://packages.typst.org/preview/tyipa-0.1.0.tar.gz" hash = "sha256-DYIL0JnmjvxNTFj5XFHYuWPrbcbp+R8vSSE6cx4gVtw=" @@ -31182,6 +33518,16 @@ license = [ ] homepage = "https://github.com/Typsium/typsium-iso-7010" +[typslides."1.3.2"] +url = "https://packages.typst.org/preview/typslides-1.3.2.tar.gz" +hash = "sha256-fYS5iHfwuxhyPopdCcwTa/XNA62Ll1us0ga8nO1YpEY=" +typstDeps = [] +description = "Minimalistic Typst slides" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/manjavacas/typslides" + [typslides."1.3.0"] url = "https://packages.typst.org/preview/typslides-1.3.0.tar.gz" hash = "sha256-qDds+7SK+1/s2HtetqOAaZM864ZuDbpGz0FF/J8PXA8=" @@ -31272,6 +33618,16 @@ license = [ ] homepage = "https://github.com/manjavacas/typslides" +[typsy."0.2.2"] +url = "https://packages.typst.org/preview/typsy-0.2.2.tar.gz" +hash = "sha256-tv+DWBqgSU6VfZPnO7GPg02bZLTG/QIr9cMxMLUUiL8=" +typstDeps = [] +description = "Classes/structs, pattern matching, safe counters... and more! Your one-stop library for programming tools not already in core Typst" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/patrick-kidger/typsy" + [typsy."0.2.1"] url = "https://packages.typst.org/preview/typsy-0.2.1.tar.gz" hash = "sha256-hume4ASj1gi4ceDD8zcbmdnEoFTc1GUkcCKA03J0Yts=" @@ -31302,6 +33658,36 @@ license = [ ] homepage = "https://github.com/patrick-kidger/typsy" +[typwire."0.1.0"] +url = "https://packages.typst.org/preview/typwire-0.1.0.tar.gz" +hash = "sha256-Vcr+z7f6qMCL+IrbtSSRtNVtii/BaMkF93Eo9YskUGg=" +typstDeps = [] +description = "Extended CBOR encoder for the Typst plugin system" +license = [ + "MIT", + "Apache-2.0", +] +homepage = "https://github.com/T1mVo/typwire" + +[typxidian."1.0.0"] +url = "https://packages.typst.org/preview/typxidian-1.0.0.tar.gz" +hash = "sha256-dU1XaQOq37Dz6fXVBMUvgt/IsaUhu7+yPHjKD5aE4zM=" +typstDeps = [ + "booktabs_0_0_4", + "cetz_0_4_2", + "cetz-plot_0_1_3", + "decasify_0_11_2", + "fontawesome_0_6_0", + "plotsy-3d_0_2_1", + "subpar_0_2_2", + "wrap-it_0_1_1", +] +description = "Modern note-taking, thesis and academic reports inspried by Obsidian and 'Alice in a Differentiable Wonderland" +license = [ + "MIT", +] +homepage = "https://github.com/angelonazzaro/typxidian" + [typxidian."0.1.3"] url = "https://packages.typst.org/preview/typxidian-0.1.3.tar.gz" hash = "sha256-3CfbtU0vMdN2zV50y6UdtF4XVGklmXirdw1gqDIcDA0=" @@ -31490,6 +33876,17 @@ license = [ ] homepage = "https://github.com/typst/templates" +[unichar."0.3.2"] +url = "https://packages.typst.org/preview/unichar-0.3.2.tar.gz" +hash = "sha256-YzL7rS0YtuMSMntb+akWpEqaLlP3zWZtKmnGyfhjaT4=" +typstDeps = [] +description = "A partial port of the Unicode Character Database" +license = [ + "MIT", + "Unicode-3.0", +] +homepage = "https://github.com/MDLC01/unichar" + [unichar."0.3.1"] url = "https://packages.typst.org/preview/unichar-0.3.1.tar.gz" hash = "sha256-34g4nQlpWFmYnHFzEGS4sDjrYPS50Z+2xisnkn+Sz18=" @@ -32026,6 +34423,30 @@ license = [ ] homepage = "https://github.com/cseas002/kth-thesis-proposal" +[unofficial-sdu-lab-report."0.1.1"] +url = "https://packages.typst.org/preview/unofficial-sdu-lab-report-0.1.1.tar.gz" +hash = "sha256-LOrmkPtvnH7dX3cozigXxdMc4KRRaaJ4lpp+Ad5n6Hw=" +typstDeps = [ + "numbly_0_1_0", +] +description = "A unofficial SDU common lab report" +license = [ + "MIT", +] +homepage = "https://github.com/Arshtyi/SDU-Lab-Report" + +[unofficial-sdu-lab-report."0.1.0"] +url = "https://packages.typst.org/preview/unofficial-sdu-lab-report-0.1.0.tar.gz" +hash = "sha256-QuNGcuAPX1e/OKRzijIfX3L2iPyQbboFTQzdKBWOg1Y=" +typstDeps = [ + "numbly_0_1_0", +] +description = "A unofficial SDU common lab report" +license = [ + "MIT", +] +homepage = "https://github.com/Arshtyi/SDU-Lab-Report" + [unofficial-sdu-thesis."1.0.0"] url = "https://packages.typst.org/preview/unofficial-sdu-thesis-1.0.0.tar.gz" hash = "sha256-RnBRBBqyjwEmjw+I7s8ld1fxRxRuwcx/biTDFXZzoJM=" @@ -32157,6 +34578,20 @@ license = [ ] homepage = "https://github.com/Pipcount/template-polytech-ulb" +[unofficial-uninsubria-thesis."0.1.0"] +url = "https://packages.typst.org/preview/unofficial-uninsubria-thesis-0.1.0.tar.gz" +hash = "sha256-EQnxKy6l7YE/IeOZC6j1RMJuSMSiqwfHOqCBnZ0YSi4=" +typstDeps = [ + "codelst_2_0_2", + "glossarium_0_5_9", + "hydra_0_6_2", +] +description = "A Typst Template for Universita degli studi dell'Insubria" +license = [ + "MIT", +] +homepage = "https://github.com/sboogway/uninsubria-thesis" + [unofficial-uo-dissertation-2024."1.0.0"] url = "https://packages.typst.org/preview/unofficial-uo-dissertation-2024-1.0.0.tar.gz" hash = "sha256-vh3sZ/psWsCIezc2xJNqzfMintLjXKzM3nIqh7nmmxo=" @@ -32330,6 +34765,16 @@ license = [ ] homepage = "https://github.com/bpkleer/typst-academicons" +[use-tabler-icons."0.17.0"] +url = "https://packages.typst.org/preview/use-tabler-icons-0.17.0.tar.gz" +hash = "sha256-/svB2BQa58F9k5KahZzx98eo5hHI1YHTZhIDhw+/SCE=" +typstDeps = [] +description = "Tabler Icons for Typst using webfont" +license = [ + "MIT", +] +homepage = "https://github.com/zyf722/typst-tabler-icons" + [use-tabler-icons."0.15.0"] url = "https://packages.typst.org/preview/use-tabler-icons-0.15.0.tar.gz" hash = "sha256-NsBCnHiP99sxUp3jufF+QyhMeYxHwXsPzPXCmnntIg0=" @@ -32630,6 +35075,16 @@ license = [ ] homepage = "https://github.com/sardorml/vantage-typst" +[varioref."0.1.0"] +url = "https://packages.typst.org/preview/varioref-0.1.0.tar.gz" +hash = "sha256-1hJd/OIW423PhW4Mo6c7DhY/uxClUycMipiX3dIwojQ=" +typstDeps = [] +description = "Cross-references that include page number when needed" +license = [ + "Apache-2.0", +] +homepage = "https://git.ortolo.eu/typst-varioref.git/" + [vartable."0.2.3"] url = "https://packages.typst.org/preview/vartable-0.2.3.tar.gz" hash = "sha256-ywR3RoomMM2YTwZsQOLetX1g5VzZGdlj+27pBV+wTpo=" @@ -32756,6 +35211,18 @@ license = [ ] homepage = "https://github.com/elegaanz/vercanard" +[versatile-apa."7.2.0"] +url = "https://packages.typst.org/preview/versatile-apa-7.2.0.tar.gz" +hash = "sha256-YNdflRvOBaILdstRuUHHpATeVrIkcUdHqxyI+CD9OtE=" +typstDeps = [ + "orchid_0_1_0", +] +description = "Comprehensive APA 7th Edition Style Template for Typst, suitable for both student and professional papers" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/jassielof/typst-templates" + [versatile-apa."7.1.5"] url = "https://packages.typst.org/preview/versatile-apa-7.1.5.tar.gz" hash = "sha256-Jtw/+oj4ke7vshv09W8T8wPmLHBBtJGOdXsHZAV2XaE=" @@ -32925,6 +35392,18 @@ license = [ ] homepage = "https://github.com/npikall/vienna-tech.git" +[vintage-fiit-thesis."1.1.0"] +url = "https://packages.typst.org/preview/vintage-fiit-thesis-1.1.0.tar.gz" +hash = "sha256-zaQLM4K8B0nzVXmrnGsm4DCt013z2V025OV709Kvq4A=" +typstDeps = [ + "hydra_0_6_2", +] +description = "Bachelor's or master's thesis at Faculty of Informatics and Information Technologies (FIIT), STU" +license = [ + "MIT-0", +] +homepage = "https://github.com/sasetz/fiit_template" + [vintage-fiit-thesis."1.0.0"] url = "https://packages.typst.org/preview/vintage-fiit-thesis-1.0.0.tar.gz" hash = "sha256-b0IhuLRLLQjqVtnsGMCAiae/64wU7u5BWo7gpTzzPdQ=" @@ -33188,6 +35667,16 @@ license = [ ] homepage = "https://github.com/schang412/whalogen" +[wicked."0.2.0"] +url = "https://packages.typst.org/preview/wicked-0.2.0.tar.gz" +hash = "sha256-6r/Xux2DpFLdYXst+JsOA4Jai1k6p4AbKPcMxhUnajs=" +typstDeps = [] +description = "A flexible and easy-to-use package for typesetting Wick contractions" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/ZaninDavide/wicked" + [wicked."0.1.1"] url = "https://packages.typst.org/preview/wicked-0.1.1.tar.gz" hash = "sha256-OK+P/UUrvcCK+RjnpDBkyELeMlYnaQPGV7vWRZP3nb4=" @@ -33350,6 +35839,34 @@ license = [ ] homepage = "https://github.com/ntjess/wrap-it" +[wubrg."0.1.0"] +url = "https://packages.typst.org/preview/wubrg-0.1.0.tar.gz" +hash = "sha256-c3jwR+8ze+YvQ7D8NLdbIm1FySxjVsGKCtuCu0Wj0DM=" +typstDeps = [] +description = "Display mana symbols from Magic the Gathering" +license = [ + "MIT", +] +homepage = "https://github.com/Pazzaz/mana-symbols-typst" + +[wut-thesis."0.2.0"] +url = "https://packages.typst.org/preview/wut-thesis-0.2.0.tar.gz" +hash = "sha256-ygBWZroSf6PTSb16nlMxN29+nDPV9ZiUwp2gqgTdxI0=" +typstDeps = [ + "cheq_0_3_0", + "drafting_0_2_2", + "glossarium_0_5_9", + "hydra_0_6_2", + "linguify_0_4_2", + "lovelace_0_3_0", + "meander_0_3_0", +] +description = "Official thesis template for the Warsaw University of Technology" +license = [ + "MIT-0", +] +homepage = "https://github.com/fuine/wut-thesis-typst" + [wut-thesis."0.1.1"] url = "https://packages.typst.org/preview/wut-thesis-0.1.1.tar.gz" hash = "sha256-cAIU5KyyPqwwjITWBx0hgMl/dzPXpYU+nC/N01hJ4MU=" @@ -33446,6 +35963,16 @@ license = [ ] homepage = "https://codeberg.org/loutr/typst-xarrow/" +[xodec."0.2.0"] +url = "https://packages.typst.org/preview/xodec-0.2.0.tar.gz" +hash = "sha256-FtJITkmnSydq72AS2zMmY8ali51hmuNOei/wMsZ0MJ8=" +typstDeps = [] +description = "Get Codex/Typst names of symbols" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/MDLC01/xodec" + [xyznote."0.4.0"] url = "https://packages.typst.org/preview/xyznote-0.4.0.tar.gz" hash = "sha256-XTTZF60IxFdXkd3O9qMvR01PkNjgqLmRPVfYJNIP2ZY=" @@ -33848,6 +36375,16 @@ license = [ ] homepage = "https://github.com/hongjr03/typst-zebraw" +[zeitline."0.1.0"] +url = "https://packages.typst.org/preview/zeitline-0.1.0.tar.gz" +hash = "sha256-YZJVjU6WMnnxNzGb45T0JaExxMgWsK8Bw8qZ2LKaLvI=" +typstDeps = [] +description = "Plot timelines" +license = [ + "MIT", +] +homepage = "https://github.com/teismar/typst-zeitline" + [zen-utbm-report."0.1.0"] url = "https://packages.typst.org/preview/zen-utbm-report-0.1.0.tar.gz" hash = "sha256-0uA9IuafpIbUvAkpLmfIbnie2eTh0V7GGfnas15Y42Y=" @@ -33888,6 +36425,16 @@ license = [ ] homepage = "https://github.com/tomeichlersmith/zen-zine" +[zero."0.6.0"] +url = "https://packages.typst.org/preview/zero-0.6.0.tar.gz" +hash = "sha256-relJH63SK2H3snB3FwWWnGg2LVWrLCxzocccAz6FgI0=" +typstDeps = [] +description = "Advanced scientific number formatting" +license = [ + "MIT", +] +homepage = "https://github.com/Mc-Zen/zero" + [zero."0.5.0"] url = "https://packages.typst.org/preview/zero-0.5.0.tar.gz" hash = "sha256-mvS4ZMl0XdpL9W0gn5C2iQhTQSjBDmiYzwTI36wBeIM=" From d3c01abfbfa75d0d9a3ac3bf227cc0d7b05871a3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:41:15 +0000 Subject: [PATCH 1000/1216] vfox: 1.0.2 -> 1.0.4 --- pkgs/by-name/vf/vfox/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vf/vfox/package.nix b/pkgs/by-name/vf/vfox/package.nix index 13490914bf66..3c1a26e03076 100644 --- a/pkgs/by-name/vf/vfox/package.nix +++ b/pkgs/by-name/vf/vfox/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "vfox"; - version = "1.0.2"; + version = "1.0.4"; src = fetchFromGitHub { owner = "version-fox"; repo = "vfox"; tag = "v${finalAttrs.version}"; - hash = "sha256-iCHvrq1GoW1J6BnslhhFb7M9IE4DGtoXLRrZe2PzlAU="; + hash = "sha256-42uaGW+qo9YC7FIpucWna+RwKhIsObFGYQja1fcArQo="; }; vendorHash = "sha256-+swC2G8g0rrANsUM8jXad+38QX0yWIf+2boyAv7+hG8="; From ee60122c12160a379f701ff1ca9705dbe10485c4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:55:36 +0000 Subject: [PATCH 1001/1216] doctl: 1.148.0 -> 1.149.0 --- pkgs/by-name/do/doctl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/doctl/package.nix b/pkgs/by-name/do/doctl/package.nix index acaef387a326..3e0ee5b8debb 100644 --- a/pkgs/by-name/do/doctl/package.nix +++ b/pkgs/by-name/do/doctl/package.nix @@ -9,7 +9,7 @@ buildGoModule rec { pname = "doctl"; - version = "1.148.0"; + version = "1.149.0"; vendorHash = null; @@ -42,7 +42,7 @@ buildGoModule rec { owner = "digitalocean"; repo = "doctl"; tag = "v${version}"; - hash = "sha256-iQJ9P2hEDvL1VwUdwH4mbglJ9oO/4XyH7FX0F0J6+TI="; + hash = "sha256-Pqmm609fe1FNwlSxkjM9lFc5nQhzA+cCqwAxzkDl1pQ="; }; meta = { From 608785a8a3001a97e0d57d4cfe989f44c212f945 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:59:19 +0000 Subject: [PATCH 1002/1216] crd2pulumi: 1.6.0 -> 1.6.1 --- pkgs/by-name/cr/crd2pulumi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cr/crd2pulumi/package.nix b/pkgs/by-name/cr/crd2pulumi/package.nix index 7638c2ac89e7..8be4afc7ff87 100644 --- a/pkgs/by-name/cr/crd2pulumi/package.nix +++ b/pkgs/by-name/cr/crd2pulumi/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "crd2pulumi"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "pulumi"; repo = "crd2pulumi"; rev = "v${version}"; - sha256 = "sha256-f18E0mUE3bT5od0JBzyAEXOHymoPtpRHeZhZnQR4Ezw="; + sha256 = "sha256-0D5U3Ie9h5R0kTLb5YHshtYrwuoXxPX0fYAJGqUw35w="; }; - vendorHash = "sha256-cLp0EWF6h/xCWbqadpbgLRFmH8RKWoY6xPb/tzZoKzM="; + vendorHash = "sha256-mO1DgyasJFYpRxeTd8Dinn1mcddCjTiUqs54WD31V/w="; ldflags = [ "-s" From c552193ecb5e94fd102d69aea56a92937de71365 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 15:03:25 +0000 Subject: [PATCH 1003/1216] snakemake: 9.14.7 -> 9.15.0 --- pkgs/by-name/sn/snakemake/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sn/snakemake/package.nix b/pkgs/by-name/sn/snakemake/package.nix index 334adb2dca00..ab13b3b9a014 100644 --- a/pkgs/by-name/sn/snakemake/package.nix +++ b/pkgs/by-name/sn/snakemake/package.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication rec { pname = "snakemake"; - version = "9.14.7"; + version = "9.15.0"; pyproject = true; src = fetchFromGitHub { owner = "snakemake"; repo = "snakemake"; tag = "v${version}"; - hash = "sha256-kKULORORg187jwEp5rjtWBVYdS0IA+aYCnPhJj7mVNE="; + hash = "sha256-wkx19shtDWs/9E3Dg22YG1G3RCzMx4STLQm1gYUK1wk="; }; postPatch = '' From 0eae9e7e6390d514219cd59b1e94386c7c8b465f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 15:10:36 +0000 Subject: [PATCH 1004/1216] aws-vault: 7.8.7 -> 7.9.0 --- pkgs/by-name/aw/aws-vault/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index d65ce380545a..176e905ed688 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -10,17 +10,17 @@ }: buildGoModule rec { pname = "aws-vault"; - version = "7.8.7"; + version = "7.9.0"; src = fetchFromGitHub { owner = "ByteNess"; repo = "aws-vault"; rev = "v${version}"; - hash = "sha256-q4I/sCFo8svf+XL+Eln5TWLvj1ggaRjUplSgV6M0f9s="; + hash = "sha256-G80hDf6rpWzgkS1VESBGUpTcShvnuCH1OAiMboOz37k="; }; proxyVendor = true; - vendorHash = "sha256-tsIyY+L3Bvv/3uvRVkCGK4cAZXQyZSa0mUPDg8Aqml8="; + vendorHash = "sha256-7ONAv0EooaseR5kpca8y2OX8yOKMID2xgkYC4rm4CcQ="; nativeBuildInputs = [ installShellFiles From aa23c184d6a08e551587372602a33fd533a8d634 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 13:55:05 +0000 Subject: [PATCH 1005/1216] grafana-loki,promtail: 3.6.3 -> 3.6.4 https://github.com/grafana/loki/releases/tag/v3.6.4 --- pkgs/by-name/gr/grafana-loki/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gr/grafana-loki/package.nix b/pkgs/by-name/gr/grafana-loki/package.nix index 1a4f9512d3e6..8fc57ba06924 100644 --- a/pkgs/by-name/gr/grafana-loki/package.nix +++ b/pkgs/by-name/gr/grafana-loki/package.nix @@ -12,14 +12,14 @@ }: buildGoModule rec { - version = "3.6.3"; + version = "3.6.4"; pname = "grafana-loki"; src = fetchFromGitHub { owner = "grafana"; repo = "loki"; rev = "v${version}"; - hash = "sha256-bkB3VXpZIpVjvYF7b2lGNFQ5AbTdadPkLFMdOuzRalo="; + hash = "sha256-zzYW0zg0Cg18aDNS4cGDeTW21K/sDB/BkpsoPpxgFok="; }; vendorHash = null; From 686626956c045c386afdbb0d1cfacd482602bcd1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 15:22:01 +0000 Subject: [PATCH 1006/1216] python3Packages.pydash: 8.0.5 -> 8.0.6 --- pkgs/development/python-modules/pydash/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pydash/default.nix b/pkgs/development/python-modules/pydash/default.nix index 87c7972f15d7..7c88c7dd6b65 100644 --- a/pkgs/development/python-modules/pydash/default.nix +++ b/pkgs/development/python-modules/pydash/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "pydash"; - version = "8.0.5"; + version = "8.0.6"; pyproject = true; src = fetchFromGitHub { owner = "dgilland"; repo = "pydash"; tag = "v${version}"; - hash = "sha256-u8vLE0kjsnV2HNt3N3kmnaabgQzW3FcH4qxycNdv1Ls="; + hash = "sha256-8DPeM9Q9NrlVF9a6vIfJLGyyB2SrWpZZRHZKqU/DT2w="; }; build-system = [ setuptools ]; From d383c1e62c41a61caa2661bab890da551e6eee61 Mon Sep 17 00:00:00 2001 From: Romain Paquet Date: Thu, 15 Jan 2026 22:04:53 +0100 Subject: [PATCH 1007/1216] ocamlPackages.httpcats: init at 0.1.0 --- .../ocaml-modules/httpcats/default.nix | 57 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/ocaml-modules/httpcats/default.nix diff --git a/pkgs/development/ocaml-modules/httpcats/default.nix b/pkgs/development/ocaml-modules/httpcats/default.nix new file mode 100644 index 000000000000..64b81403b8ce --- /dev/null +++ b/pkgs/development/ocaml-modules/httpcats/default.nix @@ -0,0 +1,57 @@ +{ + fetchFromGitHub, + buildDunePackage, + lib, + logs, + miou, + fmt, + h2, + h1, + ca-certs, + bstr, + tls-miou-unix, + dns-client-miou-unix, + happy-eyeballs-miou-unix, + mirage-crypto-rng-miou-unix, + alcotest, + digestif, +}: + +buildDunePackage (finalAttrs: { + pname = "httpcats"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "robur-coop"; + repo = "httpcats"; + tag = "v${finalAttrs.version}"; + hash = "sha256-t3gSfv73XYntle1dd4k9bv893pGStk1NHz62mAvcHAs="; + }; + + propagatedBuildInputs = [ + h2 + h1 + ca-certs + bstr + tls-miou-unix + dns-client-miou-unix + happy-eyeballs-miou-unix + ]; + + doCheck = true; + checkInputs = [ + logs + fmt + mirage-crypto-rng-miou-unix + alcotest + digestif + ]; + + meta = { + inherit (finalAttrs.src.meta) homepage; + description = "A simple HTTP client / server using h1, h2, and miou"; + changelog = "https://github.com/robur-coop/httpcats/blob/${finalAttrs.src.tag}/CHANGES.md"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ rpqt ]; + }; +}) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 7d636a8f1652..a73509d8cd22 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -825,6 +825,8 @@ let httpaf-lwt-unix = callPackage ../development/ocaml-modules/httpaf/lwt-unix.nix { }; + httpcats = callPackage ../development/ocaml-modules/httpcats { }; + httpun = callPackage ../development/ocaml-modules/httpun { }; httpun-eio = callPackage ../development/ocaml-modules/httpun/eio.nix { }; From 3ada791ccdc9393fbc95683b084f1f9f044ccb88 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 08:40:00 +0000 Subject: [PATCH 1008/1216] chawan: 0.3.2 -> 0.3.3 --- pkgs/by-name/ch/chawan/package.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ch/chawan/package.nix b/pkgs/by-name/ch/chawan/package.nix index 34bfcc8f10cf..34f5779cb13f 100644 --- a/pkgs/by-name/ch/chawan/package.nix +++ b/pkgs/by-name/ch/chawan/package.nix @@ -14,19 +14,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "chawan"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromSourcehut { owner = "~bptato"; repo = "chawan"; tag = "v${finalAttrs.version}"; - hash = "sha256-JPFQsu5vLSesgpbX79Z5e0GGFIsC4PUJuZQS8a5Oq2c="; + hash = "sha256-GVDh94pgdMlwHMyqtT8q2yM+rwioodBYQfA+AOZ/CsU="; }; - env.NIX_CFLAGS_COMPILE = toString ( - lib.optional stdenv.cc.isClang "-Wno-error=implicit-function-declaration" - ); - nativeBuildInputs = [ makeBinaryWrapper nim From 9436ea40066e9349c1f5341c816f85090311c314 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 15:59:56 +0000 Subject: [PATCH 1009/1216] slade-unstable: 3.2.10-unstable-2026-01-13 -> 3.2.11-unstable-2026-01-17 --- pkgs/by-name/sl/slade-unstable/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sl/slade-unstable/package.nix b/pkgs/by-name/sl/slade-unstable/package.nix index c8f05d8db137..8c0ad97f5052 100644 --- a/pkgs/by-name/sl/slade-unstable/package.nix +++ b/pkgs/by-name/sl/slade-unstable/package.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation { pname = "slade"; - version = "3.2.10-unstable-2026-01-13"; + version = "3.2.11-unstable-2026-01-17"; src = fetchFromGitHub { owner = "sirjuddington"; repo = "SLADE"; - rev = "da2bf4fd868062ea69111077c6631b26860ad5e3"; - hash = "sha256-PmTRseccN9ZyyFKWAJyDitDhWIKyTEJi77H5/CdNzbY="; + rev = "97e9f38a1b348705e68a9a6d66bbe6156e923770"; + hash = "sha256-kZ6KyhI2oZH0SeymcHge9+rbq/ZGfhKXGdfOlje2zqM="; }; nativeBuildInputs = [ From 0c07a68d5adb35eb378ed307ca36df524e5ae483 Mon Sep 17 00:00:00 2001 From: 9R Date: Thu, 22 Jan 2026 17:00:02 +0100 Subject: [PATCH 1010/1216] home-assistant-custom-components.moonraker: 1.12.2 -> 1.13.0 change log -> https://github.com/marcolivierarsenault/moonraker-home-assistant/releases/tag/1.13.0 --- .../home-assistant/custom-components/moonraker/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/moonraker/package.nix b/pkgs/servers/home-assistant/custom-components/moonraker/package.nix index 660d04cfff4f..b2975c35018e 100644 --- a/pkgs/servers/home-assistant/custom-components/moonraker/package.nix +++ b/pkgs/servers/home-assistant/custom-components/moonraker/package.nix @@ -14,13 +14,13 @@ buildHomeAssistantComponent rec { owner = "marcolivierarsenault"; domain = "moonraker"; - version = "1.12.2"; + version = "1.13.0"; src = fetchFromGitHub { owner = "marcolivierarsenault"; repo = "moonraker-home-assistant"; tag = version; - hash = "sha256-EkdkP3NLcw0Zv5qdVrScu8ks3QRoDeVYCCMT6XP2j2I="; + hash = "sha256-3GY0aPCWjrnObaHVQmVjZUsQE4ZB+LtnUxO96IZxZAk="; }; dependencies = [ From bd288b93ae5c77a23ec878d1a1886af8cd80a834 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 16:04:03 +0000 Subject: [PATCH 1011/1216] lexy: 0.5.1 -> 0.5.2 --- pkgs/by-name/le/lexy/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/le/lexy/package.nix b/pkgs/by-name/le/lexy/package.nix index cffb6a89c86a..52a9c8220c84 100644 --- a/pkgs/by-name/le/lexy/package.nix +++ b/pkgs/by-name/le/lexy/package.nix @@ -8,14 +8,14 @@ python3Packages.buildPythonApplication rec { pname = "lexy"; - version = "0.5.1"; + version = "0.5.2"; pyproject = true; src = fetchFromGitHub { owner = "antoniorodr"; repo = "lexy"; tag = "v${version}"; - hash = "sha256-r6Jy37Ici7l0jlQiGdF0YlbViW0Tl+0UwHMAe59YoKc="; + hash = "sha256-Ff+4QymAAxLK61Zdic26TcUzFEvH1A8X6puynMivKaY="; }; build-system = [ From d02ecc000d4883f6818829bdc41d69b2cfb47dd7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 16:13:14 +0000 Subject: [PATCH 1012/1216] files-cli: 2.15.191 -> 2.15.194 --- pkgs/by-name/fi/files-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix index 5e77bd64c0a6..05f1a6e615de 100644 --- a/pkgs/by-name/fi/files-cli/package.nix +++ b/pkgs/by-name/fi/files-cli/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "files-cli"; - version = "2.15.191"; + version = "2.15.194"; src = fetchFromGitHub { repo = "files-cli"; owner = "files-com"; rev = "v${version}"; - hash = "sha256-jObw+/lHjk7pm/RNsgeXBfQkK2lBrjCc1LlpM3re82M="; + hash = "sha256-mbQ6weZBBt4wSutmpJ1I5HJgiEUOgVbPDIxTj5NCiOo="; }; - vendorHash = "sha256-BRiLBXHeSFvzCi7i9kmXfuHjtorG72IIcUz3z3thg+8="; + vendorHash = "sha256-CxE1nUhMa7WNWUwL4dOQADzU5x+2QIAfA/J9cqRPSE8="; ldflags = [ "-s" From 6f4298b165a148f0438f14b11c8baedbef7648ff Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 16:18:27 +0000 Subject: [PATCH 1013/1216] bazelisk: 1.28.0 -> 1.28.1 --- pkgs/by-name/ba/bazelisk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ba/bazelisk/package.nix b/pkgs/by-name/ba/bazelisk/package.nix index 1d0832003936..8b2b9c5034e4 100644 --- a/pkgs/by-name/ba/bazelisk/package.nix +++ b/pkgs/by-name/ba/bazelisk/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "bazelisk"; - version = "1.28.0"; + version = "1.28.1"; src = fetchFromGitHub { owner = "bazelbuild"; repo = "bazelisk"; rev = "v${version}"; - sha256 = "sha256-wpbJc4qF7UF8HG4tkk7jnsurO2snFIpcfKyRY1Ohby4="; + sha256 = "sha256-iKU8B8yOT8cPvZhuor8ZVRsHQDoXq1ja1mr60XqHoEs="; }; vendorHash = "sha256-PWqKq/2DFopeiecUL0iWnut8Kd/52U32sNSVGj3Ae5g="; From 14a3259748f78ee2bba31914b27f4881a4346d14 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 16:39:41 +0000 Subject: [PATCH 1014/1216] python3Packages.getjump: 2.8.0 -> 2.10.0 --- pkgs/development/python-modules/getjump/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/getjump/default.nix b/pkgs/development/python-modules/getjump/default.nix index ef3e6ecaf2e7..8b660ca4caaf 100644 --- a/pkgs/development/python-modules/getjump/default.nix +++ b/pkgs/development/python-modules/getjump/default.nix @@ -12,12 +12,12 @@ buildPythonPackage rec { pname = "getjump"; - version = "2.8.0"; + version = "2.10.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-FfAwPCbj+0wL+Lgk17peco/ogrsaa6Js+Ay5fqgPUPw="; + hash = "sha256-AX8WffzcqBYqo8DzXXbhfqOMd7U5VpWx4MTKhUXLJeQ="; }; pythonRelaxDeps = [ From 24469f797def341f787bf08921d82253634532c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 21 Jan 2026 16:48:03 -0800 Subject: [PATCH 1015/1216] python3Packages.google-genai: 1.56.0 -> 1.60.0 Diff: https://github.com/googleapis/python-genai/compare/v1.56.0...v1.60.0 Changelog: https://github.com/googleapis/python-genai/blob/v1.60.0/CHANGELOG.md --- pkgs/development/python-modules/google-genai/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-genai/default.nix b/pkgs/development/python-modules/google-genai/default.nix index 4982bdb60836..c5c975c7716e 100644 --- a/pkgs/development/python-modules/google-genai/default.nix +++ b/pkgs/development/python-modules/google-genai/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "google-genai"; - version = "1.56.0"; + version = "1.60.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "python-genai"; tag = "v${version}"; - hash = "sha256-gtI2t4vgd9i7SPbSro/eC2/mwGudTY6YfekcmbaaPeY="; + hash = "sha256-Ucpf3Lyozg/LSHzgA5UE+ntTcN6Ese+/YEA0osWjwmI="; }; build-system = [ From 04511dd49eb8a1773cd531de1552e00902b434cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 16:54:37 +0000 Subject: [PATCH 1016/1216] python3Packages.twilio: 9.9.1 -> 9.10.0 --- pkgs/development/python-modules/twilio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 1f044cb1476b..b017c92c8877 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -19,14 +19,14 @@ buildPythonPackage (finalAttrs: { pname = "twilio"; - version = "9.9.1"; + version = "9.10.0"; pyproject = true; src = fetchFromGitHub { owner = "twilio"; repo = "twilio-python"; tag = finalAttrs.version; - hash = "sha256-ewG2VgxK8F2G/wogkGnhqZT9M9vrJu9Rdx4uXYNRhrI="; + hash = "sha256-DJxyDnAv3wKcujBFCE808PJ9NZe/PN8+Z9J2o49n0HU="; }; build-system = [ setuptools ]; From d46694d473eefece5fd6bae2c6226cf57225da31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Thu, 22 Jan 2026 06:49:40 -0500 Subject: [PATCH 1017/1216] signal-desktop: 7.85.0 -> 7.86.0 --- pkgs/by-name/si/signal-desktop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 09adb60ac805..e5e639216a48 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -54,13 +54,13 @@ let ''; }); - version = "7.85.0"; + version = "7.86.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-fBaxgd9KjqomG2VrDnbIyVjf9Fv1vFrV4ge0h3yswGk="; + hash = "sha256-TnblDCYUhwvnKiq3klMRw0+bj4hKPrwmEDzCGSLyt8I="; }; sticker-creator = stdenv.mkDerivation (finalAttrs: { @@ -155,7 +155,7 @@ stdenv.mkDerivation (finalAttrs: { env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; SIGNAL_ENV = "production"; - SOURCE_DATE_EPOCH = 1768433780; + SOURCE_DATE_EPOCH = 1769033121; }; preBuild = '' From 8f6ff1f6d88ccf72d119c93a80795ca65737cd34 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Thu, 22 Jan 2026 17:17:11 +0100 Subject: [PATCH 1018/1216] gitlab: 18.6.3 -> 18.6.4 https://about.gitlab.com/releases/2026/01/21/patch-release-gitlab-18-8-2-released/ --- pkgs/by-name/gi/gitaly/package.nix | 4 ++-- .../gi/gitlab-container-registry/package.nix | 6 +++--- pkgs/by-name/gi/gitlab-pages/package.nix | 4 ++-- pkgs/by-name/gi/gitlab/data.json | 14 +++++++------- .../by-name/gi/gitlab/gitlab-workhorse/default.nix | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix index f14b52073937..53a247b130fc 100644 --- a/pkgs/by-name/gi/gitaly/package.nix +++ b/pkgs/by-name/gi/gitaly/package.nix @@ -7,7 +7,7 @@ }: let - version = "18.6.3"; + version = "18.6.4"; package_version = "v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; @@ -21,7 +21,7 @@ let owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - hash = "sha256-zZho0cN/ePViLo4KtBNIHIHUbpbPI8jj88zY8cCacaU="; + hash = "sha256-SH1NXP5OcJF2MCCSCEjCT2GXjHxy1i9QtPZZCJ92rY8="; }; vendorHash = "sha256-+5CTncYwtGlScFvVc3QaEScfuqMqvsjnGhggM1HMhNU="; diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix index 9f20e9bd65df..a155a7502c4d 100644 --- a/pkgs/by-name/gi/gitlab-container-registry/package.nix +++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix @@ -6,7 +6,7 @@ buildGo124Module rec { pname = "gitlab-container-registry"; - version = "4.33.0"; + version = "4.34.0"; rev = "v${version}-gitlab"; # nixpkgs-update: no auto update @@ -14,10 +14,10 @@ buildGo124Module rec { owner = "gitlab-org"; repo = "container-registry"; inherit rev; - hash = "sha256-6FcnzlQQSeM8l2jH5dG9g0rmnEvAg2FWB8ZpKYBBhE4="; + hash = "sha256-KGw9kVsAePhEQ+kINgcMhGw7pSioOnqNWFnjQKu/XmY="; }; - vendorHash = "sha256-YfpqspLh+lV+MVZtn8iHQuE+DkZrcOq6hDt20SqkKfw="; + vendorHash = "sha256-g4h1m7b7dkdTcSfwTZH4Z5P9RBKme441Ucg4aPIqLSY="; checkFlags = let diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix index f785f4714e8f..04734f79015f 100644 --- a/pkgs/by-name/gi/gitlab-pages/package.nix +++ b/pkgs/by-name/gi/gitlab-pages/package.nix @@ -6,14 +6,14 @@ buildGoModule rec { pname = "gitlab-pages"; - version = "18.6.3"; + version = "18.6.4"; # nixpkgs-update: no auto update src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-pages"; rev = "v${version}"; - hash = "sha256-+MxG6cWZfNN1Kfx0eLEevWR8q23pnsmS73B4aquKrSc="; + hash = "sha256-FMXfF/NpwivtfZh+r7gcVXKFCeshxHBKRNFnbCxSz1U="; }; vendorHash = "sha256-AL6V2LPzCGo/7IuY8msip35OScfocp3zO2ZzM8cZfnU="; diff --git a/pkgs/by-name/gi/gitlab/data.json b/pkgs/by-name/gi/gitlab/data.json index 6e808c67355e..71ef0bc847c8 100644 --- a/pkgs/by-name/gi/gitlab/data.json +++ b/pkgs/by-name/gi/gitlab/data.json @@ -1,17 +1,17 @@ { - "version": "18.6.3", - "repo_hash": "1ims6fy3zjnrappy1kkb02b8s2vldr18dz7ick176ljk042lqa5g", + "version": "18.6.4", + "repo_hash": "0jj2wfh37p92dj6fnwv098qaaph9sblqc09mjrz6f5142ijlmxj9", "yarn_hash": "19fhh3457mvls3g4swyzr2dh9q46z2zinjyw5v6sjjhfmrqs921d", "frontend_islands_yarn_hash": "0m64xhlybjlax33k5rmj9kxcj1vzqqygybyz1yzzx9pd87570k2h", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v18.6.3-ee", + "rev": "v18.6.4-ee", "passthru": { - "GITALY_SERVER_VERSION": "18.6.3", - "GITLAB_KAS_VERSION": "18.6.3", - "GITLAB_PAGES_VERSION": "18.6.3", + "GITALY_SERVER_VERSION": "18.6.4", + "GITLAB_KAS_VERSION": "18.6.4", + "GITLAB_PAGES_VERSION": "18.6.4", "GITLAB_SHELL_VERSION": "14.45.3", "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.10.1", - "GITLAB_WORKHORSE_VERSION": "18.6.3" + "GITLAB_WORKHORSE_VERSION": "18.6.4" } } diff --git a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix index e991e0ecb4b2..c7da31f2b288 100644 --- a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix @@ -10,7 +10,7 @@ in buildGoModule rec { pname = "gitlab-workhorse"; - version = "18.6.3"; + version = "18.6.4"; # nixpkgs-update: no auto update src = fetchFromGitLab { From 7917f6af4cd3f86b3ce84371e268a3e3b46deda5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 17:01:32 +0000 Subject: [PATCH 1019/1216] vscode-extensions.esbenp.prettier-vscode: 11.0.2 -> 12.3.0 --- .../vscode/extensions/esbenp.prettier-vscode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/esbenp.prettier-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/esbenp.prettier-vscode/default.nix index cc9a49178047..6d1b49d91bf7 100644 --- a/pkgs/applications/editors/vscode/extensions/esbenp.prettier-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/esbenp.prettier-vscode/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "prettier-vscode"; publisher = "esbenp"; - version = "11.0.2"; - hash = "sha256-PwP49p1gpxfx3AmGFhNvRBBc4SxWM2b9aaiUG/C+Uhg="; + version = "12.3.0"; + hash = "sha256-Zi5ihki/risHm75ERQxUgqhiTbpM6fknHLMCAkXrEVo="; }; meta = { From cce9ac5b394dc3d8d9b98e0792253a254781b9fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 17:28:10 +0000 Subject: [PATCH 1020/1216] kubeone: 1.12.2 -> 1.12.3 --- pkgs/by-name/ku/kubeone/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ku/kubeone/package.nix b/pkgs/by-name/ku/kubeone/package.nix index 323d8da5de8b..b49e25c681ea 100644 --- a/pkgs/by-name/ku/kubeone/package.nix +++ b/pkgs/by-name/ku/kubeone/package.nix @@ -10,13 +10,13 @@ buildGoModule rec { pname = "kubeone"; - version = "1.12.2"; + version = "1.12.3"; src = fetchFromGitHub { owner = "kubermatic"; repo = "kubeone"; rev = "v${version}"; - hash = "sha256-al/byEO5wNhoVnfHHJFQMnx7EtoF3+P7MtS/x82Z8w0="; + hash = "sha256-/fOtepUysZvJQrpdNklgSeL946tSf3Icohi0bRSLieA="; }; vendorHash = "sha256-4thcMvdS2oxBai+3aOUPXd5T6f2DcW0Mm1d3y/DMGFc="; From 57657722aa2b41c324a109ea3379b71c428a728f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 17:33:48 +0000 Subject: [PATCH 1021/1216] immich-kiosk: 0.30.2 -> 0.31.0 --- pkgs/by-name/im/immich-kiosk/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/im/immich-kiosk/package.nix b/pkgs/by-name/im/immich-kiosk/package.nix index eef544fd3a61..c65ff71cbb01 100644 --- a/pkgs/by-name/im/immich-kiosk/package.nix +++ b/pkgs/by-name/im/immich-kiosk/package.nix @@ -9,20 +9,20 @@ }: buildGoModule rec { pname = "immich-kiosk"; - version = "0.30.2"; + version = "0.31.0"; src = fetchFromGitHub { owner = "damongolding"; repo = "immich-kiosk"; tag = "v${version}"; - hash = "sha256-q321eiHXzYfch3qod1w1EAk95AAvLiDZhhiKmyL2Ki4="; + hash = "sha256-PHdHhhVy0RWMFzR4ZEyWLOiRYHROadLiPIdqkUZMTow="; }; # Delete vendor directory to regenerate it consistently across platforms postPatch = '' rm -rf vendor ''; - vendorHash = "sha256-XZ49wYC+oUqEL0HXeqdRQAI2Y4zJAMgfqL/+6RrBWos="; + vendorHash = "sha256-3M3fXwCkljfY8wjXf+PdcbqnkyPKaDCJWt9/nRA/+Dc="; proxyVendor = true; pnpmDeps = fetchPnpmDeps { From dc854fce610ad7a4c41f740da64e471284b0418c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 17:41:58 +0000 Subject: [PATCH 1022/1216] geteduroam: 0.12 -> 0.13 --- pkgs/by-name/ge/geteduroam/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ge/geteduroam/package.nix b/pkgs/by-name/ge/geteduroam/package.nix index 0b77dd2f1a20..de0cf7388772 100644 --- a/pkgs/by-name/ge/geteduroam/package.nix +++ b/pkgs/by-name/ge/geteduroam/package.nix @@ -17,16 +17,16 @@ buildGoModule (finalAttrs: { pname = "geteduroam"; - version = "0.12"; + version = "0.13"; src = fetchFromGitHub { owner = "geteduroam"; repo = "linux-app"; tag = finalAttrs.version; - hash = "sha256-+3mluLby3R0xVU9fIG+1B1A4yM1IfyUvw4wclwnV5s8="; + hash = "sha256-fmkTenN5F2FEimYUQi6JVUGmHcnVJvE9Giur+xTl+1s="; }; - vendorHash = "sha256-l9hge1TS+7ix9/6LKWq+lTMjNM4/Lnw8gNrWB6hWCTk="; + vendorHash = "sha256-kmBuyIs5S6h51+tF7vhY92o6VP+M7QI9AwuZSQUwjXg="; subPackages = [ "cmd/geteduroam-gui" From 052182ca89e110ba7c9819f9ade61217d1f864f1 Mon Sep 17 00:00:00 2001 From: Vikingnope Date: Thu, 22 Jan 2026 18:45:33 +0100 Subject: [PATCH 1023/1216] zed-editor: 0.219.4 -> 0.220.3 --- pkgs/by-name/ze/zed-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 26ff26d21da5..47b5fb2e12c4 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -106,7 +106,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.219.4"; + version = "0.220.3"; outputs = [ "out" @@ -119,7 +119,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-x0N+xGoWNQOXI/b6hityYy6ZbcAPTrzGKMbgCxDcHhM="; + hash = "sha256-BxGNgJxwX7qY4chi5xaJ8RZnmo80v+9QeZOPTUpsHBc="; }; postPatch = '' @@ -139,7 +139,7 @@ rustPlatform.buildRustPackage (finalAttrs: { rm -r $out/git/*/candle-book/ ''; - cargoHash = "sha256-adHfP57EpqCOo8HSpuG1JTV6qNljz282PYgR32cCuxE="; + cargoHash = "sha256-pjHJkvdZn5JoL9LSdnmpov8/mGZQKzM5lC4u7MZEsQ4="; nativeBuildInputs = [ cmake From cb9cd986c90c35fc4888b06bc0d36a06d408956e Mon Sep 17 00:00:00 2001 From: Mikalai Seva Date: Tue, 15 Apr 2025 15:00:12 +0200 Subject: [PATCH 1024/1216] lib: re-export missing builtins in lib Closes #369215 --- lib/default.nix | 26 +++++++++++++++++++++++++- lib/filesystem.nix | 5 +++++ lib/sources.nix | 2 ++ lib/trivial.nix | 4 ++++ lib/versions.nix | 2 ++ 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/lib/default.nix b/lib/default.nix index 661f76bed0ef..57626ca25291 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -105,6 +105,22 @@ let # network network = callLibs ./network; + inherit (builtins) + getContext + hasContext + convertHash + hashString + hasFile + parseDrvName + placeholder + fromJSON + fromTOML + toFile + toJSON + toString + toXML + tryEval + ; inherit (self.trivial) id const @@ -112,6 +128,8 @@ let concat "or" and + mul + div xor bitAnd bitOr @@ -163,6 +181,8 @@ let pathExists genericClosure readFile + ceil + floor ; inherit (self.fixedPoints) fix @@ -326,7 +346,6 @@ let escape escapeShellArg escapeShellArgs - isPath isStorePath isStringLike isValidPosixName @@ -419,6 +438,9 @@ let pathType pathIsDirectory pathIsRegularFile + baseNameOf + dirOf + isPath packagesFromDirectoryRecursive ; inherit (self.sources) @@ -433,6 +455,7 @@ let pathIsGitRepo revOrTag repoRevToName + filterSource ; inherit (self.modules) evalModules @@ -563,6 +586,7 @@ let imap ; inherit (self.versions) + compareVersions splitVersion ; inherit (self.network.ipv6) diff --git a/lib/filesystem.nix b/lib/filesystem.nix index acc47cd5efdb..7063abfe2079 100644 --- a/lib/filesystem.nix +++ b/lib/filesystem.nix @@ -25,6 +25,11 @@ let in { + inherit (builtins) + baseNameOf + dirOf + isPath + ; /** The type of a path. The path needs to exist and be accessible. diff --git a/lib/sources.nix b/lib/sources.nix index 2936962c2de1..c99f2c265086 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -529,4 +529,6 @@ in trace ; + + inherit (builtins) filterSource; } diff --git a/lib/trivial.nix b/lib/trivial.nix index 45a8ec9169f5..f351fb572fbc 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -27,6 +27,8 @@ in isFloat add sub + mul + div lessThan seq deepSeq @@ -34,6 +36,8 @@ in bitAnd bitOr bitXor + ceil + floor ; ## Simple (higher order) functions diff --git a/lib/versions.nix b/lib/versions.nix index 2355655f179a..0073c5669743 100644 --- a/lib/versions.nix +++ b/lib/versions.nix @@ -3,6 +3,8 @@ rec { + inherit (builtins) compareVersions; + /** Break a version string into its component parts. From 730262f8ad2a4371589a46a959b4a920797cef81 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:00:54 +0000 Subject: [PATCH 1025/1216] wild-unwrapped: 0.7.0 -> 0.8.0 --- pkgs/by-name/wi/wild-unwrapped/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wi/wild-unwrapped/package.nix b/pkgs/by-name/wi/wild-unwrapped/package.nix index 453d810cd079..acd36edcea45 100644 --- a/pkgs/by-name/wi/wild-unwrapped/package.nix +++ b/pkgs/by-name/wi/wild-unwrapped/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "wild-unwrapped"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "davidlattimore"; repo = "wild"; tag = finalAttrs.version; - hash = "sha256-x0IZuWjj0LRMj4pu2FVaD8SENm/UVtE1e4rl0EOZZZM="; + hash = "sha256-E5cmZuOtF+MNTPyalKjnguhin70zqtDDB0D71ZpeE48="; }; - cargoHash = "sha256-5s0qS8y0+EH+R1tgN2W5/+t+GdjbQdRVLlcA2KjpHsE="; + cargoHash = "sha256-r0r7sN1SW5TIybHORfzJkN51Y0REEC2/h7q71GxUgAM="; cargoBuildFlags = [ "-p wild-linker" ]; From 2771516a7280dfe60e94301597a26a13e4422082 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:06:09 +0000 Subject: [PATCH 1026/1216] terraform-providers.cloudflare_cloudflare: 5.15.0 -> 5.16.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 76cab2ff3a2a..227582417f92 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -200,13 +200,13 @@ "vendorHash": "sha256-l30Jv7FYOLNrlC9f89pqziq29jkSjuWz/N26m98rMak=" }, "cloudflare_cloudflare": { - "hash": "sha256-QBGgXdwmF6S2hmFGHPCBA+v8VBiOxX1T199ws0AKVhk=", + "hash": "sha256-N594aLeErFeO7n6M+D1JcC8FlTmTrfaaMa71kFqv0vs=", "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare", "owner": "cloudflare", "repo": "terraform-provider-cloudflare", - "rev": "v5.15.0", + "rev": "v5.16.0", "spdx": "Apache-2.0", - "vendorHash": "sha256-qr0qKfOPiujY4QeD6yy3Rp1iIs8Ac72afRKaTZDGe3w=" + "vendorHash": "sha256-mM2Vlh3TZt2hq8XW7tTNTyK/nLAe3SLj8LQw52P4Ye8=" }, "cloudfoundry-community_cloudfoundry": { "hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=", From 68fb787ba2a39c1e20eac6286ad1da991550931e Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 22 Jan 2026 18:52:12 +0100 Subject: [PATCH 1027/1216] Remove maintainer from packages: d3vil0p3r Removed maintainer from the package metadata. --- .../applications/editors/vscode/extensions/default.nix | 10 +++++----- .../by-name/af/afterglow-cursors-recolored/package.nix | 2 +- pkgs/by-name/bu/bulk_extractor/package.nix | 2 +- pkgs/by-name/by/bytecode-viewer/package.nix | 1 - pkgs/by-name/ca/caido/package.nix | 1 - pkgs/by-name/db/dbd/package.nix | 2 +- pkgs/by-name/dc/dc3dd/package.nix | 2 +- pkgs/by-name/dm/dmitry/package.nix | 2 +- pkgs/by-name/dn/dns2tcp/package.nix | 2 +- pkgs/by-name/ex/exe2hex/package.nix | 2 +- pkgs/by-name/ex/ext3grep/package.nix | 2 +- pkgs/by-name/fa/fairywren/package.nix | 2 +- pkgs/by-name/fu/fuchsia-cursor/package.nix | 2 +- pkgs/by-name/fu/fuzzdb/package.nix | 2 +- pkgs/by-name/ga/galleta/package.nix | 2 +- pkgs/by-name/gr/gruvbox-gtk-theme/package.nix | 1 - pkgs/by-name/gu/guymager/package.nix | 2 +- pkgs/by-name/ha/hashid/package.nix | 2 +- pkgs/by-name/ha/hayabusa-sec/package.nix | 1 - pkgs/by-name/hb/hb-honeypot/package.nix | 2 +- pkgs/by-name/ht/htb-toolkit/package.nix | 2 +- pkgs/by-name/la/laudanum/package.nix | 2 +- pkgs/by-name/lb/lbd/package.nix | 2 +- pkgs/by-name/li/libbfio/package.nix | 2 +- pkgs/by-name/li/libewf-legacy/package.nix | 2 +- pkgs/by-name/li/libguytools/package.nix | 2 +- pkgs/by-name/ma/mac-robber/package.nix | 2 +- pkgs/by-name/ma/magicrescue/package.nix | 2 +- pkgs/by-name/ma/maltego/package.nix | 1 - pkgs/by-name/ma/material-black-colors/package.nix | 2 +- pkgs/by-name/ma/matrix-gtk-theme/package.nix | 2 +- pkgs/by-name/mi/mimikatz/package.nix | 2 +- pkgs/by-name/mi/missidentify/package.nix | 2 +- pkgs/by-name/my/myrescue/package.nix | 2 +- pkgs/by-name/nb/nbtscan/package.nix | 2 +- pkgs/by-name/ni/nightfox-gtk-theme/package.nix | 2 +- pkgs/by-name/pa/pasco/package.nix | 2 +- pkgs/by-name/pd/pdfid/package.nix | 2 +- pkgs/by-name/pf/pff-tool/package.nix | 2 +- pkgs/by-name/pt/ptunnel/package.nix | 2 +- pkgs/by-name/re/recoverdm/package.nix | 2 +- pkgs/by-name/re/regripper/package.nix | 2 +- pkgs/by-name/ri/rifiuti/package.nix | 2 +- pkgs/by-name/rs/rsmangler/package.nix | 2 +- pkgs/by-name/sa/samdump2/package.nix | 2 +- pkgs/by-name/sc/scrounge-ntfs/package.nix | 2 +- pkgs/by-name/sp/spooftooph/package.nix | 2 +- pkgs/by-name/sw/sweet-folders/package.nix | 2 +- pkgs/by-name/sw/sweet/package.nix | 1 - pkgs/by-name/to/tokyonight-gtk-theme/package.nix | 1 - pkgs/by-name/un/undbx/package.nix | 2 +- pkgs/by-name/un/unix-privesc-check/package.nix | 2 +- pkgs/by-name/vi/villain/package.nix | 2 +- pkgs/by-name/we/weevely/package.nix | 2 +- pkgs/by-name/wi/wifite2/package.nix | 1 - pkgs/development/python-modules/pywebcopy/default.nix | 2 +- 56 files changed, 52 insertions(+), 60 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 3131b5e1f649..54d59bb9093b 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -860,7 +860,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=carrie999.cyberpunk-2020"; homepage = "https://github.com/Carrie999/cyberpunk"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.d3vil0p3r ]; + maintainers = [ ]; }; }; @@ -1320,7 +1320,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=dhedgecock.radical-vscode"; homepage = "https://github.com/dhedgecock/radical-vscode"; license = lib.licenses.isc; - maintainers = [ lib.maintainers.d3vil0p3r ]; + maintainers = [ ]; }; }; @@ -3631,7 +3631,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=nur.just-black"; homepage = "https://github.com/nurmohammed840/extension.vsix/tree/Just-Black"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.d3vil0p3r ]; + maintainers = [ ]; }; }; @@ -4269,7 +4269,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=silofy.hackthebox"; homepage = "https://github.com/silofy/hackthebox"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.d3vil0p3r ]; + maintainers = [ ]; }; }; @@ -4700,7 +4700,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=thorerik.hacker-theme"; homepage = "https://github.com/thorerik/vscode-hacker-theme"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.d3vil0p3r ]; + maintainers = [ ]; }; }; diff --git a/pkgs/by-name/af/afterglow-cursors-recolored/package.nix b/pkgs/by-name/af/afterglow-cursors-recolored/package.nix index 733c3df8c963..386c6a527eeb 100644 --- a/pkgs/by-name/af/afterglow-cursors-recolored/package.nix +++ b/pkgs/by-name/af/afterglow-cursors-recolored/package.nix @@ -136,7 +136,7 @@ lib.checkListOfEnum "${pname}: theme variants" availableThemeVariants themeVaria meta = { description = "Recoloring of the Afterglow Cursors x-cursor theme"; homepage = "https://github.com/TeddyBearKilla/Afterglow-Cursors-Recolored"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; license = lib.licenses.gpl3Plus; }; diff --git a/pkgs/by-name/bu/bulk_extractor/package.nix b/pkgs/by-name/bu/bulk_extractor/package.nix index e03a6105b398..46f875dce6f4 100644 --- a/pkgs/by-name/bu/bulk_extractor/package.nix +++ b/pkgs/by-name/bu/bulk_extractor/package.nix @@ -65,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/simsong/bulk_extractor"; downloadPage = "http://downloads.digitalcorpora.org/downloads/bulk_extractor/"; changelog = "https://github.com/simsong/bulk_extractor/blob/${finalAttrs.src.rev}/ChangeLog"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = with lib.platforms; unix ++ windows; license = with lib.licenses; [ mit diff --git a/pkgs/by-name/by/bytecode-viewer/package.nix b/pkgs/by-name/by/bytecode-viewer/package.nix index 7c553a22ef19..dfcbb86ecf0b 100644 --- a/pkgs/by-name/by/bytecode-viewer/package.nix +++ b/pkgs/by-name/by/bytecode-viewer/package.nix @@ -73,7 +73,6 @@ maven.buildMavenPackage rec { mainProgram = "bytecode-viewer"; maintainers = with lib.maintainers; [ shard7 - d3vil0p3r ]; platforms = lib.platforms.unix; sourceProvenance = with lib.sourceTypes; [ diff --git a/pkgs/by-name/ca/caido/package.nix b/pkgs/by-name/ca/caido/package.nix index 1b99678389d2..fee8b0c6ade5 100644 --- a/pkgs/by-name/ca/caido/package.nix +++ b/pkgs/by-name/ca/caido/package.nix @@ -180,7 +180,6 @@ let license = lib.licenses.unfree; maintainers = with lib.maintainers; [ octodi - d3vil0p3r blackzeshi ]; platforms = [ diff --git a/pkgs/by-name/db/dbd/package.nix b/pkgs/by-name/db/dbd/package.nix index 2905318f17ac..9ee620fc5cc0 100644 --- a/pkgs/by-name/db/dbd/package.nix +++ b/pkgs/by-name/db/dbd/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { description = "Netcat-clone, designed to be portable and offer strong encryption"; mainProgram = "dbd"; homepage = "https://github.com/gitdurandal/dbd"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/dc/dc3dd/package.nix b/pkgs/by-name/dc/dc3dd/package.nix index af4d3241a66c..d78c6a50c13f 100644 --- a/pkgs/by-name/dc/dc3dd/package.nix +++ b/pkgs/by-name/dc/dc3dd/package.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Patched version of dd that includes a number of features useful for computer forensics"; mainProgram = "dc3dd"; homepage = "https://sourceforge.net/projects/dc3dd/"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.linux; license = lib.licenses.gpl3Plus; # Refer to https://sourceforge.net/p/dc3dd/code/HEAD/tree/COPYING }; diff --git a/pkgs/by-name/dm/dmitry/package.nix b/pkgs/by-name/dm/dmitry/package.nix index fcde9593ba4b..29c61a5d78a4 100644 --- a/pkgs/by-name/dm/dmitry/package.nix +++ b/pkgs/by-name/dm/dmitry/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { description = "Deepmagic Information Gathering Tool"; mainProgram = "dmitry"; homepage = "https://github.com/jaygreig86/dmitry"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.linux; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/dn/dns2tcp/package.nix b/pkgs/by-name/dn/dns2tcp/package.nix index 1a86af2cb016..c260a6bebe0b 100644 --- a/pkgs/by-name/dn/dns2tcp/package.nix +++ b/pkgs/by-name/dn/dns2tcp/package.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/alex-sector/dns2tcp"; license = lib.licenses.gpl2Plus; mainProgram = "dns2tcpc"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/ex/exe2hex/package.nix b/pkgs/by-name/ex/exe2hex/package.nix index ff0212156db7..753c4ccff5e8 100644 --- a/pkgs/by-name/ex/exe2hex/package.nix +++ b/pkgs/by-name/ex/exe2hex/package.nix @@ -35,6 +35,6 @@ python3Packages.buildPythonApplication { homepage = "https://github.com/g0tmi1k/exe2hex"; mainProgram = "exe2hex"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/ex/ext3grep/package.nix b/pkgs/by-name/ex/ext3grep/package.nix index b7f3ad9f62dd..1cc8170abcf3 100644 --- a/pkgs/by-name/ex/ext3grep/package.nix +++ b/pkgs/by-name/ex/ext3grep/package.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Tool to investigate an ext3 file system for deleted content and possibly recover it"; mainProgram = "ext3grep"; homepage = "https://code.google.com/archive/p/ext3grep/"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.linux; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/fa/fairywren/package.nix b/pkgs/by-name/fa/fairywren/package.nix index 540f108bb24c..38470a693b1d 100644 --- a/pkgs/by-name/fa/fairywren/package.nix +++ b/pkgs/by-name/fa/fairywren/package.nix @@ -41,7 +41,7 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants meta = { description = "FairyWren Icon Set"; homepage = "https://gitlab.com/aiyahm/FairyWren-Icons"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; license = with lib.licenses; [ gpl3Plus ]; }; diff --git a/pkgs/by-name/fu/fuchsia-cursor/package.nix b/pkgs/by-name/fu/fuchsia-cursor/package.nix index fc433af8f0f1..304283285d92 100644 --- a/pkgs/by-name/fu/fuchsia-cursor/package.nix +++ b/pkgs/by-name/fu/fuchsia-cursor/package.nix @@ -72,7 +72,7 @@ lib.checkListOfEnum "${pname}: theme variants" [ "Fuchsia" "Fuchsia-Pop" "Fuchsi meta = { description = "First OpenSource port of FuchsiaOS's cursors for Linux and Windows"; homepage = "https://github.com/ful1e5/fuchsia-cursor"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; license = lib.licenses.gpl3Plus; }; diff --git a/pkgs/by-name/fu/fuzzdb/package.nix b/pkgs/by-name/fu/fuzzdb/package.nix index 77c8c1dc94e0..4ca1eb4cb191 100644 --- a/pkgs/by-name/fu/fuzzdb/package.nix +++ b/pkgs/by-name/fu/fuzzdb/package.nix @@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation { description = "Comprehensive collection of attack patterns and predictable resource names used for security testing and fuzzing application"; homepage = "https://github.com/fuzzdb-project/fuzzdb"; license = with lib.licenses; [ bsd3 ]; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ga/galleta/package.nix b/pkgs/by-name/ga/galleta/package.nix index 08986fc1cec4..2256f27637bd 100644 --- a/pkgs/by-name/ga/galleta/package.nix +++ b/pkgs/by-name/ga/galleta/package.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Examine the contents of the IE's cookie files for forensic purposes"; mainProgram = "galleta"; homepage = "https://sourceforge.net/projects/odessa/files/Galleta"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.bsd3; }; diff --git a/pkgs/by-name/gr/gruvbox-gtk-theme/package.nix b/pkgs/by-name/gr/gruvbox-gtk-theme/package.nix index 03e4930bb289..56cb557554af 100644 --- a/pkgs/by-name/gr/gruvbox-gtk-theme/package.nix +++ b/pkgs/by-name/gr/gruvbox-gtk-theme/package.nix @@ -115,7 +115,6 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ luftmensch-luftmensch - d3vil0p3r ]; }; } diff --git a/pkgs/by-name/gu/guymager/package.nix b/pkgs/by-name/gu/guymager/package.nix index 27700c07f486..60446ff51da7 100644 --- a/pkgs/by-name/gu/guymager/package.nix +++ b/pkgs/by-name/gu/guymager/package.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Forensic imager for media acquisition"; mainProgram = "guymager"; homepage = "https://guymager.sourceforge.io"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.linux; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.gpl2Only; diff --git a/pkgs/by-name/ha/hashid/package.nix b/pkgs/by-name/ha/hashid/package.nix index 122022a9fce6..a8c655016e5c 100644 --- a/pkgs/by-name/ha/hashid/package.nix +++ b/pkgs/by-name/ha/hashid/package.nix @@ -25,6 +25,6 @@ python3Packages.buildPythonApplication { homepage = "https://github.com/psypanda/hashID"; mainProgram = "hashid"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/ha/hayabusa-sec/package.nix b/pkgs/by-name/ha/hayabusa-sec/package.nix index bc563871de4c..c349e425b990 100644 --- a/pkgs/by-name/ha/hayabusa-sec/package.nix +++ b/pkgs/by-name/ha/hayabusa-sec/package.nix @@ -56,7 +56,6 @@ rustPlatform.buildRustPackage { homepage = "https://github.com/Yamato-Security/hayabusa"; license = lib.licenses.agpl3Plus; maintainers = with lib.maintainers; [ - d3vil0p3r jk ]; mainProgram = "hayabusa"; diff --git a/pkgs/by-name/hb/hb-honeypot/package.nix b/pkgs/by-name/hb/hb-honeypot/package.nix index eedda1aa1baa..a1e5e0fadf17 100644 --- a/pkgs/by-name/hb/hb-honeypot/package.nix +++ b/pkgs/by-name/hb/hb-honeypot/package.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { description = "Script that listens on TCP port 443 and responds with completely bogus SSL heartbeat responses"; mainProgram = "hb-honeypot"; homepage = "https://github.com/D3vil0p3r/hb-honeypot"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl3Plus; }; diff --git a/pkgs/by-name/ht/htb-toolkit/package.nix b/pkgs/by-name/ht/htb-toolkit/package.nix index 3087e66da289..c01c7499060c 100644 --- a/pkgs/by-name/ht/htb-toolkit/package.nix +++ b/pkgs/by-name/ht/htb-toolkit/package.nix @@ -61,7 +61,7 @@ rustPlatform.buildRustPackage { description = "Play Hack The Box directly on your system"; mainProgram = "htb-toolkit"; homepage = "https://github.com/D3vil0p3r/htb-toolkit"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl3Plus; }; diff --git a/pkgs/by-name/la/laudanum/package.nix b/pkgs/by-name/la/laudanum/package.nix index 430d83a2f314..c11009ee9918 100644 --- a/pkgs/by-name/la/laudanum/package.nix +++ b/pkgs/by-name/la/laudanum/package.nix @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation { meta = { description = "Collection of injectable files, designed to be used in a pentest when SQL injection flaws are found and are in multiple languages for different environments"; homepage = "https://github.com/junk13/laudanum"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/lb/lbd/package.nix b/pkgs/by-name/lb/lbd/package.nix index d7d319364034..29efc4fbeb2c 100644 --- a/pkgs/by-name/lb/lbd/package.nix +++ b/pkgs/by-name/lb/lbd/package.nix @@ -52,7 +52,7 @@ stdenvNoCC.mkDerivation { description = "Detect if a domain uses DNS and/or HTTP Load-Balancing"; mainProgram = "lbd"; homepage = "https://github.com/D3vil0p3r/lbd"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/li/libbfio/package.nix b/pkgs/by-name/li/libbfio/package.nix index a43baf04c5a2..9641dc5474f5 100644 --- a/pkgs/by-name/li/libbfio/package.nix +++ b/pkgs/by-name/li/libbfio/package.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { gpl3Plus lgpl3Plus ]; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = with lib.platforms; unix ++ windows; }; }) diff --git a/pkgs/by-name/li/libewf-legacy/package.nix b/pkgs/by-name/li/libewf-legacy/package.nix index 97063944a33e..386142d8c30a 100644 --- a/pkgs/by-name/li/libewf-legacy/package.nix +++ b/pkgs/by-name/li/libewf-legacy/package.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Legacy library for support of the Expert Witness Compression Format"; homepage = "https://sourceforge.net/projects/libewf/"; license = lib.licenses.lgpl3; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/li/libguytools/package.nix b/pkgs/by-name/li/libguytools/package.nix index b882a1eb2ab0..5cb4f6b55a55 100644 --- a/pkgs/by-name/li/libguytools/package.nix +++ b/pkgs/by-name/li/libguytools/package.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Small programming toolbox"; mainProgram = "libguytools"; homepage = "https://libguytools.sourceforge.io"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.linux; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/ma/mac-robber/package.nix b/pkgs/by-name/ma/mac-robber/package.nix index 22d9e3038151..f68420ab4d02 100644 --- a/pkgs/by-name/ma/mac-robber/package.nix +++ b/pkgs/by-name/ma/mac-robber/package.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Digital investigation tool that collects data from allocated files in a mounted file system"; mainProgram = "mac-robber"; homepage = "https://www.sleuthkit.org/mac-robber/"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Only; }; diff --git a/pkgs/by-name/ma/magicrescue/package.nix b/pkgs/by-name/ma/magicrescue/package.nix index 6f22b33233bf..a9e110e07b74 100644 --- a/pkgs/by-name/ma/magicrescue/package.nix +++ b/pkgs/by-name/ma/magicrescue/package.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation { description = "Find and recover deleted files on block devices"; mainProgram = "magicrescue"; homepage = "https://github.com/jbj/magicrescue"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/ma/maltego/package.nix b/pkgs/by-name/ma/maltego/package.nix index da6d9bf30637..cf349e7ef28a 100644 --- a/pkgs/by-name/ma/maltego/package.nix +++ b/pkgs/by-name/ma/maltego/package.nix @@ -82,7 +82,6 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "maltego"; maintainers = with lib.maintainers; [ emilytrau - d3vil0p3r ]; platforms = lib.platforms.unix; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; diff --git a/pkgs/by-name/ma/material-black-colors/package.nix b/pkgs/by-name/ma/material-black-colors/package.nix index 7d40703b3720..4412a4b73f01 100644 --- a/pkgs/by-name/ma/material-black-colors/package.nix +++ b/pkgs/by-name/ma/material-black-colors/package.nix @@ -63,7 +63,7 @@ lib.checkListOfEnum "${pname}: color variants" colorVariantList colorVariants meta = { description = "Material Black Colors icons"; homepage = "https://github.com/rtlewis88/rtl88-Themes/tree/material-black-COLORS"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; license = with lib.licenses; [ gpl3Plus diff --git a/pkgs/by-name/ma/matrix-gtk-theme/package.nix b/pkgs/by-name/ma/matrix-gtk-theme/package.nix index 10667e95ac77..d41a5dc22ffa 100644 --- a/pkgs/by-name/ma/matrix-gtk-theme/package.nix +++ b/pkgs/by-name/ma/matrix-gtk-theme/package.nix @@ -117,7 +117,7 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib description = "GTK theme based on the Matrix colour palette"; homepage = "https://github.com/D3vil0p3r/Matrix-GTK-Theme"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/mi/mimikatz/package.nix b/pkgs/by-name/mi/mimikatz/package.nix index 83dcbb552070..665ea7f82975 100644 --- a/pkgs/by-name/mi/mimikatz/package.nix +++ b/pkgs/by-name/mi/mimikatz/package.nix @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://github.com/gentilkiwi/mimikatz"; description = "Little tool to play with Windows security"; license = with lib.licenses; [ cc-by-40 ]; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.all; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; diff --git a/pkgs/by-name/mi/missidentify/package.nix b/pkgs/by-name/mi/missidentify/package.nix index 1349d36d3ff6..713514955fec 100644 --- a/pkgs/by-name/mi/missidentify/package.nix +++ b/pkgs/by-name/mi/missidentify/package.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { ''; mainProgram = "missidentify"; homepage = "https://missidentify.sourceforge.net"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Only; }; diff --git a/pkgs/by-name/my/myrescue/package.nix b/pkgs/by-name/my/myrescue/package.nix index 754e7e706aef..078e5f75134d 100644 --- a/pkgs/by-name/my/myrescue/package.nix +++ b/pkgs/by-name/my/myrescue/package.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Hard disk recovery tool that reads undamaged regions first"; mainProgram = "myrescue"; homepage = "https://myrescue.sourceforge.net"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/nb/nbtscan/package.nix b/pkgs/by-name/nb/nbtscan/package.nix index a0a8cc57d1ee..9306ca3825b9 100644 --- a/pkgs/by-name/nb/nbtscan/package.nix +++ b/pkgs/by-name/nb/nbtscan/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { description = "Scan networks searching for NetBIOS information"; mainProgram = "nbtscan"; homepage = "https://github.com/resurrecting-open-source-projects/nbtscan"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/ni/nightfox-gtk-theme/package.nix b/pkgs/by-name/ni/nightfox-gtk-theme/package.nix index 930b58804aff..66719dbb2fa5 100644 --- a/pkgs/by-name/ni/nightfox-gtk-theme/package.nix +++ b/pkgs/by-name/ni/nightfox-gtk-theme/package.nix @@ -120,6 +120,6 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib homepage = "https://github.com/Fausto-Korpsvart/Nightfox-GTK-Theme"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/pa/pasco/package.nix b/pkgs/by-name/pa/pasco/package.nix index 75790ab39f23..5b6fbd09840b 100644 --- a/pkgs/by-name/pa/pasco/package.nix +++ b/pkgs/by-name/pa/pasco/package.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Examine the contents of Internet Explorer's cache files for forensic purposes"; mainProgram = "pasco"; homepage = "https://sourceforge.net/projects/fast/files/Pasco/"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = with lib.licenses; [ bsd3 ]; }; diff --git a/pkgs/by-name/pd/pdfid/package.nix b/pkgs/by-name/pd/pdfid/package.nix index 1cbeee66f3d3..4f28bf6c673e 100644 --- a/pkgs/by-name/pd/pdfid/package.nix +++ b/pkgs/by-name/pd/pdfid/package.nix @@ -38,7 +38,7 @@ python3Packages.buildPythonApplication rec { homepage = "https://blog.didierstevens.com/programs/pdf-tools/"; license = with lib.licenses; [ free ]; mainProgram = "pdfid"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/pf/pff-tool/package.nix b/pkgs/by-name/pf/pff-tool/package.nix index 9b394c198bf3..c4b5345cecac 100644 --- a/pkgs/by-name/pf/pff-tool/package.nix +++ b/pkgs/by-name/pf/pff-tool/package.nix @@ -36,7 +36,7 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "Command-line tools to process PFF files"; homepage = "https://github.com/avranju/pff-tools"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; mainProgram = "pff-cli"; }; }) diff --git a/pkgs/by-name/pt/ptunnel/package.nix b/pkgs/by-name/pt/ptunnel/package.nix index e0202288717d..1b57eeedee1d 100644 --- a/pkgs/by-name/pt/ptunnel/package.nix +++ b/pkgs/by-name/pt/ptunnel/package.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.cs.uit.no/~daniels/PingTunnel"; license = lib.licenses.bsd3; mainProgram = "ptunnel"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/re/recoverdm/package.nix b/pkgs/by-name/re/recoverdm/package.nix index d0f483cce617..dfd3c5b055a9 100644 --- a/pkgs/by-name/re/recoverdm/package.nix +++ b/pkgs/by-name/re/recoverdm/package.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "recoverdm"; homepage = "https://salsa.debian.org/pkg-security-team/recoverdm"; changelog = "https://salsa.debian.org/pkg-security-team/recoverdm/-/blob/debian/master/debian/changelog"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl1Only; }; diff --git a/pkgs/by-name/re/regripper/package.nix b/pkgs/by-name/re/regripper/package.nix index dee3efcc219b..97d4eb9c8ad9 100644 --- a/pkgs/by-name/re/regripper/package.nix +++ b/pkgs/by-name/re/regripper/package.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation { description = "Open source forensic software used as a Windows Registry data extraction command line"; mainProgram = "regripper"; homepage = "https://github.com/keydet89/RegRipper3.0"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.mit; }; diff --git a/pkgs/by-name/ri/rifiuti/package.nix b/pkgs/by-name/ri/rifiuti/package.nix index 806015e793ed..10074e82ace6 100644 --- a/pkgs/by-name/ri/rifiuti/package.nix +++ b/pkgs/by-name/ri/rifiuti/package.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Analyze Windows Recycle Bin INFO2 file"; mainProgram = "rifiuti"; homepage = "https://sourceforge.net/projects/odessa/files/Rifiuti"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.bsd3; }; diff --git a/pkgs/by-name/rs/rsmangler/package.nix b/pkgs/by-name/rs/rsmangler/package.nix index 31aa87e7c445..cae8e39f77d2 100644 --- a/pkgs/by-name/rs/rsmangler/package.nix +++ b/pkgs/by-name/rs/rsmangler/package.nix @@ -40,7 +40,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://github.com/digininja/RSMangler"; license = lib.licenses.cc-by-sa-20; mainProgram = "rsmangler"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = ruby.meta.platforms; }; }) diff --git a/pkgs/by-name/sa/samdump2/package.nix b/pkgs/by-name/sa/samdump2/package.nix index c232c1fe3fdb..ab7c6fc2bf97 100644 --- a/pkgs/by-name/sa/samdump2/package.nix +++ b/pkgs/by-name/sa/samdump2/package.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "samdump2"; homepage = "https://sourceforge.net/projects/ophcrack/files/samdump2"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/sc/scrounge-ntfs/package.nix b/pkgs/by-name/sc/scrounge-ntfs/package.nix index 25baefbd1fc3..c9f6d5083672 100644 --- a/pkgs/by-name/sc/scrounge-ntfs/package.nix +++ b/pkgs/by-name/sc/scrounge-ntfs/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Data recovery program for NTFS file systems"; mainProgram = "scrounge-ntfs"; homepage = "http://thewalter.net/stef/software/scrounge/"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.bsd3; }; diff --git a/pkgs/by-name/sp/spooftooph/package.nix b/pkgs/by-name/sp/spooftooph/package.nix index 34f2341b7138..dc045344aec9 100644 --- a/pkgs/by-name/sp/spooftooph/package.nix +++ b/pkgs/by-name/sp/spooftooph/package.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "spooftooph"; license = lib.licenses.gpl2Only; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/sw/sweet-folders/package.nix b/pkgs/by-name/sw/sweet-folders/package.nix index bf36f3f1f789..e14084cf1f98 100644 --- a/pkgs/by-name/sw/sweet-folders/package.nix +++ b/pkgs/by-name/sw/sweet-folders/package.nix @@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation { meta = { description = "Folders icons for Sweet GTK theme"; homepage = "https://github.com/EliverLara/Sweet-folders"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl3Plus; }; diff --git a/pkgs/by-name/sw/sweet/package.nix b/pkgs/by-name/sw/sweet/package.nix index 807c2e473525..02e53789142b 100644 --- a/pkgs/by-name/sw/sweet/package.nix +++ b/pkgs/by-name/sw/sweet/package.nix @@ -104,7 +104,6 @@ lib.checkListOfEnum "${pname}: color variants" colorVariantList colorVariants license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ fuzen - d3vil0p3r ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/to/tokyonight-gtk-theme/package.nix b/pkgs/by-name/to/tokyonight-gtk-theme/package.nix index 08031e8f6c9a..9fba06147400 100644 --- a/pkgs/by-name/to/tokyonight-gtk-theme/package.nix +++ b/pkgs/by-name/to/tokyonight-gtk-theme/package.nix @@ -120,7 +120,6 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ garaiza-93 - d3vil0p3r ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/un/undbx/package.nix b/pkgs/by-name/un/undbx/package.nix index 82541764edb8..0639bbee8847 100644 --- a/pkgs/by-name/un/undbx/package.nix +++ b/pkgs/by-name/un/undbx/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Extract e-mail messages from Outlook Express DBX files"; homepage = "https://github.com/ZungBang/undbx"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl3Plus; mainProgram = "undbx"; diff --git a/pkgs/by-name/un/unix-privesc-check/package.nix b/pkgs/by-name/un/unix-privesc-check/package.nix index e13ddd931252..11270f3465e5 100644 --- a/pkgs/by-name/un/unix-privesc-check/package.nix +++ b/pkgs/by-name/un/unix-privesc-check/package.nix @@ -81,7 +81,7 @@ resholve.mkDerivation rec { description = "Find misconfigurations that could allow local unprivilged users to escalate privileges to other users or to access local apps"; mainProgram = "unix-privesc-check"; homepage = "https://pentestmonkey.net/tools/audit/unix-privesc-check"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.gpl2Plus; }; diff --git a/pkgs/by-name/vi/villain/package.nix b/pkgs/by-name/vi/villain/package.nix index 6bf8494bdc2f..ff57393545ff 100644 --- a/pkgs/by-name/vi/villain/package.nix +++ b/pkgs/by-name/vi/villain/package.nix @@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/t3l3machus/Villain"; license = lib.licenses.cc-by-nc-nd-40; mainProgram = "villain"; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/we/weevely/package.nix b/pkgs/by-name/we/weevely/package.nix index d81b3dcc74ba..3e78a04c4901 100644 --- a/pkgs/by-name/we/weevely/package.nix +++ b/pkgs/by-name/we/weevely/package.nix @@ -51,6 +51,6 @@ python3Packages.buildPythonApplication rec { mainProgram = "weevely"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/wi/wifite2/package.nix b/pkgs/by-name/wi/wifite2/package.nix index 51ad6dc062af..41426beb1c9a 100644 --- a/pkgs/by-name/wi/wifite2/package.nix +++ b/pkgs/by-name/wi/wifite2/package.nix @@ -82,7 +82,6 @@ python3.pkgs.buildPythonApplication rec { maintainers = with lib.maintainers; [ lassulus danielfullmer - d3vil0p3r ]; }; } diff --git a/pkgs/development/python-modules/pywebcopy/default.nix b/pkgs/development/python-modules/pywebcopy/default.nix index 028a78177ea9..de5fbdcd88e3 100644 --- a/pkgs/development/python-modules/pywebcopy/default.nix +++ b/pkgs/development/python-modules/pywebcopy/default.nix @@ -42,6 +42,6 @@ buildPythonPackage rec { description = "Python package for cloning complete webpages and websites to local storage"; homepage = "https://github.com/rajatomar788/pywebcopy/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ d3vil0p3r ]; + maintainers = [ ]; }; } From 1ccd77da45a7bf972e8332997aa25040586e97d0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:23:20 +0000 Subject: [PATCH 1028/1216] python3Packages.tidalapi: 0.8.10 -> 0.8.11 --- pkgs/development/python-modules/tidalapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tidalapi/default.nix b/pkgs/development/python-modules/tidalapi/default.nix index 25d3858801a9..c31ddac56df3 100644 --- a/pkgs/development/python-modules/tidalapi/default.nix +++ b/pkgs/development/python-modules/tidalapi/default.nix @@ -13,14 +13,14 @@ }: buildPythonPackage rec { pname = "tidalapi"; - version = "0.8.10"; + version = "0.8.11"; pyproject = true; src = fetchFromGitHub { owner = "EbbLabs"; repo = "python-tidal"; tag = "v${version}"; - hash = "sha256-hqtTe/KIGds01udMKoH5xXnoEe17FuOXLvWtp1yvJ2c="; + hash = "sha256-5IGMSiDwEGCnMtTARmx8Z9nfc3BaCe6z32m5j2FFBAI="; }; build-system = [ From 92cd127816f6c8b0ed39b3c1df2cf959a991064b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:29:29 +0000 Subject: [PATCH 1029/1216] python3Packages.miniflux: 1.1.4 -> 1.1.5 --- pkgs/development/python-modules/miniflux/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/miniflux/default.nix b/pkgs/development/python-modules/miniflux/default.nix index 1a847608f7ac..b04c503ecf50 100644 --- a/pkgs/development/python-modules/miniflux/default.nix +++ b/pkgs/development/python-modules/miniflux/default.nix @@ -8,14 +8,14 @@ }: buildPythonPackage rec { pname = "miniflux"; - version = "1.1.4"; + version = "1.1.5"; pyproject = true; src = fetchFromGitHub { owner = "miniflux"; repo = "python-client"; tag = version; - hash = "sha256-SCam8WiQH0cOUcqMMvhNDaNPGs7hi1RP4x4eoa5WIa4="; + hash = "sha256-RnND/NBTpmqT1UubGQLM7NVpIYKvue7CnRXWG0scqPo="; }; build-system = [ setuptools ]; From 6a5fe9557ea9dbe9895750148eba3e0cd8f25402 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:34:56 +0000 Subject: [PATCH 1030/1216] algolia-cli: 1.7.2 -> 1.7.3 --- pkgs/by-name/al/algolia-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/al/algolia-cli/package.nix b/pkgs/by-name/al/algolia-cli/package.nix index 5020341ae860..0b456a677d6f 100644 --- a/pkgs/by-name/al/algolia-cli/package.nix +++ b/pkgs/by-name/al/algolia-cli/package.nix @@ -6,7 +6,7 @@ installShellFiles, }: let - version = "1.7.2"; + version = "1.7.3"; in buildGoModule { pname = "algolia-cli"; @@ -16,10 +16,10 @@ buildGoModule { owner = "algolia"; repo = "cli"; tag = "v${version}"; - hash = "sha256-7g96LEtY6VCNwnJxKVQIOeqJSHrAdIIO3feUb+DmDJ0="; + hash = "sha256-m7PAD9EKrl7eBzRwCHDcH+eBcFnfXIDnIm6wvOtay5g="; }; - vendorHash = "sha256-zDhsJ9iUKm0RzALVlvZDIPYaTqfIDIuUWAU+h5gp4Es="; + vendorHash = "sha256-I6awzstThs0nC/Nyy00jCN3cpF1MXJcFTUM95E38HQI="; nativeBuildInputs = [ installShellFiles ]; From d866d02842632cdf64c6ca656f196022532ba4dc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:38:50 +0000 Subject: [PATCH 1031/1216] phrase-cli: 2.53.1 -> 2.54.3 --- pkgs/by-name/ph/phrase-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ph/phrase-cli/package.nix b/pkgs/by-name/ph/phrase-cli/package.nix index bc46cd4eccce..6db51f2666ea 100644 --- a/pkgs/by-name/ph/phrase-cli/package.nix +++ b/pkgs/by-name/ph/phrase-cli/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "phrase-cli"; - version = "2.53.1"; + version = "2.54.3"; src = fetchFromGitHub { owner = "phrase"; repo = "phrase-cli"; rev = version; - sha256 = "sha256-5Iral/ju6tJGRS8JUIXBVEQeme34F+v1i8F7pXprZas="; + sha256 = "sha256-t/DWbfxQkIlLJ5Scej2dlEp6+Tk7+SGPt7R1DkM+MEo="; }; - vendorHash = "sha256-LyPS2E5v3n7RVV3YEsEUZJZWB5x32TTfeOHAZProuCs="; + vendorHash = "sha256-eg/m6PgeVHsF0gTXdP5B5IZFMd68IVPSFs1e8nCps8U="; ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ]; From 490ef1cc345b06ea83c3c68236ec5e36f3d4e708 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:39:46 +0000 Subject: [PATCH 1032/1216] uutils-util-linux: 0.0.1-unstable-2026-01-15 -> 0.0.1-unstable-2026-01-19 --- pkgs/by-name/uu/uutils-util-linux/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/uu/uutils-util-linux/package.nix b/pkgs/by-name/uu/uutils-util-linux/package.nix index 126281d616d3..7b07c13ad246 100644 --- a/pkgs/by-name/uu/uutils-util-linux/package.nix +++ b/pkgs/by-name/uu/uutils-util-linux/package.nix @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-util-linux"; - version = "0.0.1-unstable-2026-01-15"; + version = "0.0.1-unstable-2026-01-19"; src = fetchFromGitHub { owner = "uutils"; repo = "util-linux"; - rev = "60c8f8b572109d8bef0210b17486de2a2d565a19"; - hash = "sha256-hebVBj/u8UQcOXFniY+FKVbT8kZgbmLWGClAX858GzI="; + rev = "6fa694801a4c51f82787d0613f49338e67a284ab"; + hash = "sha256-DMjKMzXbDaWA7BPIBj9tKo6VXyS9WcF5iree3oqIViI="; }; postPatch = '' @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '"cut"' '"${lib.getExe' coreutils "cut"}"' ''; - cargoHash = "sha256-bgOnkNfVZuPB9Ku12wwjhryR/fjRkWK2cMhoRZMBMZ0="; + cargoHash = "sha256-+oKsHCAWiMH/oV7AL5+Nq5PgfS9SQvs5MLqCW8yG3vw="; nativeBuildInputs = [ pkg-config From 7cd6430a809f716f3e7258b16374d20042263e11 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 18:40:32 +0000 Subject: [PATCH 1033/1216] uutils-procps: 0.0.1-unstable-2026-01-08 -> 0.0.1-unstable-2026-01-19 --- pkgs/by-name/uu/uutils-procps/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/uu/uutils-procps/package.nix b/pkgs/by-name/uu/uutils-procps/package.nix index 18527522dbe8..c78a575e97ce 100644 --- a/pkgs/by-name/uu/uutils-procps/package.nix +++ b/pkgs/by-name/uu/uutils-procps/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-procps"; - version = "0.0.1-unstable-2026-01-08"; + version = "0.0.1-unstable-2026-01-19"; src = fetchFromGitHub { owner = "uutils"; repo = "procps"; - rev = "d0dd746491844b5de4724bcb7d0a28674a8b33f9"; - hash = "sha256-gRkXVc3+0dqlvt/hAsAXnDFsOeN83ozPjieU4yLlOms="; + rev = "0dcfb73afa946d585a1056d3ae117c8ec3407a31"; + hash = "sha256-oq2tPaguyptMtYdnsM9nUXzSbKXdozl+xY0+qk/zZW8="; }; - cargoHash = "sha256-wh9GHj/F/v1kTyZim7nGuuuFm92OsX8Mxj01GL0H/CE="; + cargoHash = "sha256-MYIlzLP6DMBgLfNQSE3TxfMAMRdIHLlAwd6hmdHa8OU="; nativeBuildInputs = [ pkg-config From 7b564a3af18df2093a59754b1b58269ebb74e678 Mon Sep 17 00:00:00 2001 From: Graham Bennett Date: Thu, 22 Jan 2026 18:58:47 +0000 Subject: [PATCH 1034/1216] opencode: add graham33 as a maintainer --- pkgs/by-name/op/opencode/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 70c18efc5ec3..77ec29542281 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -169,7 +169,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "AI coding agent built for the terminal"; homepage = "https://github.com/anomalyco/opencode"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ delafthi ]; + maintainers = with lib.maintainers; [ + delafthi + graham33 + ]; sourceProvenance = with lib.sourceTypes; [ fromSource ]; platforms = [ "aarch64-linux" From 17a3c3b3b0acc034f997d0d0d748b58af12d71dd Mon Sep 17 00:00:00 2001 From: vinylen Date: Thu, 22 Jan 2026 20:01:22 +0100 Subject: [PATCH 1035/1216] vimPlugins.codediff-nvim: fix missing libgomp dependency --- .../plugins/non-generated/codediff-nvim/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix index 12577a31a20b..556ae62513db 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix @@ -5,6 +5,8 @@ nix-update-script, vimUtils, vimPlugins, + autoPatchelfHook, + stdenv, }: vimUtils.buildVimPlugin rec { pname = "codediff.nvim"; @@ -19,7 +21,8 @@ vimUtils.buildVimPlugin rec { dependencies = [ vimPlugins.nui-nvim ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.cc.lib ]; dontUseCmakeConfigure = true; buildPhase = '' runHook preBuild @@ -27,6 +30,12 @@ vimUtils.buildVimPlugin rec { runHook postBuild ''; + # The plugin detects Nix and tries to download libgomp at runtime. + # Symlinking it into the plugin directory fixes error message. + postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + ln -s ${stdenv.cc.cc.lib}/lib/libgomp.so.1 $out/libgomp.so.1 + ''; + passthru.updateScript = nix-update-script { }; meta = { From a11465f820a394d784fff6a78fa5fe37af242e7c Mon Sep 17 00:00:00 2001 From: eymeric Date: Tue, 11 Nov 2025 19:21:45 +0100 Subject: [PATCH 1036/1216] nixos/beszel: allow S.M.A.R.T monitoring --- .../services/monitoring/beszel-agent.nix | 53 +++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/monitoring/beszel-agent.nix b/nixos/modules/services/monitoring/beszel-agent.nix index 9cb4e1e57c7c..7f2082d8c55b 100644 --- a/nixos/modules/services/monitoring/beszel-agent.nix +++ b/nixos/modules/services/monitoring/beszel-agent.nix @@ -19,6 +19,29 @@ in openFirewall = (lib.mkEnableOption "") // { description = "Whether to open the firewall port (default 45876)."; }; + smartmon = { + enable = lib.mkOption { + default = false; + example = true; + description = "Include services.beszel.agent.smartmon.package in the Beszel agent path for disk monitoring and add the agent to the disk group."; + type = lib.types.bool; + }; + package = lib.mkPackageOption pkgs "smartmontools" { }; + deviceAllow = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "/dev/sda" + "/dev/sdb" + "/dev/nvme0" + ]; + description = '' + List of device paths to allow access to for SMART monitoring. + This is only needed if the ambient capabilities are not sufficient. + Devices will be granted read-only access. + ''; + }; + }; environment = lib.mkOption { type = lib.types.attrsOf lib.types.str; @@ -47,6 +70,11 @@ in }; config = lib.mkIf cfg.enable { + services.udev.extraRules = lib.optionalString cfg.smartmon.enable '' + # Change NVMe devices to disk group ownership for S.M.A.R.T. monitoring + KERNEL=="nvme[0-9]*", GROUP="disk", MODE="0660" + ''; + systemd.services.beszel-agent = { description = "Beszel Server Monitoring Agent"; @@ -57,6 +85,7 @@ in environment = cfg.environment; path = cfg.extraPath + ++ lib.optionals cfg.smartmon.enable [ cfg.smartmon.package ] ++ lib.optionals (builtins.elem "nvidia" config.services.xserver.videoDrivers) [ (lib.getBin config.hardware.nvidia.package) ] @@ -79,14 +108,32 @@ in lib.optionals config.virtualisation.docker.enable [ "docker" ] ++ lib.optionals ( config.virtualisation.podman.enable && config.virtualisation.podman.dockerSocket.enable - ) [ "podman" ]; + ) [ "podman" ] + ++ lib.optionals cfg.smartmon.enable [ "disk" ]; DynamicUser = true; User = "beszel-agent"; + + # Capabilities needed for SMART monitoring + AmbientCapabilities = lib.mkIf cfg.smartmon.enable [ + "CAP_SYS_RAWIO" + "CAP_SYS_ADMIN" + ]; + CapabilityBoundingSet = lib.mkIf cfg.smartmon.enable [ + "CAP_SYS_RAWIO" + "CAP_SYS_ADMIN" + ]; + + # Device access for SMART monitoring + DeviceAllow = lib.mkIf (cfg.smartmon.enable && cfg.smartmon.deviceAllow != [ ]) ( + map (device: "${device} r") cfg.smartmon.deviceAllow + ); + LockPersonality = true; - NoNewPrivileges = true; + NoNewPrivileges = !cfg.smartmon.enable; + PrivateDevices = !cfg.smartmon.enable; PrivateTmp = true; - PrivateUsers = true; + PrivateUsers = !cfg.smartmon.enable; ProtectClock = true; ProtectControlGroups = "strict"; ProtectHome = "read-only"; From 3ca0dc335e3793927a8bc48bf6d84e598ca97464 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 19:11:37 +0000 Subject: [PATCH 1037/1216] python3Packages.iso4217: 1.14 -> 1.15 --- pkgs/development/python-modules/iso4217/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iso4217/default.nix b/pkgs/development/python-modules/iso4217/default.nix index 1750ab27d75d..53405cb97fb8 100644 --- a/pkgs/development/python-modules/iso4217/default.nix +++ b/pkgs/development/python-modules/iso4217/default.nix @@ -16,14 +16,14 @@ let in buildPythonPackage rec { pname = "iso4217"; - version = "1.14"; + version = "1.15"; pyproject = true; src = fetchFromGitHub { owner = "dahlia"; repo = "iso4217"; tag = version; - hash = "sha256-lGXNSUBv/So3UgqXQ5AksqrCJVoyU8icDCfOda7Y5BE="; + hash = "sha256-YhYCCGMj5q+QeXWElysONbFkCVkcQeOPy/Tk4+fyNLk="; }; build-system = [ setuptools ]; From c1ec5315e7fb5db08f4649aa993b5c1bad287e81 Mon Sep 17 00:00:00 2001 From: Bazyli Cyran Date: Thu, 22 Jan 2026 20:42:55 +0100 Subject: [PATCH 1038/1216] philipstv: 3.0.1 -> 3.0.2 --- .../development/python-modules/philipstv/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/philipstv/default.nix b/pkgs/development/python-modules/philipstv/default.nix index 82ecfccb3130..6e4e0177cf9a 100644 --- a/pkgs/development/python-modules/philipstv/default.nix +++ b/pkgs/development/python-modules/philipstv/default.nix @@ -2,8 +2,8 @@ lib, fetchFromGitHub, buildPythonPackage, - poetry-core, - poetry-dynamic-versioning, + hatchling, + hatch-vcs, installShellFiles, pytestCheckHook, requests-mock, @@ -17,19 +17,19 @@ buildPythonPackage rec { pname = "philipstv"; - version = "3.0.1"; + version = "3.0.2"; pyproject = true; src = fetchFromGitHub { owner = "bcyran"; repo = "philipstv"; tag = version; - hash = "sha256-9OlPaGruD6HDJArvIOb/pIVw5nqTUleDfxeYp2xBbEA="; + hash = "sha256-UJYxQ3R1bEoNkhm5FiFqQC4PbeEqsBKZYdqv5i5H7rg="; }; build-system = [ - poetry-core - poetry-dynamic-versioning + hatchling + hatch-vcs ]; nativeBuildInputs = [ From d6f56f81ac0e3581cac97e2d1f2afb31886a4e83 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 14:31:02 +0000 Subject: [PATCH 1039/1216] python3Packages.mypyllant: 0.9.8 -> 0.9.9 --- pkgs/development/python-modules/mypyllant/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypyllant/default.nix b/pkgs/development/python-modules/mypyllant/default.nix index 77f1f0c9980f..82563845796b 100644 --- a/pkgs/development/python-modules/mypyllant/default.nix +++ b/pkgs/development/python-modules/mypyllant/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "mypyllant"; - version = "0.9.8"; + version = "0.9.9"; pyproject = true; src = fetchFromGitHub { owner = "signalkraft"; repo = "myPyllant"; tag = "v${version}"; - hash = "sha256-eneAFJ4xRL8EKj8Act/YcW7Gx0B85u0g3LTWPlI/B/0="; + hash = "sha256-wvqlTlcNy/ue2yfrQyS93vfRSOTsHbvARI+7BKuUuYs="; }; build-system = [ From 701b3e010580e6a3216c8ca87690cece96015893 Mon Sep 17 00:00:00 2001 From: Matej Urbas Date: Thu, 22 Jan 2026 19:44:12 +0000 Subject: [PATCH 1040/1216] home-assistant-custom-components.mypyllant: 0.9.9 -> 0.9.10 --- ...ytest-homeassistant-custom-component.patch | 21 ------------------- .../custom-components/mypyllant/package.nix | 9 ++------ 2 files changed, 2 insertions(+), 28 deletions(-) delete mode 100644 pkgs/servers/home-assistant/custom-components/mypyllant/migrate-to-new-pytest-homeassistant-custom-component.patch diff --git a/pkgs/servers/home-assistant/custom-components/mypyllant/migrate-to-new-pytest-homeassistant-custom-component.patch b/pkgs/servers/home-assistant/custom-components/mypyllant/migrate-to-new-pytest-homeassistant-custom-component.patch deleted file mode 100644 index 34bf35a26129..000000000000 --- a/pkgs/servers/home-assistant/custom-components/mypyllant/migrate-to-new-pytest-homeassistant-custom-component.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/tests/test_services.py b/tests/test_services.py -index 1fb07b3..f7a552c 100644 ---- a/tests/test_services.py -+++ b/tests/test_services.py -@@ -3,6 +3,7 @@ from dataclasses import asdict - - import pytest - from homeassistant.helpers.entity_registry import DATA_REGISTRY, EntityRegistry -+from homeassistant.helpers.trigger import TRIGGERS, TRIGGER_PLATFORM_SUBSCRIPTIONS - from homeassistant.loader import ( - DATA_COMPONENTS, - DATA_INTEGRATIONS, -@@ -31,6 +32,8 @@ def setup_hass_for_service_test(hass): - hass.data[DATA_PRELOAD_PLATFORMS] = {} - hass.data[DATA_MISSING_PLATFORMS] = {} - hass.data[DATA_REGISTRY] = EntityRegistry(hass) -+ hass.data[TRIGGER_PLATFORM_SUBSCRIPTIONS] = [] -+ hass.data[TRIGGERS] = {} - return hass - - diff --git a/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix b/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix index 4faa428147a9..58d1d6b962e9 100644 --- a/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix +++ b/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix @@ -19,20 +19,15 @@ buildHomeAssistantComponent rec { owner = "signalkraft"; domain = "mypyllant"; - version = "0.9.9"; + version = "0.9.10"; src = fetchFromGitHub { owner = "signalkraft"; repo = "mypyllant-component"; tag = "v${version}"; - hash = "sha256-6T8SGAP2535VqZmvSeITpMIa0SBJhnWsOKM1Y66WhHE="; + hash = "sha256-4IfLd+NEaWyxgdnAz7YGM/6i0usoqwgKlBJFzDOlJ4A="; }; - patches = [ - # Migrates tests to the new version of `pytest-homeassistant-custom-component` (see https://github.com/signalkraft/mypyllant-component/pull/394). - ./migrate-to-new-pytest-homeassistant-custom-component.patch - ]; - dependencies = [ mypyllant voluptuous From 47314ee12255da7c76a75fa719beb3e2424f920b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 19:48:14 +0000 Subject: [PATCH 1041/1216] python3Packages.pylint-odoo: 9.3.22 -> 10.0.0 --- pkgs/development/python-modules/pylint-odoo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pylint-odoo/default.nix b/pkgs/development/python-modules/pylint-odoo/default.nix index 6e67fa12b5ea..9a9bd18d5902 100644 --- a/pkgs/development/python-modules/pylint-odoo/default.nix +++ b/pkgs/development/python-modules/pylint-odoo/default.nix @@ -8,14 +8,14 @@ }: buildPythonPackage rec { pname = "pylint-odoo"; - version = "9.3.22"; + version = "10.0.0"; pyproject = true; src = fetchFromGitHub { owner = "OCA"; repo = "pylint-odoo"; tag = "v${version}"; - hash = "sha256-qSeDnfZCdEtXAXeAJ+mEbDH5Fbxj9ghiucwlz1mIMnI="; + hash = "sha256-6frC74nTM+J9O05oFGXFfyu5ol2jTzcBdH4zHgMT2u0="; }; pythonRelaxDeps = [ From 30d62a2988201dc47cde90777a768e554d04a20b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 20:05:35 +0000 Subject: [PATCH 1042/1216] copilot-language-server: 1.410.0 -> 1.412.0 --- pkgs/by-name/co/copilot-language-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index 351399c2e889..763486bbbbe0 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "copilot-language-server"; - version = "1.410.0"; + version = "1.412.0"; src = fetchzip { url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip"; - hash = "sha256-pReUH/0PZ8q2z+rQScl/fcL1HIFnjH244hr6PjhX6JY="; + hash = "sha256-t1GDRnJq1O5T49/iKSMsRw467EujWmGsuShI8Q8bI8w="; stripRoot = false; }; From 2f2e9fbd248516d3c528244cb01c868b23a6cd3e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 21:09:01 +0100 Subject: [PATCH 1043/1216] uavs3d: fix update script --- pkgs/by-name/ua/uavs3d/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ua/uavs3d/package.nix b/pkgs/by-name/ua/uavs3d/package.nix index 085eed38d3ed..47898d8d5ce4 100644 --- a/pkgs/by-name/ua/uavs3d/package.nix +++ b/pkgs/by-name/ua/uavs3d/package.nix @@ -41,7 +41,9 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - updateScript = unstableGitUpdater { }; + updateScript = unstableGitUpdater { + tagPrefix = "v"; + }; tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; }; From 2d8e5426896e2845afae3d155d2b5f98997443f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Roche?= Date: Wed, 21 Jan 2026 19:17:15 +0100 Subject: [PATCH 1044/1216] system-manager: init at 1.0.0 --- pkgs/by-name/sy/system-manager/package.nix | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 pkgs/by-name/sy/system-manager/package.nix diff --git a/pkgs/by-name/sy/system-manager/package.nix b/pkgs/by-name/sy/system-manager/package.nix new file mode 100644 index 000000000000..c8570f7b6f13 --- /dev/null +++ b/pkgs/by-name/sy/system-manager/package.nix @@ -0,0 +1,56 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + dbus, + pkg-config, + clippy, + nix, + cargo, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "system-manager"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "numtide"; + repo = "system-manager"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Jjvn9gPmL6otZcaYjzE4cXLQFyzAEEsnpgwP3OoN8Gk="; + }; + + cargoHash = "sha256-A3A1RRx9U43u6wmzPE+yZwi08m7vcD5ccLC89TgDvOg="; + + buildInputs = [ dbus ]; + nativeBuildInputs = [ + pkg-config + ]; + + nativeCheckInputs = [ + clippy + nix + cargo + ]; + + preCheck = '' + cargo clippy + + # Stop the Nix command from trying to create /nix/var/nix/profiles. + # + # https://nix.dev/manual/nix/2.24/command-ref/new-cli/nix3-profile#profiles + export NIX_STATE_DIR=$TMPDIR + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Manage system config using nix on any distro"; + homepage = "http://system-manager.net"; + license = lib.licenses.mit; + mainProgram = "system-manager"; + maintainers = with lib.maintainers; [ jfroche ]; + platforms = lib.platforms.unix; + }; +}) From 68f5558c0d3a8732e15b6bfefaf043c20d28078b Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 21:19:58 +0100 Subject: [PATCH 1045/1216] hm: fix update script --- pkgs/by-name/hm/hm/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/hm/hm/package.nix b/pkgs/by-name/hm/hm/package.nix index fc3f01a56a66..600a07b375e5 100644 --- a/pkgs/by-name/hm/hm/package.nix +++ b/pkgs/by-name/hm/hm/package.nix @@ -59,7 +59,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; passthru = { - updateScript = gitUpdater { rev-prefix = "HM-"; }; + updateScript = gitUpdater { + rev-prefix = "HM-"; + ignoredVersions = "rc"; + }; }; meta = { From f558e3998957303b02e469be0803c770cc5f84b0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 20:21:33 +0000 Subject: [PATCH 1046/1216] v2ray-domain-list-community: 20260115051358 -> 20260122141558 --- pkgs/by-name/v2/v2ray-domain-list-community/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix index bca2dde18605..526331e167b5 100644 --- a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix +++ b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix @@ -9,12 +9,12 @@ let generator = pkgsBuildBuild.buildGoModule rec { pname = "v2ray-domain-list-community"; - version = "20260115051358"; + version = "20260122141558"; src = fetchFromGitHub { owner = "v2fly"; repo = "domain-list-community"; rev = version; - hash = "sha256-KtYU16cpYkZ739+Y9ZqZkNa4Uv8WGvoY2flbf/cCZyA="; + hash = "sha256-MmtAA+SR8a6glzAuKaqH3z/cqKlYUQNRzymtPlOrbcg="; }; vendorHash = "sha256-9tXv+rDBowxDN9gH4zHCr4TRbic4kijco3Y6bojJKRk="; meta = { From ad12aa656f5b6c3ae4d827784cf289d43aba42bd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 20:24:16 +0000 Subject: [PATCH 1047/1216] python3Packages.google-cloud-network-connectivity: 2.12.0 -> 2.13.0 --- .../google-cloud-network-connectivity/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix index a00381b785ad..619a14cfb8d0 100644 --- a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix +++ b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix @@ -14,13 +14,13 @@ buildPythonPackage (finalAttrs: { pname = "google-cloud-network-connectivity"; - version = "2.12.0"; + version = "2.13.0"; pyproject = true; src = fetchPypi { inherit (finalAttrs) version; pname = "google_cloud_network_connectivity"; - hash = "sha256-4CF79YGR8Ean5PoGLjhWAME+0VYSS3YOPVp9uGeUjaY="; + hash = "sha256-Fad8oso2ulaA6Nqna7AlBe9whycHzDLyFKK9wqylfzA="; }; build-system = [ setuptools ]; From 9192c6e88061ff9134dbcdab29fb1525ae799790 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 21:40:08 +0100 Subject: [PATCH 1048/1216] python313Packages.publicsuffixlist: 1.0.2.20260117 -> 1.0.2.20260121 Changelog: https://github.com/ko-zu/psl/blob/v1.0.2.20260121-gha/CHANGES.md --- pkgs/development/python-modules/publicsuffixlist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 6d7128a5a390..69ea1c5ee429 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -11,12 +11,12 @@ buildPythonPackage (finalAttrs: { pname = "publicsuffixlist"; - version = "1.0.2.20260117"; + version = "1.0.2.20260121"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-JOESMNtP5Nfmi7QyA/gL9Sf2FMBiWn3CdJ17BETYWOU="; + hash = "sha256-3CjU0m330GWrQksBe7d9W8PZfAIyzZ80MlDNewgWC78="; }; postPatch = '' From 7a7cff54e3490f206d2bdc50e9b2535db91281f7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 20:54:08 +0000 Subject: [PATCH 1049/1216] sdl_gamecontrollerdb: 0-unstable-2026-01-11 -> 0-unstable-2026-01-19 --- pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix index 6d5ca4b14aa2..c6ea00e34271 100644 --- a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix +++ b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "sdl_gamecontrollerdb"; - version = "0-unstable-2026-01-11"; + version = "0-unstable-2026-01-19"; src = fetchFromGitHub { owner = "mdqinc"; repo = "SDL_GameControllerDB"; - rev = "65490d3c39825a84f9c2cb4fa9bc359284f37ca2"; - hash = "sha256-v6V5TTmI7PKHU5F82yhyyPdofPegvbbGeqqque+C1hU="; + rev = "07a5c6b80262a208200573186eb5d5ac2518e89d"; + hash = "sha256-Lz55pKQ5vT3kAAziOKzT5q8GCVHO/GOZ8fOC8BHoMJA="; }; dontBuild = true; From a576df60ba2cb549c5af7e31545e0e5d99d3c05f Mon Sep 17 00:00:00 2001 From: a-kenji Date: Thu, 22 Jan 2026 21:58:23 +0100 Subject: [PATCH 1050/1216] lazyworktree: 1.26.0 -> 1.26.2 --- pkgs/by-name/la/lazyworktree/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/la/lazyworktree/package.nix b/pkgs/by-name/la/lazyworktree/package.nix index 7c1c5cb86ea3..d76ada35fc6f 100644 --- a/pkgs/by-name/la/lazyworktree/package.nix +++ b/pkgs/by-name/la/lazyworktree/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "lazyworktree"; - version = "1.26.0"; + version = "1.26.2"; src = fetchFromGitHub { owner = "chmouel"; repo = "lazyworktree"; tag = "v${finalAttrs.version}"; - hash = "sha256-NEZ8bMI7FxiHuCmFy7sjDlZv4aoX431VRQHQXigaHOM="; + hash = "sha256-TLQEqHcDEiASe4MzSRVmbpHd0RsMz+nTY05LFH6nCC0="; }; - vendorHash = "sha256-6Fxri3Ge2iaMluc5h5tL03yXeJcHT6kG3O2ewDG7Acs="; + vendorHash = "sha256-esZcuFWSztJvQUgK4rX8nu0UB8UCSuzoOkbUigH0Em0="; nativeBuildInputs = [ installShellFiles ]; From af427a76a6e76af8d4b5fe818fc16c82a39740a0 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Thu, 22 Jan 2026 22:03:49 +0100 Subject: [PATCH 1051/1216] qdelay: 1.0.6 -> 1.0.7 --- pkgs/by-name/qd/qdelay/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/qd/qdelay/package.nix b/pkgs/by-name/qd/qdelay/package.nix index a7f27131a3a9..4d78090472f3 100644 --- a/pkgs/by-name/qd/qdelay/package.nix +++ b/pkgs/by-name/qd/qdelay/package.nix @@ -20,14 +20,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "qdelay"; - version = "1.0.6"; + version = "1.0.7"; src = fetchFromGitHub { owner = "tiagolr"; repo = "qdelay"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-2fu2eF1SjM1qSwKx/oEAx6EWNbNZ8VeJrtnmvxm/0yU="; + hash = "sha256-Pnta6KyvOPKsKp9wfofc6BnBGJdV7Of6tFeTgaCTu7c="; }; nativeBuildInputs = [ From 567162e1e1798aaa89e742c0df783a73052a4104 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 21:10:36 +0000 Subject: [PATCH 1052/1216] pocketbase: 0.36.0 -> 0.36.1 --- pkgs/by-name/po/pocketbase/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/pocketbase/package.nix b/pkgs/by-name/po/pocketbase/package.nix index 6ecc61558cb3..f09dbe0f1410 100644 --- a/pkgs/by-name/po/pocketbase/package.nix +++ b/pkgs/by-name/po/pocketbase/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "pocketbase"; - version = "0.36.0"; + version = "0.36.1"; src = fetchFromGitHub { owner = "pocketbase"; repo = "pocketbase"; rev = "v${version}"; - hash = "sha256-sl3OsGV6J1kxCW8ter71ACk7BkPZjImIKdcGJOtoEmg="; + hash = "sha256-mDQhsVvO6rj5zkbFOKdM/d0+BWa0Flfdx2kEGqjFeWg="; }; - vendorHash = "sha256-2nLjbIqjxFNd/epJfi+3C9HHlKYipv9HbqNKgtgH6H8="; + vendorHash = "sha256-8Y5nYDR2RKd2S41yelvz0EooPJkZGv+xp7JA4QQGDA8="; # This is the released subpackage from upstream repo subPackages = [ "examples/base" ]; From 6001900e983b80586552f38edf360525990bf01b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 21:21:29 +0000 Subject: [PATCH 1053/1216] stevia: 0.52.0 -> 0.52.1 --- pkgs/by-name/st/stevia/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/stevia/package.nix b/pkgs/by-name/st/stevia/package.nix index a92afb1ce03b..04cc43d48785 100644 --- a/pkgs/by-name/st/stevia/package.nix +++ b/pkgs/by-name/st/stevia/package.nix @@ -25,14 +25,14 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "stevia"; - version = "0.52.0"; + version = "0.52.1"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World/Phosh"; repo = "stevia"; tag = "v${finalAttrs.version}"; - hash = "sha256-LE2+1RkxD8Sj2H/3NFzcYXZktlVGoNzWrE0UO5sJCAM="; + hash = "sha256-GdAKy7F8SRGtfmN6as6AAg6p/WJrcDPp338OHUXoORM="; }; mesonFlags = [ From 64aaf8b05ebfaabc2be9c705d07278967ce37689 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 21:24:06 +0000 Subject: [PATCH 1054/1216] vscode-extensions.prettier.prettier-vscode: 12.0.7 -> 12.3.0 --- .../vscode/extensions/prettier.prettier-vscode/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix index b5cbcd830be6..0a25104eb2b0 100644 --- a/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix @@ -16,19 +16,19 @@ let vsix = stdenv.mkDerivation (finalAttrs: { name = "prettier-vscode-${finalAttrs.version}.vsix"; pname = "prettier-vscode-vsix"; - version = "12.0.7"; + version = "12.3.0"; src = fetchFromGitHub { owner = "prettier"; repo = "prettier-vscode"; tag = "v${finalAttrs.version}"; - hash = "sha256-pbUvgchOEWgBm0D5wdAPMfHouFdHZPEvCChD9JJf4Xk="; + hash = "sha256-a6BBWd+K8boLw+0j6etT/KHmdScLr6mBG7T5pslilTo="; }; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-npm-deps"; inherit (finalAttrs) src; - hash = "sha256-VcJ3mzuspML2z3EzAUi21tavPtI62/Jo3X8swnMXwOs="; + hash = "sha256-itl/OXjL6co3smccRwRbuGM427YzBsYh2BvkEc+oX5Y="; }; buildInputs = lib.optionals stdenv.isLinux [ From 46c993e9a9d835a4265f5f01f98a0d091db44781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 22 Jan 2026 22:27:54 +0100 Subject: [PATCH 1055/1216] gdmap: add missing wrapGAppsHook3 Fixes runtime crash when opening the file chooser: (gdmap:976370): GLib-GIO-ERROR **: 22:26:42.947: Settings schema 'org.gtk.Settings.FileChooser' is not installed Trace/breakpoint trap (core dumped) ./result/bin/gdmap --- pkgs/by-name/gd/gdmap/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/gd/gdmap/package.nix b/pkgs/by-name/gd/gdmap/package.nix index 37e26d4f4ada..b021bbf3bd02 100644 --- a/pkgs/by-name/gd/gdmap/package.nix +++ b/pkgs/by-name/gd/gdmap/package.nix @@ -9,6 +9,7 @@ pkg-config, libxml2, gettext, + wrapGAppsHook3, }: stdenv.mkDerivation { @@ -26,6 +27,7 @@ stdenv.mkDerivation { meson ninja pkg-config + wrapGAppsHook3 ]; buildInputs = [ gtk3 From d4b8a5ba37f9cbfbe4a491ea71442ba75698664f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dyego=20Aur=C3=A9lio?= Date: Tue, 20 Jan 2026 20:52:37 -0300 Subject: [PATCH 1056/1216] ci/pinned: update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This gives us nixfmt 1.2.0. From the nixpkgs-unstable channel at revision bde09022887110deb780067364a0818e89258968. Changes for nixfmt (1.1.0 → 1.2.0): https://github.com/NixOS/nixfmt/compare/v1.1.0...v1.2.0 Changes for nixd (2.7.0 → 2.8.2): https://github.com/nix-community/nixd/compare/2.7.0...2.8.2 Changes for treefmt-nix: https://github.com/numtide/treefmt-nix/compare/5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4...e96d59dff5c0d7fddb9d113ba108f03c3ef99eca Changes for zizmor (1.20.0 → 1.21.0): https://github.com/zizmorcore/zizmor/compare/v1.20.0...v1.21.0 ------- ci/nixf-diagnose: update configuration Update nixf-diagnose configuration as per numtide/treefmt-nix@0c445aa The new config output should be semantically equivalent. --- ci/default.nix | 23 ++++++++++++----------- ci/pinned.json | 12 ++++++------ 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/ci/default.nix b/ci/default.nix index 5c4b5034b8f8..916b991b4ad0 100644 --- a/ci/default.nix +++ b/ci/default.nix @@ -87,22 +87,23 @@ let "pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml" ]; - programs.nixf-diagnose.enable = true; - settings.formatter.nixf-diagnose = { - # Ensure nixfmt cleans up after nixf-diagnose. - priority = -1; - options = [ - "--auto-fix" + programs.nixf-diagnose = { + enable = true; + ignore = [ # Rule names can currently be looked up here: # https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py # TODO: Remove the following and fix things. - "--ignore=sema-unused-def-lambda-noarg-formal" - "--ignore=sema-unused-def-lambda-witharg-arg" - "--ignore=sema-unused-def-lambda-witharg-formal" - "--ignore=sema-unused-def-let" + "sema-unused-def-lambda-noarg-formal" + "sema-unused-def-lambda-witharg-arg" + "sema-unused-def-lambda-witharg-formal" + "sema-unused-def-let" # Keep this rule, because we have `lib.or`. - "--ignore=or-identifier" + "or-identifier" ]; + }; + settings.formatter.nixf-diagnose = { + # Ensure nixfmt cleans up after nixf-diagnose. + priority = -1; excludes = [ # Auto-generated; violates sema-extra-with # Can only sensibly be removed when --auto-fix supports multiple fixes at once: diff --git a/ci/pinned.json b/ci/pinned.json index 6feb67129b34..9e039136a160 100644 --- a/ci/pinned.json +++ b/ci/pinned.json @@ -9,9 +9,9 @@ }, "branch": "nixpkgs-unstable", "submodules": false, - "revision": "ee09932cedcef15aaf476f9343d1dea2cb77e261", - "url": "https://github.com/NixOS/nixpkgs/archive/ee09932cedcef15aaf476f9343d1dea2cb77e261.tar.gz", - "hash": "1xz5pa6la2fyj5b1cfigmg3nmml11fyf9ah0rnr4zfgmnwimn2gn" + "revision": "bde09022887110deb780067364a0818e89258968", + "url": "https://github.com/NixOS/nixpkgs/archive/bde09022887110deb780067364a0818e89258968.tar.gz", + "hash": "13mi187zpa4rw680qbwp7pmykjia8cra3nwvjqmsjba3qhlzif5l" }, "treefmt-nix": { "type": "Git", @@ -22,9 +22,9 @@ }, "branch": "main", "submodules": false, - "revision": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", - "url": "https://github.com/numtide/treefmt-nix/archive/5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4.tar.gz", - "hash": "0cr6aj9bk7n3y09lwmfjr7xg1f069332xf4q99z3kj1c1mp0wl82" + "revision": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", + "url": "https://github.com/numtide/treefmt-nix/archive/e96d59dff5c0d7fddb9d113ba108f03c3ef99eca.tar.gz", + "hash": "02gqyxila3ghw8gifq3mns639x86jcq079kvfvjm42mibx7z5fzb" } }, "version": 5 From cd60f55468aef60194f23b36c90a644d5c756c8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dyego=20Aur=C3=A9lio?= Date: Wed, 14 Jan 2026 16:51:20 -0300 Subject: [PATCH 1057/1216] ci/nixf-diagnose: ignore prelude rules - avoid treewide cleanup due to these new rules - invalid nix code was getting auto fixed --- ci/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ci/default.nix b/ci/default.nix index 916b991b4ad0..540a0faea0ab 100644 --- a/ci/default.nix +++ b/ci/default.nix @@ -99,6 +99,13 @@ let "sema-unused-def-let" # Keep this rule, because we have `lib.or`. "or-identifier" + # TODO: remove after outstanding prelude diagnostics issues are fixed: + # https://github.com/nix-community/nixd/issues/761 + # https://github.com/nix-community/nixd/issues/762 + "sema-primop-removed-prefix" + "sema-primop-overridden" + "sema-constant-overridden" + "sema-primop-unknown" ]; }; settings.formatter.nixf-diagnose = { From 28096cc5e3d8334fbe1845925f000f8c8c5e0aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dyego=20Aur=C3=A9lio?= Date: Thu, 22 Jan 2026 18:37:56 -0300 Subject: [PATCH 1058/1216] treewide: apply nixfmt 1.2.0 --- doc/hooks/udevCheckHook.section.md | 2 +- doc/hooks/versionCheckHook.section.md | 2 +- doc/languages-frameworks/nim.section.md | 2 +- lib/fileset/default.nix | 18 +++++----- lib/fileset/internal.nix | 2 +- lib/path/default.nix | 2 +- lib/tests/checkAndMergeCompat.nix | 2 +- lib/tests/misc.nix | 10 +++--- lib/types.nix | 2 +- modules/generic/meta-maintainers.nix | 2 +- nixos/README-modular-services.md | 2 +- nixos/doc/manual/shell.nix | 2 +- nixos/lib/make-multi-disk-zfs-image.nix | 2 +- nixos/lib/make-single-disk-zfs-image.nix | 2 +- nixos/lib/testing/nodes.nix | 2 +- nixos/lib/utils.nix | 2 +- nixos/modules/config/users-groups.nix | 4 +-- nixos/modules/config/xdg/portal.nix | 2 +- nixos/modules/hardware/inputmodule.nix | 2 +- nixos/modules/misc/nixpkgs.nix | 4 +-- nixos/modules/misc/nixpkgs/read-only.nix | 2 +- nixos/modules/misc/version.nix | 2 +- nixos/modules/programs/captive-browser.nix | 14 ++++---- nixos/modules/programs/nix-ld.nix | 2 +- nixos/modules/security/apparmor.nix | 2 +- nixos/modules/security/tpm2.nix | 4 +-- nixos/modules/services/audio/mpd.nix | 2 +- nixos/modules/services/audio/mpdscribble.nix | 2 +- nixos/modules/services/audio/pulseaudio.nix | 2 +- nixos/modules/services/backup/restic.nix | 2 +- nixos/modules/services/backup/syncoid.nix | 2 +- .../blockchain/ethereum/lighthouse.nix | 6 ++-- .../services/cluster/kubernetes/flannel.nix | 2 +- .../buildbot/master.nix | 2 +- .../gitlab-runner/runner.nix | 8 ++--- .../gocd-agent/default.nix | 2 +- nixos/modules/services/databases/couchdb.nix | 6 ++-- .../modules/services/databases/influxdb2.nix | 2 +- nixos/modules/services/development/athens.nix | 6 ++-- nixos/modules/services/games/freeciv.nix | 2 +- nixos/modules/services/hardware/actkbd.nix | 4 +-- nixos/modules/services/hardware/amdgpu.nix | 4 +-- nixos/modules/services/hardware/keyd.nix | 4 +-- .../nvidia-container-toolkit/default.nix | 2 +- .../services/hardware/triggerhappy.nix | 4 +-- nixos/modules/services/mail/dovecot.nix | 2 +- nixos/modules/services/mail/maddy.nix | 4 +-- nixos/modules/services/mail/postgrey.nix | 4 +-- nixos/modules/services/matrix/mjolnir.nix | 2 +- nixos/modules/services/matrix/pantalaimon.nix | 2 +- .../matrix/synapse-auto-compressor.nix | 4 +-- .../services/misc/anki-sync-server.nix | 2 +- nixos/modules/services/misc/apache-kafka.nix | 6 ++-- nixos/modules/services/misc/autosuspend.nix | 6 ++-- .../modules/services/misc/evdevremapkeys.nix | 2 +- nixos/modules/services/misc/jellyseerr.nix | 6 ++-- nixos/modules/services/misc/nix-gc.nix | 2 +- nixos/modules/services/misc/nix-optimise.nix | 2 +- nixos/modules/services/misc/synergy.nix | 8 ++--- nixos/modules/services/monitoring/nagios.nix | 2 +- .../prometheus/exporters/mysqld.nix | 2 +- .../network-filesystems/openafs/client.nix | 6 ++-- .../services/networking/cloudflared.nix | 2 +- .../services/networking/firezone/server.nix | 4 +-- .../services/networking/gns3-server.nix | 10 +++--- .../services/networking/go-autoconfig.nix | 2 +- nixos/modules/services/networking/hostapd.nix | 20 +++++------ nixos/modules/services/networking/inadyn.nix | 2 +- nixos/modules/services/networking/netbird.nix | 2 +- nixos/modules/services/networking/nsd.nix | 2 +- .../services/networking/robustirc-bridge.nix | 2 +- .../modules/services/networking/ssh/sshd.nix | 8 ++--- nixos/modules/services/printing/cups-pdf.nix | 2 +- nixos/modules/services/search/manticore.nix | 2 +- .../security/crowdsec-firewall-bouncer.nix | 2 +- nixos/modules/services/security/fail2ban.nix | 2 +- nixos/modules/services/torrent/cross-seed.nix | 2 +- nixos/modules/services/web-apps/bookstack.nix | 2 +- nixos/modules/services/web-apps/davis.nix | 4 +-- nixos/modules/services/web-apps/dokuwiki.nix | 2 +- nixos/modules/services/web-apps/freshrss.nix | 6 ++-- .../modules/services/web-apps/jitsi-meet.nix | 4 +-- nixos/modules/services/web-apps/lanraragi.nix | 2 +- .../modules/services/web-apps/mattermost.nix | 2 +- nixos/modules/services/web-apps/mediawiki.nix | 2 +- .../services/web-apps/peertube-runner.nix | 2 +- .../modules/services/web-apps/privatebin.nix | 6 ++-- nixos/modules/services/web-apps/rutorrent.nix | 4 +-- nixos/modules/services/web-apps/snipe-it.nix | 2 +- nixos/modules/services/web-apps/stash.nix | 2 +- .../modules/services/web-apps/szurubooru.nix | 34 +++++++++---------- .../services/web-apps/your_spotify.nix | 2 +- .../services/web-servers/caddy/default.nix | 6 ++-- .../services/web-servers/h2o/default.nix | 4 +-- .../web-servers/static-web-server.nix | 2 +- nixos/modules/system/boot/clevis.nix | 2 +- nixos/modules/system/boot/kexec.nix | 2 +- .../boot/loader/systemd-boot/systemd-boot.nix | 2 +- .../modules/system/boot/systemd/sysusers.nix | 4 +-- nixos/modules/system/boot/unl0kr.nix | 8 ++--- nixos/modules/system/service/README.md | 2 +- nixos/modules/tasks/network-interfaces.nix | 2 +- nixos/modules/virtualisation/containerd.nix | 4 +-- .../guest-networking-options.nix | 2 +- .../virtualisation/nixos-containers.nix | 2 +- .../modules/virtualisation/podman/default.nix | 2 +- nixos/modules/virtualisation/qemu-vm.nix | 4 +-- nixos/modules/virtualisation/waydroid.nix | 2 +- nixos/tests/beszel.nix | 2 +- nixos/tests/dependency-track.nix | 2 +- nixos/tests/lomiri-system-settings.nix | 2 +- nixos/tests/matrix/mautrix-meta-postgres.nix | 2 +- nixos/tests/prometheus-exporters.nix | 2 +- nixos/tests/restart-by-activation-script.nix | 2 +- nixos/tests/syncthing/guiPasswordFile.nix | 2 +- .../editors/neovim/tests/default.nix | 2 +- .../vscode/extensions/updateSettings.nix | 2 +- .../extensions/vscodeWithConfiguration.nix | 4 +-- .../networking/browsers/firefox/wrapper.nix | 4 +-- .../networking/linssid/default.nix | 4 +-- .../science/misc/tulip/default.nix | 2 +- .../advanced-scene-switcher/default.nix | 10 +++--- .../virtualization/docker/default.nix | 2 +- .../virtualization/singularity/generic.nix | 2 +- pkgs/build-support/fetchpijul/default.nix | 8 ++--- pkgs/build-support/fetchtorrent/default.nix | 2 +- pkgs/build-support/setup-systemd-units.nix | 8 ++--- .../trivial-builders/default.nix | 6 ++-- .../trivial-builders/test/write-text-file.nix | 2 +- pkgs/build-support/writers/test.nix | 2 +- pkgs/by-name/ai/aiac/package.nix | 2 +- pkgs/by-name/ai/airwin2rack/package.nix | 2 +- pkgs/by-name/ar/argc/package.nix | 2 +- pkgs/by-name/as/asunder/package.nix | 2 +- .../ba/bazel_8/build-support/patching.nix | 2 +- pkgs/by-name/bl/blast/package.nix | 2 +- pkgs/by-name/ce/ceph/package.nix | 2 +- pkgs/by-name/cm/cmus/package.nix | 4 +-- pkgs/by-name/dm/dmd/generic.nix | 4 +-- pkgs/by-name/el/elinks/package.nix | 2 +- pkgs/by-name/fo/foxglove-studio/package.nix | 2 +- pkgs/by-name/gh/ghost-cli/package.nix | 2 +- pkgs/by-name/go/gopsuinfo/package.nix | 2 +- pkgs/by-name/gp/gpu-burn/package.nix | 2 +- pkgs/by-name/hy/hylafaxplus/package.nix | 2 +- pkgs/by-name/hy/hyperscan/package.nix | 2 +- pkgs/by-name/ii/iio-oscilloscope/package.nix | 4 +-- pkgs/by-name/kc/kcc/package.nix | 2 +- pkgs/by-name/kr/krb5/package.nix | 2 +- pkgs/by-name/li/libcap/package.nix | 2 +- pkgs/by-name/li/lightgbm/package.nix | 4 +-- pkgs/by-name/ma/mariokart64recomp/package.nix | 2 +- pkgs/by-name/me/meson/package.nix | 16 ++++----- .../na/national-park-typeface/package.nix | 2 +- .../ni/nix-required-mounts/closure.nix | 2 +- pkgs/by-name/no/notify-osd/package.nix | 2 +- pkgs/by-name/nr/nrfutil/package.nix | 4 +-- pkgs/by-name/op/openapv/package.nix | 2 +- pkgs/by-name/pi/picolisp/package.nix | 2 +- pkgs/by-name/pp/ppsspp/package.nix | 20 +++++------ pkgs/by-name/pr/pragha/package.nix | 4 +-- pkgs/by-name/pr/prettier/package.nix | 2 +- pkgs/by-name/pu/puredata/package.nix | 2 +- pkgs/by-name/qu/qutebrowser/package.nix | 2 +- pkgs/by-name/ra/razergenie/package.nix | 2 +- pkgs/by-name/ro/rofi/package.nix | 2 +- pkgs/by-name/si/sirikali/package.nix | 4 +-- .../sp/space-station-14-launcher/package.nix | 2 +- pkgs/by-name/st/sticky/package.nix | 2 +- pkgs/by-name/sy/syncterm/package.nix | 2 +- pkgs/by-name/td/tdb/package.nix | 2 +- pkgs/by-name/tt/ttfautohint/package.nix | 2 +- pkgs/by-name/uu/uutils-coreutils/package.nix | 2 +- pkgs/by-name/wa/wakapi/package.nix | 2 +- pkgs/by-name/wa/waytrogen/package.nix | 2 +- pkgs/by-name/xe/xeus/package.nix | 2 +- pkgs/by-name/ze/zelda64recomp/package.nix | 2 +- pkgs/by-name/zx/zxtune/package.nix | 14 ++++---- .../coq-modules/ElmExtraction/default.nix | 2 +- .../cuda-modules/packages/cuda_nvcc.nix | 2 +- .../haskell-modules/hackage-packages.nix | 2 +- pkgs/development/interpreters/php/service.nix | 2 +- pkgs/development/julia-modules/util.nix | 4 +-- .../libraries/qt-5/modules/qtbase.nix | 10 +++--- .../python-modules/argilla/default.nix | 10 +++--- .../python-modules/dogtail/default.nix | 2 +- .../home-assistant-chip-wheels/default.nix | 6 ++-- .../python-modules/openslide/default.nix | 2 +- .../python-modules/pillow-jpls/default.nix | 2 +- .../python-modules/prodict/default.nix | 2 +- .../python-modules/scapy/default.nix | 4 +-- pkgs/development/tools/tora/default.nix | 2 +- pkgs/games/dwarf-fortress/wrapper/default.nix | 2 +- pkgs/pkgs-lib/tests/formats.nix | 2 +- pkgs/servers/x11/xorg/default.nix | 2 +- pkgs/tools/backup/percona-xtrabackup/8_4.nix | 2 +- pkgs/tools/system/hw-probe/default.nix | 2 +- pkgs/top-level/emscripten-packages.nix | 2 +- 198 files changed, 351 insertions(+), 351 deletions(-) diff --git a/doc/hooks/udevCheckHook.section.md b/doc/hooks/udevCheckHook.section.md index 42ea097b530b..eb9e975c563f 100644 --- a/doc/hooks/udevCheckHook.section.md +++ b/doc/hooks/udevCheckHook.section.md @@ -10,7 +10,7 @@ The hook runs in `installCheckPhase`, requiring `doInstallCheck` is enabled for lib, stdenv, udevCheckHook, -# ... + # ... }: stdenv.mkDerivation (finalAttrs: { diff --git a/doc/hooks/versionCheckHook.section.md b/doc/hooks/versionCheckHook.section.md index f2fa14bb07a5..202492484dec 100644 --- a/doc/hooks/versionCheckHook.section.md +++ b/doc/hooks/versionCheckHook.section.md @@ -9,7 +9,7 @@ You use it like this: lib, stdenv, versionCheckHook, -# ... + # ... }: stdenv.mkDerivation (finalAttrs: { diff --git a/doc/languages-frameworks/nim.section.md b/doc/languages-frameworks/nim.section.md index 9e3c6716285b..ca35be4dee2e 100644 --- a/doc/languages-frameworks/nim.section.md +++ b/doc/languages-frameworks/nim.section.md @@ -112,7 +112,7 @@ For example, to propagate a dependency on SDL2 for lockfiles that select the Nim lib, # … SDL2, -# … + # … }: { diff --git a/lib/fileset/default.nix b/lib/fileset/default.nix index 32bc00a227b3..8cbc886fb4f6 100644 --- a/lib/fileset/default.nix +++ b/lib/fileset/default.nix @@ -191,7 +191,7 @@ in if isStringLike path then throw ''lib.fileset.maybeMissing: Argument ("${toString path}") is a string-like value, but it should be a path instead.'' else - throw ''lib.fileset.maybeMissing: Argument is of type ${typeOf path}, but it should be a path instead.'' + throw "lib.fileset.maybeMissing: Argument is of type ${typeOf path}, but it should be a path instead." else if !pathExists path then _emptyWithoutBase else @@ -443,7 +443,7 @@ in lib.fileset.toSource: `root` (${toString root}) is a string-like value, but it should be a path instead. Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'' else - throw ''lib.fileset.toSource: `root` is of type ${typeOf root}, but it should be a path instead.'' + throw "lib.fileset.toSource: `root` is of type ${typeOf root}, but it should be a path instead." # Currently all Nix paths have the same filesystem root, but this could change in the future. # See also ../path/README.md else if !fileset._internalIsEmptyWithoutBase && rootFilesystemRoot != filesetFilesystemRoot then @@ -453,7 +453,7 @@ in `fileset`: Filesystem root is "${toString filesetFilesystemRoot}" Different filesystem roots are not supported.'' else if !pathExists root then - throw ''lib.fileset.toSource: `root` (${toString root}) is a path that does not exist.'' + throw "lib.fileset.toSource: `root` (${toString root}) is a path that does not exist." else if pathType root != "directory" then throw '' lib.fileset.toSource: `root` (${toString root}) is a file, but it should be a directory instead. Potential solutions: @@ -619,7 +619,7 @@ in unions = filesets: if !isList filesets then - throw ''lib.fileset.unions: Argument is of type ${typeOf filesets}, but it should be a list instead.'' + throw "lib.fileset.unions: Argument is of type ${typeOf filesets}, but it should be a list instead." else pipe filesets [ # Annotate the elements with context, used by _coerceMany for better errors @@ -808,16 +808,16 @@ in fileFilter = predicate: path: if !isFunction predicate then - throw ''lib.fileset.fileFilter: First argument is of type ${typeOf predicate}, but it should be a function instead.'' + throw "lib.fileset.fileFilter: First argument is of type ${typeOf predicate}, but it should be a function instead." else if !isPath path then if path._type or "" == "fileset" then throw '' lib.fileset.fileFilter: Second argument is a file set, but it should be a path instead. If you need to filter files in a file set, use `intersection fileset (fileFilter pred ./.)` instead.'' else - throw ''lib.fileset.fileFilter: Second argument is of type ${typeOf path}, but it should be a path instead.'' + throw "lib.fileset.fileFilter: Second argument is of type ${typeOf path}, but it should be a path instead." else if !pathExists path then - throw ''lib.fileset.fileFilter: Second argument (${toString path}) is a path that does not exist.'' + throw "lib.fileset.fileFilter: Second argument (${toString path}) is a path that does not exist." else _fileFilter predicate path; @@ -896,9 +896,9 @@ in lib.fileset.fromSource: The source origin of the argument is a string-like value ("${toString path}"), but it should be a path instead. Sources created from paths in strings cannot be turned into file sets, use `lib.sources` or derivations instead.'' else - throw ''lib.fileset.fromSource: The source origin of the argument is of type ${typeOf path}, but it should be a path instead.'' + throw "lib.fileset.fromSource: The source origin of the argument is of type ${typeOf path}, but it should be a path instead." else if !pathExists path then - throw ''lib.fileset.fromSource: The source origin (${toString path}) of the argument is a path that does not exist.'' + throw "lib.fileset.fromSource: The source origin (${toString path}) of the argument is a path that does not exist." else if isFiltered then _fromSourceFilter path source.filter else diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index 342b284e1f71..4579831c2e05 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -211,7 +211,7 @@ rec { ${context} ("${toString value}") is a string-like value, but it should be a file set or a path instead. Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'' else - error ''${context} is of type ${typeOf value}, but it should be a file set or a path instead.'' + error "${context} is of type ${typeOf value}, but it should be a file set or a path instead." else if !pathExists value then error '' ${context} (${toString value}) is a path that does not exist. diff --git a/lib/path/default.nix b/lib/path/default.nix index 6736e7ab5beb..512d65d1978d 100644 --- a/lib/path/default.nix +++ b/lib/path/default.nix @@ -239,7 +239,7 @@ in # The subpath string to append subpath: assert assertMsg (isPath path) - ''lib.path.append: The first argument is of type ${builtins.typeOf path}, but a path was expected''; + "lib.path.append: The first argument is of type ${builtins.typeOf path}, but a path was expected"; assert assertMsg (isValid subpath) '' lib.path.append: Second argument is not a valid subpath string: ${subpathInvalidReason subpath}''; diff --git a/lib/tests/checkAndMergeCompat.nix b/lib/tests/checkAndMergeCompat.nix index f21c9789e8b6..422853dfe34e 100644 --- a/lib/tests/checkAndMergeCompat.nix +++ b/lib/tests/checkAndMergeCompat.nix @@ -331,7 +331,7 @@ in testAttrs = { expectedError = { type = "ThrownError"; - msg = ''A definition for option `foo' is not of type `string or signed integer convertible to it.*''; + msg = "A definition for option `foo' is not of type `string or signed integer convertible to it.*"; }; }; }; diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 0a5c2ace0832..d4bdc344deb9 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -867,7 +867,7 @@ runTests { testEscapeNixIdentifierNoQuote = { expr = strings.escapeNixIdentifier "foo"; - expected = ''foo''; + expected = "foo"; }; testEscapeNixIdentifierNumber = { @@ -2634,7 +2634,7 @@ runTests { sections = { }; }; - expected = ''''; + expected = ""; }; testToINIWithGlobalSectionGlobalEmptyIsTheSameAsToINI = @@ -3002,12 +3002,12 @@ runTests { testToLuaEmptyAttrSet = { expr = generators.toLua { } { }; - expected = ''{}''; + expected = "{}"; }; testToLuaEmptyList = { expr = generators.toLua { } [ ]; - expected = ''{}''; + expected = "{}"; }; testToLuaListOfVariousTypes = { @@ -3052,7 +3052,7 @@ runTests { 41 43 ]; - expected = ''{ 41, 43 }''; + expected = "{ 41, 43 }"; }; testToLuaEmptyBindings = { diff --git a/lib/types.nix b/lib/types.nix index 1a98b12bd5ca..4a859694a6e8 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -1412,7 +1412,7 @@ rec { else if builtins.isBool v then boolToString v else - ''<${builtins.typeOf v}>''; + "<${builtins.typeOf v}>"; in mkOptionType rec { name = "enum"; diff --git a/modules/generic/meta-maintainers.nix b/modules/generic/meta-maintainers.nix index fb66174cf621..f9e8a19aea82 100644 --- a/modules/generic/meta-maintainers.nix +++ b/modules/generic/meta-maintainers.nix @@ -46,7 +46,7 @@ in maintainers = mkOption { type = listOfMaintainers; default = [ ]; - example = lib.literalExpression ''[ lib.maintainers.alice lib.maintainers.bob ]''; + example = lib.literalExpression "[ lib.maintainers.alice lib.maintainers.bob ]"; description = '' List of maintainers of each module. This option should be defined at most once per module. diff --git a/nixos/README-modular-services.md b/nixos/README-modular-services.md index f6e933173b2c..588ccaf6d1f7 100644 --- a/nixos/README-modular-services.md +++ b/nixos/README-modular-services.md @@ -82,7 +82,7 @@ Example: { stdenv, nixosTests, -# ... + # ... }: stdenv.mkDerivation (finalAttrs: { pname = "example"; diff --git a/nixos/doc/manual/shell.nix b/nixos/doc/manual/shell.nix index d8bf715b5e51..eb186b0f3e24 100644 --- a/nixos/doc/manual/shell.nix +++ b/nixos/doc/manual/shell.nix @@ -7,7 +7,7 @@ let common = import ./common.nix; inherit (common) outputPath indexPath; devmode = pkgs.devmode.override { - buildArgs = ''${toString ../../release.nix} -A manualHTML.${builtins.currentSystem}''; + buildArgs = "${toString ../../release.nix} -A manualHTML.${builtins.currentSystem}"; open = "/${outputPath}/${indexPath}"; }; nixos-render-docs-redirects = pkgs.writeShellScriptBin "redirects" ''${pkgs.lib.getExe pkgs.nixos-render-docs-redirects} --file '${toString ./redirects.json}' "$@"''; diff --git a/nixos/lib/make-multi-disk-zfs-image.nix b/nixos/lib/make-multi-disk-zfs-image.nix index 55e54b3b2f0d..69d05ab004f6 100644 --- a/nixos/lib/make-multi-disk-zfs-image.nix +++ b/nixos/lib/make-multi-disk-zfs-image.nix @@ -347,7 +347,7 @@ let --no-root-passwd \ --system ${config.system.build.toplevel} \ --substituters "" \ - ${lib.optionalString includeChannel ''--channel ${channelSources}''} + ${lib.optionalString includeChannel "--channel ${channelSources}"} df -h diff --git a/nixos/lib/make-single-disk-zfs-image.nix b/nixos/lib/make-single-disk-zfs-image.nix index dbd68a768847..7e47be6d00d9 100644 --- a/nixos/lib/make-single-disk-zfs-image.nix +++ b/nixos/lib/make-single-disk-zfs-image.nix @@ -330,7 +330,7 @@ let --no-root-passwd \ --system ${config.system.build.toplevel} \ --substituters "" \ - ${lib.optionalString includeChannel ''--channel ${channelSources}''} + ${lib.optionalString includeChannel "--channel ${channelSources}"} df -h diff --git a/nixos/lib/testing/nodes.nix b/nixos/lib/testing/nodes.nix index 1f562a5f4f26..721a3c88b369 100644 --- a/nixos/lib/testing/nodes.nix +++ b/nixos/lib/testing/nodes.nix @@ -164,7 +164,7 @@ in ''; type = types.bool; default = config.node.pkgs != null; - defaultText = literalExpression ''node.pkgs != null''; + defaultText = literalExpression "node.pkgs != null"; }; node.specialArgs = mkOption { diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix index 5a3e09261059..0a1c2fe50cdd 100644 --- a/nixos/lib/utils.nix +++ b/nixos/lib/utils.nix @@ -410,7 +410,7 @@ let stringOrDefault (concatStringsSep " | " ( imap1 ( index: name: - ''${name} = ($ENV.secret${toString index}${optionalString (!secrets.${name}.quote) " | fromjson"})'' + "${name} = ($ENV.secret${toString index}${optionalString (!secrets.${name}.quote) " | fromjson"})" ) (attrNames secrets) )) "." ) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index defde2707ae7..5efc19004afc 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -62,9 +62,9 @@ let "*" # password unset ]); - overrideOrderMutable = ''{option}`initialHashedPassword` -> {option}`initialPassword` -> {option}`hashedPassword` -> {option}`password` -> {option}`hashedPasswordFile`''; + overrideOrderMutable = "{option}`initialHashedPassword` -> {option}`initialPassword` -> {option}`hashedPassword` -> {option}`password` -> {option}`hashedPasswordFile`"; - overrideOrderImmutable = ''{option}`initialHashedPassword` -> {option}`hashedPassword` -> {option}`initialPassword` -> {option}`password` -> {option}`hashedPasswordFile`''; + overrideOrderImmutable = "{option}`initialHashedPassword` -> {option}`hashedPassword` -> {option}`initialPassword` -> {option}`password` -> {option}`hashedPasswordFile`"; overrideOrderText = isMutable: '' If the option {option}`users.mutableUsers` is diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix index 617a342c1a70..eb4fbaebb8dd 100644 --- a/nixos/modules/config/xdg/portal.nix +++ b/nixos/modules/config/xdg/portal.nix @@ -37,7 +37,7 @@ in options.xdg.portal = { enable = - mkEnableOption ''[xdg desktop integration](https://github.com/flatpak/xdg-desktop-portal)'' + mkEnableOption "[xdg desktop integration](https://github.com/flatpak/xdg-desktop-portal)" // { default = false; }; diff --git a/nixos/modules/hardware/inputmodule.nix b/nixos/modules/hardware/inputmodule.nix index a563de4006dd..edef0d15e715 100644 --- a/nixos/modules/hardware/inputmodule.nix +++ b/nixos/modules/hardware/inputmodule.nix @@ -6,7 +6,7 @@ }: { - options.hardware.inputmodule.enable = lib.mkEnableOption ''Support for Framework input modules''; + options.hardware.inputmodule.enable = lib.mkEnableOption "Support for Framework input modules"; config = lib.mkIf config.hardware.inputmodule.enable { environment.systemPackages = [ pkgs.inputmodule-control ]; diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 0e7f0f783b7b..4e107833f6f9 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -228,7 +228,7 @@ in cfg.hostPlatform # make identical, so that `==` equality works; see https://github.com/NixOS/nixpkgs/issues/278001 else elaborated; - defaultText = lib.literalExpression ''config.nixpkgs.hostPlatform''; + defaultText = lib.literalExpression "config.nixpkgs.hostPlatform"; description = '' Specifies the platform on which NixOS should be built. By default, NixOS is built on the system where it runs, but you can @@ -252,7 +252,7 @@ in # Make sure that the final value has all fields for sake of other modules # referring to this. TODO make `lib.systems` itself use the module system. apply = lib.systems.elaborate; - defaultText = lib.literalExpression ''config.nixpkgs.system''; + defaultText = lib.literalExpression "config.nixpkgs.system"; description = '' Systems with a recently generated `hardware-configuration.nix` do not need to specify this option, unless cross-compiling, in which case diff --git a/nixos/modules/misc/nixpkgs/read-only.nix b/nixos/modules/misc/nixpkgs/read-only.nix index fa372d13e545..88669bf78ef4 100644 --- a/nixos/modules/misc/nixpkgs/read-only.nix +++ b/nixos/modules/misc/nixpkgs/read-only.nix @@ -24,7 +24,7 @@ in nixpkgs = { pkgs = mkOption { type = lib.types.pkgs; - description = ''The pkgs module argument.''; + description = "The pkgs module argument."; }; config = mkOption { internal = true; diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 2a7c028a2b38..c563ce901dca 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -28,7 +28,7 @@ let escapeIfNecessary = s: if needsEscaping s then s else ''"${lib.escape [ "$" "\"" "\\" "`" ] s}"''; attrsToText = attrs: - concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}=${escapeIfNecessary (toString v)}'') attrs) + concatStringsSep "\n" (mapAttrsToList (n: v: "${n}=${escapeIfNecessary (toString v)}") attrs) + "\n"; osReleaseContents = diff --git a/nixos/modules/programs/captive-browser.nix b/nixos/modules/programs/captive-browser.nix index 84eff22a4d34..15c4d6237c01 100644 --- a/nixos/modules/programs/captive-browser.nix +++ b/nixos/modules/programs/captive-browser.nix @@ -27,15 +27,15 @@ let chromium: concatStringsSep " " [ ''env XDG_CONFIG_HOME="$PREV_CONFIG_HOME"'' - ''${chromium}/bin/chromium'' - ''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive'' + "${chromium}/bin/chromium" + "--user-data-dir=\${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive" ''--proxy-server="socks5://$PROXY"'' ''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"'' - ''--no-first-run'' - ''--new-window'' - ''--incognito'' - ''-no-default-browser-check'' - ''http://cache.nixos.org/'' + "--no-first-run" + "--new-window" + "--incognito" + "-no-default-browser-check" + "http://cache.nixos.org/" ]; desktopItem = pkgs.makeDesktopItem { diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index e41742ac7e0d..3277d5fd5b16 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -22,7 +22,7 @@ in { meta.maintainers = [ lib.maintainers.mic92 ]; options.programs.nix-ld = { - enable = lib.mkEnableOption ''nix-ld, Documentation: ''; + enable = lib.mkEnableOption "nix-ld, Documentation: "; package = lib.mkPackageOption pkgs "nix-ld" { }; libraries = lib.mkOption { type = lib.types.listOf lib.types.package; diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix index d7e9ab7ab162..6b059c2bd522 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -154,7 +154,7 @@ in '' + lib.concatMapStrings (p: "Include ${p}/etc/apparmor.d\n") cfg.packages; # For aa-logprof - environment.etc."apparmor/apparmor.conf".text = ''''; + environment.etc."apparmor/apparmor.conf".text = ""; # For aa-logprof environment.etc."apparmor/severity.db".source = pkgs.apparmor-utils + "/etc/apparmor/severity.db"; environment.etc."apparmor/logprof.conf".source = diff --git a/nixos/modules/security/tpm2.nix b/nixos/modules/security/tpm2.nix index bc05c75669a3..44abf5a06410 100644 --- a/nixos/modules/security/tpm2.nix +++ b/nixos/modules/security/tpm2.nix @@ -290,12 +290,12 @@ in ] ( _: - ''${cfg.tctiEnvironment.interface}:${ + "${cfg.tctiEnvironment.interface}:${ if cfg.tctiEnvironment.interface == "tabrmd" then cfg.tctiEnvironment.tabrmdConf else cfg.tctiEnvironment.deviceConf - }'' + }" ) ); } diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 1bf0723126ef..b6cbe78d414b 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -411,7 +411,7 @@ in lib.concatStringsSep "\n" ( lib.imap0 ( i: c: - ''${pkgs.replace-secret}/bin/replace-secret '{{password-${toString i}}}' '${c.passwordFile}' /run/mpd/mpd.conf'' + "${pkgs.replace-secret}/bin/replace-secret '{{password-${toString i}}}' '${c.passwordFile}' /run/mpd/mpd.conf" ) cfg.credentials ) ); diff --git a/nixos/modules/services/audio/mpdscribble.nix b/nixos/modules/services/audio/mpdscribble.nix index cd874f000b3a..0be358f93fbd 100644 --- a/nixos/modules/services/audio/mpdscribble.nix +++ b/nixos/modules/services/audio/mpdscribble.nix @@ -64,7 +64,7 @@ let secretFile: placeholder: targetFile: lib.optionalString ( secretFile != null - ) ''${pkgs.replace-secret}/bin/replace-secret '${placeholder}' '${secretFile}' '${targetFile}' ''; + ) "${pkgs.replace-secret}/bin/replace-secret '${placeholder}' '${secretFile}' '${targetFile}' "; preStart = pkgs.writeShellScript "mpdscribble-pre-start" '' cp -f "${cfgTemplate}" "${cfgFile}" diff --git a/nixos/modules/services/audio/pulseaudio.nix b/nixos/modules/services/audio/pulseaudio.nix index d6afa095fc3e..214fb0e56139 100644 --- a/nixos/modules/services/audio/pulseaudio.nix +++ b/nixos/modules/services/audio/pulseaudio.nix @@ -35,7 +35,7 @@ let let a = cfg.tcp.anonymousClients.allowedIpRanges; in - lib.optional (a != [ ]) ''auth-ip-acl=${lib.concatStringsSep ";" a}''; + lib.optional (a != [ ]) "auth-ip-acl=${lib.concatStringsSep ";" a}"; port = lib.optional (!(isNull cfg.tcp.port)) "port=${toString cfg.tcp.port}"; in pkgs.writeTextFile { diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix index 63d35d7583de..c95f7cb16713 100644 --- a/nixos/modules/services/backup/restic.nix +++ b/nixos/modules/services/backup/restic.nix @@ -255,7 +255,7 @@ in runCheck = lib.mkOption { type = lib.types.bool; default = builtins.length config.services.restic.backups.${name}.checkOpts > 0; - defaultText = lib.literalExpression ''builtins.length config.services.backups.${name}.checkOpts > 0''; + defaultText = lib.literalExpression "builtins.length config.services.backups.${name}.checkOpts > 0"; description = "Whether to run the `check` command with the provided `checkOpts` options."; example = true; }; diff --git a/nixos/modules/services/backup/syncoid.nix b/nixos/modules/services/backup/syncoid.nix index beaa18c29680..4fda57e8214c 100644 --- a/nixos/modules/services/backup/syncoid.nix +++ b/nixos/modules/services/backup/syncoid.nix @@ -240,7 +240,7 @@ in ''; }; - recursive = lib.mkEnableOption ''the transfer of child datasets''; + recursive = lib.mkEnableOption "the transfer of child datasets"; sshKey = lib.mkOption { type = with lib.types; nullOr (coercedTo path toString str); diff --git a/nixos/modules/services/blockchain/ethereum/lighthouse.nix b/nixos/modules/services/blockchain/ethereum/lighthouse.nix index 247174028adc..8c683f212161 100644 --- a/nixos/modules/services/blockchain/ethereum/lighthouse.nix +++ b/nixos/modules/services/blockchain/ethereum/lighthouse.nix @@ -246,8 +246,8 @@ in --datadir ${cfg.beacon.dataDir}/${cfg.network} \ --execution-endpoint http://${cfg.beacon.execution.address}:${toString cfg.beacon.execution.port} \ --execution-jwt ''${CREDENTIALS_DIRECTORY}/LIGHTHOUSE_JWT \ - ${lib.optionalString cfg.beacon.http.enable ''--http --http-address ${cfg.beacon.http.address} --http-port ${toString cfg.beacon.http.port}''} \ - ${lib.optionalString cfg.beacon.metrics.enable ''--metrics --metrics-address ${cfg.beacon.metrics.address} --metrics-port ${toString cfg.beacon.metrics.port}''} \ + ${lib.optionalString cfg.beacon.http.enable "--http --http-address ${cfg.beacon.http.address} --http-port ${toString cfg.beacon.http.port}"} \ + ${lib.optionalString cfg.beacon.metrics.enable "--metrics --metrics-address ${cfg.beacon.metrics.address} --metrics-port ${toString cfg.beacon.metrics.port}"} \ ${cfg.extraArgs} ${cfg.beacon.extraArgs} ''; serviceConfig = { @@ -292,7 +292,7 @@ in --network ${cfg.network} \ --beacon-nodes ${lib.concatStringsSep "," cfg.validator.beaconNodes} \ --datadir ${cfg.validator.dataDir}/${cfg.network} \ - ${lib.optionalString cfg.validator.metrics.enable ''--metrics --metrics-address ${cfg.validator.metrics.address} --metrics-port ${toString cfg.validator.metrics.port}''} \ + ${lib.optionalString cfg.validator.metrics.enable "--metrics --metrics-address ${cfg.validator.metrics.address} --metrics-port ${toString cfg.validator.metrics.port}"} \ ${cfg.extraArgs} ${cfg.validator.extraArgs} ''; diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix index cc1cc0b9574a..0a7a7496f26a 100644 --- a/nixos/modules/services/cluster/kubernetes/flannel.nix +++ b/nixos/modules/services/cluster/kubernetes/flannel.nix @@ -17,7 +17,7 @@ in enable = lib.mkEnableOption "flannel networking"; openFirewallPorts = lib.mkOption { - description = ''Whether to open the Flannel UDP ports in the firewall on all interfaces.''; + description = "Whether to open the Flannel UDP ports in the firewall on all interfaces."; type = lib.types.bool; default = true; }; diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 569709373376..42e88e9ddbe3 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -116,7 +116,7 @@ in type = lib.types.path; description = "Optionally pass master.cfg path. Other options in this configuration will be ignored."; default = defaultMasterCfg; - defaultText = lib.literalMD ''generated configuration file''; + defaultText = lib.literalMD "generated configuration file"; example = "/etc/nixos/buildbot/master.cfg"; }; diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix index 8361ce7f71d4..b95d30ceea4a 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix @@ -728,7 +728,7 @@ in mapAttrsToList ( name: serviceConfig: - ''`services.gitlab-runner.services.${name}.protected` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + "`services.gitlab-runner.services.${name}.protected` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration." ) ( filterAttrs ( @@ -740,7 +740,7 @@ in mapAttrsToList ( name: serviceConfig: - ''`services.gitlab-runner.services.${name}.runUntagged` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + "`services.gitlab-runner.services.${name}.runUntagged` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration." ) ( filterAttrs ( @@ -752,7 +752,7 @@ in mapAttrsToList ( name: v: - ''`services.gitlab-runner.services.${name}.maximumTimeout` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + "`services.gitlab-runner.services.${name}.maximumTimeout` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration." ) ( filterAttrs ( @@ -764,7 +764,7 @@ in mapAttrsToList ( name: v: - ''`services.gitlab-runner.services.${name}.tagList` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + "`services.gitlab-runner.services.${name}.tagList` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration." ) ( filterAttrs ( diff --git a/nixos/modules/services/continuous-integration/gocd-agent/default.nix b/nixos/modules/services/continuous-integration/gocd-agent/default.nix index 7e4fd63b19f5..ed2826951910 100644 --- a/nixos/modules/services/continuous-integration/gocd-agent/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-agent/default.nix @@ -191,7 +191,7 @@ in // { NIX_REMOTE = "daemon"; AGENT_WORK_DIR = cfg.workDir; - AGENT_STARTUP_ARGS = ''${lib.concatStringsSep " " cfg.startupOptions}''; + AGENT_STARTUP_ARGS = "${lib.concatStringsSep " " cfg.startupOptions}"; LOG_DIR = cfg.workDir; LOG_FILE = "${cfg.workDir}/go-agent-start.log"; } diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index 46de0df0ee61..1c261fcf4aa0 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -205,10 +205,10 @@ in ''; environment = { - ERL_FLAGS = ''-couch_ini ${lib.concatStringsSep " " configFiles}''; + ERL_FLAGS = "-couch_ini ${lib.concatStringsSep " " configFiles}"; # 5. the vm.args file - COUCHDB_ARGS_FILE = ''${cfg.argsFile}''; - HOME = ''${cfg.databaseDir}''; + COUCHDB_ARGS_FILE = "${cfg.argsFile}"; + HOME = "${cfg.databaseDir}"; }; serviceConfig = { diff --git a/nixos/modules/services/databases/influxdb2.nix b/nixos/modules/services/databases/influxdb2.nix index 18b183d65c01..2797a55a0023 100644 --- a/nixos/modules/services/databases/influxdb2.nix +++ b/nixos/modules/services/databases/influxdb2.nix @@ -312,7 +312,7 @@ in settings = mkOption { default = { }; - description = ''configuration options for influxdb2, see for details.''; + description = "configuration options for influxdb2, see for details."; type = format.type; }; diff --git a/nixos/modules/services/development/athens.nix b/nixos/modules/services/development/athens.nix index 984b4a9ecc52..4ef38dee65a2 100644 --- a/nixos/modules/services/development/athens.nix +++ b/nixos/modules/services/development/athens.nix @@ -272,7 +272,7 @@ in filterFile = lib.mkOption { type = lib.types.nullOr lib.types.path; - description = ''Filename for the include exclude filter.''; + description = "Filename for the include exclude filter."; default = null; example = lib.literalExpression '' pkgs.writeText "filterFile" ''' @@ -285,7 +285,7 @@ in robotsFile = lib.mkOption { type = lib.types.nullOr lib.types.path; - description = ''Provides /robots.txt for net crawlers.''; + description = "Provides /robots.txt for net crawlers."; default = null; example = lib.literalExpression ''pkgs.writeText "robots.txt" "# my custom robots.txt ..."''; }; @@ -956,7 +956,7 @@ in serviceConfig = { Restart = "on-abnormal"; Nice = 5; - ExecStart = ''${cfg.package}/bin/athens -config_file=${configFile}''; + ExecStart = "${cfg.package}/bin/athens -config_file=${configFile}"; KillMode = "mixed"; KillSignal = "SIGINT"; diff --git a/nixos/modules/services/games/freeciv.nix b/nixos/modules/services/games/freeciv.nix index ad9b9d2101d1..08eea105aa32 100644 --- a/nixos/modules/services/games/freeciv.nix +++ b/nixos/modules/services/games/freeciv.nix @@ -47,7 +47,7 @@ in { options = { services.freeciv = { - enable = lib.mkEnableOption ''freeciv''; + enable = lib.mkEnableOption "freeciv"; settings = lib.mkOption { description = '' Parameters of freeciv-server. diff --git a/nixos/modules/services/hardware/actkbd.nix b/nixos/modules/services/hardware/actkbd.nix index 73bc586451e6..2f2c77c19981 100644 --- a/nixos/modules/services/hardware/actkbd.nix +++ b/nixos/modules/services/hardware/actkbd.nix @@ -17,9 +17,9 @@ let command, ... }: - ''${ + "${ lib.concatMapStringsSep "+" toString keys - }:${lib.concatStringsSep "," events}:${lib.concatStringsSep "," attributes}:${command}'' + }:${lib.concatStringsSep "," events}:${lib.concatStringsSep "," attributes}:${command}" ) cfg.bindings} ${cfg.extraConfig} ''; diff --git a/nixos/modules/services/hardware/amdgpu.nix b/nixos/modules/services/hardware/amdgpu.nix index 0958ef58b4b0..5c98a0db50ad 100644 --- a/nixos/modules/services/hardware/amdgpu.nix +++ b/nixos/modules/services/hardware/amdgpu.nix @@ -23,7 +23,7 @@ in ''; overdrive = { - enable = lib.mkEnableOption ''`amdgpu` overdrive mode for overclocking''; + enable = lib.mkEnableOption "`amdgpu` overdrive mode for overclocking"; ppfeaturemask = lib.mkOption { type = lib.types.str; @@ -39,7 +39,7 @@ in }; }; - opencl.enable = lib.mkEnableOption ''OpenCL support using ROCM runtime library''; + opencl.enable = lib.mkEnableOption "OpenCL support using ROCM runtime library"; }; config = { diff --git a/nixos/modules/services/hardware/keyd.nix b/nixos/modules/services/hardware/keyd.nix index db48e19dde4f..53fa97484ec6 100644 --- a/nixos/modules/services/hardware/keyd.nix +++ b/nixos/modules/services/hardware/keyd.nix @@ -65,10 +65,10 @@ in { imports = [ (lib.mkRemovedOptionModule [ "services" "keyd" "ids" ] - ''Use keyboards..ids instead. If you don't need a multi-file configuration, just add keyboards.default before the ids. See https://github.com/NixOS/nixpkgs/pull/243271.'' + "Use keyboards..ids instead. If you don't need a multi-file configuration, just add keyboards.default before the ids. See https://github.com/NixOS/nixpkgs/pull/243271." ) (lib.mkRemovedOptionModule [ "services" "keyd" "settings" ] - ''Use keyboards..settings instead. If you don't need a multi-file configuration, just add keyboards.default before the settings. See https://github.com/NixOS/nixpkgs/pull/243271.'' + "Use keyboards..settings instead. If you don't need a multi-file configuration, just add keyboards.default before the settings. See https://github.com/NixOS/nixpkgs/pull/243271." ) ]; diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix index abcacf917cca..965ba4e4be3b 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix @@ -198,7 +198,7 @@ assertion = ((builtins.length config.hardware.nvidia-container-toolkit.csv-files) > 0) -> config.hardware.nvidia-container-toolkit.discovery-mode == "csv"; - message = ''When CSV files are provided, `config.hardware.nvidia-container-toolkit.discovery-mode` has to be set to `csv`.''; + message = "When CSV files are provided, `config.hardware.nvidia-container-toolkit.discovery-mode` has to be set to `csv`."; } ]; diff --git a/nixos/modules/services/hardware/triggerhappy.nix b/nixos/modules/services/hardware/triggerhappy.nix index 5e66afea9ea6..bb7d4f0febeb 100644 --- a/nixos/modules/services/hardware/triggerhappy.nix +++ b/nixos/modules/services/hardware/triggerhappy.nix @@ -18,7 +18,7 @@ let cmd, ... }: - ''${lib.concatMapStringsSep "+" (x: "KEY_" + x) keys} ${ + "${lib.concatMapStringsSep "+" (x: "KEY_" + x) keys} ${ toString { press = 1; @@ -26,7 +26,7 @@ let release = 0; } .${event} - } ${cmd}'' + } ${cmd}" ) cfg.bindings} ${cfg.extraConfig} ''; diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 94e92d233786..af91440c6a3f 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -134,7 +134,7 @@ let ssl_cert = <${cfg.sslServerCert} ssl_key = <${cfg.sslServerKey} ${optionalString (cfg.sslCACert != null) ("ssl_ca = <" + cfg.sslCACert)} - ${optionalString cfg.enableDHE ''ssl_dh = <${config.security.dhparams.params.dovecot2.path}''} + ${optionalString cfg.enableDHE "ssl_dh = <${config.security.dhparams.params.dovecot2.path}"} disable_plaintext_auth = yes '' ) diff --git a/nixos/modules/services/mail/maddy.nix b/nixos/modules/services/mail/maddy.nix index b086f319c136..0bd3a0c2bd99 100644 --- a/nixos/modules/services/mail/maddy.nix +++ b/nixos/modules/services/mail/maddy.nix @@ -176,7 +176,7 @@ in hostname = lib.mkOption { default = "localhost"; type = with lib.types; uniq str; - example = ''example.com''; + example = "example.com"; description = '' Hostname to use. It should be FQDN. ''; @@ -185,7 +185,7 @@ in primaryDomain = lib.mkOption { default = "localhost"; type = with lib.types; uniq str; - example = ''mail.example.com''; + example = "mail.example.com"; description = '' Primary MX domain to use. It should be FQDN. ''; diff --git a/nixos/modules/services/mail/postgrey.nix b/nixos/modules/services/mail/postgrey.nix index 67a97f6a244f..62ba64fcaaa1 100644 --- a/nixos/modules/services/mail/postgrey.nix +++ b/nixos/modules/services/mail/postgrey.nix @@ -202,9 +202,9 @@ in if cfg.socket ? path then "--unix=${cfg.socket.path} --socketmode=${cfg.socket.mode}" else - ''--inet=${ + "--inet=${ optionalString (cfg.socket.addr != null) (cfg.socket.addr + ":") - }${toString cfg.socket.port}''; + }${toString cfg.socket.port}"; in { description = "Postfix Greylisting Service"; diff --git a/nixos/modules/services/matrix/mjolnir.nix b/nixos/modules/services/matrix/mjolnir.nix index ab6b580b5ef9..27a7b1c3ea82 100644 --- a/nixos/modules/services/matrix/mjolnir.nix +++ b/nixos/modules/services/matrix/mjolnir.nix @@ -223,7 +223,7 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = ''${pkgs.mjolnir}/bin/mjolnir --mjolnir-config ./config/default.yaml''; + ExecStart = "${pkgs.mjolnir}/bin/mjolnir --mjolnir-config ./config/default.yaml"; ExecStartPre = [ generateConfig ]; WorkingDirectory = cfg.dataPath; StateDirectory = "mjolnir"; diff --git a/nixos/modules/services/matrix/pantalaimon.nix b/nixos/modules/services/matrix/pantalaimon.nix index 120baab41fb0..edab3dbf39e4 100644 --- a/nixos/modules/services/matrix/pantalaimon.nix +++ b/nixos/modules/services/matrix/pantalaimon.nix @@ -40,7 +40,7 @@ let wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = ''${pkgs.pantalaimon-headless}/bin/pantalaimon --config ${mkConfigFile name instanceConfig} --data-path ${instanceConfig.dataPath}''; + ExecStart = "${pkgs.pantalaimon-headless}/bin/pantalaimon --config ${mkConfigFile name instanceConfig} --data-path ${instanceConfig.dataPath}"; Restart = "on-failure"; DynamicUser = true; NoNewPrivileges = true; diff --git a/nixos/modules/services/matrix/synapse-auto-compressor.nix b/nixos/modules/services/matrix/synapse-auto-compressor.nix index 6dcb3af8d600..7c531490ca6f 100644 --- a/nixos/modules/services/matrix/synapse-auto-compressor.nix +++ b/nixos/modules/services/matrix/synapse-auto-compressor.nix @@ -37,9 +37,9 @@ in args = synapseConfig.settings.database.args; in if synapseConfig.enable then - ''postgresql://${args.user}${lib.optionalString (args ? password) (":" + args.password)}@${ + "postgresql://${args.user}${lib.optionalString (args ? password) (":" + args.password)}@${ lib.escapeURL (if (args ? host) then args.host else "/run/postgresql") - }${lib.optionalString (args ? port) (":" + args.port)}/${args.database}'' + }${lib.optionalString (args ? port) (":" + args.port)}/${args.database}" else null; defaultText = lib.literalExpression '' diff --git a/nixos/modules/services/misc/anki-sync-server.nix b/nixos/modules/services/misc/anki-sync-server.nix index 908adbf74e76..f5e7d10bd7c9 100644 --- a/nixos/modules/services/misc/anki-sync-server.nix +++ b/nixos/modules/services/misc/anki-sync-server.nix @@ -31,7 +31,7 @@ let # export passwords in environment variables in plaintext. ${concatMapStringsSep "\n" ( x: - ''export SYNC_USER${toString x.i}=${escapeShellArg x.user.username}:${escapeShellArg x.user.password}'' + "export SYNC_USER${toString x.i}=${escapeShellArg x.user.username}:${escapeShellArg x.user.password}" ) usersWithIndexesNoFile} exec ${lib.getExe cfg.package} ''; diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix index 1937be8a26b6..5b52ee478560 100644 --- a/nixos/modules/services/misc/apache-kafka.nix +++ b/nixos/modules/services/misc/apache-kafka.nix @@ -166,15 +166,15 @@ in imports = [ (lib.mkRenamedOptionModule [ "services" "apache-kafka" "brokerId" ] - [ "services" "apache-kafka" "settings" ''broker.id'' ] + [ "services" "apache-kafka" "settings" "broker.id" ] ) (lib.mkRenamedOptionModule [ "services" "apache-kafka" "logDirs" ] - [ "services" "apache-kafka" "settings" ''log.dirs'' ] + [ "services" "apache-kafka" "settings" "log.dirs" ] ) (lib.mkRenamedOptionModule [ "services" "apache-kafka" "zookeeper" ] - [ "services" "apache-kafka" "settings" ''zookeeper.connect'' ] + [ "services" "apache-kafka" "settings" "zookeeper.connect" ] ) (lib.mkRemovedOptionModule [ diff --git a/nixos/modules/services/misc/autosuspend.nix b/nixos/modules/services/misc/autosuspend.nix index 53f872d3e040..fed0e2c9a06a 100644 --- a/nixos/modules/services/misc/autosuspend.nix +++ b/nixos/modules/services/misc/autosuspend.nix @@ -136,7 +136,7 @@ in ''; }; wakeup_cmd = mkOption { - default = ''sh -c 'echo 0 > /sys/class/rtc/rtc0/wakealarm && echo {timestamp:.0f} > /sys/class/rtc/rtc0/wakealarm' ''; + default = "sh -c 'echo 0 > /sys/class/rtc/rtc0/wakealarm && echo {timestamp:.0f} > /sys/class/rtc/rtc0/wakealarm' "; type = with types; str; description = '' The command to execute for scheduling a wake up of the system. The given string is @@ -232,7 +232,7 @@ in after = [ "network.target" ]; path = flatten (attrValues (filterAttrs (n: _: hasCheck n) dependenciesForChecks)); serviceConfig = { - ExecStart = ''${autosuspend}/bin/autosuspend -l ${autosuspend}/etc/autosuspend-logging.conf -c ${autosuspend-conf} daemon''; + ExecStart = "${autosuspend}/bin/autosuspend -l ${autosuspend}/etc/autosuspend-logging.conf -c ${autosuspend-conf} daemon"; }; }; @@ -242,7 +242,7 @@ in wantedBy = [ "sleep.target" ]; after = [ "sleep.target" ]; serviceConfig = { - ExecStart = ''${autosuspend}/bin/autosuspend -l ${autosuspend}/etc/autosuspend-logging.conf -c ${autosuspend-conf} presuspend''; + ExecStart = "${autosuspend}/bin/autosuspend -l ${autosuspend}/etc/autosuspend-logging.conf -c ${autosuspend-conf} presuspend"; }; }; }; diff --git a/nixos/modules/services/misc/evdevremapkeys.nix b/nixos/modules/services/misc/evdevremapkeys.nix index 122afda2f86c..c2bf8e10a5dd 100644 --- a/nixos/modules/services/misc/evdevremapkeys.nix +++ b/nixos/modules/services/misc/evdevremapkeys.nix @@ -11,7 +11,7 @@ let in { options.services.evdevremapkeys = { - enable = lib.mkEnableOption ''evdevremapkeys, a daemon to remap events on linux input devices''; + enable = lib.mkEnableOption "evdevremapkeys, a daemon to remap events on linux input devices"; settings = lib.mkOption { type = format.type; diff --git a/nixos/modules/services/misc/jellyseerr.nix b/nixos/modules/services/misc/jellyseerr.nix index 230e61b57f2b..e1276c1937bf 100644 --- a/nixos/modules/services/misc/jellyseerr.nix +++ b/nixos/modules/services/misc/jellyseerr.nix @@ -11,19 +11,19 @@ in meta.maintainers = [ lib.maintainers.camillemndn ]; options.services.jellyseerr = { - enable = lib.mkEnableOption ''Jellyseerr, a requests manager for Jellyfin''; + enable = lib.mkEnableOption "Jellyseerr, a requests manager for Jellyfin"; package = lib.mkPackageOption pkgs "jellyseerr" { }; openFirewall = lib.mkOption { type = lib.types.bool; default = false; - description = ''Open port in the firewall for the Jellyseerr web interface.''; + description = "Open port in the firewall for the Jellyseerr web interface."; }; port = lib.mkOption { type = lib.types.port; default = 5055; - description = ''The port which the Jellyseerr web UI should listen to.''; + description = "The port which the Jellyseerr web UI should listen to."; }; configDir = lib.mkOption { diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix index d2a7f0bf433e..a2aad33b310d 100644 --- a/nixos/modules/services/misc/nix-gc.nix +++ b/nixos/modules/services/misc/nix-gc.nix @@ -79,7 +79,7 @@ in assertions = [ { assertion = cfg.automatic -> config.nix.enable; - message = ''nix.gc.automatic requires nix.enable''; + message = "nix.gc.automatic requires nix.enable"; } ]; diff --git a/nixos/modules/services/misc/nix-optimise.nix b/nixos/modules/services/misc/nix-optimise.nix index 2af1727b75e3..29e246026cc8 100644 --- a/nixos/modules/services/misc/nix-optimise.nix +++ b/nixos/modules/services/misc/nix-optimise.nix @@ -58,7 +58,7 @@ in assertions = [ { assertion = cfg.automatic -> config.nix.enable; - message = ''nix.optimise.automatic requires nix.enable''; + message = "nix.optimise.automatic requires nix.enable"; } ]; diff --git a/nixos/modules/services/misc/synergy.nix b/nixos/modules/services/misc/synergy.nix index e396ccad5494..0affcbf4588a 100644 --- a/nixos/modules/services/misc/synergy.nix +++ b/nixos/modules/services/misc/synergy.nix @@ -109,9 +109,9 @@ in description = "Synergy client"; wantedBy = lib.optional cfgC.autoStart "graphical-session.target"; path = [ pkgs.synergy ]; - serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergyc -f ${ + serviceConfig.ExecStart = "${pkgs.synergy}/bin/synergyc -f ${ lib.optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}" - } ${cfgC.serverAddress}''; + } ${cfgC.serverAddress}"; serviceConfig.Restart = "on-failure"; }; }) @@ -124,13 +124,13 @@ in description = "Synergy server"; wantedBy = lib.optional cfgS.autoStart "graphical-session.target"; path = [ pkgs.synergy ]; - serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergys -c ${cfgS.configFile} -f${ + serviceConfig.ExecStart = "${pkgs.synergy}/bin/synergys -c ${cfgS.configFile} -f${ lib.optionalString (cfgS.address != "") " -a ${cfgS.address}" }${ lib.optionalString (cfgS.screenName != "") " -n ${cfgS.screenName}" }${lib.optionalString cfgS.tls.enable " --enable-crypto"}${ lib.optionalString (cfgS.tls.cert != null) " --tls-cert ${cfgS.tls.cert}" - }''; + }"; serviceConfig.Restart = "on-failure"; }; }) diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix index 07134b58b90e..f9aa855909c2 100644 --- a/nixos/modules/services/monitoring/nagios.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -93,7 +93,7 @@ in options = { services.nagios = { - enable = lib.mkEnableOption ''[Nagios](https://www.nagios.org/) to monitor your system or network''; + enable = lib.mkEnableOption "[Nagios](https://www.nagios.org/) to monitor your system or network"; objectDefs = lib.mkOption { description = '' diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix b/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix index 5a2b2ab47ccd..e1015b3ce764 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix @@ -63,7 +63,7 @@ in "${pkgs.prometheus-mysqld-exporter}/bin/mysqld_exporter" "--web.listen-address=${cfg.listenAddress}:${toString cfg.port}" "--web.telemetry-path=${cfg.telemetryPath}" - (optionalString (cfg.configFile != null) ''--config.my-cnf=''${CREDENTIALS_DIRECTORY}/config'') + (optionalString (cfg.configFile != null) "--config.my-cnf=\${CREDENTIALS_DIRECTORY}/config") (escapeShellArgs cfg.extraFlags) ]; RestrictAddressFamilies = [ diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix index 9b61d44a0f11..5eed8d2a2740 100644 --- a/nixos/modules/services/network-filesystems/openafs/client.nix +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -30,12 +30,12 @@ let sedExpr = '':x /^>\(${localCellsRegex}\) / { n; :y /^>/! { n; by }; bx }; p''; globalCommand = if cfg.cellServDB != { } then - ''sed -n -e ${lib.escapeShellArg sedExpr} ${cfg.globalCellServDBFile}'' + "sed -n -e ${lib.escapeShellArg sedExpr} ${cfg.globalCellServDBFile}" else - ''cat ${cfg.globalCellServDBFile}''; + "cat ${cfg.globalCellServDBFile}"; in pkgs.runCommand "CellServDB" { preferLocalBuild = true; } '' - ${lib.optionalString (cfg.globalCellServDBFile != null) ''${globalCommand} > $out''} + ${lib.optionalString (cfg.globalCellServDBFile != null) "${globalCommand} > $out"} cat ${clientServDB} >> $out ''; diff --git a/nixos/modules/services/networking/cloudflared.nix b/nixos/modules/services/networking/cloudflared.nix index bfa624986d35..37889c7308da 100644 --- a/nixos/modules/services/networking/cloudflared.nix +++ b/nixos/modules/services/networking/cloudflared.nix @@ -395,7 +395,7 @@ in }; environment = { - TUNNEL_ORIGIN_CERT = lib.mkIf (certFile != null) ''%d/cert.pem''; + TUNNEL_ORIGIN_CERT = lib.mkIf (certFile != null) "%d/cert.pem"; TUNNEL_EDGE_IP_VERSION = tunnel.edgeIPVersion; }; } diff --git a/nixos/modules/services/networking/firezone/server.nix b/nixos/modules/services/networking/firezone/server.nix index 49ffbb02c232..7ca9be490632 100644 --- a/nixos/modules/services/networking/firezone/server.nix +++ b/nixos/modules/services/networking/firezone/server.nix @@ -110,12 +110,12 @@ let concatLines ( forEach relevantSecrets ( secret: - ''export ${secret}=$(< ${ + "export ${secret}=$(< ${ if cfg.settingsSecret.${secret} == null then "secrets/${secret}" else "\"$CREDENTIALS_DIRECTORY/${secret}\"" - })'' + })" ) ); diff --git a/nixos/modules/services/networking/gns3-server.nix b/nixos/modules/services/networking/gns3-server.nix index 6d69090744be..b71190d6f464 100644 --- a/nixos/modules/services/networking/gns3-server.nix +++ b/nixos/modules/services/networking/gns3-server.nix @@ -31,7 +31,7 @@ in type = lib.types.nullOr lib.types.str; default = null; example = "gns3"; - description = ''Username used to access the GNS3 Server.''; + description = "Username used to access the GNS3 Server."; }; passwordFile = lib.mkOption { @@ -68,7 +68,7 @@ in file = lib.mkOption { type = lib.types.nullOr lib.types.path; default = "/var/log/gns3/server.log"; - description = ''Path of the file GNS3 Server should log to.''; + description = "Path of the file GNS3 Server should log to."; }; debug = lib.mkEnableOption "debug logging"; @@ -96,17 +96,17 @@ in }; dynamips = { - enable = lib.mkEnableOption ''Dynamips support''; + enable = lib.mkEnableOption "Dynamips support"; package = lib.mkPackageOption pkgs "dynamips" { }; }; ubridge = { - enable = lib.mkEnableOption ''uBridge support''; + enable = lib.mkEnableOption "uBridge support"; package = lib.mkPackageOption pkgs "ubridge" { }; }; vpcs = { - enable = lib.mkEnableOption ''VPCS support''; + enable = lib.mkEnableOption "VPCS support"; package = lib.mkPackageOption pkgs "vpcs" { }; }; }; diff --git a/nixos/modules/services/networking/go-autoconfig.nix b/nixos/modules/services/networking/go-autoconfig.nix index b7ed11405003..f709bc135187 100644 --- a/nixos/modules/services/networking/go-autoconfig.nix +++ b/nixos/modules/services/networking/go-autoconfig.nix @@ -56,7 +56,7 @@ in serviceConfig = { ExecStart = "${pkgs.go-autoconfig}/bin/go-autoconfig -config ${configFile}"; Restart = "on-failure"; - WorkingDirectory = ''${pkgs.go-autoconfig}/''; + WorkingDirectory = "${pkgs.go-autoconfig}/"; DynamicUser = true; }; }; diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index ef0094cf1aa7..c9deeb7753b2 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -1363,13 +1363,13 @@ in # see https://github.com/openwrt/openwrt/blob/539cb5389d9514c99ec1f87bd4465f77c7ed9b93/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh#L158 { assertion = length (filter (bss: bss == radio) (attrNames radioCfg.networks)) == 1; - message = ''hostapd radio ${radio}: Exactly one network must be named like the radio, for reasons internal to hostapd.''; + message = "hostapd radio ${radio}: Exactly one network must be named like the radio, for reasons internal to hostapd."; } { assertion = (radioCfg.wifi4.enable && builtins.elem "HT40-" radioCfg.wifi4.capabilities) -> radioCfg.channel != 0; - message = ''hostapd radio ${radio}: using ACS (channel = 0) together with HT40- (wifi4.capabilities) is unsupported by hostapd''; + message = "hostapd radio ${radio}: using ACS (channel = 0) together with HT40- (wifi4.capabilities) is unsupported by hostapd"; } ] # BSS warnings @@ -1391,42 +1391,42 @@ in } { assertion = (length (attrNames radioCfg.networks) > 1) -> (bssCfg.bssid != null); - message = ''hostapd radio ${radio} bss ${bss}: bssid must be specified manually (for now) since this radio uses multiple BSS.''; + message = "hostapd radio ${radio} bss ${bss}: bssid must be specified manually (for now) since this radio uses multiple BSS."; } { assertion = countWpaPasswordDefinitions <= 1; - message = ''hostapd radio ${radio} bss ${bss}: must use at most one WPA password option (wpaPassword, wpaPasswordFile, wpaPskFile)''; + message = "hostapd radio ${radio} bss ${bss}: must use at most one WPA password option (wpaPassword, wpaPasswordFile, wpaPskFile)"; } { assertion = auth.wpaPassword != null -> (stringLength auth.wpaPassword >= 8 && stringLength auth.wpaPassword <= 63); - message = ''hostapd radio ${radio} bss ${bss}: uses a wpaPassword of invalid length (must be in [8,63]).''; + message = "hostapd radio ${radio} bss ${bss}: uses a wpaPassword of invalid length (must be in [8,63])."; } { assertion = auth.saePasswords == [ ] || auth.saePasswordsFile == null; - message = ''hostapd radio ${radio} bss ${bss}: must use only one SAE password option (saePasswords or saePasswordsFile)''; + message = "hostapd radio ${radio} bss ${bss}: must use only one SAE password option (saePasswords or saePasswordsFile)"; } { assertion = auth.mode == "wpa3-sae" -> (auth.saePasswords != [ ] || auth.saePasswordsFile != null); - message = ''hostapd radio ${radio} bss ${bss}: uses WPA3-SAE which requires defining a sae password option''; + message = "hostapd radio ${radio} bss ${bss}: uses WPA3-SAE which requires defining a sae password option"; } { assertion = auth.mode == "wpa3-sae-transition" -> (auth.saePasswords != [ ] || auth.saePasswordsFile != null) && countWpaPasswordDefinitions == 1; - message = ''hostapd radio ${radio} bss ${bss}: uses WPA3-SAE in transition mode requires defining both a wpa password option and a sae password option''; + message = "hostapd radio ${radio} bss ${bss}: uses WPA3-SAE in transition mode requires defining both a wpa password option and a sae password option"; } { assertion = (auth.mode == "wpa2-sha1" || auth.mode == "wpa2-sha256") -> countWpaPasswordDefinitions == 1; - message = ''hostapd radio ${radio} bss ${bss}: uses WPA2-PSK which requires defining a wpa password option''; + message = "hostapd radio ${radio} bss ${bss}: uses WPA2-PSK which requires defining a wpa password option"; } ] ++ optionals (auth.saePasswords != [ ]) ( imap1 (i: entry: { assertion = (entry.password == null) != (entry.passwordFile == null); - message = ''hostapd radio ${radio} bss ${bss} saePassword entry ${i}: must set exactly one of `password` or `passwordFile`''; + message = "hostapd radio ${radio} bss ${bss} saePassword entry ${i}: must set exactly one of `password` or `passwordFile`"; }) auth.saePasswords ) ) radioCfg.networks diff --git a/nixos/modules/services/networking/inadyn.nix b/nixos/modules/services/networking/inadyn.nix index 384c6932aefa..fd6f14da9512 100644 --- a/nixos/modules/services/networking/inadyn.nix +++ b/nixos/modules/services/networking/inadyn.nix @@ -221,7 +221,7 @@ in startAt = cfg.interval; serviceConfig = { Type = "oneshot"; - ExecStart = ''${lib.getExe pkgs.inadyn} -f ${configFile} --cache-dir ''${CACHE_DIRECTORY} -1 --foreground -l ${cfg.logLevel}''; + ExecStart = "${lib.getExe pkgs.inadyn} -f ${configFile} --cache-dir \${CACHE_DIRECTORY} -1 --foreground -l ${cfg.logLevel}"; LoadCredential = "config:${configFile}"; CacheDirectory = "inadyn"; diff --git a/nixos/modules/services/networking/netbird.nix b/nixos/modules/services/networking/netbird.nix index 7c7641b4c4ed..5c1dd50a30b4 100644 --- a/nixos/modules/services/networking/netbird.nix +++ b/nixos/modules/services/networking/netbird.nix @@ -301,7 +301,7 @@ in ui.enable = mkOption { type = bool; default = nixosConfig.services.netbird.ui.enable; - defaultText = literalExpression ''client.ui.enable''; + defaultText = literalExpression "client.ui.enable"; description = '' Controls presence of `netbird-ui` wrapper for this NetBird client. ''; diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index 6100f71563f4..c45039458b26 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -148,7 +148,7 @@ let ''; maybeString = prefix: x: optionalString (x != null) ''${prefix} "${x}"''; - maybeToString = prefix: x: optionalString (x != null) ''${prefix} ${toString x}''; + maybeToString = prefix: x: optionalString (x != null) "${prefix} ${toString x}"; forEach = pre: l: concatMapStrings (x: pre + x + "\n") l; keyConfigFile = concatStrings ( diff --git a/nixos/modules/services/networking/robustirc-bridge.nix b/nixos/modules/services/networking/robustirc-bridge.nix index 66690d699537..89695ce46d8f 100644 --- a/nixos/modules/services/networking/robustirc-bridge.nix +++ b/nixos/modules/services/networking/robustirc-bridge.nix @@ -18,7 +18,7 @@ in extraFlags = mkOption { type = types.listOf types.str; default = [ ]; - description = ''Extra flags passed to the {command}`robustirc-bridge` command. See [RobustIRC Documentation](https://robustirc.net/docs/adminguide.html#_bridge) or {manpage}`robustirc-bridge(1)` for details.''; + description = "Extra flags passed to the {command}`robustirc-bridge` command. See [RobustIRC Documentation](https://robustirc.net/docs/adminguide.html#_bridge) or {manpage}`robustirc-bridge(1)` for details."; example = [ "-network robustirc.net" ]; diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index f34b8ca2a190..2624827d72c8 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -826,13 +826,13 @@ in "Banner ${if cfg.banner == null then "none" else pkgs.writeText "ssh_banner" cfg.banner}" "AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"}" ] - ++ lib.map (port: ''Port ${toString port}'') cfg.ports + ++ lib.map (port: "Port ${toString port}") cfg.ports ++ lib.map ( { port, addr, ... }: - ''ListenAddress ${addr}${lib.optionalString (port != null) (":" + toString port)}'' + "ListenAddress ${addr}${lib.optionalString (port != null) (":" + toString port)}" ) cfg.listenAddresses ++ lib.optional cfgc.setXAuthLocation "XAuthLocation ${lib.getExe pkgs.xorg.xauth}" - ++ lib.optional cfg.allowSFTP ''Subsystem sftp ${cfg.sftpServerExecutable} ${lib.concatStringsSep " " cfg.sftpFlags}'' + ++ lib.optional cfg.allowSFTP "Subsystem sftp ${cfg.sftpServerExecutable} ${lib.concatStringsSep " " cfg.sftpFlags}" ++ [ "AuthorizedKeysFile ${toString cfg.authorizedKeysFiles}" ] @@ -901,7 +901,7 @@ in in { assertion = lib.length duplicates == 0; - message = ''Duplicate sshd config key; does your capitalization match the option's? Duplicate keys: ${formattedDuplicates}''; + message = "Duplicate sshd config key; does your capitalization match the option's? Duplicate keys: ${formattedDuplicates}"; } ) ] diff --git a/nixos/modules/services/printing/cups-pdf.nix b/nixos/modules/services/printing/cups-pdf.nix index a5fd0c3c1f6d..1fd0e2cfb1c0 100644 --- a/nixos/modules/services/printing/cups-pdf.nix +++ b/nixos/modules/services/printing/cups-pdf.nix @@ -90,7 +90,7 @@ let type = with lib.types; nullOr path; default = lib.getExe pkgs.ghostscript; defaultText = lib.literalExpression "lib.getExe pkgs.ghostscript"; - example = lib.literalExpression ''''${pkgs.ghostscript}/bin/ps2pdf''; + example = lib.literalExpression "\${pkgs.ghostscript}/bin/ps2pdf"; description = "location of GhostScript binary"; }; }; diff --git a/nixos/modules/services/search/manticore.nix b/nixos/modules/services/search/manticore.nix index cbedb5630d0e..58814cc91b45 100644 --- a/nixos/modules/services/search/manticore.nix +++ b/nixos/modules/services/search/manticore.nix @@ -26,7 +26,7 @@ let ${sectName} { '' + lib.generators.toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues - + ''}''; + + "}"; in # map input to ini sections mapAttrsToStringsSep "\n" mkSection attrsOfAttrs; diff --git a/nixos/modules/services/security/crowdsec-firewall-bouncer.nix b/nixos/modules/services/security/crowdsec-firewall-bouncer.nix index aae9c9683e6e..856efd81b483 100644 --- a/nixos/modules/services/security/crowdsec-firewall-bouncer.nix +++ b/nixos/modules/services/security/crowdsec-firewall-bouncer.nix @@ -45,7 +45,7 @@ in instead. ''; default = config.services.crowdsec.enable; - defaultText = lib.literalExpression ''config.services.crowdsec.enable''; + defaultText = lib.literalExpression "config.services.crowdsec.enable"; }; bouncerName = mkOption { type = types.nonEmptyStr; diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix index c0a992376f51..87f991a4c7e9 100644 --- a/nixos/modules/services/security/fail2ban.nix +++ b/nixos/modules/services/security/fail2ban.nix @@ -442,7 +442,7 @@ in // { # Miscellaneous options inherit (cfg) banaction maxretry bantime; - ignoreip = ''127.0.0.1/8 ${lib.optionalString config.networking.enableIPv6 "::1"} ${lib.concatStringsSep " " cfg.ignoreIP}''; + ignoreip = "127.0.0.1/8 ${lib.optionalString config.networking.enableIPv6 "::1"} ${lib.concatStringsSep " " cfg.ignoreIP}"; backend = "systemd"; # Actions banaction_allports = cfg.banaction-allports; diff --git a/nixos/modules/services/torrent/cross-seed.nix b/nixos/modules/services/torrent/cross-seed.nix index 3db8b84071c3..ed25edbb2f8c 100644 --- a/nixos/modules/services/torrent/cross-seed.nix +++ b/nixos/modules/services/torrent/cross-seed.nix @@ -107,7 +107,7 @@ in outputDir = mkOption { type = types.path; default = "${cfg.configDir}/output"; - defaultText = ''''${cfg.configDir}/output''; + defaultText = "\${cfg.configDir}/output"; description = "Directory where cross-seed will place torrent files it finds."; }; diff --git a/nixos/modules/services/web-apps/bookstack.nix b/nixos/modules/services/web-apps/bookstack.nix index a3ed9a96b970..7a59859c5e4c 100644 --- a/nixos/modules/services/web-apps/bookstack.nix +++ b/nixos/modules/services/web-apps/bookstack.nix @@ -300,7 +300,7 @@ in type = lib.types.str; default = if cfg.hostname == "localhost" then "http://${cfg.hostname}" else "https://${cfg.hostname}"; - defaultText = ''http(s)://''${config.services.bookstack.hostname}''; + defaultText = "http(s)://\${config.services.bookstack.hostname}"; description = '' The root URL that you want to host BookStack on. All URLs in BookStack will be generated using this value. It is used to validate specific diff --git a/nixos/modules/services/web-apps/davis.nix b/nixos/modules/services/web-apps/davis.nix index e7cdf6a8277b..feb13b8bf87c 100644 --- a/nixos/modules/services/web-apps/davis.nix +++ b/nixos/modules/services/web-apps/davis.nix @@ -134,8 +134,8 @@ in ); default = { }; - example = ''''; - description = ''''; + example = ""; + description = ""; }; adminLogin = lib.mkOption { diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix index d1c0d2103522..caf819c30910 100644 --- a/nixos/modules/services/web-apps/dokuwiki.nix +++ b/nixos/modules/services/web-apps/dokuwiki.nix @@ -556,7 +556,7 @@ in "/" = { priority = 1; index = "doku.php"; - extraConfig = ''try_files $uri $uri/ @dokuwiki;''; + extraConfig = "try_files $uri $uri/ @dokuwiki;"; }; "@dokuwiki" = { diff --git a/nixos/modules/services/web-apps/freshrss.nix b/nixos/modules/services/web-apps/freshrss.nix index 2544bd846424..93306104c630 100644 --- a/nixos/modules/services/web-apps/freshrss.nix +++ b/nixos/modules/services/web-apps/freshrss.nix @@ -359,10 +359,10 @@ in let isUserAuth = cfg.authType == "form" || cfg.authType == "none"; - userScriptArgs = ''--user ${cfg.defaultUser} ${ + userScriptArgs = "--user ${cfg.defaultUser} ${ optionalString (cfg.authType == "form") ''--password "$(cat ${cfg.passwordFile})"'' - }''; - mkUserScript = name: optionalString isUserAuth ''./cli/${name}.php ${userScriptArgs}''; + }"; + mkUserScript = name: optionalString isUserAuth "./cli/${name}.php ${userScriptArgs}"; updateUserScript = mkUserScript "update-user"; createUserScript = mkUserScript "create-user"; diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix index cc6e6af64051..2a63b06a8fab 100644 --- a/nixos/modules/services/web-apps/jitsi-meet.nix +++ b/nixos/modules/services/web-apps/jitsi-meet.nix @@ -217,7 +217,7 @@ in excalidraw.port = mkOption { type = types.port; default = 3002; - description = ''The port which the Excalidraw backend for Jitsi should listen to.''; + description = "The port which the Excalidraw backend for Jitsi should listen to."; }; secureDomain = { @@ -225,7 +225,7 @@ in authentication = mkOption { type = types.str; default = "internal_hashed"; - description = ''The authentication type to be used by jitsi''; + description = "The authentication type to be used by jitsi"; }; }; }; diff --git a/nixos/modules/services/web-apps/lanraragi.nix b/nixos/modules/services/web-apps/lanraragi.nix index 35e7e28e0308..e7b701099255 100644 --- a/nixos/modules/services/web-apps/lanraragi.nix +++ b/nixos/modules/services/web-apps/lanraragi.nix @@ -88,7 +88,7 @@ in { redis_address => "127.0.0.1:${toString cfg.redis.port}", redis_password => "${ - lib.optionalString (cfg.redis.passwordFile != null) ''$(head -n1 ${cfg.redis.passwordFile})'' + lib.optionalString (cfg.redis.passwordFile != null) "$(head -n1 ${cfg.redis.passwordFile})" }", redis_database => "0", redis_database_minion => "1", diff --git a/nixos/modules/services/web-apps/mattermost.nix b/nixos/modules/services/web-apps/mattermost.nix index 412a36c29c90..cbec4ca230bf 100644 --- a/nixos/modules/services/web-apps/mattermost.nix +++ b/nixos/modules/services/web-apps/mattermost.nix @@ -411,7 +411,7 @@ in path = mkOption { type = types.path; default = "${cfg.dataDir}/mattermost.sock"; - defaultText = ''''${config.mattermost.dataDir}/mattermost.sock''; + defaultText = "\${config.mattermost.dataDir}/mattermost.sock"; description = '' Default location for the Mattermost control socket used by `mmctl`. ''; diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix index 085108df28c3..cb0c60315ef6 100644 --- a/nixos/modules/services/web-apps/mediawiki.nix +++ b/nixos/modules/services/web-apps/mediawiki.nix @@ -473,7 +473,7 @@ in nginx.hostName = mkOption { type = types.str; - example = literalExpression ''wiki.example.com''; + example = literalExpression "wiki.example.com"; default = "localhost"; description = '' The hostname to use for the nginx virtual host. diff --git a/nixos/modules/services/web-apps/peertube-runner.nix b/nixos/modules/services/web-apps/peertube-runner.nix index 0aae8e558825..9b126b7fa97c 100644 --- a/nixos/modules/services/web-apps/peertube-runner.nix +++ b/nixos/modules/services/web-apps/peertube-runner.nix @@ -188,7 +188,7 @@ in --runner-name ${lib.escapeShellArg instance.runnerName} \ ${lib.optionalString ( instance.runnerDescription != null - ) ''--runner-description ${lib.escapeShellArg instance.runnerDescription}''} + ) "--runner-description ${lib.escapeShellArg instance.runnerDescription}"} # Kill the server kill $! diff --git a/nixos/modules/services/web-apps/privatebin.nix b/nixos/modules/services/web-apps/privatebin.nix index d498ffe3af71..5fff838b26dd 100644 --- a/nixos/modules/services/web-apps/privatebin.nix +++ b/nixos/modules/services/web-apps/privatebin.nix @@ -13,11 +13,11 @@ let mkValueString = v: if v == true then - ''true'' + "true" else if v == false then - ''false'' + "false" else if builtins.isInt v then - ''${toString v}'' + "${toString v}" else if builtins.isPath v then ''"${toString v}"'' else if builtins.isString v then diff --git a/nixos/modules/services/web-apps/rutorrent.nix b/nixos/modules/services/web-apps/rutorrent.nix index d1c3c2eafe38..82684f884980 100644 --- a/nixos/modules/services/web-apps/rutorrent.nix +++ b/nixos/modules/services/web-apps/rutorrent.nix @@ -248,9 +248,9 @@ in cp -r ${pkgs.rutorrent}/php ${cfg.dataDir}/ ${optionalString (cfg.plugins != [ ]) - ''cp -r ${ + "cp -r ${ concatMapStringsSep " " (p: "${pkgs.rutorrent}/plugins/${p}") cfg.plugins - } ${cfg.dataDir}/plugins/'' + } ${cfg.dataDir}/plugins/" } chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}/{conf,share,logs,plugins} diff --git a/nixos/modules/services/web-apps/snipe-it.nix b/nixos/modules/services/web-apps/snipe-it.nix index 7b8f55b55c9d..818aea70a039 100644 --- a/nixos/modules/services/web-apps/snipe-it.nix +++ b/nixos/modules/services/web-apps/snipe-it.nix @@ -403,7 +403,7 @@ in locations = { "/" = { index = "index.php"; - extraConfig = ''try_files $uri $uri/ /index.php?$query_string;''; + extraConfig = "try_files $uri $uri/ /index.php?$query_string;"; }; "~ \\.php$" = { extraConfig = '' diff --git a/nixos/modules/services/web-apps/stash.nix b/nixos/modules/services/web-apps/stash.nix index 72d4d67cd6cf..e4e1c65d0932 100644 --- a/nixos/modules/services/web-apps/stash.nix +++ b/nixos/modules/services/web-apps/stash.nix @@ -126,7 +126,7 @@ let stash_boxes = mkOption { type = types.listOf stashBoxType; default = [ ]; - description = ''Stash-box facilitates automated tagging of scenes and performers based on fingerprints and filenames''; + description = "Stash-box facilitates automated tagging of scenes and performers based on fingerprints and filenames"; example = literalExpression '' { stash_boxes = [ diff --git a/nixos/modules/services/web-apps/szurubooru.nix b/nixos/modules/services/web-apps/szurubooru.nix index e1bfbfe27e8b..d7c8926536c2 100644 --- a/nixos/modules/services/web-apps/szurubooru.nix +++ b/nixos/modules/services/web-apps/szurubooru.nix @@ -83,7 +83,7 @@ in type = types.int; default = 4; example = 6; - description = ''Number of waitress threads to start.''; + description = "Number of waitress threads to start."; }; settings = mkOption { @@ -94,13 +94,13 @@ in type = types.str; default = "szurubooru"; example = "Szuru"; - description = ''Name shown in the website title and on the front page.''; + description = "Name shown in the website title and on the front page."; }; domain = mkOption { type = types.str; example = "http://example.com"; - description = ''Full URL to the homepage of this szurubooru site (with no trailing slash).''; + description = "Full URL to the homepage of this szurubooru site (with no trailing slash)."; }; # NOTE: this is not a real upstream option @@ -119,7 +119,7 @@ in ]; default = "no"; example = "yes"; - description = ''Whether to delete thumbnails and source files on post delete.''; + description = "Whether to delete thumbnails and source files on post delete."; }; smtp = { @@ -127,21 +127,21 @@ in type = types.nullOr types.str; default = null; example = "localhost"; - description = ''Host of the SMTP server used to send reset password.''; + description = "Host of the SMTP server used to send reset password."; }; port = mkOption { type = types.nullOr types.port; default = null; example = 25; - description = ''Port of the SMTP server.''; + description = "Port of the SMTP server."; }; user = mkOption { type = types.nullOr types.str; default = null; example = "bot"; - description = ''User to connect to the SMTP server.''; + description = "User to connect to the SMTP server."; }; # NOTE: this is not a real upstream option @@ -149,7 +149,7 @@ in type = types.nullOr types.path; default = null; example = "/run/secrets/szurubooru-smtp-pass"; - description = ''File containing the password associated to the given user for the SMTP server.''; + description = "File containing the password associated to the given user for the SMTP server."; }; }; @@ -158,7 +158,7 @@ in default = "${cfg.server.settings.domain}/data/"; defaultText = lib.literalExpression ''"''${services.szurubooru.server.settings.domain}/data/"''; example = "http://example.com/content/"; - description = ''Full URL to the data endpoint.''; + description = "Full URL to the data endpoint."; }; data_dir = mkOption { @@ -166,21 +166,21 @@ in default = "${cfg.dataDir}/data"; defaultText = lib.literalExpression ''"''${services.szurubooru.dataDir}/data"''; example = "/srv/szurubooru/data"; - description = ''Path to the static files.''; + description = "Path to the static files."; }; debug = mkOption { type = types.int; default = 0; example = 1; - description = ''Whether to generate server logs.''; + description = "Whether to generate server logs."; }; show_sql = mkOption { type = types.int; default = 0; example = 1; - description = ''Whether to show SQL in server logs.''; + description = "Whether to show SQL in server logs."; }; }; }; @@ -203,13 +203,13 @@ in type = types.str; default = "localhost"; example = "192.168.1.2"; - description = ''Host on which the PostgreSQL database runs.''; + description = "Host on which the PostgreSQL database runs."; }; port = mkOption { type = types.port; default = 5432; - description = ''The port under which PostgreSQL listens to.''; + description = "The port under which PostgreSQL listens to."; }; name = mkOption { @@ -217,20 +217,20 @@ in default = cfg.database.user; defaultText = lib.literalExpression "szurubooru.database.name"; example = "szuru"; - description = ''Name of the PostgreSQL database.''; + description = "Name of the PostgreSQL database."; }; user = mkOption { type = types.str; default = "szurubooru"; example = "szuru"; - description = ''PostgreSQL user.''; + description = "PostgreSQL user."; }; passwordFile = mkOption { type = types.path; example = "/run/secrets/szurubooru-db-password"; - description = ''A file containing the password for the PostgreSQL user.''; + description = "A file containing the password for the PostgreSQL user."; }; }; }; diff --git a/nixos/modules/services/web-apps/your_spotify.nix b/nixos/modules/services/web-apps/your_spotify.nix index 393726b22b01..9c177be2f001 100644 --- a/nixos/modules/services/web-apps/your_spotify.nix +++ b/nixos/modules/services/web-apps/your_spotify.nix @@ -114,7 +114,7 @@ in }; MONGO_ENDPOINT = mkOption { type = str; - description = ''The endpoint of the Mongo database.''; + description = "The endpoint of the Mongo database."; default = "mongodb://localhost:27017/your_spotify"; }; PORT = mkOption { diff --git a/nixos/modules/services/web-servers/caddy/default.nix b/nixos/modules/services/web-servers/caddy/default.nix index 83491c1f789e..1fcf5ef6de5f 100644 --- a/nixos/modules/services/web-servers/caddy/default.nix +++ b/nixos/modules/services/web-servers/caddy/default.nix @@ -421,9 +421,9 @@ in serviceConfig = let - runOptions = ''--config ${configPath} ${ + runOptions = "--config ${configPath} ${ optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}" - }''; + }"; in { # Override the `ExecStart` line from upstream's systemd unit file by our own: @@ -431,7 +431,7 @@ in # If the empty string is assigned to this option, the list of commands to start is reset, prior assignments of this option will have no effect. ExecStart = [ "" - ''${lib.getExe cfg.package} run ${runOptions} ${optionalString cfg.resume "--resume"}'' + "${lib.getExe cfg.package} run ${runOptions} ${optionalString cfg.resume "--resume"}" ]; # Validating the configuration before applying it ensures we’ll get a proper error that will be reported when switching to the configuration ExecReload = [ diff --git a/nixos/modules/services/web-servers/h2o/default.nix b/nixos/modules/services/web-servers/h2o/default.nix index 72306ebd003d..108c9190cc53 100644 --- a/nixos/modules/services/web-servers/h2o/default.nix +++ b/nixos/modules/services/web-servers/h2o/default.nix @@ -262,12 +262,12 @@ let ); # Executing H2O with our generated configuration; `mode` added as needed - h2oExe = ''${lib.getExe cfg.package} ${ + h2oExe = "${lib.getExe cfg.package} ${ lib.strings.escapeShellArgs [ "--conf" "${h2oConfig}" ] - }''; + }"; in { options = { diff --git a/nixos/modules/services/web-servers/static-web-server.nix b/nixos/modules/services/web-servers/static-web-server.nix index c999bb161f82..9069d602cb01 100644 --- a/nixos/modules/services/web-servers/static-web-server.nix +++ b/nixos/modules/services/web-servers/static-web-server.nix @@ -13,7 +13,7 @@ in { options = { services.static-web-server = { - enable = lib.mkEnableOption ''Static Web Server''; + enable = lib.mkEnableOption "Static Web Server"; listen = lib.mkOption { default = "[::]:8787"; type = lib.types.str; diff --git a/nixos/modules/system/boot/clevis.nix b/nixos/modules/system/boot/clevis.nix index 6a90f0f4a54f..5867a02b9576 100644 --- a/nixos/modules/system/boot/clevis.nix +++ b/nixos/modules/system/boot/clevis.nix @@ -59,7 +59,7 @@ in || (fs.fsType == "zfs" && lib.hasPrefix "${device}/" fs.device) ) config.system.build.fileSystems) || (lib.hasAttr device config.boot.initrd.luks.devices); - message = ''No filesystem or LUKS device with the name ${device} is declared in your configuration.''; + message = "No filesystem or LUKS device with the name ${device} is declared in your configuration."; }) cfg.devices ) ); diff --git a/nixos/modules/system/boot/kexec.nix b/nixos/modules/system/boot/kexec.nix index 9a4818d874dd..d5272ff4da95 100644 --- a/nixos/modules/system/boot/kexec.nix +++ b/nixos/modules/system/boot/kexec.nix @@ -12,7 +12,7 @@ in options.boot.kexec = { enable = lib.mkEnableOption "kexec" // { default = lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexec-tools; - defaultText = lib.literalExpression ''lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexec-tools''; + defaultText = lib.literalExpression "lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.kexec-tools"; }; }; diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix index c4275d0410c3..2b2fc7194e45 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix @@ -244,7 +244,7 @@ in installDeviceTree = mkOption { default = with config.hardware.deviceTree; enable && name != null; - defaultText = ''with config.hardware.deviceTree; enable && name != null''; + defaultText = "with config.hardware.deviceTree; enable && name != null"; description = '' Install the devicetree blob specified by `config.hardware.deviceTree.name` to the ESP and instruct systemd-boot to pass this DTB to linux. diff --git a/nixos/modules/system/boot/systemd/sysusers.nix b/nixos/modules/system/boot/systemd/sysusers.nix index e3b0f2656b6a..daac975e1c96 100644 --- a/nixos/modules/system/boot/systemd/sysusers.nix +++ b/nixos/modules/system/boot/systemd/sysusers.nix @@ -31,9 +31,9 @@ let ${lib.concatLines ( lib.mapAttrsToList ( groupname: opts: - ''g ${groupname} ${ + "g ${groupname} ${ if opts.gid == null then "/var/lib/nixos/gid/${groupname}" else toString opts.gid - }'' + }" ) userCfg.groups )} diff --git a/nixos/modules/system/boot/unl0kr.nix b/nixos/modules/system/boot/unl0kr.nix index c51b40325cfd..9caa1156b9fd 100644 --- a/nixos/modules/system/boot/unl0kr.nix +++ b/nixos/modules/system/boot/unl0kr.nix @@ -12,13 +12,13 @@ in { options.boot.initrd.unl0kr = { enable = lib.mkEnableOption "unl0kr in initrd" // { - description = ''Whether to enable the unl0kr on-screen keyboard in initrd to unlock LUKS.''; + description = "Whether to enable the unl0kr on-screen keyboard in initrd to unlock LUKS."; }; package = lib.mkPackageOption pkgs "buffybox" { }; allowVendorDrivers = lib.mkEnableOption "load optional drivers" // { - description = ''Whether to load additional drivers for certain vendors (I.E: Wacom, Intel, etc.)''; + description = "Whether to load additional drivers for certain vendors (I.E: Wacom, Intel, etc.)"; }; settings = lib.mkOption { @@ -56,10 +56,10 @@ in warnings = lib.mkMerge [ (lib.mkIf (config.hardware.amdgpu.initrd.enable) [ - ''Use early video loading at your risk. It's not guaranteed to work with unl0kr.'' + "Use early video loading at your risk. It's not guaranteed to work with unl0kr." ]) (lib.mkIf (config.boot.plymouth.enable) [ - ''Upstream clearly intends unl0kr to not run with Plymouth. Good luck'' + "Upstream clearly intends unl0kr to not run with Plymouth. Good luck" ]) ]; diff --git a/nixos/modules/system/service/README.md b/nixos/modules/system/service/README.md index fa4d0204611e..70c08e706577 100644 --- a/nixos/modules/system/service/README.md +++ b/nixos/modules/system/service/README.md @@ -104,7 +104,7 @@ The modular service infrastructure avoids exposing `pkgs` as a module argument t lib, writeScript, runtimeShell, - # ... other dependencies + # ... other dependencies }: stdenv.mkDerivation (finalAttrs: { # ... package definition diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 92c151142215..8e087017d7e7 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -205,7 +205,7 @@ let tempAddress = mkOption { type = types.enum (lib.attrNames tempaddrValues); default = cfg.tempAddresses; - defaultText = literalExpression ''config.networking.tempAddresses''; + defaultText = literalExpression "config.networking.tempAddresses"; description = '' When IPv6 is enabled with SLAAC, this option controls the use of temporary address (aka privacy extensions) on this diff --git a/nixos/modules/virtualisation/containerd.nix b/nixos/modules/virtualisation/containerd.nix index c43db34dbf99..1ba7117aa245 100644 --- a/nixos/modules/virtualisation/containerd.nix +++ b/nixos/modules/virtualisation/containerd.nix @@ -89,9 +89,9 @@ in ] ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package; serviceConfig = { - ExecStart = ''${pkgs.containerd}/bin/containerd ${ + ExecStart = "${pkgs.containerd}/bin/containerd ${ lib.concatStringsSep " " (lib.cli.toCommandLineGNU { } cfg.args) - }''; + }"; Delegate = "yes"; KillMode = "process"; Type = "notify"; diff --git a/nixos/modules/virtualisation/guest-networking-options.nix b/nixos/modules/virtualisation/guest-networking-options.nix index fb450cfa09ba..817ccc4e6370 100644 --- a/nixos/modules/virtualisation/guest-networking-options.nix +++ b/nixos/modules/virtualisation/guest-networking-options.nix @@ -71,7 +71,7 @@ in virtualisation.vlans = lib.mkOption { type = types.listOf types.ints.unsigned; default = if cfg.interfaces == { } then [ 1 ] else [ ]; - defaultText = lib.literalExpression ''if cfg.interfaces == {} then [ 1 ] else [ ]''; + defaultText = lib.literalExpression "if cfg.interfaces == {} then [ 1 ] else [ ]"; example = [ 1 2 diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index 8a46d022633a..9f67f937c2f1 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -216,7 +216,7 @@ let ${ optionalString ( cfg.tmpfs != null && cfg.tmpfs != [ ] - ) ''--tmpfs=${concatStringsSep " --tmpfs=" cfg.tmpfs}'' + ) "--tmpfs=${concatStringsSep " --tmpfs=" cfg.tmpfs}" } \ ''${EXTRA_NSPAWN_FLAGS-} \ ${containerInit cfg} "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/init" diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index 21a0e083d871..63cc4c5e3f63 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -123,7 +123,7 @@ in type = with types; listOf package; # keep the default in sync with the podman package default = lib.optionals pkgs.stdenv.hostPlatform.isLinux [ pkgs.runc ]; - defaultText = lib.literalExpression ''lib.optionals pkgs.stdenv.hostPlatform.isLinux [ pkgs.runc ]''; + defaultText = lib.literalExpression "lib.optionals pkgs.stdenv.hostPlatform.isLinux [ pkgs.runc ]"; example = lib.literalExpression '' [ pkgs.gvisor diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 762349a39753..5f001e05aa47 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -438,7 +438,7 @@ in virtualisation.bootLoaderDevice = mkOption { type = types.path; default = "/dev/disk/by-id/virtio-${rootDriveSerialAttr}"; - defaultText = literalExpression ''/dev/disk/by-id/virtio-${rootDriveSerialAttr}''; + defaultText = literalExpression "/dev/disk/by-id/virtio-${rootDriveSerialAttr}"; example = "/dev/disk/by-id/virtio-boot-loader-device"; description = '' The path (inside th VM) to the device to boot from when legacy booting. @@ -470,7 +470,7 @@ in virtualisation.rootDevice = mkOption { type = types.nullOr types.path; default = "/dev/disk/by-label/${rootFilesystemLabel}"; - defaultText = literalExpression ''/dev/disk/by-label/${rootFilesystemLabel}''; + defaultText = literalExpression "/dev/disk/by-label/${rootFilesystemLabel}"; example = "/dev/disk/by-label/nixos"; description = '' The path (inside the VM) to the device containing the root filesystem. diff --git a/nixos/modules/virtualisation/waydroid.nix b/nixos/modules/virtualisation/waydroid.nix index 27c1e27083c8..39a8139c085c 100644 --- a/nixos/modules/virtualisation/waydroid.nix +++ b/nixos/modules/virtualisation/waydroid.nix @@ -27,7 +27,7 @@ in enable = lib.mkEnableOption "Waydroid"; package = lib.mkPackageOption pkgs "waydroid" { } // { default = if config.networking.nftables.enable then pkgs.waydroid-nftables else pkgs.waydroid; - defaultText = lib.literalExpression ''if config.networking.nftables.enable then pkgs.waydroid-nftables else pkgs.waydroid''; + defaultText = lib.literalExpression "if config.networking.nftables.enable then pkgs.waydroid-nftables else pkgs.waydroid"; }; }; diff --git a/nixos/tests/beszel.nix b/nixos/tests/beszel.nix index 77a4a32a3747..d97108ac2c00 100644 --- a/nixos/tests/beszel.nix +++ b/nixos/tests/beszel.nix @@ -106,7 +106,7 @@ "pkey" = "{sshkey}"; "port" = "45876"; "tkn" = "{utoken}"; - "users" = ''{user['record']['id']}''; + "users" = "{user['record']['id']}"; } }}\' "${agentCfg.environment.HUB_URL}/api/collections/systems/records"') diff --git a/nixos/tests/dependency-track.nix b/nixos/tests/dependency-track.nix index 053b9d244a72..82580009faa9 100644 --- a/nixos/tests/dependency-track.nix +++ b/nixos/tests/dependency-track.nix @@ -47,7 +47,7 @@ in port = dependencyTrackPort; nginx.domain = "localhost"; - database.passwordFile = "${pkgs.writeText "dbPassword" ''hunter2'THE'''H''''E''}"; + database.passwordFile = "${pkgs.writeText "dbPassword" "hunter2'THE''H'''E"}"; }; }; }; diff --git a/nixos/tests/lomiri-system-settings.nix b/nixos/tests/lomiri-system-settings.nix index 8018419f8863..4b7975e26d56 100644 --- a/nixos/tests/lomiri-system-settings.nix +++ b/nixos/tests/lomiri-system-settings.nix @@ -167,5 +167,5 @@ machine.screenshot("lss_localised_page_${page.name}") '' ) settingsPages) - + ''''; + + ""; } diff --git a/nixos/tests/matrix/mautrix-meta-postgres.nix b/nixos/tests/matrix/mautrix-meta-postgres.nix index 72f12aa8db6a..b1ecf5da3cdd 100644 --- a/nixos/tests/matrix/mautrix-meta-postgres.nix +++ b/nixos/tests/matrix/mautrix-meta-postgres.nix @@ -73,7 +73,7 @@ in services.mautrix-meta.instances.instagram = { enable = true; - environmentFile = pkgs.writeText ''my-secrets'' '' + environmentFile = pkgs.writeText "my-secrets" '' AS_TOKEN=${asToken} HS_TOKEN=${hsToken} ''; diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index c3405324a4a2..49feef8bd9e6 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1632,7 +1632,7 @@ let { exporterConfig = { enable = true; - metrics-file = "${pkgs.writeText "test.json" ''{}''}"; + metrics-file = "${pkgs.writeText "test.json" "{}"}"; }; exporterTest = '' wait_for_unit("prometheus-shelly-exporter.service") diff --git a/nixos/tests/restart-by-activation-script.nix b/nixos/tests/restart-by-activation-script.nix index 2fad1f21584e..b156aa21b8a5 100644 --- a/nixos/tests/restart-by-activation-script.nix +++ b/nixos/tests/restart-by-activation-script.nix @@ -51,7 +51,7 @@ specialisation.longscript.configuration = { system.activationScripts.long = { supportsDryActivation = true; - text = lib.concatStringsSep "\n" (lib.genList (i: ''# line number ${toString i}'') 1000000); + text = lib.concatStringsSep "\n" (lib.genList (i: "# line number ${toString i}") 1000000); }; }; }; diff --git a/nixos/tests/syncthing/guiPasswordFile.nix b/nixos/tests/syncthing/guiPasswordFile.nix index fa25fe946c6a..b275e2c70fea 100644 --- a/nixos/tests/syncthing/guiPasswordFile.nix +++ b/nixos/tests/syncthing/guiPasswordFile.nix @@ -26,7 +26,7 @@ insecureAdminAccess = false; user = "alice"; }; - guiPasswordFile = (pkgs.writeText "syncthing-password-file" ''alice_password'').outPath; + guiPasswordFile = (pkgs.writeText "syncthing-password-file" "alice_password").outPath; }; }; diff --git a/pkgs/applications/editors/neovim/tests/default.nix b/pkgs/applications/editors/neovim/tests/default.nix index 1a124b78075b..8e1b79cb3036 100644 --- a/pkgs/applications/editors/neovim/tests/default.nix +++ b/pkgs/applications/editors/neovim/tests/default.nix @@ -35,7 +35,7 @@ let packagesWithSingleLineConfigs = with vimPlugins; [ { plugin = vim-obsession; - config = ''map $ Obsession''; + config = "map $ Obsession"; } { plugin = trouble-nvim; diff --git a/pkgs/applications/editors/vscode/extensions/updateSettings.nix b/pkgs/applications/editors/vscode/extensions/updateSettings.nix index bff445c31537..d88b60547f56 100644 --- a/pkgs/applications/editors/vscode/extensions/updateSettings.nix +++ b/pkgs/applications/editors/vscode/extensions/updateSettings.nix @@ -28,7 +28,7 @@ let symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting ''&& mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" ''; in -writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" fileName}'' ( +writeShellScriptBin "vscodeNixUpdate-${lib.removeSuffix ".json" fileName}" ( lib.optionalString (settings != { }) ( if createIfDoesNotExists then '' diff --git a/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix index 6e2fd767a792..8ed6f4c80fbc 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix @@ -20,11 +20,11 @@ let mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions; mutableExtsPaths = lib.forEach mutExtsDrvs (e: { origin = "${e}/share/vscode/extensions/${e.vscodeExtUniqueId}"; - target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${ + target = "${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${ (lib.findSingle ( ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId ) "" "m" mutableExtensions).version - }''; + }"; }); #removed not defined extensions diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 59652d36bad0..013382e7f1f4 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -357,13 +357,13 @@ let ] ++ lib.optionals (!hasMozSystemDirPatch && allNativeMessagingHosts != [ ]) [ "--run" - ''mkdir -p ''${MOZ_HOME:-~/.mozilla}/native-messaging-hosts'' + "mkdir -p \${MOZ_HOME:-~/.mozilla}/native-messaging-hosts" ] ++ lib.optionals (!hasMozSystemDirPatch) ( lib.concatMap (ext: [ "--run" - ''ln -sfLt ''${MOZ_HOME:-~/.mozilla}/native-messaging-hosts ${ext}/lib/mozilla/native-messaging-hosts/*'' + "ln -sfLt \${MOZ_HOME:-~/.mozilla}/native-messaging-hosts ${ext}/lib/mozilla/native-messaging-hosts/*" ]) allNativeMessagingHosts ); diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix index b120ed78b549..ef9c30c5a770 100644 --- a/pkgs/applications/networking/linssid/default.nix +++ b/pkgs/applications/networking/linssid/default.nix @@ -49,12 +49,12 @@ stdenv.mkDerivation rec { ''; qtWrapperArgs = [ - ''--prefix PATH : ${ + "--prefix PATH : ${ lib.makeBinPath [ wirelesstools iw ] - }'' + }" ]; meta = { diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix index 39a7b666e042..e1e58f93e02f 100644 --- a/pkgs/applications/science/misc/tulip/default.nix +++ b/pkgs/applications/science/misc/tulip/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { libGL ]; - qtWrapperArgs = [ ''--prefix PATH : ${lib.makeBinPath [ python3 ]}'' ]; + qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ python3 ]}" ]; env.NIX_CFLAGS_COMPILE = # error: invalid conversion from 'unsigned char*' to 'char*' diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index 2eae324b17e3..480f2b942416 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -20,11 +20,11 @@ libXScrnSaver, libusb1, pkg-config, -# #FIXME: Could not get cmake to pick up on these dependencies -# Ommiting them prevents cmake from building the OCR video capabilities -# Everything else should work it's just missing this one plugin -# tesseract, -# leptonica, + # #FIXME: Could not get cmake to pick up on these dependencies + # Ommiting them prevents cmake from building the OCR video capabilities + # Everything else should work it's just missing this one plugin + # tesseract, + # leptonica, }: let httplib-src = fetchFromGitHub { diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 645491049862..b4dd4cf5d530 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -221,7 +221,7 @@ let --prefix PATH : "$out/libexec/docker:$extraPath" ln -s ${docker-containerd}/bin/containerd $out/libexec/docker/containerd - ln -s ${docker-containerd}/bin/containerd-shim${lib.optionalString (lib.versionAtLeast version "29.0.0") ''-runc-v2''} $out/libexec/docker/containerd-shim${lib.optionalString (lib.versionAtLeast version "29.0.0") ''-runc-v2''} + ln -s ${docker-containerd}/bin/containerd-shim${lib.optionalString (lib.versionAtLeast version "29.0.0") "-runc-v2"} $out/libexec/docker/containerd-shim${lib.optionalString (lib.versionAtLeast version "29.0.0") "-runc-v2"} ln -s ${docker-runc}/bin/runc $out/libexec/docker/runc ln -s ${docker-tini}/bin/tini-static $out/libexec/docker/docker-init diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix index 2f32733c46d8..a4d4e5f2271d 100644 --- a/pkgs/applications/virtualization/singularity/generic.nix +++ b/pkgs/applications/virtualization/singularity/generic.nix @@ -199,7 +199,7 @@ in lib.concatStringsSep " " [ "--replace-fail" (addShellDoubleQuotes (lib.escapeShellArg originalDefaultPath)) - (addShellDoubleQuotes ''$systemDefaultPath''${systemDefaultPath:+:}${lib.escapeShellArg originalDefaultPath}''${inputsDefaultPath:+:}$inputsDefaultPath'') + (addShellDoubleQuotes "$systemDefaultPath\${systemDefaultPath:+:}${lib.escapeShellArg originalDefaultPath}\${inputsDefaultPath:+:}$inputsDefaultPath") ] ) originalDefaultPaths} '') sourceFilesWithDefaultPaths} diff --git a/pkgs/build-support/fetchpijul/default.nix b/pkgs/build-support/fetchpijul/default.nix index f204c654bf8f..a5388d141375 100644 --- a/pkgs/build-support/fetchpijul/default.nix +++ b/pkgs/build-support/fetchpijul/default.nix @@ -17,10 +17,10 @@ lib.makeOverridable ( state ? null, channel ? "main", name ? "fetchpijul", - # TODO: Changes in pijul are unordered so there's many ways to end up with the same repository state. - # This makes leaveDotPijul unfeasible to implement until pijul CLI implements - # a way of reordering changes to sort them in a consistent and deterministic manner. - # leaveDotPijul ? false + # TODO: Changes in pijul are unordered so there's many ways to end up with the same repository state. + # This makes leaveDotPijul unfeasible to implement until pijul CLI implements + # a way of reordering changes to sort them in a consistent and deterministic manner. + # leaveDotPijul ? false }: if change != null && state != null then throw "Only one of 'change' or 'state' can be set" diff --git a/pkgs/build-support/fetchtorrent/default.nix b/pkgs/build-support/fetchtorrent/default.nix index d3828602594e..5eb6aa5f7241 100644 --- a/pkgs/build-support/fetchtorrent/default.nix +++ b/pkgs/build-support/fetchtorrent/default.nix @@ -9,7 +9,7 @@ rsync, }: let - urlRegexp = ''.*xt=urn:bt[im]h:([^&]{64}|[^&]{40}).*''; + urlRegexp = ".*xt=urn:bt[im]h:([^&]{64}|[^&]{40}).*"; in { url, diff --git a/pkgs/build-support/setup-systemd-units.nix b/pkgs/build-support/setup-systemd-units.nix index 3dd970833668..e9b89df87f07 100644 --- a/pkgs/build-support/setup-systemd-units.nix +++ b/pkgs/build-support/setup-systemd-units.nix @@ -22,10 +22,10 @@ # The names should include the unit suffix # (e.g. ".service") namespace, -# : String -# The namespace for the unit files, to allow for -# multiple independent unit sets managed by -# `setupSystemdUnits`. + # : String + # The namespace for the unit files, to allow for + # multiple independent unit sets managed by + # `setupSystemdUnits`. }: let static = runCommand "systemd-static" { } '' diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index f2957b7bfe7b..b350d51455cd 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -71,7 +71,7 @@ rec { derivationArgs ? { }, # name of the resulting derivation name, - # TODO(@Artturin): enable strictDeps always + # TODO(@Artturin): enable strictDeps always }: buildCommand: stdenv.mkDerivation ( @@ -170,9 +170,9 @@ rec { name: text: # TODO: To fully deprecate, replace the assertion with `lib.isString` and remove the warning assert lib.assertMsg (lib.strings.isConvertibleWithToString text) - ''pkgs.writeText ${lib.strings.escapeNixString name}: The second argument should be a string, but it's a ${builtins.typeOf text} instead.''; + "pkgs.writeText ${lib.strings.escapeNixString name}: The second argument should be a string, but it's a ${builtins.typeOf text} instead."; lib.warnIf (!lib.isString text) - ''pkgs.writeText ${lib.strings.escapeNixString name}: The second argument should be a string, but it's a ${builtins.typeOf text} instead, which is deprecated. Use `toString` to convert the value to a string first.'' + "pkgs.writeText ${lib.strings.escapeNixString name}: The second argument should be a string, but it's a ${builtins.typeOf text} instead, which is deprecated. Use `toString` to convert the value to a string first." writeTextFile { inherit name text; }; diff --git a/pkgs/build-support/trivial-builders/test/write-text-file.nix b/pkgs/build-support/trivial-builders/test/write-text-file.nix index f9d508de748b..ff57564e3aa9 100644 --- a/pkgs/build-support/trivial-builders/test/write-text-file.nix +++ b/pkgs/build-support/trivial-builders/test/write-text-file.nix @@ -45,7 +45,7 @@ lib.recurseIntoAttrs { weird-name = writeTextFile { name = "weird-names"; destination = "/etc/${veryWeirdName}"; - text = ''passed!''; + text = "passed!"; checkPhase = '' # intentionally hardcode everything here, to make sure # Nix does not mess with file paths diff --git a/pkgs/build-support/writers/test.nix b/pkgs/build-support/writers/test.nix index d0359bbc38dc..971b38ff46b0 100644 --- a/pkgs/build-support/writers/test.nix +++ b/pkgs/build-support/writers/test.nix @@ -596,7 +596,7 @@ recurseIntoAttrs { no-empty-wrapper = let - bin = writeBashBin "bin" { makeWrapperArgs = [ ]; } ''true''; + bin = writeBashBin "bin" { makeWrapperArgs = [ ]; } "true"; in runCommand "run-test-writers-wrapping-no-empty-wrapper" { } '' ls -A ${bin}/bin diff --git a/pkgs/by-name/ai/aiac/package.nix b/pkgs/by-name/ai/aiac/package.nix index cbfc5cc0851e..077100af5378 100644 --- a/pkgs/by-name/ai/aiac/package.nix +++ b/pkgs/by-name/ai/aiac/package.nix @@ -24,7 +24,7 @@ buildGoModule rec { ]; meta = { - description = ''Artificial Intelligence Infrastructure-as-Code Generator''; + description = "Artificial Intelligence Infrastructure-as-Code Generator"; mainProgram = "aiac"; homepage = "https://github.com/gofireflyio/aiac/"; license = lib.licenses.asl20; diff --git a/pkgs/by-name/ai/airwin2rack/package.nix b/pkgs/by-name/ai/airwin2rack/package.nix index 4c378cbd5f45..2a20f5ee8c2d 100644 --- a/pkgs/by-name/ai/airwin2rack/package.nix +++ b/pkgs/by-name/ai/airwin2rack/package.nix @@ -163,7 +163,7 @@ stdenv.mkDerivation { ln -s ${clapJuceExtensions} src-juce/clap-juce-extensions ''; - preConfigure = lib.optionalString enableVCVRack ''export RACK_DIR=${vcvRackSdk}''; + preConfigure = lib.optionalString enableVCVRack "export RACK_DIR=${vcvRackSdk}"; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/ar/argc/package.nix b/pkgs/by-name/ar/argc/package.nix index fc9b1d53ef58..84092414015a 100644 --- a/pkgs/by-name/ar/argc/package.nix +++ b/pkgs/by-name/ar/argc/package.nix @@ -30,7 +30,7 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ installShellFiles ] ++ lib.optional (!canExecuteHost) buildPackages.argc; postInstall = '' - ARGC=${if canExecuteHost then ''''${!outputBin}/bin/argc'' else "argc"} + ARGC=${if canExecuteHost then "\${!outputBin}/bin/argc" else "argc"} installShellCompletion --cmd argc \ --bash <("$ARGC" --argc-completions bash) \ diff --git a/pkgs/by-name/as/asunder/package.nix b/pkgs/by-name/as/asunder/package.nix index c567e342913b..40c6d1009dd7 100644 --- a/pkgs/by-name/as/asunder/package.nix +++ b/pkgs/by-name/as/asunder/package.nix @@ -21,7 +21,7 @@ #, musepackSupport ? false, TODO: mpcenc monkeysAudioSupport ? false, monkeysAudio, -#, aacSupport ? false, TODO: neroAacEnc + #, aacSupport ? false, TODO: neroAacEnc }: let diff --git a/pkgs/by-name/ba/bazel_8/build-support/patching.nix b/pkgs/by-name/ba/bazel_8/build-support/patching.nix index a2396f57e8ad..10542822230d 100644 --- a/pkgs/by-name/ba/bazel_8/build-support/patching.nix +++ b/pkgs/by-name/ba/bazel_8/build-support/patching.nix @@ -19,6 +19,6 @@ cp ${file} "${path}" diff -u /dev/null "${path}" >result.patch || true # diff exit code is non-zero if there's a diff ''; - installPhase = ''cp result.patch $out''; + installPhase = "cp result.patch $out"; }; } diff --git a/pkgs/by-name/bl/blast/package.nix b/pkgs/by-name/bl/blast/package.nix index 13073175d1ff..287b6a67637c 100644 --- a/pkgs/by-name/bl/blast/package.nix +++ b/pkgs/by-name/bl/blast/package.nix @@ -118,7 +118,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = { - description = ''Basic Local Alignment Search Tool (BLAST) finds regions of similarity between biological sequences''; + description = "Basic Local Alignment Search Tool (BLAST) finds regions of similarity between biological sequences"; homepage = "https://blast.ncbi.nlm.nih.gov/Blast.cgi"; license = lib.licenses.publicDomain; diff --git a/pkgs/by-name/ce/ceph/package.nix b/pkgs/by-name/ce/ceph/package.nix index 52bb3d857699..0309d5af5d95 100644 --- a/pkgs/by-name/ce/ceph/package.nix +++ b/pkgs/by-name/ce/ceph/package.nix @@ -594,7 +594,7 @@ stdenv.mkDerivation { # TODO breaks with sandbox, tries to download stuff with npm "-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF" # WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now - ''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}'' + "-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}" ] ++ lib.optional stdenv.hostPlatform.isLinux "-DWITH_SYSTEM_LIBURING=ON"; diff --git a/pkgs/by-name/cm/cmus/package.nix b/pkgs/by-name/cm/cmus/package.nix index 7242a70f9c5c..7e73d01a2cd5 100644 --- a/pkgs/by-name/cm/cmus/package.nix +++ b/pkgs/by-name/cm/cmus/package.nix @@ -66,8 +66,8 @@ mp4Support ? false, mp4v2 ? null, # ffmpeg does support mp4 better -# not in nixpkgs -#, vtxSupport ? true, libayemu ? null + # not in nixpkgs + #, vtxSupport ? true, libayemu ? null }: assert samplerateSupport -> jackSupport; diff --git a/pkgs/by-name/dm/dmd/generic.nix b/pkgs/by-name/dm/dmd/generic.nix index af6449f6f01e..971addbeaf51 100644 --- a/pkgs/by-name/dm/dmd/generic.nix +++ b/pkgs/by-name/dm/dmd/generic.nix @@ -32,9 +32,9 @@ let text = ( lib.generators.toINI { } { Environment = { - DFLAGS = ''-I@out@/include/dmd -L-L@out@/lib -fPIC ${ + DFLAGS = "-I@out@/include/dmd -L-L@out@/lib -fPIC ${ lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic" - }''; + }"; }; } ); diff --git a/pkgs/by-name/el/elinks/package.nix b/pkgs/by-name/el/elinks/package.nix index 540f183f444b..2ce8ba592931 100644 --- a/pkgs/by-name/el/elinks/package.nix +++ b/pkgs/by-name/el/elinks/package.nix @@ -25,7 +25,7 @@ python ? null, enablePerl ? (!stdenv.hostPlatform.isDarwin) && (stdenv.hostPlatform == stdenv.buildPlatform), perl ? null, -# re-add javascript support when upstream supports modern spidermonkey + # re-add javascript support when upstream supports modern spidermonkey }: assert enableGuile -> guile != null; diff --git a/pkgs/by-name/fo/foxglove-studio/package.nix b/pkgs/by-name/fo/foxglove-studio/package.nix index ef9e3197e1ff..1d1c677c72b6 100644 --- a/pkgs/by-name/fo/foxglove-studio/package.nix +++ b/pkgs/by-name/fo/foxglove-studio/package.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - preFixup = ''patchelf --add-needed libGL.so.1 --add-needed libEGL.so.1 $out/opt/Foxglove/foxglove-studio''; + preFixup = "patchelf --add-needed libGL.so.1 --add-needed libEGL.so.1 $out/opt/Foxglove/foxglove-studio"; passthru.updateScript = ./update.sh; diff --git a/pkgs/by-name/gh/ghost-cli/package.nix b/pkgs/by-name/gh/ghost-cli/package.nix index 836e150aa256..8c9e47045484 100644 --- a/pkgs/by-name/gh/ghost-cli/package.nix +++ b/pkgs/by-name/gh/ghost-cli/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; - versionCheckProgram = ''${placeholder "out"}/bin/ghost''; + versionCheckProgram = "${placeholder "out"}/bin/ghost"; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/go/gopsuinfo/package.nix b/pkgs/by-name/go/gopsuinfo/package.nix index 6e8ed38b8e00..665bedf8bd0a 100644 --- a/pkgs/by-name/go/gopsuinfo/package.nix +++ b/pkgs/by-name/go/gopsuinfo/package.nix @@ -30,7 +30,7 @@ buildGoModule rec { ''; # Install icons - postInstall = ''make install DESTDIR=$out''; + postInstall = "make install DESTDIR=$out"; meta = { description = "Gopsutil-based command to display system usage info"; diff --git a/pkgs/by-name/gp/gpu-burn/package.nix b/pkgs/by-name/gp/gpu-burn/package.nix index ac4b748d7b49..38ee3cd4b975 100644 --- a/pkgs/by-name/gp/gpu-burn/package.nix +++ b/pkgs/by-name/gp/gpu-burn/package.nix @@ -38,7 +38,7 @@ backendStdenv.mkDerivation { '#define COMPARE_KERNEL "${placeholder "out"}/share/compare.ptx"' substituteInPlace Makefile \ --replace-fail \ - '${''''${CUDAPATH}/bin/nvcc''}' \ + '${"\${CUDAPATH}/bin/nvcc"}' \ '${lib.getExe cuda_nvcc}' ''; diff --git a/pkgs/by-name/hy/hylafaxplus/package.nix b/pkgs/by-name/hy/hylafaxplus/package.nix index 044198f267c9..c0fc6541bc83 100644 --- a/pkgs/by-name/hy/hylafaxplus/package.nix +++ b/pkgs/by-name/hy/hylafaxplus/package.nix @@ -33,7 +33,7 @@ let configSite = replaceVars ./config.site { - config_maxgid = lib.optionalString (maxgid != null) ''CONFIG_MAXGID=${toString maxgid}''; + config_maxgid = lib.optionalString (maxgid != null) "CONFIG_MAXGID=${toString maxgid}"; ghostscript_version = ghostscript.version; out = null; # "out" will be resolved in post-install.sh inherit coreutils ghostscript libtiff; diff --git a/pkgs/by-name/hy/hyperscan/package.nix b/pkgs/by-name/hy/hyperscan/package.nix index 730cd4c4c459..9ff29a06b000 100644 --- a/pkgs/by-name/hy/hyperscan/package.nix +++ b/pkgs/by-name/hy/hyperscan/package.nix @@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: { runHook preCheck bin/unit-hyperscan - ${lib.optionalString withStatic ''bin/unit-chimera''} + ${lib.optionalString withStatic "bin/unit-chimera"} runHook postCheck ''; diff --git a/pkgs/by-name/ii/iio-oscilloscope/package.nix b/pkgs/by-name/ii/iio-oscilloscope/package.nix index f144b89da8e6..85ffb4703a76 100644 --- a/pkgs/by-name/ii/iio-oscilloscope/package.nix +++ b/pkgs/by-name/ii/iio-oscilloscope/package.nix @@ -17,8 +17,8 @@ jansson, enable9361 ? true, libad9361, -# enable9166 ? true, -# libad9166, + # enable9166 ? true, + # libad9166, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/kc/kcc/package.nix b/pkgs/by-name/kc/kcc/package.nix index fab5c48308d5..79268f40b27f 100644 --- a/pkgs/by-name/kc/kcc/package.nix +++ b/pkgs/by-name/kc/kcc/package.nix @@ -59,7 +59,7 @@ python3.pkgs.buildPythonApplication rec { "\${qtWrapperArgs[@]}" ] ++ lib.optionals archiveSupport [ - ''--prefix PATH : ${lib.makeBinPath [ p7zip ]}'' + "--prefix PATH : ${lib.makeBinPath [ p7zip ]}" ]; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/kr/krb5/package.nix b/pkgs/by-name/kr/krb5/package.nix index c4f6ac9b8ac9..62b21154e65d 100644 --- a/pkgs/by-name/kr/krb5/package.nix +++ b/pkgs/by-name/kr/krb5/package.nix @@ -84,7 +84,7 @@ stdenv.mkDerivation rec { "--enable-static" "--disable-shared" ] - ++ lib.optional stdenv.hostPlatform.isFreeBSD ''WARN_CFLAGS='' + ++ lib.optional stdenv.hostPlatform.isFreeBSD "WARN_CFLAGS=" ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "krb5_cv_attr_constructor_destructor=yes,yes" "ac_cv_func_regcomp=yes" diff --git a/pkgs/by-name/li/libcap/package.nix b/pkgs/by-name/li/libcap/package.nix index b7f5900d30c3..b56fe54f295c 100644 --- a/pkgs/by-name/li/libcap/package.nix +++ b/pkgs/by-name/li/libcap/package.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals withGo [ "GOLANG=yes" - ''GOCACHE=''${TMPDIR}/go-cache'' + "GOCACHE=\${TMPDIR}/go-cache" "GOFLAGS=-trimpath" "GOARCH=${pkgsBuildHost.go.GOARCH}" "GOOS=${pkgsBuildHost.go.GOOS}" diff --git a/pkgs/by-name/li/lightgbm/package.nix b/pkgs/by-name/li/lightgbm/package.nix index 37a6eb92ab6d..57c3522845da 100644 --- a/pkgs/by-name/li/lightgbm/package.nix +++ b/pkgs/by-name/li/lightgbm/package.nix @@ -158,7 +158,7 @@ stdenv.mkDerivation (finalAttrs: { # set the R package buildPhase to null because lightgbm has a # custom builder script that builds and installs in one step - buildPhase = lib.optionals rLibrary ''''; + buildPhase = lib.optionals rLibrary ""; inherit doCheck; @@ -180,7 +180,7 @@ stdenv.mkDerivation (finalAttrs: { cp -r com $out cp -r lightgbmlib.jar $out '' - + '''' + + "" + lib.optionalString rLibrary '' mkdir $out mkdir $out/tmp diff --git a/pkgs/by-name/ma/mariokart64recomp/package.nix b/pkgs/by-name/ma/mariokart64recomp/package.nix index cbfd0a7e7772..e5e1cb3704e1 100644 --- a/pkgs/by-name/ma/mariokart64recomp/package.nix +++ b/pkgs/by-name/ma/mariokart64recomp/package.nix @@ -145,7 +145,7 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { # application level if desired. postFixup = '' wrapProgram $out/bin/MarioKart64Recompiled --chdir "$out/bin/" \ - ${lib.optionalString forceX11 ''--set SDL_VIDEODRIVER x11''} + ${lib.optionalString forceX11 "--set SDL_VIDEODRIVER x11"} ''; meta = { diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index 98ee0b167f6a..322bf863e0f9 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -121,26 +121,26 @@ python3.pkgs.buildPythonApplication rec { ++ (map (f: ''rm -vr "${f}";'') ( [ # requires git, creating cyclic dependency - ''test cases/common/66 vcstag'' + "test cases/common/66 vcstag" # requires glib, creating cyclic dependency - ''test cases/linuxlike/6 subdir include order'' - ''test cases/linuxlike/9 compiler checks with dependencies'' + "test cases/linuxlike/6 subdir include order" + "test cases/linuxlike/9 compiler checks with dependencies" # requires static zlib, see #66461 - ''test cases/linuxlike/14 static dynamic linkage'' + "test cases/linuxlike/14 static dynamic linkage" # Nixpkgs cctools does not have bitcode support. - ''test cases/osx/7 bitcode'' + "test cases/osx/7 bitcode" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # requires llvmPackages.openmp, creating cyclic dependency - ''test cases/common/184 openmp'' + "test cases/common/184 openmp" ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ # pch doesn't work quite right on FreeBSD, I think - ''test cases/common/13 pch'' + "test cases/common/13 pch" ] ++ lib.optionals python3.isPyPy [ # fails for unknown reason - ''test cases/python/4 custom target depends extmodule'' + "test cases/python/4 custom target depends extmodule" ] )) ++ [ diff --git a/pkgs/by-name/na/national-park-typeface/package.nix b/pkgs/by-name/na/national-park-typeface/package.nix index 5b1f86bbed1d..a742f3fb5b18 100644 --- a/pkgs/by-name/na/national-park-typeface/package.nix +++ b/pkgs/by-name/na/national-park-typeface/package.nix @@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation rec { ''; meta = { - description = ''Typeface designed to mimic the national park service signs that are carved using a router bit''; + description = "Typeface designed to mimic the national park service signs that are carved using a router bit"; homepage = "https://nationalparktypeface.com/"; license = lib.licenses.ofl; maintainers = [ ]; diff --git a/pkgs/by-name/ni/nix-required-mounts/closure.nix b/pkgs/by-name/ni/nix-required-mounts/closure.nix index 3e361114bc4c..777db01599a9 100644 --- a/pkgs/by-name/ni/nix-required-mounts/closure.nix +++ b/pkgs/by-name/ni/nix-required-mounts/closure.nix @@ -19,7 +19,7 @@ runCommand "allowed-patterns.json" let prefix = "${builtins.storeDir}/"; # Has to start with a letter: https://github.com/NixOS/nix/blob/516e7ddc41f39ff939b5d5b5dc71e590f24890d4/src/libstore/build/local-derivation-goal.cc#L568 - exportName = ''references-${lib.strings.removePrefix prefix "${path}"}''; + exportName = "references-${lib.strings.removePrefix prefix "${path}"}"; isStorePath = lib.isStorePath path && (lib.hasPrefix prefix "${path}"); in lib.optionals isStorePath [ diff --git a/pkgs/by-name/no/notify-osd/package.nix b/pkgs/by-name/no/notify-osd/package.nix index c6d0758fcfe2..b419cf461a42 100644 --- a/pkgs/by-name/no/notify-osd/package.nix +++ b/pkgs/by-name/no/notify-osd/package.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { ''; configureFlags = [ - ''--libexecdir=$(out)/bin'' + "--libexecdir=$(out)/bin" ]; preFixup = '' diff --git a/pkgs/by-name/nr/nrfutil/package.nix b/pkgs/by-name/nr/nrfutil/package.nix index 407bff8b1a94..19a0c847eaa7 100644 --- a/pkgs/by-name/nr/nrfutil/package.nix +++ b/pkgs/by-name/nr/nrfutil/package.nix @@ -114,8 +114,8 @@ symlinkJoin { ''--prefix PATH : "$out/bin"'' ''--prefix PATH : "$out"/lib/nrfutil-npm'' ''--prefix PATH : "$out"/lib/nrfutil-nrf5sdk-tools'' - ''--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libusb1 ]}'' - ''--set NRF_JLINK_DLL_PATH '${segger-jlink-headless}'/lib/libjlinkarm.so'' + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libusb1 ]}" + "--set NRF_JLINK_DLL_PATH '${segger-jlink-headless}'/lib/libjlinkarm.so" ''--set NRFUTIL_BLE_SNIFFER_SHIM_BIN_ENV "$out"/lib/nrfutil-ble-sniffer/wireshark-shim'' ''--set NRFUTIL_BLE_SNIFFER_HCI_SHIM_BIN_ENV "$out"/lib/nrfutil-ble-sniffer/wireshark-hci-shim'' ] diff --git a/pkgs/by-name/op/openapv/package.nix b/pkgs/by-name/op/openapv/package.nix index f2ce7d4eb7dc..0b6cde0ea30a 100644 --- a/pkgs/by-name/op/openapv/package.nix +++ b/pkgs/by-name/op/openapv/package.nix @@ -8,7 +8,7 @@ }: let # Requires an /etc/os-release file, so we override it with this. - osRelease = writeText "os-release" ''ID=NixOS''; + osRelease = writeText "os-release" "ID=NixOS"; in stdenv.mkDerivation (finalAttrs: { pname = "openapv"; diff --git a/pkgs/by-name/pi/picolisp/package.nix b/pkgs/by-name/pi/picolisp/package.nix index 0b9977d24f21..188dfeea5eb7 100644 --- a/pkgs/by-name/pi/picolisp/package.nix +++ b/pkgs/by-name/pi/picolisp/package.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation { openssl readline ]; - sourceRoot = ''pil21''; + sourceRoot = "pil21"; preBuild = '' cd src '' diff --git a/pkgs/by-name/pp/ppsspp/package.nix b/pkgs/by-name/pp/ppsspp/package.nix index 193071f18f3b..deb57e13697c 100644 --- a/pkgs/by-name/pp/ppsspp/package.nix +++ b/pkgs/by-name/pp/ppsspp/package.nix @@ -119,29 +119,29 @@ stdenv.mkDerivation (finalAttrs: { installPhase = lib.concatStringsSep "\n" ( [ - ''runHook preInstall'' + "runHook preInstall" ] ++ [ - ''mkdir -p $out/share/{applications,ppsspp/bin,icons}'' + "mkdir -p $out/share/{applications,ppsspp/bin,icons}" ] ++ ( if enableQt then [ - ''install -Dm555 PPSSPPQt $out/share/ppsspp/bin/'' + "install -Dm555 PPSSPPQt $out/share/ppsspp/bin/" ] else [ - ''install -Dm555 PPSSPPHeadless $out/share/ppsspp/bin/'' - ''makeWrapper $out/share/ppsspp/bin/PPSSPPHeadless $out/bin/ppsspp-headless'' - ''install -Dm555 PPSSPPSDL $out/share/ppsspp/bin/'' + "install -Dm555 PPSSPPHeadless $out/share/ppsspp/bin/" + "makeWrapper $out/share/ppsspp/bin/PPSSPPHeadless $out/bin/ppsspp-headless" + "install -Dm555 PPSSPPSDL $out/share/ppsspp/bin/" ] ) ++ [ - ''mv assets $out/share/ppsspp'' - ''mv ../icons/hicolor $out/share/icons'' + "mv assets $out/share/ppsspp" + "mv ../icons/hicolor $out/share/icons" ] ++ [ - ''runHook postInstall'' + "runHook postInstall" ] ); @@ -164,7 +164,7 @@ stdenv.mkDerivation (finalAttrs: { ); binToBeWrapped = if enableQt then "PPSSPPQt" else "PPSSPPSDL"; in - ''makeWrapper $out/share/ppsspp/bin/${binToBeWrapped} $out/bin/ppsspp ${wrapperArgs}''; + "makeWrapper $out/share/ppsspp/bin/${binToBeWrapped} $out/bin/ppsspp ${wrapperArgs}"; meta = { homepage = "https://www.ppsspp.org/"; diff --git a/pkgs/by-name/pr/pragha/package.nix b/pkgs/by-name/pr/pragha/package.nix index 056693f89115..7ea647aeec8a 100644 --- a/pkgs/by-name/pr/pragha/package.nix +++ b/pkgs/by-name/pr/pragha/package.nix @@ -39,8 +39,8 @@ withXfce4ui ? false, totem-pl-parser, withTotemPlParser ? false, -# , grilo, withGrilo ? false -# , rygel, withRygel ? true + # , grilo, withGrilo ? false + # , rygel, withRygel ? true }: assert withGlyr -> withLastfm; diff --git a/pkgs/by-name/pr/prettier/package.nix b/pkgs/by-name/pr/prettier/package.nix index 71f43ec18168..0a6cd4404971 100644 --- a/pkgs/by-name/pr/prettier/package.nix +++ b/pkgs/by-name/pr/prettier/package.nix @@ -121,7 +121,7 @@ let ${plugin.pname}: error context, tried finding entry point under; pathAbsoluteNaive -> ${pathAbsoluteNaive} pathAbsoluteFallback -> ${pathAbsoluteFallback} - '' throw ''${plugin.pname}: does not provide parse-able entry point''; + '' throw "${plugin.pname}: does not provide parse-able entry point"; in stdenv.mkDerivation (finalAttrs: { pname = "prettier"; diff --git a/pkgs/by-name/pu/puredata/package.nix b/pkgs/by-name/pu/puredata/package.nix index 54e04bba7ebb..2aca99971134 100644 --- a/pkgs/by-name/pu/puredata/package.nix +++ b/pkgs/by-name/pu/puredata/package.nix @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = ''Real-time graphical programming environment for audio, video, and graphical processing''; + description = "Real-time graphical programming environment for audio, video, and graphical processing"; homepage = "http://puredata.info"; license = lib.licenses.bsd3; platforms = lib.platforms.linux ++ lib.platforms.darwin; diff --git a/pkgs/by-name/qu/qutebrowser/package.nix b/pkgs/by-name/qu/qutebrowser/package.nix index e3fb61f4a77a..bfa0fbb44de5 100644 --- a/pkgs/by-name/qu/qutebrowser/package.nix +++ b/pkgs/by-name/qu/qutebrowser/package.nix @@ -150,7 +150,7 @@ python3.pkgs.buildPythonApplication { "''${qtWrapperArgs[@]}" # avoid persistant warning on starup --set QT_STYLE_OVERRIDE Fusion - ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} + ${lib.optionalString pipewireSupport "--prefix LD_LIBRARY_PATH : ${libPath}"} ${lib.optionalString enableVulkan '' --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]} --set-default QSG_RHI_BACKEND vulkan diff --git a/pkgs/by-name/ra/razergenie/package.nix b/pkgs/by-name/ra/razergenie/package.nix index 9e72a1dde834..0e5f5ad38ca8 100644 --- a/pkgs/by-name/ra/razergenie/package.nix +++ b/pkgs/by-name/ra/razergenie/package.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-TxW6IUHmEaNdJPeEGwo57a3EGH6MMyitVTmzStVmZjc="; }; - postUnpack = ''ln -s ${libopenrazer} libopenrazer''; + postUnpack = "ln -s ${libopenrazer} libopenrazer"; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ro/rofi/package.nix b/pkgs/by-name/ro/rofi/package.nix index 472886bb7912..d0653ce6eaf7 100644 --- a/pkgs/by-name/ro/rofi/package.nix +++ b/pkgs/by-name/ro/rofi/package.nix @@ -43,7 +43,7 @@ symlinkJoin { --prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \ ${ lib.optionalString (plugins != [ ]) - ''--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}'' + "--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}" } \ ${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \ ${lib.optionalString (plugins != [ ]) ''--add-flags "-plugin-path $out/lib/rofi"''} diff --git a/pkgs/by-name/si/sirikali/package.nix b/pkgs/by-name/si/sirikali/package.nix index 4e082f346d9d..c2ee2e8cb11c 100644 --- a/pkgs/by-name/si/sirikali/package.nix +++ b/pkgs/by-name/si/sirikali/package.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { ]; qtWrapperArgs = [ - ''--prefix PATH : ${ + "--prefix PATH : ${ lib.makeBinPath [ cryfs encfs @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { securefs sshfs ] - }'' + }" ]; doCheck = true; diff --git a/pkgs/by-name/sp/space-station-14-launcher/package.nix b/pkgs/by-name/sp/space-station-14-launcher/package.nix index 85bfbbaa2afa..d2b30d91ea90 100644 --- a/pkgs/by-name/sp/space-station-14-launcher/package.nix +++ b/pkgs/by-name/sp/space-station-14-launcher/package.nix @@ -107,7 +107,7 @@ buildDotnetModule rec { # ${soundfont-path} is escaped here: # https://github.com/NixOS/nixpkgs/blob/d29975d32b1dc7fe91d5cb275d20f8f8aba399ad/pkgs/build-support/setup-hooks/make-wrapper.sh#L126C35-L126C45 # via https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html under ${parameter@operator} - makeWrapperArgs = [ ''--set ROBUST_SOUNDFONT_OVERRIDE ${soundfont-path}'' ]; + makeWrapperArgs = [ "--set ROBUST_SOUNDFONT_OVERRIDE ${soundfont-path}" ]; executables = [ "SS14.Launcher" ]; diff --git a/pkgs/by-name/st/sticky/package.nix b/pkgs/by-name/st/sticky/package.nix index ba70b3e3b905..56c03f2882e0 100644 --- a/pkgs/by-name/st/sticky/package.nix +++ b/pkgs/by-name/st/sticky/package.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = gitUpdater { - ignoredVersions = ''master.*''; + ignoredVersions = "master.*"; }; }; diff --git a/pkgs/by-name/sy/syncterm/package.nix b/pkgs/by-name/sy/syncterm/package.nix index 5699d00bd206..8fcad3d6b7e2 100644 --- a/pkgs/by-name/sy/syncterm/package.nix +++ b/pkgs/by-name/sy/syncterm/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { }; # We can't use sourceRoot, as the cherry-picked patches apply to files outside of it. - postPatch = ''cd src/syncterm''; + postPatch = "cd src/syncterm"; CFLAGS = [ "-DHAS_INTTYPES_H" diff --git a/pkgs/by-name/td/tdb/package.nix b/pkgs/by-name/td/tdb/package.nix index 81b296c62786..e1de49bc5b8f 100644 --- a/pkgs/by-name/td/tdb/package.nix +++ b/pkgs/by-name/td/tdb/package.nix @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { postFixup = if stdenv.hostPlatform.isDarwin then - ''install_name_tool -id $out/lib/libtdb.dylib $out/lib/libtdb.dylib'' + "install_name_tool -id $out/lib/libtdb.dylib $out/lib/libtdb.dylib" else null; diff --git a/pkgs/by-name/tt/ttfautohint/package.nix b/pkgs/by-name/tt/ttfautohint/package.nix index 4b9c579ba8fc..ec996dbbab78 100644 --- a/pkgs/by-name/tt/ttfautohint/package.nix +++ b/pkgs/by-name/tt/ttfautohint/package.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals enableGUI [ libsForQt5.qt5.qtbase ]; configureFlags = [ - ''--with-qt=${if enableGUI then "${libsForQt5.qt5.qtbase}/lib" else "no"}'' + "--with-qt=${if enableGUI then "${libsForQt5.qt5.qtbase}/lib" else "no"}" ] ++ lib.optionals (!enableGUI) [ "--without-doc" ]; diff --git a/pkgs/by-name/uu/uutils-coreutils/package.nix b/pkgs/by-name/uu/uutils-coreutils/package.nix index e5142e2ce05d..a47b6d3e966c 100644 --- a/pkgs/by-name/uu/uutils-coreutils/package.nix +++ b/pkgs/by-name/uu/uutils-coreutils/package.nix @@ -80,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals buildMulticallBinary [ "MULTICALL=y" ]; env = lib.optionalAttrs selinuxSupport { - SELINUX_INCLUDE_DIR = ''${libselinux.dev}/include''; + SELINUX_INCLUDE_DIR = "${libselinux.dev}/include"; SELINUX_LIB_DIR = lib.makeLibraryPath [ libselinux ]; diff --git a/pkgs/by-name/wa/wakapi/package.nix b/pkgs/by-name/wa/wakapi/package.nix index 17ad2046d65a..c6fe08a53e84 100644 --- a/pkgs/by-name/wa/wakapi/package.nix +++ b/pkgs/by-name/wa/wakapi/package.nix @@ -25,7 +25,7 @@ buildGoLatestModule { excludedPackages = [ "scripts" ]; # Fix up reported version - postPatch = ''echo ${version} > version.txt''; + postPatch = "echo ${version} > version.txt"; ldflags = [ "-s" diff --git a/pkgs/by-name/wa/waytrogen/package.nix b/pkgs/by-name/wa/waytrogen/package.nix index 93ea549ba19f..d765581fd205 100644 --- a/pkgs/by-name/wa/waytrogen/package.nix +++ b/pkgs/by-name/wa/waytrogen/package.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { openssl ]; - preBuild = ''export OUT_PATH=$out''; + preBuild = "export OUT_PATH=$out"; env = { OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/xe/xeus/package.nix b/pkgs/by-name/xe/xeus/package.nix index 6d42b94f8589..4cd4e3edbed1 100644 --- a/pkgs/by-name/xe/xeus/package.nix +++ b/pkgs/by-name/xe/xeus/package.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { ]; doCheck = true; - preCheck = ''export LD_LIBRARY_PATH=$PWD''; + preCheck = "export LD_LIBRARY_PATH=$PWD"; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ze/zelda64recomp/package.nix b/pkgs/by-name/ze/zelda64recomp/package.nix index f04215319157..53000e040a01 100644 --- a/pkgs/by-name/ze/zelda64recomp/package.nix +++ b/pkgs/by-name/ze/zelda64recomp/package.nix @@ -142,7 +142,7 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { # application level if desired. postFixup = '' wrapProgram $out/bin/Zelda64Recompiled --chdir "$out/bin/" \ - ${lib.optionalString forceX11 ''--set SDL_VIDEODRIVER x11''} + ${lib.optionalString forceX11 "--set SDL_VIDEODRIVER x11"} ''; meta = { diff --git a/pkgs/by-name/zx/zxtune/package.nix b/pkgs/by-name/zx/zxtune/package.nix index 0054a1e57286..8a6d5714c248 100644 --- a/pkgs/by-name/zx/zxtune/package.nix +++ b/pkgs/by-name/zx/zxtune/package.nix @@ -91,10 +91,10 @@ stdenv.mkDerivation rec { let setOptionalSupport = name: var: "support_${name}=" + (if var then "1" else ""); makeOptsCommon = [ - ''-j$NIX_BUILD_CORES'' - ''root.version=${src.rev}'' - ''system.zlib=1'' - ''platform=${platformName}'' + "-j$NIX_BUILD_CORES" + "root.version=${src.rev}" + "system.zlib=1" + "platform=${platformName}" ''includes.dirs.${platformName}="${lib.makeSearchPathOutput "dev" "include" buildInputs}"'' ''libraries.dirs.${platformName}="${lib.makeLibraryPath staticBuildInputs}"'' ''ld_flags="-Wl,-rpath=\"${lib.makeLibraryPath dlopenBuildInputs}\""'' @@ -108,9 +108,9 @@ stdenv.mkDerivation rec { (setOptionalSupport "pulseaudio" withPulse) ]; makeOptsQt = [ - ''tools.uic=${qt5.qtbase.dev}/bin/uic'' - ''tools.moc=${qt5.qtbase.dev}/bin/moc'' - ''tools.rcc=${qt5.qtbase.dev}/bin/rcc'' + "tools.uic=${qt5.qtbase.dev}/bin/uic" + "tools.moc=${qt5.qtbase.dev}/bin/moc" + "tools.rcc=${qt5.qtbase.dev}/bin/rcc" ]; in '' diff --git a/pkgs/development/coq-modules/ElmExtraction/default.nix b/pkgs/development/coq-modules/ElmExtraction/default.nix index ddb5b5dbb85d..c7c336305e3d 100644 --- a/pkgs/development/coq-modules/ElmExtraction/default.nix +++ b/pkgs/development/coq-modules/ElmExtraction/default.nix @@ -44,7 +44,7 @@ mkCoqDerivation { metacoq ]; - postPatch = ''patchShebangs ./tests/process-extraction-examples.sh''; + postPatch = "patchShebangs ./tests/process-extraction-examples.sh"; meta = { description = "Framework for extracting Coq programs to Elm"; diff --git a/pkgs/development/cuda-modules/packages/cuda_nvcc.nix b/pkgs/development/cuda-modules/packages/cuda_nvcc.nix index 75c81476d109..dd2b85934b29 100644 --- a/pkgs/development/cuda-modules/packages/cuda_nvcc.nix +++ b/pkgs/development/cuda-modules/packages/cuda_nvcc.nix @@ -87,7 +87,7 @@ buildRedist (finalAttrs: { ++ lib.optionals (cudaOlder "12.5") [ "$(_NVVM_BRANCH_)" ] ++ lib.optionals (cudaAtLeast "12.5") [ "nvvm" ] ); - newNvvmDir = ''''${!outputBin:?}/nvvm''; + newNvvmDir = "\${!outputBin:?}/nvvm"; in lib.optionalString finalAttrs.finalPackage.meta.available ( # From CUDA 13.0, NVVM is available as a separate library and not bundled in the NVCC redist. diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 1e2df1082117..9fb971bfd2ce 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -259523,7 +259523,7 @@ self: { sed -i "s|\"-s\"|\"\"|" ./Setup.hs sed -i "s|numJobs (bf bi)++||" ./Setup.hs ''; - preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH''; + preBuild = "export LD_LIBRARY_PATH=`pwd`/dist/build\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"; description = "Grammatical Framework"; license = "unknown"; hydraPlatforms = lib.platforms.none; diff --git a/pkgs/development/interpreters/php/service.nix b/pkgs/development/interpreters/php/service.nix index 06b1247c5e20..e41aa6ae3f30 100644 --- a/pkgs/development/interpreters/php/service.nix +++ b/pkgs/development/interpreters/php/service.nix @@ -84,7 +84,7 @@ in package = lib.mkOption { type = lib.types.package; description = "PHP package to use for php-fpm"; - defaultText = lib.literalMD ''The PHP package that provided this module.''; + defaultText = lib.literalMD "The PHP package that provided this module."; example = lib.literalExpression '' php.buildEnv { extensions = diff --git a/pkgs/development/julia-modules/util.nix b/pkgs/development/julia-modules/util.nix index c9e3fb54e092..a10d3f5d35cd 100644 --- a/pkgs/development/julia-modules/util.nix +++ b/pkgs/development/julia-modules/util.nix @@ -24,7 +24,7 @@ # Convert an ordinary source checkout into a repo with a single commit repoifySimple = name: path: - runCommand ''${name}-repoified'' { buildInputs = [ gitMinimal ]; } '' + runCommand "${name}-repoified" { buildInputs = [ gitMinimal ]; } '' mkdir -p $out cp -r ${path}/. $out cd $out @@ -40,7 +40,7 @@ # Convert an dependency source info into a repo with a single commit repoifyInfo = uuid: info: - runCommand ''julia-${info.name}-${info.version}'' { buildInputs = [ gitMinimal ]; } '' + runCommand "julia-${info.name}-${info.version}" { buildInputs = [ gitMinimal ]; } '' mkdir -p $out cp -r ${info.src}/. $out cd $out diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 020e9e9580e5..0720a23b8936 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -435,14 +435,14 @@ stdenv.mkDerivation ( "-I" "${openssl.dev}/include" "-system-sqlite" - ''-${if mysqlSupport then "plugin" else "no"}-sql-mysql'' - ''-${if libpq != null then "plugin" else "no"}-sql-psql'' + "-${if mysqlSupport then "plugin" else "no"}-sql-mysql" + "-${if libpq != null then "plugin" else "no"}-sql-psql" "-system-libpng" "-make libs" "-make tools" - ''-${lib.optionalString (!buildExamples) "no"}make examples'' - ''-${lib.optionalString (!buildTests) "no"}make tests'' + "-${lib.optionalString (!buildExamples) "no"}make examples" + "-${lib.optionalString (!buildTests) "no"}make tests" ] ++ ( if stdenv.hostPlatform.isDarwin then @@ -471,7 +471,7 @@ stdenv.mkDerivation ( "-I" "${libXrender.out}/include" - ''-${lib.optionalString (cups == null) "no-"}cups'' + "-${lib.optionalString (cups == null) "no-"}cups" "-dbus-linked" "-glib" ] diff --git a/pkgs/development/python-modules/argilla/default.nix b/pkgs/development/python-modules/argilla/default.nix index da8366b840d6..d5b7b6560858 100644 --- a/pkgs/development/python-modules/argilla/default.nix +++ b/pkgs/development/python-modules/argilla/default.nix @@ -58,11 +58,11 @@ typer, uvicorn, wrapt, -# , flair -# , setfit -# , spacy-huggingface-hub -# , span_marker -# , trl + # , flair + # , setfit + # , spacy-huggingface-hub + # , span_marker + # , trl }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix index 04067083b56a..5cc46af5fd31 100644 --- a/pkgs/development/python-modules/dogtail/default.nix +++ b/pkgs/development/python-modules/dogtail/default.nix @@ -13,7 +13,7 @@ dbus, xvfb-run, wrapGAppsHook3, -# , fetchPypi + # , fetchPypi }: buildPythonPackage { diff --git a/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix b/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix index bb1b2331e6c0..d40e7f97ebc8 100644 --- a/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix +++ b/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix @@ -258,9 +258,9 @@ stdenv.mkDerivation rec { gnFlags = [ ''chip_project_config_include_dirs=["//.."]'' ''chip_crypto="openssl"'' - ''enable_rtti=true'' - ''chip_config_memory_debug_checks=false'' - ''chip_config_memory_debug_dmalloc=false'' + "enable_rtti=true" + "chip_config_memory_debug_checks=false" + "chip_config_memory_debug_dmalloc=false" ''chip_mdns="minimal"'' ''chip_minmdns_default_policy="libnl"'' ''chip_python_version="${lib.versions.majorMinor python.version}"'' diff --git a/pkgs/development/python-modules/openslide/default.nix b/pkgs/development/python-modules/openslide/default.nix index 1cce35847bd2..663c1d30df26 100644 --- a/pkgs/development/python-modules/openslide/default.nix +++ b/pkgs/development/python-modules/openslide/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - preCheck = ''rm -rf openslide/''; + preCheck = "rm -rf openslide/"; meta = { description = "Python bindings to the OpenSlide library for reading whole-slide microscopy images"; diff --git a/pkgs/development/python-modules/pillow-jpls/default.nix b/pkgs/development/python-modules/pillow-jpls/default.nix index 01a973784202..a4275b3450b3 100644 --- a/pkgs/development/python-modules/pillow-jpls/default.nix +++ b/pkgs/development/python-modules/pillow-jpls/default.nix @@ -69,7 +69,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; # Prevent importing from build during test collection: - preCheck = ''rm -rf pillow_jpls''; + preCheck = "rm -rf pillow_jpls"; pythonImportsCheck = [ "pillow_jpls" ]; diff --git a/pkgs/development/python-modules/prodict/default.nix b/pkgs/development/python-modules/prodict/default.nix index e204161f1647..9a29d904841e 100644 --- a/pkgs/development/python-modules/prodict/default.nix +++ b/pkgs/development/python-modules/prodict/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { }; # make setuptools happy on case-sensitive filesystems - postPatch = ''if [[ ! -f README.md ]]; then mv README.MD README.md; fi''; + postPatch = "if [[ ! -f README.md ]]; then mv README.MD README.md; fi"; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix index 29b2c3b940a5..18bcd842b60e 100644 --- a/pkgs/development/python-modules/scapy/default.nix +++ b/pkgs/development/python-modules/scapy/default.nix @@ -16,8 +16,8 @@ withManufDb ? false, wireshark, libpcap, -# 2D/3D graphics and graphs TODO: VPython -# TODO: nmap, numpy + # 2D/3D graphics and graphs TODO: VPython + # TODO: nmap, numpy }: buildPythonPackage rec { diff --git a/pkgs/development/tools/tora/default.nix b/pkgs/development/tools/tora/default.nix index e003d73a97e4..0ae2c7deb581 100644 --- a/pkgs/development/tools/tora/default.nix +++ b/pkgs/development/tools/tora/default.nix @@ -71,7 +71,7 @@ mkDerivation { NIX_LDFLAGS = "-lgvc -lmysqlclient -lecpg -lssl -L${libmysqlclient}/lib/mariadb"; qtWrapperArgs = [ - ''--prefix PATH : ${lib.getBin graphviz}/bin'' + "--prefix PATH : ${lib.getBin graphviz}/bin" ]; postPatch = '' diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 8c941c8879bd..eb3970b35867 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -33,7 +33,7 @@ # An attribute set of settings to override in data/init/*.txt. # For example, `init.FOO = true;` is translated to `[FOO:YES]` in init.txt settings ? { }, -# TODO world-gen.txt, interface.txt require special logic + # TODO world-gen.txt, interface.txt require special logic }: let diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix index ccbda6b7086e..a32db61709b5 100644 --- a/pkgs/pkgs-lib/tests/formats.nix +++ b/pkgs/pkgs-lib/tests/formats.nix @@ -854,7 +854,7 @@ runBuildTests { format = formats.nixConf { package = pkgs.nix; version = pkgs.nix.version; - extraOptions = ''ignore-try = false''; + extraOptions = "ignore-try = false"; }; input = { auto-optimise-store = true; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 0c1225237ba7..803389ee8f15 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -219,7 +219,7 @@ xwd, xwininfo, xwud, -# keep-sorted end + # keep-sorted end }: _: { diff --git a/pkgs/tools/backup/percona-xtrabackup/8_4.nix b/pkgs/tools/backup/percona-xtrabackup/8_4.nix index dbbe364f802c..28b21a7d7b8f 100644 --- a/pkgs/tools/backup/percona-xtrabackup/8_4.nix +++ b/pkgs/tools/backup/percona-xtrabackup/8_4.nix @@ -12,6 +12,6 @@ callPackage ./generic.nix ( extraPatches = [ ]; - extraPostInstall = ''''; + extraPostInstall = ""; } ) diff --git a/pkgs/tools/system/hw-probe/default.nix b/pkgs/tools/system/hw-probe/default.nix index 6ce4cc29c8f6..6cddbaf022fd 100644 --- a/pkgs/tools/system/hw-probe/default.nix +++ b/pkgs/tools/system/hw-probe/default.nix @@ -55,7 +55,7 @@ withSuggested ? false, # Install (most) suggested tools hplip, sane-backends, -# , pnputils # pnputils (lspnp) isn't currently in nixpkgs and appears to be poorly maintained + # , pnputils # pnputils (lspnp) isn't currently in nixpkgs and appears to be poorly maintained }: stdenv.mkDerivation rec { diff --git a/pkgs/top-level/emscripten-packages.nix b/pkgs/top-level/emscripten-packages.nix index aafe1e3af0b1..c54b878ecb5d 100644 --- a/pkgs/top-level/emscripten-packages.nix +++ b/pkgs/top-level/emscripten-packages.nix @@ -154,7 +154,7 @@ rec { cp *.rng $out/share cp README.md $doc/share/${pname} ''; - checkPhase = ''''; + checkPhase = ""; }; zlib = From d99177a3afe613af8a6796ab6eea9e746555ebb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dyego=20Aur=C3=A9lio?= Date: Thu, 22 Jan 2026 18:39:13 -0300 Subject: [PATCH 1059/1216] .git-blame-ignore-revs: add nixfmt 1.2.0 commit --- .git-blame-ignore-revs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 4bf4b58bfec3..8139f3fb6d84 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -310,3 +310,6 @@ c283f32d296564fd649ef3ed268c1f1f7b199c49 # !autorebase nix-shell --run treefmt # treewide: clean up 'meta = with' pattern 567e8dfd8eddc5468e6380fc563ab8a27422ab1d + +# nixfmt 1.2.0 +28096cc5e3d8334fbe1845925f000f8c8c5e0aac # !autorebase nix-shell --run treefmt From fa2feb99f0fcab152ba0b571ffdb8e89917aca5a Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Thu, 22 Jan 2026 22:09:01 +0100 Subject: [PATCH 1060/1216] fresh-editor: remove `env.RUSTY_V8_ARCHIVE` See https://github.com/sinelaw/fresh/pull/822#issuecomment-3786618059 --- pkgs/by-name/fr/fresh-editor/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/fr/fresh-editor/package.nix b/pkgs/by-name/fr/fresh-editor/package.nix index 2da138e64ed7..9a0acda3191a 100644 --- a/pkgs/by-name/fr/fresh-editor/package.nix +++ b/pkgs/by-name/fr/fresh-editor/package.nix @@ -6,7 +6,6 @@ openssl, gzip, gitMinimal, - deno, nix-update-script, versionCheckHook, }: @@ -37,10 +36,6 @@ rustPlatform.buildRustPackage (finalAttrs: { openssl ]; - # The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem - # To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE - env.RUSTY_V8_ARCHIVE = deno.librusty_v8; - preBuild = '' mkdir -p $out/share/fresh-editor/plugins/ ''; From 998a1d31b10ac1c26b9edd271397d35e7e14680e Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Thu, 22 Jan 2026 22:17:29 +0100 Subject: [PATCH 1061/1216] fresh-editor: 0.1.86 -> 0.1.87 --- pkgs/by-name/fr/fresh-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fr/fresh-editor/package.nix b/pkgs/by-name/fr/fresh-editor/package.nix index 2da138e64ed7..53767634d76b 100644 --- a/pkgs/by-name/fr/fresh-editor/package.nix +++ b/pkgs/by-name/fr/fresh-editor/package.nix @@ -12,16 +12,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "fresh"; - version = "0.1.86"; + version = "0.1.87"; src = fetchFromGitHub { owner = "sinelaw"; repo = "fresh"; tag = "v${finalAttrs.version}"; - hash = "sha256-o67oowSU1V9Cy2RvLEaZ5J3CPX2kD7qByDOc+8gpDq8="; + hash = "sha256-th4wlkGP9WNdRRhJy3pBC5dcqRbkUooM65FoftQHqBE="; }; - cargoHash = "sha256-I78sdf/p5TZZufMZF8rETRb91veklwNHHByHF1WbLgk="; + cargoHash = "sha256-6b4iDXJme3uanEfz/e4jI1kqljaH8iOqS+7p1MPwhY4="; nativeBuildInputs = [ pkg-config From 26acdb1053760675a8fdd5cd78ea6d7b750993c2 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 22 Jan 2026 22:12:36 +0000 Subject: [PATCH 1062/1216] make-initrd: drop unused `toValidStoreName` local --- pkgs/build-support/kernel/make-initrd.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 4b31bf225a48..6f300369aa50 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -81,12 +81,6 @@ in _compressorMeta.ubootName or (throw "Unrecognised compressor ${_compressorName}, please specify uInitrdCompression"), }: -let - # !!! Move this into a public lib function, it is probably useful for others - toValidStoreName = - x: with builtins; lib.concatStringsSep "-" (filter (x: !(isList x)) (split "[^a-zA-Z0-9_=.?-]+" x)); - -in stdenvNoCC.mkDerivation ( rec { inherit From 6818e369d970daec9e373c396036d8852ce8ff18 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Thu, 22 Jan 2026 10:07:09 -0600 Subject: [PATCH 1063/1216] yazi-unwrapped: 26.1.4 -> 26.1.22 Signed-off-by: Austin Horstman --- pkgs/by-name/ya/yazi-unwrapped/package.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ya/yazi-unwrapped/package.nix b/pkgs/by-name/ya/yazi-unwrapped/package.nix index ab9d84051eed..36940b91b46f 100644 --- a/pkgs/by-name/ya/yazi-unwrapped/package.nix +++ b/pkgs/by-name/ya/yazi-unwrapped/package.nix @@ -8,17 +8,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "yazi"; - version = "26.1.4"; + version = "26.1.22"; srcs = builtins.attrValues finalAttrs.passthru.srcs; sourceRoot = finalAttrs.passthru.srcs.code_src.name; - cargoHash = "sha256-P1ijZsY1AYosWVyxdmDX1SN6KZsrlUqJ9cNfyVWV6mI="; + cargoHash = "sha256-VcoIjPZqLimo44atXh7pnCtF+QaZA7uHtKEE6FgTL2k="; env.YAZI_GEN_COMPLETIONS = true; env.VERGEN_GIT_SHA = "Nixpkgs"; - env.VERGEN_BUILD_DATE = "2026-1-4"; + env.VERGEN_BUILD_DATE = "2026-01-22"; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; @@ -36,13 +36,18 @@ rustPlatform.buildRustPackage (finalAttrs: { install -Dm444 assets/logo.png $out/share/pixmaps/yazi.png ''; + postPatch = '' + substituteInPlace yazi-shared/Cargo.toml \ + --replace-fail 'rust-version = "1.92.0"' 'rust-version = "1.91"' + ''; + passthru.updateScript.command = [ ./update.sh ]; passthru.srcs = { code_src = fetchFromGitHub { owner = "sxyazi"; repo = "yazi"; tag = "v${finalAttrs.version}"; - hash = "sha256-dNDwlMM+k20c2Lnm+hqUvzu5l3Ip9GeP+nnj4WlDVdw="; + hash = "sha256-BZktPXn+8vyFyHapvW+9nepFsWRW/XBtdBcnLKrCNCw="; }; man_src = fetchFromGitHub { From 99718f89ab28ba00f53161eb1adc3aa16c10c85c Mon Sep 17 00:00:00 2001 From: chansuke Date: Thu, 25 Dec 2025 02:05:06 +0900 Subject: [PATCH 1064/1216] dockrtui: init at 0.1.3 --- pkgs/by-name/do/dockrtui/package.nix | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 pkgs/by-name/do/dockrtui/package.nix diff --git a/pkgs/by-name/do/dockrtui/package.nix b/pkgs/by-name/do/dockrtui/package.nix new file mode 100644 index 000000000000..4e52993a906c --- /dev/null +++ b/pkgs/by-name/do/dockrtui/package.nix @@ -0,0 +1,31 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "dockrtui"; + version = "0.1.3"; + + src = fetchFromGitHub { + owner = "LuuNa-JD"; + repo = "dockrtui"; + tag = "v${finalAttrs.version}"; + hash = "sha256-C0TS3jp3ONsgjXKZYeMM9AeIxT2Moy8gxhFxkguT1I8="; + }; + + cargoHash = "sha256-8DY4pRWCswsC+wkrAHFic7YTkAT2VMRk8++jpNoQkEs="; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Fast, modern and keyboard-driven terminal dashboard for Docker"; + homepage = "https://github.com/LuuNa-JD/dockrtui"; + changelog = "https://github.com/LuuNa-JD/dockrtui/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ chansuke ]; + mainProgram = "dockrtui"; + }; +}) From 3699b7c09394b921e35735644f089c5f59c45787 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 22:41:53 +0000 Subject: [PATCH 1065/1216] owi: 0.2-unstable-2026-01-12 -> 0.2-unstable-2026-01-21 --- pkgs/by-name/ow/owi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ow/owi/package.nix b/pkgs/by-name/ow/owi/package.nix index a2571d2788a6..c18ef8908d1d 100644 --- a/pkgs/by-name/ow/owi/package.nix +++ b/pkgs/by-name/ow/owi/package.nix @@ -15,14 +15,14 @@ let in ocamlPackages.buildDunePackage { pname = "owi"; - version = "0.2-unstable-2026-01-12"; + version = "0.2-unstable-2026-01-21"; src = fetchFromGitHub { owner = "ocamlpro"; repo = "owi"; - rev = "fcfafe953edbf73a1be00e029564c65193f2ad4b"; + rev = "66e4d2ddaa03ee441dc6156b681ad832522ff2cf"; fetchSubmodules = true; - hash = "sha256-Vnty6fZNSmgFTNjWPiqLu5jdtomPuirBz8i9tWBSBR8="; + hash = "sha256-KTeCDI67BGkoDBBeBG96BJrvO9kPX+Vztgk1S1PoyIM="; }; nativeBuildInputs = with ocamlPackages; [ From d968dd7b9cddc6597a20c357516171fc750cf35c Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Thu, 22 Jan 2026 23:44:53 +0100 Subject: [PATCH 1066/1216] ruff: 0.14.13 -> 0.14.14 Changelog: https://github.com/astral-sh/ruff/releases/tag/0.14.14 Diff: https://github.com/astral-sh/ruff/compare/0.14.13...0.14.14 --- pkgs/by-name/ru/ruff/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index 921b894cb3ee..788cbdd809ab 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.14.13"; + version = "0.14.14"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-ComgiY6fvM2f3Ul8kTgykyktvxEHL85X5C1Tudi5ZB4="; + hash = "sha256-h6XYWK6NxelLCfqG0geiAj3XbcqzbeFKeFMMDsy8fm8="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-Vd9y9VQF7d62tjHJ0ikWlvV7+KDs4q61ld9yoJWaqpY="; + cargoHash = "sha256-H5ZaBDV0YTdExu42Dt1Bq379vJ3FtddKtdLkMW+qC78="; nativeBuildInputs = [ installShellFiles ]; From e343bb28dc45ee432d35789786da69cca2f1d8fc Mon Sep 17 00:00:00 2001 From: fin444 Date: Thu, 22 Jan 2026 17:47:22 -0500 Subject: [PATCH 1067/1216] qimgv: build with Qt6 instead of Qt5 --- pkgs/by-name/qi/qimgv/package.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/qi/qimgv/package.nix b/pkgs/by-name/qi/qimgv/package.nix index bd763d3c4f20..090fe30e92e1 100644 --- a/pkgs/by-name/qi/qimgv/package.nix +++ b/pkgs/by-name/qi/qimgv/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, cmake, pkg-config, - libsForQt5, + kdePackages, exiv2, mpv, opencv4, @@ -24,21 +24,22 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake pkg-config - libsForQt5.wrapQtAppsHook + kdePackages.wrapQtAppsHook ]; cmakeFlags = [ "-DVIDEO_SUPPORT=ON" + "-DUSE_QT5=OFF" ]; buildInputs = [ exiv2 mpv opencv4.cxxdev - libsForQt5.qtbase - libsForQt5.qtimageformats - libsForQt5.qtsvg - libsForQt5.qttools + kdePackages.qtbase + kdePackages.qtimageformats + kdePackages.qtsvg + kdePackages.qttools ]; postPatch = '' @@ -53,7 +54,7 @@ stdenv.mkDerivation { ]; meta = { - description = "Qt5 image viewer with optional video support"; + description = "Qt6 image viewer with optional video support"; mainProgram = "qimgv"; homepage = "https://github.com/easymodo/qimgv"; license = lib.licenses.gpl3; From d3aded10917c9742b9ba04587c33e0a3a69f1479 Mon Sep 17 00:00:00 2001 From: fin444 Date: Thu, 22 Jan 2026 17:48:03 -0500 Subject: [PATCH 1068/1216] qimgv: add support for more image formats --- pkgs/by-name/qi/qimgv/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/qi/qimgv/package.nix b/pkgs/by-name/qi/qimgv/package.nix index 090fe30e92e1..aa1fcb7963fb 100644 --- a/pkgs/by-name/qi/qimgv/package.nix +++ b/pkgs/by-name/qi/qimgv/package.nix @@ -40,6 +40,7 @@ stdenv.mkDerivation { kdePackages.qtimageformats kdePackages.qtsvg kdePackages.qttools + kdePackages.kimageformats ]; postPatch = '' From 05917d7d3e11e0063dc1b6f6eaaa6a9562acca9c Mon Sep 17 00:00:00 2001 From: Cobalt Date: Thu, 22 Jan 2026 23:51:28 +0100 Subject: [PATCH 1069/1216] squid: remove cobalt as maintainer for test --- nixos/tests/squid.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/tests/squid.nix b/nixos/tests/squid.nix index 77552b237f34..188c3840178c 100644 --- a/nixos/tests/squid.nix +++ b/nixos/tests/squid.nix @@ -43,7 +43,6 @@ let in { name = "squid"; - meta.maintainers = with lib.maintainers; [ cobalt ]; node.pkgsReadOnly = false; From f55fc1e4cabc33c016eb2b6c45b104a33a39d049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 22 Jan 2026 23:56:33 +0100 Subject: [PATCH 1070/1216] Revert "ddcutil: 2.2.3 -> 2.2.4" --- pkgs/by-name/dd/ddcutil/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dd/ddcutil/package.nix b/pkgs/by-name/dd/ddcutil/package.nix index 6c5ad3882738..0b67ce5e17f7 100644 --- a/pkgs/by-name/dd/ddcutil/package.nix +++ b/pkgs/by-name/dd/ddcutil/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "ddcutil"; - version = "2.2.4"; + version = "2.2.3"; src = fetchurl { url = "https://www.ddcutil.com/tarballs/ddcutil-${version}.tar.gz"; - hash = "sha256-CK48ga6qozz068MqgElCjnbOVXh0VG44H9ZaglYN0ZU="; + hash = "sha256-4XvAUqYvnqhS2eOLpPHtfnNmVnoOGdvhpDnuca2+BqA="; }; nativeBuildInputs = [ From 96564e89593ab3bf85064d08efe37a14a60d2021 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 23:11:33 +0000 Subject: [PATCH 1071/1216] bngblaster: 0.9.26 -> 0.9.30 --- pkgs/by-name/bn/bngblaster/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bn/bngblaster/package.nix b/pkgs/by-name/bn/bngblaster/package.nix index f5ed39a603b1..171fe2c8179c 100644 --- a/pkgs/by-name/bn/bngblaster/package.nix +++ b/pkgs/by-name/bn/bngblaster/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "bngblaster"; - version = "0.9.26"; + version = "0.9.30"; src = fetchFromGitHub { owner = "rtbrick"; repo = "bngblaster"; rev = finalAttrs.version; - hash = "sha256-EZc+cageuhPSIwyHAW6JTbSGQwlHCl9YpUHzHZ0ygx0="; + hash = "sha256-wl1uE9pb5gZAdZ1sNp3wTG3yT0Yu3OrTHXNdNPHW5ew="; }; nativeBuildInputs = [ cmake ]; From ddddd2cf6001fa1d9059c254b0870860c7eafd05 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 23:12:53 +0000 Subject: [PATCH 1072/1216] cnspec: 12.18.0 -> 12.19.2 --- pkgs/by-name/cn/cnspec/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cn/cnspec/package.nix b/pkgs/by-name/cn/cnspec/package.nix index bb4756167fe9..8989e0347d04 100644 --- a/pkgs/by-name/cn/cnspec/package.nix +++ b/pkgs/by-name/cn/cnspec/package.nix @@ -6,18 +6,18 @@ buildGoModule rec { pname = "cnspec"; - version = "12.18.0"; + version = "12.19.2"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnspec"; tag = "v${version}"; - hash = "sha256-U3nCL87fdlLkZLnRmJizGyQVGc7xCja2+hRLFGWkSUk="; + hash = "sha256-tP3JtuiQJeLmN5YbRgUiuzCvtE690n3O2jHCWbxcBLE="; }; proxyVendor = true; - vendorHash = "sha256-HwlJq48wC/c8VeUQFSH/bBVZiSq2fH9E/JXfaHjSYIM="; + vendorHash = "sha256-AyhnFjUzbT54JhmUEX045EiTCLuMTqXiA/ofl7HpJQM="; subPackages = [ "apps/cnspec" ]; From f37cd7a9f97c39d9cf7f96c8bc0898ed22cc192c Mon Sep 17 00:00:00 2001 From: Johan Thomsen Date: Fri, 23 Jan 2026 00:37:59 +0100 Subject: [PATCH 1073/1216] coredns: skip test cases that fail due to use of network --- pkgs/by-name/co/coredns/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/co/coredns/package.nix b/pkgs/by-name/co/coredns/package.nix index 2ce01637b83f..dc4d4f26cefe 100644 --- a/pkgs/by-name/co/coredns/package.nix +++ b/pkgs/by-name/co/coredns/package.nix @@ -102,6 +102,12 @@ buildGoModule (finalAttrs: { substituteInPlace test/readme_test.go \ --replace-fail "TestReadme" "SkipReadme" + substituteInPlace test/metrics_test.go \ + --replace-fail "TestMetricsRewriteRequestSize" "SkipMetricsRewriteRequestSize" + + substituteInPlace test/quic_test.go \ + --replace-fail "TestQUICReloadDoesNotPanic" "SkipQUICReloadDoesNotPanic" + # this test fails if any external plugins were imported. # it's a lint rather than a test of functionality, so it's safe to disable. substituteInPlace test/presubmit_test.go \ From 815af37160b733c793cafda2842c21b3e7a0a009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 23 Jan 2026 00:42:47 +0100 Subject: [PATCH 1074/1216] vauilwarden: build webvault explicitly on hydra to better notice when it fails --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c49df86f211..6a16bedc4916 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13424,6 +13424,7 @@ with pkgs; vaultwarden-sqlite = vaultwarden; vaultwarden-mysql = vaultwarden.override { dbBackend = "mysql"; }; vaultwarden-postgresql = vaultwarden.override { dbBackend = "postgresql"; }; + vaultwarden-webvault = vaultwarden.webvault; vimUtils = callPackage ../applications/editors/vim/plugins/utils/vim-utils.nix { }; From 9f7bebd71817b3dcaedc2fe39174c3d54e0aae55 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 23:45:03 +0000 Subject: [PATCH 1075/1216] s7: 11.7-unstable-2026-01-15 -> 11.7-unstable-2026-01-22 --- pkgs/by-name/s7/s7/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix index 38a10985155c..01b48689760a 100644 --- a/pkgs/by-name/s7/s7/package.nix +++ b/pkgs/by-name/s7/s7/package.nix @@ -26,14 +26,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "s7"; - version = "11.7-unstable-2026-01-15"; + version = "11.7-unstable-2026-01-22"; src = fetchFromGitLab { domain = "cm-gitlab.stanford.edu"; owner = "bil"; repo = "s7"; - rev = "6a37e688266eb5bcea0959b297b352fcaa75976c"; - hash = "sha256-rTocm8AADnDoeMas4/cwQBv7LTMUgo2+SvNwR3oWNXA="; + rev = "583c1eeb8e154b4c87f095a146cfde91b0c7570c"; + hash = "sha256-+rgYv8D4w/xK/UgZzO+YZU1VgaaDR9fXcz0bheygrt0="; }; buildInputs = From 3d439b8368a31ef12f316929501d3f3a70b84728 Mon Sep 17 00:00:00 2001 From: Stephen Huan Date: Thu, 11 Sep 2025 12:55:51 -0400 Subject: [PATCH 1076/1216] xlayoutdisplay: 1.5.0 -> 1.5.1 --- pkgs/by-name/xl/xlayoutdisplay/package.nix | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/xl/xlayoutdisplay/package.nix b/pkgs/by-name/xl/xlayoutdisplay/package.nix index 5c1efac749b5..e7a43d5aa113 100644 --- a/pkgs/by-name/xl/xlayoutdisplay/package.nix +++ b/pkgs/by-name/xl/xlayoutdisplay/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch2, pkg-config, xorg, boost, @@ -11,24 +10,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "xlayoutdisplay"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "alex-courtis"; repo = "xlayoutdisplay"; - rev = "v${finalAttrs.version}"; - hash = "sha256-A37jFhVTW/3QNEf776Oi3ViRK+ebOPRTsEQqdmNhA7E="; + tag = "v${finalAttrs.version}"; + hash = "sha256-gJucWffchhTFdYEQqjbj1OdPTBSmGDDcKbOyIWdWQig="; }; - patches = [ - # https://github.com/alex-courtis/xlayoutdisplay/pull/34 - (fetchpatch2 { - name = "cpp-version.patch"; - url = "https://github.com/alex-courtis/xlayoutdisplay/commit/56983b45070edde78cc816d9cff4111315e94a7a.patch"; - hash = "sha256-zd28Nkw8Kmm20zGT6wvdBHcHfE4p+RFotUO9zJwPQMc="; - }) - ]; - nativeBuildInputs = [ pkg-config ]; buildInputs = with xorg; [ libX11 From af957693063452d59354a3fa09aa7515ce6b26b3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:14:48 +0000 Subject: [PATCH 1077/1216] all-the-package-names: 2.0.2328 -> 2.0.2334 --- pkgs/by-name/al/all-the-package-names/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/al/all-the-package-names/package.nix b/pkgs/by-name/al/all-the-package-names/package.nix index a772bc7ed6f7..de0559e36a68 100644 --- a/pkgs/by-name/al/all-the-package-names/package.nix +++ b/pkgs/by-name/al/all-the-package-names/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "all-the-package-names"; - version = "2.0.2328"; + version = "2.0.2334"; src = fetchFromGitHub { owner = "nice-registry"; repo = "all-the-package-names"; tag = "v${version}"; - hash = "sha256-6+rb7eNPkifuIMsFs2YO0v27CY6RNWnHrzHYoVhtYCw="; + hash = "sha256-4/GKOjUSlj+upjGg0B642HRolCA46N+B2fM3fL1ip6Y="; }; - npmDepsHash = "sha256-Q0vdon6Qbt5FOjKZJqB5ufiLcG18DPgL4EN9PSkoXDE="; + npmDepsHash = "sha256-fBoHOmMvmNSmldwME8i7Xo2C2koYcAo4aTsU+JIptcs="; passthru.updateScript = nix-update-script { }; From 97734bd7bf51107cbc798c8474bc649972442720 Mon Sep 17 00:00:00 2001 From: Stephen Huan Date: Thu, 11 Sep 2025 13:02:40 -0400 Subject: [PATCH 1078/1216] xlayoutdisplay: add stephen-huan as maintainer --- pkgs/by-name/xl/xlayoutdisplay/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/xl/xlayoutdisplay/package.nix b/pkgs/by-name/xl/xlayoutdisplay/package.nix index e7a43d5aa113..6719948ad142 100644 --- a/pkgs/by-name/xl/xlayoutdisplay/package.nix +++ b/pkgs/by-name/xl/xlayoutdisplay/package.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Detects and arranges linux display outputs, using XRandR for detection and xrandr for arrangement"; homepage = "https://github.com/alex-courtis/xlayoutdisplay"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ stephen-huan ]; license = lib.licenses.asl20; platforms = lib.platforms.linux; mainProgram = "xlayoutdisplay"; From d2815eda95bbd57c5df03e6feb2c55f093259173 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:21:48 +0000 Subject: [PATCH 1079/1216] api-linter: 2.1.0 -> 2.2.0 --- pkgs/by-name/ap/api-linter/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ap/api-linter/package.nix b/pkgs/by-name/ap/api-linter/package.nix index 5692857044e9..fdc4a56551a4 100644 --- a/pkgs/by-name/ap/api-linter/package.nix +++ b/pkgs/by-name/ap/api-linter/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "api-linter"; - version = "2.1.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "googleapis"; repo = "api-linter"; tag = "v${version}"; - hash = "sha256-oaSWp1FmanCWMRYk3Dm1WZ+MnxooXqT9rom25JeFrTg="; + hash = "sha256-/bn/TlR2nl/BGgtUVr1IEL7o05QbF7QeXViPevINqqM="; }; - vendorHash = "sha256-X5/UH8dX89nTPlYMbVuyG82WrDmU/dP7LiZfMoN6c4A="; + vendorHash = "sha256-TiZRts1ruC0R5DQ5at7Z1c+zuGpD0f3D89X2b1gXA5s="; subPackages = [ "cmd/api-linter" ]; From 1b531804ce4d912afb36f555a69e7ab5c8abd464 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 23 Jan 2026 00:22:26 +0000 Subject: [PATCH 1080/1216] onnxruntime: only set NIX_LDFLAGS on linux --- pkgs/by-name/on/onnxruntime/package.nix | 45 ++++++++++--------- .../python-modules/onnxruntime/default.nix | 2 +- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index 8ea0c6837ee7..8671a61e2977 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -317,28 +317,29 @@ effectiveStdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "onnxruntime_USE_COMPOSABLE_KERNEL_CK_TILE" false) ]; - env = { - NIX_LDFLAGS = "-z,noexecstack"; - } - // lib.optionalAttrs rocmSupport { - MIOPEN_PATH = rocmPackages.miopen; - # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing - # fatal error: 'rocrand/rocrand.h' file not found - HIPFLAGS = lib.concatMapStringsSep " " (pkg: "-I${lib.getInclude pkg}/include") [ - rocmPackages.hipblas - rocmPackages.hipcub - rocmPackages.hiprand - rocmPackages.hipsparse - rocmPackages.rocblas - rocmPackages.rocprim - rocmPackages.rocrand - rocmPackages.rocthrust - ]; - } - // lib.optionalAttrs effectiveStdenv.hostPlatform.isMusl { - NIX_CFLAGS_COMPILE = "-DFLATBUFFERS_LOCALE_INDEPENDENT=0"; - GTEST_FILTER = "*:-ContribOpTest.StringNormalizer*"; - }; + env = + lib.optionalAttrs effectiveStdenv.hostPlatform.isLinux { + NIX_LDFLAGS = "-z,noexecstack"; + } + // lib.optionalAttrs rocmSupport { + MIOPEN_PATH = rocmPackages.miopen; + # HIP steps fail to find ROCm libs when not in HIPFLAGS, causing + # fatal error: 'rocrand/rocrand.h' file not found + HIPFLAGS = lib.concatMapStringsSep " " (pkg: "-I${lib.getInclude pkg}/include") [ + rocmPackages.hipblas + rocmPackages.hipcub + rocmPackages.hiprand + rocmPackages.hipsparse + rocmPackages.rocblas + rocmPackages.rocprim + rocmPackages.rocrand + rocmPackages.rocthrust + ]; + } + // lib.optionalAttrs effectiveStdenv.hostPlatform.isMusl { + NIX_CFLAGS_COMPILE = "-DFLATBUFFERS_LOCALE_INDEPENDENT=0"; + GTEST_FILTER = "*:-ContribOpTest.StringNormalizer*"; + }; doCheck = !( diff --git a/pkgs/development/python-modules/onnxruntime/default.nix b/pkgs/development/python-modules/onnxruntime/default.nix index ebd0e28cd243..16ab351739db 100644 --- a/pkgs/development/python-modules/onnxruntime/default.nix +++ b/pkgs/development/python-modules/onnxruntime/default.nix @@ -38,7 +38,7 @@ buildPythonPackage { chmod +w dist ''; - env = { + env = lib.optionalAttrs stdenv.hostPlatform.isLinux { NIX_LDFLAGS = "-z,noexecstack"; }; From 3fcff86cf48d0c3e78b14b8117ca557aeb332167 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:26:03 +0000 Subject: [PATCH 1081/1216] arkade: 0.11.63 -> 0.11.65 --- pkgs/by-name/ar/arkade/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ar/arkade/package.nix b/pkgs/by-name/ar/arkade/package.nix index 956b5428b7da..b6f0db9f1eb4 100644 --- a/pkgs/by-name/ar/arkade/package.nix +++ b/pkgs/by-name/ar/arkade/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "arkade"; - version = "0.11.63"; + version = "0.11.65"; src = fetchFromGitHub { owner = "alexellis"; repo = "arkade"; tag = version; - hash = "sha256-J4GC9b4r3ukBQsLIraFueznruVaaHWXcBvox+K+149g="; + hash = "sha256-52yP/SV7xEIb6/w2C/JZcxiiI5Tem2pHsKNLyPFvmOY="; }; env.CGO_ENABLED = 0; From 8c9b1042832798f0261b3939d912e183c0a0d2c3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:41:20 +0000 Subject: [PATCH 1082/1216] pdpmake: 2.0.3 -> 2.0.4 --- pkgs/by-name/pd/pdpmake/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pd/pdpmake/package.nix b/pkgs/by-name/pd/pdpmake/package.nix index 303c1709da13..e6971658cfbc 100644 --- a/pkgs/by-name/pd/pdpmake/package.nix +++ b/pkgs/by-name/pd/pdpmake/package.nix @@ -5,13 +5,13 @@ }: stdenv.mkDerivation rec { pname = "pdpmake"; - version = "2.0.3"; + version = "2.0.4"; src = fetchFromGitHub { owner = "rmyorston"; repo = "pdpmake"; rev = version; - hash = "sha256-6lLYtBKZTmi+fBkCyDysJS1O37/Z6ir9hU3pX4X1VHQ="; + hash = "sha256-ivRXZxm9RAWSmNfiV7BhVzVFsBKuMMpKjub8ADinYyc="; }; makeFlags = [ "PREFIX=$(out)" ]; From 81fd95f9fd4db21fdf954c445fcc4db396415e5b Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Fri, 23 Jan 2026 01:44:33 +0100 Subject: [PATCH 1083/1216] mysql-workbench: 8.0.45 -> 8.0.46 --- pkgs/by-name/my/mysql-workbench/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/my/mysql-workbench/package.nix b/pkgs/by-name/my/mysql-workbench/package.nix index 42973cbfee3e..5f9a3c7ca033 100644 --- a/pkgs/by-name/my/mysql-workbench/package.nix +++ b/pkgs/by-name/my/mysql-workbench/package.nix @@ -53,11 +53,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "mysql-workbench"; - version = "8.0.45"; + version = "8.0.46"; src = fetchurl { url = "https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-${finalAttrs.version}-src.tar.gz"; - hash = "sha256-00sswmBIBtNmxMrJBDqzOhPLErXuXGs634JRHML/aKE="; + hash = "sha256-sP7GYSagPpcBhmdCynvQsxJexe54Bgu6RI7apCSb9TE="; }; patches = [ From 83a4c977f9a9f4a2e86925cded5d3eb006728e2d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:46:52 +0000 Subject: [PATCH 1084/1216] openboard: 1.7.3 -> 1.7.4 --- pkgs/by-name/op/openboard/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/op/openboard/package.nix b/pkgs/by-name/op/openboard/package.nix index 117d5d4a8704..596fedb5a3b7 100644 --- a/pkgs/by-name/op/openboard/package.nix +++ b/pkgs/by-name/op/openboard/package.nix @@ -39,13 +39,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "openboard"; - version = "1.7.3"; + version = "1.7.4"; src = fetchFromGitHub { owner = "OpenBoard-org"; repo = "OpenBoard"; rev = "v${finalAttrs.version}"; - hash = "sha256-Igp5WSVQ9FrzS2AhDDPwVBo76SaFw9xP6lqgW7S/KIE="; + hash = "sha256-CeW8G4aHo+IlB4F/ty48jIjhD7Nc7HFgudVbxrzZ2LU="; }; postPatch = '' From 35c8ce1d0e621a93353fc393d749578e919bb680 Mon Sep 17 00:00:00 2001 From: magicquark <198001825+magicquark@users.noreply.github.com> Date: Fri, 23 Jan 2026 00:48:28 +0000 Subject: [PATCH 1085/1216] pyradio: install desktop file and icon --- pkgs/by-name/py/pyradio/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/py/pyradio/package.nix b/pkgs/by-name/py/pyradio/package.nix index beee04e59f13..01d038ea440f 100644 --- a/pkgs/by-name/py/pyradio/package.nix +++ b/pkgs/by-name/py/pyradio/package.nix @@ -44,6 +44,12 @@ python3Packages.buildPythonApplication rec { postInstall = '' installManPage *.1 + + install -Dm644 $src/devel/pyradio.desktop \ + "$out/share/applications/pyradio.desktop" + + install -Dm644 "$src/pyradio/icons/pyradio.png" \ + "$out/share/icons/hicolor/512x512/apps/pyradio.png" ''; meta = { From 12086a49193963fc76a0ebc1fd1475b22e1715a7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:58:08 +0000 Subject: [PATCH 1086/1216] watchlog: 1.250.0 -> 1.252.0 --- pkgs/by-name/wa/watchlog/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/watchlog/package.nix b/pkgs/by-name/wa/watchlog/package.nix index 17d045889bb6..2879d4b75ca4 100644 --- a/pkgs/by-name/wa/watchlog/package.nix +++ b/pkgs/by-name/wa/watchlog/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "watchlog"; - version = "1.250.0"; + version = "1.252.0"; src = fetchFromGitLab { owner = "kevincox"; repo = "watchlog"; rev = "v${version}"; - hash = "sha256-a8x1fEYuHZu2Z/CE835HEqkNr7Mtbdtuq1vDRKfEl5U="; + hash = "sha256-ZDT98pxtpoEenJPwz4Ws2kkTqJ0lTWvxv3LfjBsCvZo="; }; - cargoHash = "sha256-b+xuMUt9btrfKLUluxtSFXdFKtOHmKVV0m1fPM5cNRA="; + cargoHash = "sha256-n1Pzuyf9EKHgvHqVlOO6bZNcD4KMHSh3jN9REtLulck="; meta = { description = "Easier monitoring of live logs"; From 76ff36232ccdd78600a9c0774545f56bee5aa4e0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 00:59:09 +0000 Subject: [PATCH 1087/1216] kdePackages.marknote: 1.3.0 -> 1.4.1 --- pkgs/kde/misc/marknote/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/kde/misc/marknote/default.nix b/pkgs/kde/misc/marknote/default.nix index 13043d6adffc..33927acd668a 100644 --- a/pkgs/kde/misc/marknote/default.nix +++ b/pkgs/kde/misc/marknote/default.nix @@ -8,11 +8,11 @@ }: mkKdeDerivation rec { pname = "marknote"; - version = "1.3.0"; + version = "1.4.1"; src = fetchurl { url = "mirror://kde/stable/marknote/marknote-${version}.tar.xz"; - hash = "sha256-/5lZhBWmzKWQDLTRDStypvOS6v4Hh0tuLrQun3qzvSg="; + hash = "sha256-lsL1UcPZoJzbwtbMJC5ks6nIEd9/KUENW4WHHsKtJ5k="; }; extraBuildInputs = [ From b9e9a2dcfa5224405cec3e33a49e8cef3462585f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:07:32 +0000 Subject: [PATCH 1088/1216] buffrs: 0.12.1 -> 0.12.2 --- pkgs/by-name/bu/buffrs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bu/buffrs/package.nix b/pkgs/by-name/bu/buffrs/package.nix index 3e5ae7a01dc9..1bd700fe938b 100644 --- a/pkgs/by-name/bu/buffrs/package.nix +++ b/pkgs/by-name/bu/buffrs/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "buffrs"; - version = "0.12.1"; + version = "0.12.2"; src = fetchFromGitHub { owner = "helsing-ai"; repo = "buffrs"; tag = "v${version}"; - hash = "sha256-wbJFkKiTMQQJfCO1RyELMyW94lGfECDii3zg7cqc71o="; + hash = "sha256-xwIJeXbXBotx/1ZsvCSaUlttkTYi2Ceq6MvFPwp2bj8="; }; - cargoHash = "sha256-zPmFDlOLbv/Zp5qVeiHBxVOfma9X7IpRQ+ascHbz+GQ="; + cargoHash = "sha256-d8eCd6WKRX4RJKA9Z5D2Or9MgxU0VMqt/FoF1GnryAI="; # Disabling tests meant to work over the network, as they will fail # inside the builder. From b25fc08aa707090629fae9abeb98b7691c4ad906 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:13:44 +0000 Subject: [PATCH 1089/1216] fastp: 1.0.1 -> 1.1.0 --- pkgs/by-name/fa/fastp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/fastp/package.nix b/pkgs/by-name/fa/fastp/package.nix index 9231ad91abbf..aa15a3497982 100644 --- a/pkgs/by-name/fa/fastp/package.nix +++ b/pkgs/by-name/fa/fastp/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "fastp"; - version = "1.0.1"; + version = "1.1.0"; src = fetchFromGitHub { owner = "OpenGene"; repo = "fastp"; rev = "v${version}"; - sha256 = "sha256-NR41Hklcz2wOQ39OzQYaYs5+eGjSWxCtcTGDAixZCmg="; + sha256 = "sha256-0hLq6r/XcYkF1J9LpiQ+qxh5MN4vDTRr5JibnIsq2J0="; }; buildInputs = [ From a45a485a0d0ac7884bc1220b1bf294a29bbd4caa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:14:51 +0000 Subject: [PATCH 1090/1216] qovery-cli: 1.57.0 -> 1.57.1 --- pkgs/by-name/qo/qovery-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/qo/qovery-cli/package.nix b/pkgs/by-name/qo/qovery-cli/package.nix index 130ec6cc20f9..a6b8fc747a26 100644 --- a/pkgs/by-name/qo/qovery-cli/package.nix +++ b/pkgs/by-name/qo/qovery-cli/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "qovery-cli"; - version = "1.57.0"; + version = "1.57.1"; src = fetchFromGitHub { owner = "Qovery"; repo = "qovery-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-EFzSX75/r81lJbFQ6HA3K21kd4EnBnlxpavRndgMaQs="; + hash = "sha256-2JuAOry4JKsgSxW3eSM67Ri0HDJPV28O5yKZKbcHR8k="; }; - vendorHash = "sha256-Oprgn2/KhTuAwvbbuPVwQrRc1i0Vgsdj29VgwFTYreg="; + vendorHash = "sha256-/LUA1c9ye7eO47HZVaz9i+sjs9sNSpT9JVGnzr4lLg0="; env.CGO_ENABLED = 0; From d86dfcb78d9125293f7639a8b56bdc73d9e0aaab Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Tue, 20 Jan 2026 18:43:43 -0600 Subject: [PATCH 1091/1216] nufmt: 0-unstable-2025-06-19 -> 0-unstable-2025-12-29 Signed-off-by: Austin Horstman --- pkgs/by-name/nu/nufmt/package.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/nu/nufmt/package.nix b/pkgs/by-name/nu/nufmt/package.nix index 0a7985e14636..c195c54be827 100644 --- a/pkgs/by-name/nu/nufmt/package.nix +++ b/pkgs/by-name/nu/nufmt/package.nix @@ -7,26 +7,29 @@ }: rustPlatform.buildRustPackage { pname = "nufmt"; - version = "0-unstable-2025-06-19"; + version = "0-unstable-2025-12-29"; src = fetchFromGitHub { owner = "nushell"; repo = "nufmt"; - rev = "35962223fbd4c1a924b4ccfb8c7ad81fe2863b86"; - hash = "sha256-2WgqKQBZRMqUyWq0qm+d8TUT/iAQ1LZjhllBKqimp+Q="; + rev = "c03e166babe7b77f1a80a7916ab1e8e2437bba06"; + hash = "sha256-VZiRmo9/jxAFCSr2bHrf89qb6o1Obwt2+O3NrIrokZo="; }; nativeBuildInputs = [ rustPlatform.bindgenHook ]; - cargoHash = "sha256-KDXC2/1GcJL6qH+L/FzzQCA7kJigtKOfxVDLv5qXYao="; + cargoHash = "sha256-BpKhgF3LUQRL1mNCR5Iq4/Q+eRaOf+JgQCuUfloRhzk="; # NOTE: Patch follows similar intention upstream https://github.com/nushell/nufmt/commit/35962223fbd4c1a924b4ccfb8c7ad81fe2863b86 postPatch = '' substituteInPlace tests/main.rs --replace-fail \ 'const TEST_BINARY: &str = "target/debug/nufmt";' \ 'const TEST_BINARY: &str = "target/${stdenv.hostPlatform.rust.rustcTarget}/release/nufmt";' + substituteInPlace tests/ground_truth.rs --replace-fail \ + 'const TEST_BINARY: &str = "target/debug/nufmt";' \ + 'const TEST_BINARY: &str = "target/${stdenv.hostPlatform.rust.rustcTarget}/release/nufmt";' ''; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; From 7c9d45be20de314c8677c424ffeb2f229e828ae0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:21:51 +0000 Subject: [PATCH 1092/1216] python3Packages.gvm-tools: 25.4.4 -> 25.4.5 --- pkgs/development/python-modules/gvm-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gvm-tools/default.nix b/pkgs/development/python-modules/gvm-tools/default.nix index 8f127a420922..27e283567da9 100644 --- a/pkgs/development/python-modules/gvm-tools/default.nix +++ b/pkgs/development/python-modules/gvm-tools/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "gvm-tools"; - version = "25.4.4"; + version = "25.4.5"; pyproject = true; src = fetchFromGitHub { owner = "greenbone"; repo = "gvm-tools"; tag = "v${version}"; - hash = "sha256-htBkQf9rxPXDtcr5w1ECshEKyPxPr6YaS4PtMvK2VQg="; + hash = "sha256-9A9ik6nXAHdFSxOmpsQVpyR/19DeGIG2XcqhMZPMHKo="; }; __darwinAllowLocalNetworking = true; From e258a8d3e4dcef4850e16867cd2c3a19f33acdad Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:22:10 +0000 Subject: [PATCH 1093/1216] basex: 12.1 -> 12.2 --- pkgs/by-name/ba/basex/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ba/basex/package.nix b/pkgs/by-name/ba/basex/package.nix index 06925099c5bd..50d24f157a52 100644 --- a/pkgs/by-name/ba/basex/package.nix +++ b/pkgs/by-name/ba/basex/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "basex"; - version = "12.1"; + version = "12.2"; src = fetchurl { url = "http://files.basex.org/releases/${version}/BaseX${ builtins.replaceStrings [ "." ] [ "" ] version }.zip"; - hash = "sha256-vxndej8+WhnC1G493MWdxXV4MUBXYTSPC8sccyd07ao="; + hash = "sha256-zD6aYVYIrF6sZD5R6NNBSH8GGgKfDPus9zsBWtv+Oyw="; }; nativeBuildInputs = [ From eb73dd2a18e8b0d3334c5355924151779699328d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:22:39 +0000 Subject: [PATCH 1094/1216] edmarketconnector: 6.0.2 -> 6.1.0 --- pkgs/by-name/ed/edmarketconnector/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/edmarketconnector/package.nix b/pkgs/by-name/ed/edmarketconnector/package.nix index dbf80a4205c8..15aac51508ca 100644 --- a/pkgs/by-name/ed/edmarketconnector/package.nix +++ b/pkgs/by-name/ed/edmarketconnector/package.nix @@ -24,13 +24,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "edmarketconnector"; - version = "6.0.2"; + version = "6.1.0"; src = fetchFromGitHub { owner = "EDCD"; repo = "EDMarketConnector"; tag = "Release/${finalAttrs.version}"; - hash = "sha256-/Te7PTM/t+uN5v1DDa7zgQsVcy4CDMRSxvPqt1OwcW4="; + hash = "sha256-MBbm6537HEYKql42//EzEy1Iwi6W3rX/4hFYrRVaAbw="; }; nativeBuildInputs = [ makeWrapper ]; From 3e37adc195aa59085602493d1ac4eafbc625d2ac Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:28:33 +0000 Subject: [PATCH 1095/1216] netatalk: 4.4.0 -> 4.4.1 --- pkgs/by-name/ne/netatalk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/netatalk/package.nix b/pkgs/by-name/ne/netatalk/package.nix index 92a206755b81..8d5d37e5858f 100644 --- a/pkgs/by-name/ne/netatalk/package.nix +++ b/pkgs/by-name/ne/netatalk/package.nix @@ -30,11 +30,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "netatalk"; - version = "4.4.0"; + version = "4.4.1"; src = fetchurl { url = "mirror://sourceforge/netatalk/netatalk/netatalk-${finalAttrs.version}.tar.xz"; - hash = "sha256-GMoy3Gwl57o1KFlLeEN58BOIj6mED/xHjNH+9VUTglw="; + hash = "sha256-j8qwvzs5zYqU/j7nqCZMYABRWjrzd9o0FmlmCasTMW0="; }; nativeBuildInputs = [ From bcab452b3dae7795198c6097ea8c4392c9786190 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:29:06 +0000 Subject: [PATCH 1096/1216] hyprtoolkit: 0.5.2 -> 0.5.3 --- pkgs/by-name/hy/hyprtoolkit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/hy/hyprtoolkit/package.nix b/pkgs/by-name/hy/hyprtoolkit/package.nix index 6bc8429b4451..f6a877554231 100644 --- a/pkgs/by-name/hy/hyprtoolkit/package.nix +++ b/pkgs/by-name/hy/hyprtoolkit/package.nix @@ -25,13 +25,13 @@ gcc15Stdenv.mkDerivation (finalAttrs: { pname = "hyprtoolkit"; - version = "0.5.2"; + version = "0.5.3"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprtoolkit"; tag = "v${finalAttrs.version}"; - hash = "sha256-AEnLjthDHNqD1uPBsVWdo7Pb+Xveh4DzwAPFM2stzNM="; + hash = "sha256-kf7Q31BXRZsiNuQjkvRbGkM1aGj9u8HwyOCIUtwKS0o="; }; nativeBuildInputs = [ From e9d72f7bdf2a28426b3d957bfdc09c2fdc5acc72 Mon Sep 17 00:00:00 2001 From: Dvd-Znf Date: Fri, 23 Jan 2026 02:39:19 +0100 Subject: [PATCH 1097/1216] komac: 2.14.0 -> 2.15.0 --- pkgs/by-name/ko/komac/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ko/komac/package.nix b/pkgs/by-name/ko/komac/package.nix index 144db1e7e21b..0d695c77a6b7 100644 --- a/pkgs/by-name/ko/komac/package.nix +++ b/pkgs/by-name/ko/komac/package.nix @@ -16,16 +16,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "komac"; - version = "2.14.0"; + version = "2.15.0"; src = fetchFromGitHub { owner = "russellbanks"; repo = "Komac"; tag = "v${finalAttrs.version}"; - hash = "sha256-BZzEt/aqAogWAWXEyVPY77hZp3VE1FUyg2uAjQuwxEE="; + hash = "sha256-yNUHtYH8gVLjznDaQMuvcTFvK3smuuSLg3uKVVgcUfs="; }; - cargoHash = "sha256-KrMGZvgMtkfeF4dHUJzxtSqB0nea5ru4sLgnjAoQkYk="; + cargoHash = "sha256-W3CL8lObRHkbTwNKZjbN0ErpXGn5KADCGfFTJDw1vfo="; nativeBuildInputs = [ pkg-config @@ -76,6 +76,7 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ HeitorAugustoLN + dvdznf ]; mainProgram = "komac"; }; From 8e723af3f7f8b1dc1fc0e1c6fe0375aecc6e10cb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:40:06 +0000 Subject: [PATCH 1098/1216] kdePackages.ktextaddons: 1.9.0 -> 1.9.1 --- pkgs/kde/misc/ktextaddons/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/kde/misc/ktextaddons/default.nix b/pkgs/kde/misc/ktextaddons/default.nix index 4559f20ec6c5..39e467fad836 100644 --- a/pkgs/kde/misc/ktextaddons/default.nix +++ b/pkgs/kde/misc/ktextaddons/default.nix @@ -8,11 +8,11 @@ }: mkKdeDerivation rec { pname = "ktextaddons"; - version = "1.9.0"; + version = "1.9.1"; src = fetchurl { url = "mirror://kde/stable/ktextaddons/ktextaddons-${version}.tar.xz"; - hash = "sha256-BTvPhORcFBBCGGqRFajdUacmKAL+lUd0XkS0GQFblpQ="; + hash = "sha256-Nm1alMdAVILDptJhNHwbmV3nOghwWZlrEX1hK/wSkcI="; }; extraBuildInputs = [ From fe0d099d99261530aaf0aa8cd414edf193e79275 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:46:03 +0000 Subject: [PATCH 1099/1216] m4ri: 20251207 -> 20260122 --- pkgs/by-name/m4/m4ri/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/m4/m4ri/package.nix b/pkgs/by-name/m4/m4ri/package.nix index 41c2628121f7..1d29c4554345 100644 --- a/pkgs/by-name/m4/m4ri/package.nix +++ b/pkgs/by-name/m4/m4ri/package.nix @@ -6,14 +6,14 @@ }: stdenv.mkDerivation rec { - version = "20251207"; + version = "20260122"; pname = "m4ri"; src = fetchFromGitHub { owner = "malb"; repo = "m4ri"; rev = version; - hash = "sha256-8cO4mPPZj/QUnSJmsqTFQ+THdrnZnCa6wFACKOk78UQ="; + hash = "sha256-/M/DVl2tRXIz5l3LFwY8Bvxnzjeoluy+zVgBVpPSdZM="; }; doCheck = true; From db739d58fec4fa453759bfca840d0f448c31967b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 01:50:07 +0000 Subject: [PATCH 1100/1216] msbuild-structured-log-viewer: 2.3.121 -> 2.3.124 --- pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix b/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix index aae4c4544642..9c9249a63ce3 100644 --- a/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix +++ b/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix @@ -14,13 +14,13 @@ }: buildDotnetModule (finalAttrs: { pname = "msbuild-structured-log-viewer"; - version = "2.3.121"; + version = "2.3.124"; src = fetchFromGitHub { owner = "KirillOsenkov"; repo = "MSBuildStructuredLog"; rev = "v${finalAttrs.version}"; - hash = "sha256-+E6qRgS38VDtX9+imIeXhvuI7XyruXI/t7sxu3YFuRg="; + hash = "sha256-aAHyCyIVT97STJ8tZTpw/BqQjTRI/GTnEcWpjgkCWgM="; }; dotnet-sdk = dotnetCorePackages.sdk_8_0; From 53d963b5986876dc560e566180404d7c123297bd Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 23 Jan 2026 04:07:33 +0200 Subject: [PATCH 1101/1216] sequoia-sqop: use tag in src --- pkgs/by-name/se/sequoia-sqop/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/se/sequoia-sqop/package.nix b/pkgs/by-name/se/sequoia-sqop/package.nix index c8f7be74f609..176a5da4077c 100644 --- a/pkgs/by-name/se/sequoia-sqop/package.nix +++ b/pkgs/by-name/se/sequoia-sqop/package.nix @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { # From some reason the repository is not sequoia-sqop - like the command # generated etc repo = "sequoia-sop"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-7fyItwtzNia97fbLJ1YkpkS7KmCo3I81uksh3lNvxwU="; }; From c7a743e957acac14b5993af46f71deb8c747ebd8 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 23 Jan 2026 04:08:17 +0200 Subject: [PATCH 1102/1216] sequoia-sqop: use finalAttrs pattern --- pkgs/by-name/se/sequoia-sqop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/se/sequoia-sqop/package.nix b/pkgs/by-name/se/sequoia-sqop/package.nix index 176a5da4077c..0e9c96177161 100644 --- a/pkgs/by-name/se/sequoia-sqop/package.nix +++ b/pkgs/by-name/se/sequoia-sqop/package.nix @@ -9,7 +9,7 @@ pkg-config, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "sequoia-sqop"; version = "0.37.3"; @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { # From some reason the repository is not sequoia-sqop - like the command # generated etc repo = "sequoia-sop"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-7fyItwtzNia97fbLJ1YkpkS7KmCo3I81uksh3lNvxwU="; }; @@ -60,4 +60,4 @@ rustPlatform.buildRustPackage rec { maintainers = with lib.maintainers; [ doronbehar ]; mainProgram = "sqop"; }; -} +}) From bc69b7fe1c07b578d28ed1ce02a1b56118c4f65a Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 23 Jan 2026 04:08:33 +0200 Subject: [PATCH 1103/1216] sequoia-sqop: add meta.changelog --- pkgs/by-name/se/sequoia-sqop/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/se/sequoia-sqop/package.nix b/pkgs/by-name/se/sequoia-sqop/package.nix index 0e9c96177161..da1c71fe3be9 100644 --- a/pkgs/by-name/se/sequoia-sqop/package.nix +++ b/pkgs/by-name/se/sequoia-sqop/package.nix @@ -56,6 +56,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Implementation of the Stateless OpenPGP Command Line Interface using Sequoia"; homepage = "https://gitlab.com/sequoia-pgp/sequoia-sop"; + changelog = "https://gitlab.com/sequoia-pgp/sequoia-sop/-/blob/v${finalAttrs.src.tag}/NEWS"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ doronbehar ]; mainProgram = "sqop"; From 37d2e8be4f84fb3b7c66face08759d26ed39b249 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 23 Jan 2026 04:12:39 +0200 Subject: [PATCH 1104/1216] sequoia-sop: rename from sequoia-sqop When this package was first created in 85c4c223572a50ebecdbb8dbe01e27c9afecd89d, the homepage of the project ended with `sqop`. Since the mainProgram of it is and was `sqop`, it made sense to use the `sqop` suffix in the `pname` and attribute. Nowadays, that homepage is 404, and by comparing: - https://repology.org/project/sequoia-sqop/versions - https://repology.org/project/sequoia-sop/versions We see the latter is the more abundant, hence the rename. The alias is not a warning in order to express the fact it is still legitimate to address this project as sqop - named after the command line main program. --- pkgs/by-name/se/{sequoia-sqop => sequoia-sop}/package.nix | 4 +--- pkgs/top-level/aliases.nix | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) rename pkgs/by-name/se/{sequoia-sqop => sequoia-sop}/package.nix (92%) diff --git a/pkgs/by-name/se/sequoia-sqop/package.nix b/pkgs/by-name/se/sequoia-sop/package.nix similarity index 92% rename from pkgs/by-name/se/sequoia-sqop/package.nix rename to pkgs/by-name/se/sequoia-sop/package.nix index da1c71fe3be9..976c2334d062 100644 --- a/pkgs/by-name/se/sequoia-sqop/package.nix +++ b/pkgs/by-name/se/sequoia-sop/package.nix @@ -10,13 +10,11 @@ }: rustPlatform.buildRustPackage (finalAttrs: { - pname = "sequoia-sqop"; + pname = "sequoia-sop"; version = "0.37.3"; src = fetchFromGitLab { owner = "sequoia-pgp"; - # From some reason the repository is not sequoia-sqop - like the command - # generated etc repo = "sequoia-sop"; tag = "v${finalAttrs.version}"; hash = "sha256-7fyItwtzNia97fbLJ1YkpkS7KmCo3I81uksh3lNvxwU="; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 479af8a8f89e..17f75a3bbad7 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1532,6 +1532,7 @@ mapAliases { seahub = throw "'seahub' has been removed as it is unmaintained"; # Added 2025-08-21 semiphemeral = throw "'semiphemeral' has been removed as it is archived upstream"; # Added 2025-11-06 sequoia = throw "'sequoia' has been renamed to/replaced by 'sequoia-sq'"; # Converted to throw 2025-10-27 + sequoia-sqop = sequoia-sop; # Added 2026-01-23 serverless = throw "'serverless' has been removed because version 3.x is unmaintained upstream and vulnerable, and version 4.x lacks a suitable binary or source download."; # Added 2025-11-22 session-desktop-appimage = throw "'session-desktop-appimage' has been renamed to/replaced by 'session-desktop'"; # Converted to throw 2025-10-27 sexp = throw "'sexp' has been renamed to/replaced by 'sexpp'"; # Converted to throw 2025-10-27 From 6ec6f2a69444e756a3330b49dc9a739db14bfc76 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 02:34:38 +0000 Subject: [PATCH 1105/1216] terraform-mcp-server: 0.3.3 -> 0.4.0 --- pkgs/by-name/te/terraform-mcp-server/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/terraform-mcp-server/package.nix b/pkgs/by-name/te/terraform-mcp-server/package.nix index ed913bb669e2..1062be057f8f 100644 --- a/pkgs/by-name/te/terraform-mcp-server/package.nix +++ b/pkgs/by-name/te/terraform-mcp-server/package.nix @@ -6,16 +6,16 @@ }: buildGoModule (finalAttrs: { pname = "terraform-mcp-server"; - version = "0.3.3"; + version = "0.4.0"; src = fetchFromGitHub { owner = "hashicorp"; repo = "terraform-mcp-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-DPm5kmlQNsE+C/CUzPML6HG32E5UZOacQw91lAuECOs="; + hash = "sha256-+fqhSF+5XNqmIgqUBNNDUOUkVwV8ZdMjqWxNSxMKMrA="; }; - vendorHash = "sha256-n5mneP4S8TZClaaVEykuAzcSDj0Y4YSl/o5ril3+hNo="; + vendorHash = "sha256-L6Fak8NKEQOzeX/xFpqsqSS/BgtFUKGkFD2+418bANE="; ldflags = [ "-X main.version=${finalAttrs.version}" From ae53baf979ef072cc52cd6fceac6efcaaebc50d8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 02:53:38 +0000 Subject: [PATCH 1106/1216] python3Packages.publicsuffixlist: 1.0.2.20260117 -> 1.0.2.20260121 --- pkgs/development/python-modules/publicsuffixlist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 6d7128a5a390..69ea1c5ee429 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -11,12 +11,12 @@ buildPythonPackage (finalAttrs: { pname = "publicsuffixlist"; - version = "1.0.2.20260117"; + version = "1.0.2.20260121"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-JOESMNtP5Nfmi7QyA/gL9Sf2FMBiWn3CdJ17BETYWOU="; + hash = "sha256-3CjU0m330GWrQksBe7d9W8PZfAIyzZ80MlDNewgWC78="; }; postPatch = '' From ef3d0ccd326652f59c369479ce83764157486ebb Mon Sep 17 00:00:00 2001 From: Brenton Simpson Date: Fri, 16 Jan 2026 14:42:46 -0500 Subject: [PATCH 1107/1216] godot3: 3.6 -> 3.6.2 --- pkgs/development/tools/godot/3/default.nix | 7 +- ....patch => hardcodeGlueVersion_3.6.2.patch} | 2 +- .../tools/godot/3/mono/update-glue-version.sh | 2 +- ...e-MonoGCHandle-into-gdmono-namespace.patch | 403 ------------------ 4 files changed, 4 insertions(+), 410 deletions(-) rename pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/{hardcodeGlueVersion_3.6.patch => hardcodeGlueVersion_3.6.2.patch} (97%) delete mode 100644 pkgs/development/tools/godot/3/patches/move-MonoGCHandle-into-gdmono-namespace.patch diff --git a/pkgs/development/tools/godot/3/default.nix b/pkgs/development/tools/godot/3/default.nix index de5e613d1401..e822ccb73999 100644 --- a/pkgs/development/tools/godot/3/default.nix +++ b/pkgs/development/tools/godot/3/default.nix @@ -28,14 +28,14 @@ stdenv.mkDerivation (self: { pname = "godot3"; - version = "3.6"; + version = "3.6.2"; godotBuildDescription = "X11 tools"; src = fetchFromGitHub { owner = "godotengine"; repo = "godot"; rev = "${self.version}-stable"; - sha256 = "sha256-4WQYO1BBDK9+eyblpI8qRgbBG4+qPRVZMjeAFAtot+0="; + hash = "sha256-loNjE+NmHniZ827Eb9MHSNo27F2LrURhWURjUq4d8xw="; }; # Fix PIE hardening: https://github.com/godotengine/godot/pull/50737 @@ -83,9 +83,6 @@ stdenv.mkDerivation (self: { # of the OS. This isn't as surgical as just fixing the PATH, but it seems to work, and # seems to be the Nix community's current strategy when using Scons. /SConstruct/dontClobberEnvironment.patch - # Fix compile error with mono 6.14 - # https://github.com/godotengine/godot/pull/106578 - /move-MonoGCHandle-into-gdmono-namespace.patch ]; enableParallelBuilding = true; diff --git a/pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/hardcodeGlueVersion_3.6.patch b/pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/hardcodeGlueVersion_3.6.2.patch similarity index 97% rename from pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/hardcodeGlueVersion_3.6.patch rename to pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/hardcodeGlueVersion_3.6.2.patch index 02adebb37147..1fc353e7cea3 100644 --- a/pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/hardcodeGlueVersion_3.6.patch +++ b/pkgs/development/tools/godot/3/mono/patches/gen_cs_glue_version.py/hardcodeGlueVersion_3.6.2.patch @@ -16,7 +16,7 @@ index 98bbb4d9be..5189f2551b 100644 - latest_mtime = mtime if mtime > latest_mtime else latest_mtime - - glue_version = int(latest_mtime) # The latest modified time will do for now -+ glue_version = 1725828088 ++ glue_version = 1761170065 with open(version_header_dst, "w") as version_header: version_header.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") diff --git a/pkgs/development/tools/godot/3/mono/update-glue-version.sh b/pkgs/development/tools/godot/3/mono/update-glue-version.sh index bf409ae3e7c9..8c779b005f3f 100755 --- a/pkgs/development/tools/godot/3/mono/update-glue-version.sh +++ b/pkgs/development/tools/godot/3/mono/update-glue-version.sh @@ -16,7 +16,7 @@ gdversion=$1 # Download and extract the official stable 64-bit X11 mono build of Godot. gddir="$(mktemp -d)" trap 'rm -rf -- "$gddir"' EXIT -wget -P "$gddir" https://downloads.tuxfamily.org/godotengine/$gdversion/mono/Godot_v$gdversion-stable_mono_x11_64.zip +wget -O "$gddir"/Godot_v$gdversion-stable_mono_x11_64.zip "https://downloads.godotengine.org/?version=$gdversion&flavor=stable&slug=mono_x11_64.zip&platform=linux.64" unzip "$gddir"/Godot_v$gdversion-stable_mono_x11_64.zip -d "$gddir" # Generate the mono glue from the official build. diff --git a/pkgs/development/tools/godot/3/patches/move-MonoGCHandle-into-gdmono-namespace.patch b/pkgs/development/tools/godot/3/patches/move-MonoGCHandle-into-gdmono-namespace.patch deleted file mode 100644 index 6abfec210ea9..000000000000 --- a/pkgs/development/tools/godot/3/patches/move-MonoGCHandle-into-gdmono-namespace.patch +++ /dev/null @@ -1,403 +0,0 @@ -From 7f90c622f5f04ad6aed5729913684a64827b751f Mon Sep 17 00:00:00 2001 -From: David McFarland -Date: Sun, 18 May 2025 20:56:50 -0300 -Subject: [PATCH] mono: move MonoGCHandle into gdmono namespace - -This conflicts with ::MonoGCHandle in mono 6.14 (maintained by winehq). ---- - modules/mono/csharp_script.cpp | 44 +++++++++++----------- - modules/mono/csharp_script.h | 10 ++--- - modules/mono/glue/base_object_glue.cpp | 4 +- - modules/mono/mono_gc_handle.cpp | 4 ++ - modules/mono/mono_gc_handle.h | 4 ++ - modules/mono/mono_gd/gd_mono_cache.cpp | 4 +- - modules/mono/mono_gd/gd_mono_cache.h | 2 +- - modules/mono/mono_gd/gd_mono_internals.cpp | 4 +- - modules/mono/mono_gd/gd_mono_utils.cpp | 4 +- - modules/mono/signal_awaiter_utils.cpp | 2 +- - modules/mono/signal_awaiter_utils.h | 4 +- - 11 files changed, 47 insertions(+), 39 deletions(-) - -diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp -index fa041f4cba..2ad9722eca 100644 ---- a/modules/mono/csharp_script.cpp -+++ b/modules/mono/csharp_script.cpp -@@ -653,7 +653,7 @@ void CSharpLanguage::pre_unsafe_unreference(Object *p_obj) { - - void CSharpLanguage::frame() { - if (gdmono && gdmono->is_runtime_initialized() && gdmono->get_core_api_assembly() != NULL) { -- const Ref &task_scheduler_handle = GDMonoCache::cached_data.task_scheduler_handle; -+ const Ref &task_scheduler_handle = GDMonoCache::cached_data.task_scheduler_handle; - - if (task_scheduler_handle.is_valid()) { - MonoObject *task_scheduler = task_scheduler_handle->get_target(); -@@ -1189,15 +1189,15 @@ void CSharpLanguage::set_language_index(int p_idx) { - lang_idx = p_idx; - } - --void CSharpLanguage::release_script_gchandle(Ref &p_gchandle) { -+void CSharpLanguage::release_script_gchandle(Ref &p_gchandle) { - if (!p_gchandle->is_released()) { // Do not lock unnecessarily - MutexLock lock(get_singleton()->script_gchandle_release_mutex); - p_gchandle->release(); - } - } - --void CSharpLanguage::release_script_gchandle(MonoObject *p_expected_obj, Ref &p_gchandle) { -- uint32_t pinned_gchandle = MonoGCHandle::new_strong_handle_pinned(p_expected_obj); // We might lock after this, so pin it -+void CSharpLanguage::release_script_gchandle(MonoObject *p_expected_obj, Ref &p_gchandle) { -+ uint32_t pinned_gchandle = gdmono::MonoGCHandle::new_strong_handle_pinned(p_expected_obj); // We might lock after this, so pin it - - if (!p_gchandle->is_released()) { // Do not lock unnecessarily - MutexLock lock(get_singleton()->script_gchandle_release_mutex); -@@ -1213,7 +1213,7 @@ void CSharpLanguage::release_script_gchandle(MonoObject *p_expected_obj, Ref::Element *)data)->get(); -- Ref &gchandle = script_binding.gchandle; -+ Ref &gchandle = script_binding.gchandle; - - if (!script_binding.inited) - return; -@@ -1368,9 +1368,9 @@ void CSharpLanguage::refcount_incremented_instance_binding(Object *p_object) { - return; // Called after the managed side was collected, so nothing to do here - - // Release the current weak handle and replace it with a strong handle. -- uint32_t strong_gchandle = MonoGCHandle::new_strong_handle(target); -+ uint32_t strong_gchandle = gdmono::MonoGCHandle::new_strong_handle(target); - gchandle->release(); -- gchandle->set_handle(strong_gchandle, MonoGCHandle::STRONG_HANDLE); -+ gchandle->set_handle(strong_gchandle, gdmono::MonoGCHandle::STRONG_HANDLE); - } - } - -@@ -1386,7 +1386,7 @@ bool CSharpLanguage::refcount_decremented_instance_binding(Object *p_object) { - CRASH_COND(!data); - - CSharpScriptBinding &script_binding = ((Map::Element *)data)->get(); -- Ref &gchandle = script_binding.gchandle; -+ Ref &gchandle = script_binding.gchandle; - - int refcount = ref_owner->reference_get_count(); - -@@ -1404,9 +1404,9 @@ bool CSharpLanguage::refcount_decremented_instance_binding(Object *p_object) { - return refcount == 0; // Called after the managed side was collected, so nothing to do here - - // Release the current strong handle and replace it with a weak handle. -- uint32_t weak_gchandle = MonoGCHandle::new_weak_handle(target); -+ uint32_t weak_gchandle = gdmono::MonoGCHandle::new_weak_handle(target); - gchandle->release(); -- gchandle->set_handle(weak_gchandle, MonoGCHandle::WEAK_HANDLE); -+ gchandle->set_handle(weak_gchandle, gdmono::MonoGCHandle::WEAK_HANDLE); - - return false; - } -@@ -1414,7 +1414,7 @@ bool CSharpLanguage::refcount_decremented_instance_binding(Object *p_object) { - return refcount == 0; - } - --CSharpInstance *CSharpInstance::create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref &p_gchandle) { -+CSharpInstance *CSharpInstance::create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref &p_gchandle) { - CSharpInstance *instance = memnew(CSharpInstance); - - Reference *ref = Object::cast_to(p_owner); -@@ -1832,7 +1832,7 @@ MonoObject *CSharpInstance::_internal_new_managed() { - } - - // Tie managed to unmanaged -- gchandle = MonoGCHandle::create_strong(mono_object); -+ gchandle = gdmono::MonoGCHandle::create_strong(mono_object); - - if (base_ref) - _reference_owner_unsafe(); // Here, after assigning the gchandle (for the refcount_incremented callback) -@@ -1902,9 +1902,9 @@ void CSharpInstance::refcount_incremented() { - // so the owner must hold the managed side alive again to avoid it from being GCed. - - // Release the current weak handle and replace it with a strong handle. -- uint32_t strong_gchandle = MonoGCHandle::new_strong_handle(gchandle->get_target()); -+ uint32_t strong_gchandle = gdmono::MonoGCHandle::new_strong_handle(gchandle->get_target()); - gchandle->release(); -- gchandle->set_handle(strong_gchandle, MonoGCHandle::STRONG_HANDLE); -+ gchandle->set_handle(strong_gchandle, gdmono::MonoGCHandle::STRONG_HANDLE); - } - } - -@@ -1925,9 +1925,9 @@ bool CSharpInstance::refcount_decremented() { - // the managed instance takes responsibility of deleting the owner when GCed. - - // Release the current strong handle and replace it with a weak handle. -- uint32_t weak_gchandle = MonoGCHandle::new_weak_handle(gchandle->get_target()); -+ uint32_t weak_gchandle = gdmono::MonoGCHandle::new_weak_handle(gchandle->get_target()); - gchandle->release(); -- gchandle->set_handle(weak_gchandle, MonoGCHandle::WEAK_HANDLE); -+ gchandle->set_handle(weak_gchandle, gdmono::MonoGCHandle::WEAK_HANDLE); - - return false; - } -@@ -2298,7 +2298,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptInstance *p_instance_to_upda - return false; - } - -- tmp_pinned_gchandle = MonoGCHandle::new_strong_handle_pinned(tmp_object); // pin it (not sure if needed) -+ tmp_pinned_gchandle = gdmono::MonoGCHandle::new_strong_handle_pinned(tmp_object); // pin it (not sure if needed) - - GDMonoMethod *ctor = script_class->get_method(CACHED_STRING_NAME(dotctor), 0); - -@@ -2313,7 +2313,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptInstance *p_instance_to_upda - if (ctor_exc) { - // TODO: Should we free 'tmp_native' if the exception was thrown after its creation? - -- MonoGCHandle::free_handle(tmp_pinned_gchandle); -+ gdmono::MonoGCHandle::free_handle(tmp_pinned_gchandle); - tmp_object = NULL; - - ERR_PRINT("Exception thrown from constructor of temporary MonoObject:"); -@@ -2409,7 +2409,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptInstance *p_instance_to_upda - GDMonoUtils::debug_print_unhandled_exception(exc); - } - -- MonoGCHandle::free_handle(tmp_pinned_gchandle); -+ gdmono::MonoGCHandle::free_handle(tmp_pinned_gchandle); - tmp_object = NULL; - - if (tmp_native && !base_ref) { -@@ -2970,7 +2970,7 @@ CSharpInstance *CSharpScript::_create_instance(const Variant **p_args, int p_arg - } - - // Tie managed to unmanaged -- instance->gchandle = MonoGCHandle::create_strong(mono_object); -+ instance->gchandle = gdmono::MonoGCHandle::create_strong(mono_object); - - if (instance->base_ref) - instance->_reference_owner_unsafe(); // Here, after assigning the gchandle (for the refcount_incremented callback) -diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h -index 3be55848d5..7b3981ef90 100644 ---- a/modules/mono/csharp_script.h -+++ b/modules/mono/csharp_script.h -@@ -220,7 +220,7 @@ class CSharpInstance : public ScriptInstance { - bool destructing_script_instance; - - Ref script; -- Ref gchandle; -+ Ref gchandle; - - bool _reference_owner_unsafe(); - -@@ -236,7 +236,7 @@ class CSharpInstance : public ScriptInstance { - - // Do not use unless you know what you are doing - friend void GDMonoInternals::tie_managed_to_unmanaged(MonoObject *, Object *); -- static CSharpInstance *create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref &p_gchandle); -+ static CSharpInstance *create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref &p_gchandle); - - void _call_multilevel(MonoObject *p_mono_object, const StringName &p_method, const Variant **p_args, int p_argcount); - -@@ -293,7 +293,7 @@ struct CSharpScriptBinding { - bool inited; - StringName type_name; - GDMonoClass *wrapper_class; -- Ref gchandle; -+ Ref gchandle; - Object *owner; - }; - -@@ -371,8 +371,8 @@ public: - _FORCE_INLINE_ EditorPlugin *get_godotsharp_editor() const { return godotsharp_editor; } - #endif - -- static void release_script_gchandle(Ref &p_gchandle); -- static void release_script_gchandle(MonoObject *p_expected_obj, Ref &p_gchandle); -+ static void release_script_gchandle(Ref &p_gchandle); -+ static void release_script_gchandle(MonoObject *p_expected_obj, Ref &p_gchandle); - - bool debug_break(const String &p_error, bool p_allow_continue = true); - bool debug_break_parse(const String &p_file, int p_line, const String &p_error); -diff --git a/modules/mono/glue/base_object_glue.cpp b/modules/mono/glue/base_object_glue.cpp -index 7a3ec459de..4931583884 100644 ---- a/modules/mono/glue/base_object_glue.cpp -+++ b/modules/mono/glue/base_object_glue.cpp -@@ -70,7 +70,7 @@ void godot_icall_Object_Disposed(MonoObject *p_obj, Object *p_ptr) { - if (data) { - CSharpScriptBinding &script_binding = ((Map::Element *)data)->get(); - if (script_binding.inited) { -- Ref &gchandle = script_binding.gchandle; -+ Ref &gchandle = script_binding.gchandle; - if (gchandle.is_valid()) { - CSharpLanguage::release_script_gchandle(p_obj, gchandle); - } -@@ -117,7 +117,7 @@ void godot_icall_Reference_Disposed(MonoObject *p_obj, Object *p_ptr, MonoBoolea - if (data) { - CSharpScriptBinding &script_binding = ((Map::Element *)data)->get(); - if (script_binding.inited) { -- Ref &gchandle = script_binding.gchandle; -+ Ref &gchandle = script_binding.gchandle; - if (gchandle.is_valid()) { - CSharpLanguage::release_script_gchandle(p_obj, gchandle); - } -diff --git a/modules/mono/mono_gc_handle.cpp b/modules/mono/mono_gc_handle.cpp -index eb2227dd78..e70c701331 100644 ---- a/modules/mono/mono_gc_handle.cpp -+++ b/modules/mono/mono_gc_handle.cpp -@@ -32,6 +32,8 @@ - - #include "mono_gd/gd_mono.h" - -+namespace gdmono { -+ - uint32_t MonoGCHandle::new_strong_handle(MonoObject *p_object) { - return mono_gchandle_new(p_object, /* pinned: */ false); - } -@@ -76,3 +78,5 @@ MonoGCHandle::MonoGCHandle(uint32_t p_handle, HandleType p_handle_type) { - MonoGCHandle::~MonoGCHandle() { - release(); - } -+ -+} // namespace gdmono -diff --git a/modules/mono/mono_gc_handle.h b/modules/mono/mono_gc_handle.h -index 5f99a46479..28fcbd7a78 100644 ---- a/modules/mono/mono_gc_handle.h -+++ b/modules/mono/mono_gc_handle.h -@@ -35,6 +35,8 @@ - - #include "core/reference.h" - -+namespace gdmono { -+ - class MonoGCHandle : public Reference { - GDCLASS(MonoGCHandle, Reference); - -@@ -72,4 +74,6 @@ public: - ~MonoGCHandle(); - }; - -+} // namespace gdmono -+ - #endif // MONO_GC_HANDLE_H -diff --git a/modules/mono/mono_gd/gd_mono_cache.cpp b/modules/mono/mono_gd/gd_mono_cache.cpp -index 2ece9d0f36..976a8f2ff2 100644 ---- a/modules/mono/mono_gd/gd_mono_cache.cpp -+++ b/modules/mono/mono_gd/gd_mono_cache.cpp -@@ -178,7 +178,7 @@ void CachedData::clear_godot_api_cache() { - - // End of MarshalUtils methods - -- task_scheduler_handle = Ref(); -+ task_scheduler_handle = Ref(); - } - - #define GODOT_API_CLASS(m_class) (GDMono::get_singleton()->get_core_api_assembly()->get_class(BINDINGS_NAMESPACE, #m_class)) -@@ -300,7 +300,7 @@ void update_godot_api_cache() { - // TODO Move to CSharpLanguage::init() and do handle disposal - MonoObject *task_scheduler = mono_object_new(mono_domain_get(), GODOT_API_CLASS(GodotTaskScheduler)->get_mono_ptr()); - GDMonoUtils::runtime_object_init(task_scheduler, GODOT_API_CLASS(GodotTaskScheduler)); -- cached_data.task_scheduler_handle = MonoGCHandle::create_strong(task_scheduler); -+ cached_data.task_scheduler_handle = gdmono::MonoGCHandle::create_strong(task_scheduler); - - cached_data.godot_api_cache_updated = true; - } -diff --git a/modules/mono/mono_gd/gd_mono_cache.h b/modules/mono/mono_gd/gd_mono_cache.h -index 2ed8482552..a4e05bbf5b 100644 ---- a/modules/mono/mono_gd/gd_mono_cache.h -+++ b/modules/mono/mono_gd/gd_mono_cache.h -@@ -149,7 +149,7 @@ struct CachedData { - - // End of MarshalUtils methods - -- Ref task_scheduler_handle; -+ Ref task_scheduler_handle; - - bool corlib_cache_updated; - bool godot_api_cache_updated; -diff --git a/modules/mono/mono_gd/gd_mono_internals.cpp b/modules/mono/mono_gd/gd_mono_internals.cpp -index 4d2209ccec..a0102335b7 100644 ---- a/modules/mono/mono_gd/gd_mono_internals.cpp -+++ b/modules/mono/mono_gd/gd_mono_internals.cpp -@@ -71,7 +71,7 @@ void tie_managed_to_unmanaged(MonoObject *managed, Object *unmanaged) { - script_binding.inited = true; - script_binding.type_name = NATIVE_GDMONOCLASS_NAME(klass); - script_binding.wrapper_class = klass; -- script_binding.gchandle = ref ? MonoGCHandle::create_weak(managed) : MonoGCHandle::create_strong(managed); -+ script_binding.gchandle = ref ? gdmono::MonoGCHandle::create_weak(managed) : gdmono::MonoGCHandle::create_strong(managed); - script_binding.owner = unmanaged; - - if (ref) { -@@ -101,7 +101,7 @@ void tie_managed_to_unmanaged(MonoObject *managed, Object *unmanaged) { - return; - } - -- Ref gchandle = ref ? MonoGCHandle::create_weak(managed) : MonoGCHandle::create_strong(managed); -+ Ref gchandle = ref ? gdmono::MonoGCHandle::create_weak(managed) : gdmono::MonoGCHandle::create_strong(managed); - - Ref script = CSharpScript::create_for_managed_type(klass, native); - -diff --git a/modules/mono/mono_gd/gd_mono_utils.cpp b/modules/mono/mono_gd/gd_mono_utils.cpp -index 4b6b0af21f..0f6545c6ef 100644 ---- a/modules/mono/mono_gd/gd_mono_utils.cpp -+++ b/modules/mono/mono_gd/gd_mono_utils.cpp -@@ -83,7 +83,7 @@ MonoObject *unmanaged_get_managed(Object *unmanaged) { - } - } - -- Ref &gchandle = script_binding.gchandle; -+ Ref &gchandle = script_binding.gchandle; - ERR_FAIL_COND_V(gchandle.is_null(), NULL); - - MonoObject *target = gchandle->get_target(); -@@ -103,7 +103,7 @@ MonoObject *unmanaged_get_managed(Object *unmanaged) { - MonoObject *mono_object = GDMonoUtils::create_managed_for_godot_object(script_binding.wrapper_class, script_binding.type_name, unmanaged); - ERR_FAIL_NULL_V(mono_object, NULL); - -- gchandle->set_handle(MonoGCHandle::new_strong_handle(mono_object), MonoGCHandle::STRONG_HANDLE); -+ gchandle->set_handle(gdmono::MonoGCHandle::new_strong_handle(mono_object), gdmono::MonoGCHandle::STRONG_HANDLE); - - // Tie managed to unmanaged - Reference *ref = Object::cast_to(unmanaged); -diff --git a/modules/mono/signal_awaiter_utils.cpp b/modules/mono/signal_awaiter_utils.cpp -index 6c7bb1028c..f3adf4cd77 100644 ---- a/modules/mono/signal_awaiter_utils.cpp -+++ b/modules/mono/signal_awaiter_utils.cpp -@@ -117,7 +117,7 @@ void SignalAwaiterHandle::_bind_methods() { - } - - SignalAwaiterHandle::SignalAwaiterHandle(MonoObject *p_managed) : -- MonoGCHandle(MonoGCHandle::new_strong_handle(p_managed), STRONG_HANDLE) { -+ gdmono::MonoGCHandle(gdmono::MonoGCHandle::new_strong_handle(p_managed), STRONG_HANDLE) { - #ifdef DEBUG_ENABLED - conn_target_id = 0; - #endif -diff --git a/modules/mono/signal_awaiter_utils.h b/modules/mono/signal_awaiter_utils.h -index 5a8154b001..8cf20e98fd 100644 ---- a/modules/mono/signal_awaiter_utils.h -+++ b/modules/mono/signal_awaiter_utils.h -@@ -39,8 +39,8 @@ namespace SignalAwaiterUtils { - Error connect_signal_awaiter(Object *p_source, const String &p_signal, Object *p_target, MonoObject *p_awaiter); - } - --class SignalAwaiterHandle : public MonoGCHandle { -- GDCLASS(SignalAwaiterHandle, MonoGCHandle); -+class SignalAwaiterHandle : public gdmono::MonoGCHandle { -+ GDCLASS(SignalAwaiterHandle, gdmono::MonoGCHandle); - - bool completed; - --- -2.49.0 - From d04b7ca6b17a7bf1334c45fd1fcc3160ea6ad941 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 03:14:07 +0000 Subject: [PATCH 1108/1216] archipelago: 0.6.5 -> 0.6.6 --- pkgs/by-name/ar/archipelago/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ar/archipelago/package.nix b/pkgs/by-name/ar/archipelago/package.nix index 8c751b6909d9..896c6224ab90 100644 --- a/pkgs/by-name/ar/archipelago/package.nix +++ b/pkgs/by-name/ar/archipelago/package.nix @@ -17,10 +17,10 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "archipelago"; - version = "0.6.5"; + version = "0.6.6"; src = fetchurl { url = "https://github.com/ArchipelagoMW/Archipelago/releases/download/${finalAttrs.version}/Archipelago_${finalAttrs.version}_linux-x86_64.AppImage"; - hash = "sha256-06EFpnMMz+yqqHDuUDw9AMBd0a0Ay7oVkzD4mna7XeM="; + hash = "sha256-mJ0bPBBou3BRqEW5QierjD0ohDBQ9J0jnoV4TCf9XOM="; }; dontUnpack = true; From 5b09e0805c21bf4cbc9d6a4d93d4145e1b18bb5c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 03:16:01 +0000 Subject: [PATCH 1109/1216] witr: 0.2.5 -> 0.2.6 --- pkgs/by-name/wi/witr/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wi/witr/package.nix b/pkgs/by-name/wi/witr/package.nix index d60643b00c32..b22c6fde110e 100644 --- a/pkgs/by-name/wi/witr/package.nix +++ b/pkgs/by-name/wi/witr/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "witr"; - version = "0.2.5"; + version = "0.2.6"; src = fetchFromGitHub { owner = "pranshuparmar"; repo = "witr"; tag = "v${finalAttrs.version}"; - hash = "sha256-2Du3Z6p/IqrP7uqB1fz0d0prCX02+Iw59wikviV7z84="; + hash = "sha256-0OjGVdZ6WZbEtrOmkygsA5UdPya3feGNQ3jdCvxiTM0="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; From 1db33ca9c0d4bedc2e9a6f08705f6e7b13bd0568 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Thu, 22 Jan 2026 22:28:57 -0500 Subject: [PATCH 1110/1216] forgejo-runner: 12.5.3 -> 12.6.0 Changelog: https://code.forgejo.org/forgejo/runner/releases/tag/v12.6.0 --- pkgs/by-name/fo/forgejo-runner/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fo/forgejo-runner/package.nix b/pkgs/by-name/fo/forgejo-runner/package.nix index 8f65d52bb8ce..74678dc7894a 100644 --- a/pkgs/by-name/fo/forgejo-runner/package.nix +++ b/pkgs/by-name/fo/forgejo-runner/package.nix @@ -49,17 +49,17 @@ let in buildGoModule rec { pname = "forgejo-runner"; - version = "12.5.3"; + version = "12.6.0"; src = fetchFromGitea { domain = "code.forgejo.org"; owner = "forgejo"; repo = "runner"; rev = "v${version}"; - hash = "sha256-qCk2GvPWKIQfEjYtx2Uc7GcVDehUu0/u4LP88FxoA9A="; + hash = "sha256-Otvv8NSGfze/WKN78nipVWkycqHh94ReHkVjYR8L0/E="; }; - vendorHash = "sha256-pGLZmSW7MKEy/K+njgcPv5a+7Qtf8mqUI4OwKhfEZXY="; + vendorHash = "sha256-fvSiEIE4XSJ8Ot4Tcmt8chD11fHVsECD2/8xrgIKhJs="; nativeBuildInputs = [ makeWrapper ]; From 5e1b797a817f8abffcf943c94f8ecbc626e0dbc9 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Thu, 22 Jan 2026 22:36:09 -0500 Subject: [PATCH 1111/1216] incus-ui-canonical: 0.19.0 -> 0.19.1 --- pkgs/by-name/in/incus-ui-canonical/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix index 45d18b3dff1d..8cbe264e6ca8 100644 --- a/pkgs/by-name/in/incus-ui-canonical/package.nix +++ b/pkgs/by-name/in/incus-ui-canonical/package.nix @@ -20,14 +20,14 @@ let in stdenv.mkDerivation rec { pname = "incus-ui-canonical"; - version = "0.19.0"; + version = "0.19.1"; src = fetchFromGitHub { owner = "zabbly"; repo = "incus-ui-canonical"; # only use tags prefixed by incus- they are the tested fork versions tag = "incus-${version}"; - hash = "sha256-d9L/6GtSBqa/H+KgK0iheNvS2BFazNWKGA94Lv99kr8="; + hash = "sha256-S/X/knSin3DRfpFGl4uvYtVJrozrBfiN8cfFH/RO10U="; }; offlineCache = fetchYarnDeps { From 16c43bebc85dd97aeef05a6031f1f804745ccad3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 03:41:47 +0000 Subject: [PATCH 1112/1216] tektoncd-cli-pac: 0.40.0 -> 0.41.0 --- pkgs/by-name/te/tektoncd-cli-pac/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli-pac/package.nix b/pkgs/by-name/te/tektoncd-cli-pac/package.nix index 5f76f4a8ba18..24b1fb5a78d2 100644 --- a/pkgs/by-name/te/tektoncd-cli-pac/package.nix +++ b/pkgs/by-name/te/tektoncd-cli-pac/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "tektoncd-cli-pac"; - version = "0.40.0"; + version = "0.41.0"; src = fetchFromGitHub { owner = "openshift-pipelines"; repo = "pipelines-as-code"; tag = "v${finalAttrs.version}"; - hash = "sha256-FHhJyOHaYaYvizNZ3iKsWy+CH9VWa8LXBmaawVdcaFo="; + hash = "sha256-j3HVaaW7fhaFK+Uv/zJXUBmylHV04QCFRr/V7cfeSNg="; }; vendorHash = null; From 160fbbd9d9abe56769d67c5676f0cc95b7546041 Mon Sep 17 00:00:00 2001 From: DamareonC Date: Thu, 22 Jan 2026 21:47:38 -0600 Subject: [PATCH 1113/1216] railway-wallet: 5.22.4 -> 5.24.13 --- pkgs/by-name/ra/railway-wallet/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ra/railway-wallet/package.nix b/pkgs/by-name/ra/railway-wallet/package.nix index d49aaec2096a..d21f4a4149b4 100644 --- a/pkgs/by-name/ra/railway-wallet/package.nix +++ b/pkgs/by-name/ra/railway-wallet/package.nix @@ -5,11 +5,11 @@ }: appimageTools.wrapType2 rec { pname = "railway-wallet"; - version = "5.22.4"; + version = "5.24.13"; src = fetchurl { - url = "https://github.com/Railway-Wallet/Railway-Wallet/releases/download/v${version}/Railway-v${version}-linux-x86_64.AppImage"; - hash = "sha256-ikVDbUQOAx1626qtmzObu5Uzppz/PZPTPB4/LWoWZmI="; + url = "https://github.com/Railway-Wallet/Railway-Wallet/releases/download/v${version}/Railway.linux.x86_64.AppImage"; + hash = "sha256-e1itj0wxlX2WqyDynxBeLi06bzxwz2/cR9RuOfCLxF8="; }; meta = { From b7ea7a57f02bebc94d7dfacf2af2c3f2288852f7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 04:10:00 +0000 Subject: [PATCH 1114/1216] vscode-extensions.shopify.ruby-lsp: 0.9.32 -> 0.9.33 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 42db867495b2..709adf1f55d4 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -4218,8 +4218,8 @@ let mktplcRef = { publisher = "shopify"; name = "ruby-lsp"; - version = "0.9.32"; - hash = "sha256-b8VFojeIkplnr48D8el0HeEtN47al/tgqgq52ozjw9M="; + version = "0.9.33"; + hash = "sha256-Dkx4ecPFXTX1ilerkcnUc6Pu/mnXpswYVnHWqR4TYOA="; }; meta = { description = "VS Code plugin for connecting with the Ruby LSP"; From db52b69a758441136d609d96222703390a7633bc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 04:17:30 +0000 Subject: [PATCH 1115/1216] ruqola: 2.5.1 -> 2.5.3 --- pkgs/by-name/ru/ruqola/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ru/ruqola/package.nix b/pkgs/by-name/ru/ruqola/package.nix index 37b5cec331ed..77d202231c8d 100644 --- a/pkgs/by-name/ru/ruqola/package.nix +++ b/pkgs/by-name/ru/ruqola/package.nix @@ -11,14 +11,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "ruqola"; - version = "2.5.1"; + version = "2.5.3"; src = fetchFromGitLab { domain = "invent.kde.org"; owner = "network"; repo = "ruqola"; tag = "v${finalAttrs.version}"; - hash = "sha256-Oeea+IX2H9UvLZnq6X4AjwH5O4VPCg/RHRwohidPalo="; + hash = "sha256-OX4eATqcV7k+TIHQINujT5opItDwffIxC577M9q5ef8="; }; nativeBuildInputs = [ From b7538bb06bac0acb6002353b55dde19f9374678c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 04:57:27 +0000 Subject: [PATCH 1116/1216] examine: 1.0.0 -> 2.0.0 --- pkgs/by-name/ex/examine/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ex/examine/package.nix b/pkgs/by-name/ex/examine/package.nix index 9a58f9238cf3..e55e7959ce1e 100644 --- a/pkgs/by-name/ex/examine/package.nix +++ b/pkgs/by-name/ex/examine/package.nix @@ -12,16 +12,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "examine"; - version = "1.0.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "cosmic-utils"; repo = "examine"; tag = finalAttrs.version; - hash = "sha256-9xYUJeAYqnDYZzjWM21HuSNDY+ZcUlTdj/g/MUH2A54="; + hash = "sha256-6U8reOzeqamX/MG/mWbso+kjuZQ6cK8j9XhuEtGZ1q4="; }; - cargoHash = "sha256-BcBCPkahV6+xw+K+Vk4QjwX5QI1j4hNkD9YTyL24iRA="; + cargoHash = "sha256-V+ClzaG7LnkOl84j5mVGJPTLVfaVqxaSH7ufmjXdwyM="; nativeBuildInputs = [ just From d262d00199206415c239f55024d24f25d5a2c072 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Thu, 13 Nov 2025 17:04:33 +0900 Subject: [PATCH 1117/1216] lima: 1.2.2 -> 2.0.1 Diff: https://github.com/lima-vm/lima/compare/v1.2.2...v2.0.1 Release: https://github.com/lima-vm/lima/releases/tag/v2.0.1 2.0.0 replaced a call to the external pkill command with an internal function. This change conflicts with the current nixpkgs patch, so we must remove the patch to prevent a build error. Updates: a9b8ff8c8cae79f4f849840895a85b9f7af55545 2.0.0: Replace a pkill call: https://github.com/lima-vm/lima/commit/75079f679b196d06904de2a63c5add3948706e2f 2.0.1: Adds graceful shutdown support: https://github.com/lima-vm/lima/commit/e769391e72d5bc0438b16fcf5cf622a85cb4bc42 --- doc/release-notes/rl-2605.section.md | 2 ++ pkgs/by-name/li/lima/package.nix | 6 ------ pkgs/by-name/li/lima/source.nix | 6 +++--- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index eba4e051f8cd..b3a9039d0e12 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -72,6 +72,8 @@ - `forgejo` has been updated to major version 14. For more information, see the [release blog post](https://forgejo.org/2026-01-release-v14-0/) and [full release notes](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/14.0.0.md) +- `lima` has been updated from `1.x` to `2.x`. This major update includes several breaking changes, such as `/tmp/lima` no longer being mounted by default. + - `n8n` has been updated to version 2. You can find the breaking changes here: https://docs.n8n.io/2-0-breaking-changes/. - `gurk-rs` has been updated from `0.6.4` to `0.8.0`. Version `0.8.0` includes breaking changes. For more information read the [release notes for 0.8.0](https://github.com/boxdot/gurk-rs/releases/tag/v0.8.0). diff --git a/pkgs/by-name/li/lima/package.nix b/pkgs/by-name/li/lima/package.nix index 55c4f1f44327..d0ac229e876c 100644 --- a/pkgs/by-name/li/lima/package.nix +++ b/pkgs/by-name/li/lima/package.nix @@ -4,7 +4,6 @@ buildGoModule, callPackage, installShellFiles, - procps, qemu, darwin, makeWrapper, @@ -41,11 +40,6 @@ buildGoModule (finalAttrs: { substituteInPlace Makefile \ --replace-fail 'codesign -f -v --entitlements vz.entitlements -s -' 'codesign -f --entitlements vz.entitlements -s -' \ --replace-fail 'rm -rf _output vendor' 'rm -rf _output' - '' - # fixed upstream, remove when version >=2.0.0 - + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - substituteInPlace pkg/networks/usernet/recoincile.go \ - --replace-fail '/usr/bin/pkill' '${lib.getExe' procps "pkill"}' ''; # It attaches entitlements with codesign and strip removes those, diff --git a/pkgs/by-name/li/lima/source.nix b/pkgs/by-name/li/lima/source.nix index 133ad36dd22d..0002b5045139 100644 --- a/pkgs/by-name/li/lima/source.nix +++ b/pkgs/by-name/li/lima/source.nix @@ -3,7 +3,7 @@ }: let - version = "1.2.2"; + version = "2.0.1"; in { inherit version; @@ -12,8 +12,8 @@ in owner = "lima-vm"; repo = "lima"; tag = "v${version}"; - hash = "sha256-bIYF/bsOMuWTkjD6fe6by220/WQGL+VWEBXmUzyXU98="; + hash = "sha256-GPrx4pvD6AxYIvAS+Mz8gFZ/Z7HeFFoHh3LOtAJ9bhI="; }; - vendorHash = "sha256-8S5tAL7GY7dxNdyC+WOrOZ+GfTKTSX84sG8WcSec2Os="; + vendorHash = "sha256-dA6zdrhN73Y8InlrCEdHgYwe5xbUlvKx0IMis2nWgWE="; } From e7c610b4da22b4fa498584ef0f1d25a8f571cb42 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Mon, 24 Nov 2025 23:36:04 +0900 Subject: [PATCH 1118/1216] lima: 2.0.1 -> 2.0.2 Diff: https://github.com/lima-vm/lima/compare/v2.0.1...v2.0.2 Release: https://github.com/lima-vm/lima/releases/tag/v2.0.2 --- pkgs/by-name/li/lima/source.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lima/source.nix b/pkgs/by-name/li/lima/source.nix index 0002b5045139..e03d087ea50a 100644 --- a/pkgs/by-name/li/lima/source.nix +++ b/pkgs/by-name/li/lima/source.nix @@ -3,7 +3,7 @@ }: let - version = "2.0.1"; + version = "2.0.2"; in { inherit version; @@ -12,8 +12,8 @@ in owner = "lima-vm"; repo = "lima"; tag = "v${version}"; - hash = "sha256-GPrx4pvD6AxYIvAS+Mz8gFZ/Z7HeFFoHh3LOtAJ9bhI="; + hash = "sha256-MWNvHHyf2qZxt83D22tTKR6EXAeAgcoXE1YjXHc9SwQ="; }; - vendorHash = "sha256-dA6zdrhN73Y8InlrCEdHgYwe5xbUlvKx0IMis2nWgWE="; + vendorHash = "sha256-fCqAf0buqA6GajP7SIsVPyKM3jY2n9CbS5hpa3dsWbc="; } From 645c4c608fe3f99c31387c019a2a8ae111f645f1 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Thu, 25 Dec 2025 09:21:35 +0000 Subject: [PATCH 1119/1216] lima: 2.0.2 -> 2.0.3 Diff: https://github.com/lima-vm/lima/compare/v2.0.2...v2.0.3 Release: https://github.com/lima-vm/lima/releases/tag/v2.0.3 --- pkgs/by-name/li/lima/source.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lima/source.nix b/pkgs/by-name/li/lima/source.nix index e03d087ea50a..215f72966a26 100644 --- a/pkgs/by-name/li/lima/source.nix +++ b/pkgs/by-name/li/lima/source.nix @@ -3,7 +3,7 @@ }: let - version = "2.0.2"; + version = "2.0.3"; in { inherit version; @@ -12,8 +12,8 @@ in owner = "lima-vm"; repo = "lima"; tag = "v${version}"; - hash = "sha256-MWNvHHyf2qZxt83D22tTKR6EXAeAgcoXE1YjXHc9SwQ="; + hash = "sha256-NoHNmJ6z7eZTzjl8ps3wFY2e68FcoBsu5ZhE0NXt95g="; }; - vendorHash = "sha256-fCqAf0buqA6GajP7SIsVPyKM3jY2n9CbS5hpa3dsWbc="; + vendorHash = "sha256-SeLYVQI+ZIbR9qVaNyF89VUvXdfv1M5iM+Cbas6e2E0="; } From b906728b85a180ba0f333cb1622be374ad2e295e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 05:26:49 +0000 Subject: [PATCH 1120/1216] python3Packages.xiaomi-ble: 1.5.0 -> 1.6.0 --- pkgs/development/python-modules/xiaomi-ble/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index 720f60fbefd1..530e58584f15 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -18,14 +18,14 @@ buildPythonPackage (finalAttrs: { pname = "xiaomi-ble"; - version = "1.5.0"; + version = "1.6.0"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "xiaomi-ble"; tag = "v${finalAttrs.version}"; - hash = "sha256-t3aSZQlVXbLQJ1kLj5R/Oz1N6Y4osCKYZ2Yq2qH/tSo="; + hash = "sha256-BSWZCugyBnyan4Hl5RxY9IhyGwELl47EQiMrHjjUTKk="; }; build-system = [ poetry-core ]; From 8dd3cba0d3c5e0b42d3960714d23086092122ed3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 05:56:34 +0000 Subject: [PATCH 1121/1216] vscode-extensions.mechatroner.rainbow-csv: 3.24.0 -> 3.24.1 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 42db867495b2..2a410c10dbf9 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -2982,8 +2982,8 @@ let mktplcRef = { name = "rainbow-csv"; publisher = "mechatroner"; - version = "3.24.0"; - hash = "sha256-g9xY6JDx8RZyl4KFgIAVvQKydbwcEHLaUJPinUR89zM="; + version = "3.24.1"; + hash = "sha256-xZpK6pJNXnxudauzJihEi9VASRXi89+hn7vfF33qRgY="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/mechatroner.rainbow-csv/changelog"; From aa6f6a6ed27722d88acb43cea08fa340023527b2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 06:03:15 +0000 Subject: [PATCH 1122/1216] kardolus-chatgpt-cli: 1.10.2 -> 1.10.9 --- pkgs/by-name/ka/kardolus-chatgpt-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ka/kardolus-chatgpt-cli/package.nix b/pkgs/by-name/ka/kardolus-chatgpt-cli/package.nix index 95b5a611ead1..2b9224f1b845 100644 --- a/pkgs/by-name/ka/kardolus-chatgpt-cli/package.nix +++ b/pkgs/by-name/ka/kardolus-chatgpt-cli/package.nix @@ -9,18 +9,18 @@ buildGoModule (finalAttrs: { # "chatgpt-cli" is taken by another package with the same upsteam name. # To keep "pname" and "package attribute name" identical, the owners name (kardolus) gets prefixed as identifier. pname = "kardolus-chatgpt-cli"; - version = "1.10.2"; + version = "1.10.9"; src = fetchFromGitHub { owner = "kardolus"; repo = "chatgpt-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-Oc4r2cAE2y9WH0Tii8yIsLI7qR+Bhy4iqg1w0xe1EoY="; + hash = "sha256-FcDFRYzr+67SoBNQJSJSrLv1DS7Gm1Zjj4wllvY+I/I="; }; vendorHash = null; # The tests of kardolus/chatgpt-cli require an OpenAI API Key to be present in the environment, - # (e.g. https://github.com/kardolus/chatgpt-cli/blob/v1.10.2/test/contract/contract_test.go#L35) + # (e.g. https://github.com/kardolus/chatgpt-cli/blob/v1.10.9/test/contract/contract_test.go#L35) # which will not be the case in the pipeline. # Therefore, tests must be skipped. doCheck = false; From 989616a3697f61c7f6acf101aa158f986a65675b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 06:14:53 +0000 Subject: [PATCH 1123/1216] tomat: 2.8.0 -> 2.8.1 --- pkgs/by-name/to/tomat/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/tomat/package.nix b/pkgs/by-name/to/tomat/package.nix index 9e9223c52a36..723301f3bda6 100644 --- a/pkgs/by-name/to/tomat/package.nix +++ b/pkgs/by-name/to/tomat/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "tomat"; - version = "2.8.0"; + version = "2.8.1"; src = fetchFromGitHub { owner = "jolars"; repo = "tomat"; tag = "v${version}"; - hash = "sha256-Jj/ObyFRvsdwxEvTQCIbkFkR3Zrs7SsU11rOZxclA7E="; + hash = "sha256-91/yCWjuLOpeY0APJviElhLBWDM4a8ytUEYkp0oKuRk="; }; - cargoHash = "sha256-zmQ7Dk6a0F7XpD3BcOFU87to48j6J5+xNI2XGRx1u/E="; + cargoHash = "sha256-/EYSk7bsCnKNRGe/f6RH0L2h0KKU2uEQPSKgqi2a58g="; nativeBuildInputs = [ pkg-config From fb787faf79501f5464b7009ce04a8c27330e963a Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Thu, 22 Jan 2026 22:23:24 -0800 Subject: [PATCH 1124/1216] ncps: 0.6.3 -> 0.7.1 --- pkgs/by-name/nc/ncps/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nc/ncps/package.nix b/pkgs/by-name/nc/ncps/package.nix index cd8cb50b547a..3ee8196bc726 100644 --- a/pkgs/by-name/nc/ncps/package.nix +++ b/pkgs/by-name/nc/ncps/package.nix @@ -33,20 +33,20 @@ let finalAttrs = { pname = "ncps"; - version = "0.6.3"; + version = "0.7.1"; src = fetchFromGitHub { owner = "kalbasit"; repo = "ncps"; tag = "v${finalAttrs.version}"; - hash = "sha256-7fLtVloiTNOmPoVpESpiSUl7i+5SMLXRHbGPk9SilBc="; + hash = "sha256-U+97wTN7CxJZ+jOWxZHkN2IiNblb5WTPpnN5v98D2o8="; }; ldflags = [ "-X github.com/kalbasit/ncps/cmd.Version=v${finalAttrs.version}" ]; - vendorHash = "sha256-GuUhJ0Zf2Zjfgstxcy6/DAs0Eq7PU4aiiJMSNcNqsqI="; + vendorHash = "sha256-nnt4HIG4Fs7RhHjVb7mYJ39UgvFKc46Cu42cURMmr1s="; subPackages = [ "." ]; From f12af1fdb88f56d81e8629399d64567cf3eaa64c Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Thu, 22 Jan 2026 22:23:41 -0800 Subject: [PATCH 1125/1216] nixos/ncps: Allow postgres as a lock.backend option --- nixos/modules/services/networking/ncps.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/ncps.nix b/nixos/modules/services/networking/ncps.nix index 16737d63626d..2e33abd8b608 100644 --- a/nixos/modules/services/networking/ncps.nix +++ b/nixos/modules/services/networking/ncps.nix @@ -237,10 +237,12 @@ in type = lib.types.enum [ "local" "redis" + "postgres" ]; default = "local"; description = '' - Lock backend to use: 'local' (single instance), 'redis' (distributed). + Lock backend to use: 'local' (single instance), 'redis' + (distributed), or 'postgres' (distributed, requires PostgreSQL). ''; }; From 55bd40213a9c7d50d0c8c6f2fcdd6fc389631f1b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 06:23:54 +0000 Subject: [PATCH 1126/1216] halloy: 2025.12 -> 2026.1.1 --- pkgs/by-name/ha/halloy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ha/halloy/package.nix b/pkgs/by-name/ha/halloy/package.nix index 074d88c7e8f4..cff0316ca521 100644 --- a/pkgs/by-name/ha/halloy/package.nix +++ b/pkgs/by-name/ha/halloy/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage rec { pname = "halloy"; - version = "2025.12"; + version = "2026.1.1"; src = fetchFromGitHub { owner = "squidowl"; repo = "halloy"; tag = version; - hash = "sha256-rVeh0nvmRjfOErwUhiWBx3hHla9bA2mSOORNSqSOrfw="; + hash = "sha256-qQ6hNpOqI3yC26KqYYq42KjJw/bMzaXACpGyIXE2axo="; }; - cargoHash = "sha256-lxRLTVtc2Gu3x3bt4po4q5/sfmRXb7CslEQIP8hX0+Q="; + cargoHash = "sha256-LPVOm/96qWR93I0+wYp4M4P4R5Es0LdRM3y62WLU1u4="; nativeBuildInputs = [ copyDesktopItems From 91fe67e053f653920791443187768f29ab2a867e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 06:33:21 +0000 Subject: [PATCH 1127/1216] forecast: 0-unstable-2025-11-06 -> 0-unstable-2026-01-22 --- pkgs/by-name/fo/forecast/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fo/forecast/package.nix b/pkgs/by-name/fo/forecast/package.nix index eb572dde9377..1df971d8bb8d 100644 --- a/pkgs/by-name/fo/forecast/package.nix +++ b/pkgs/by-name/fo/forecast/package.nix @@ -16,13 +16,13 @@ rustPlatform.buildRustPackage { pname = "forecast"; - version = "0-unstable-2025-11-06"; + version = "0-unstable-2026-01-22"; src = fetchFromGitHub { owner = "cosmic-utils"; repo = "forecast"; - rev = "51814ecac320185911743986e8ab0211140fa456"; - hash = "sha256-XOqV9Z4l4aTgm2Abec7IE2bk8oX3RsAA8UxZuo6S5l8="; + rev = "c9d170dbf397d977346a61492612f2f2c5acb6a7"; + hash = "sha256-tOp79Qx7U5q1mFZy4Wh0BOu8+G42j5zGLQ79r+U4Qx8="; }; cargoHash = "sha256-di7zjwI0/6NB2cAih3d7iqwSb+o/607jbgJN1MtbZX8="; From da27e2f10031a5a078a66390affdf47291b5c751 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 06:41:23 +0000 Subject: [PATCH 1128/1216] reindeer: 2026.01.12.00 -> 2026.01.19.00 --- pkgs/by-name/re/reindeer/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/re/reindeer/package.nix b/pkgs/by-name/re/reindeer/package.nix index 162b1a203ebf..9651f5b863ed 100644 --- a/pkgs/by-name/re/reindeer/package.nix +++ b/pkgs/by-name/re/reindeer/package.nix @@ -9,7 +9,7 @@ rustPlatform.buildRustPackage rec { pname = "reindeer"; - version = "2026.01.12.00"; + version = "2026.01.19.00"; src = fetchFromGitHub { owner = "facebookincubator"; From 66b0eb1201c9f84cc2deed4a765c676b08c08278 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 06:54:50 +0000 Subject: [PATCH 1129/1216] mpvScripts.videoclip: 0-unstable-2025-11-20 -> 0-unstable-2026-01-19 --- pkgs/by-name/mp/mpv/scripts/videoclip.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mp/mpv/scripts/videoclip.nix b/pkgs/by-name/mp/mpv/scripts/videoclip.nix index 44643207f144..8c7c0b2b8b51 100644 --- a/pkgs/by-name/mp/mpv/scripts/videoclip.nix +++ b/pkgs/by-name/mp/mpv/scripts/videoclip.nix @@ -10,13 +10,13 @@ }: buildLua { pname = "videoclip"; - version = "0-unstable-2025-11-20"; + version = "0-unstable-2026-01-19"; src = fetchFromGitHub { owner = "Ajatt-Tools"; repo = "videoclip"; - rev = "1c6531b649d3ee526cc7aa360e726aeedf43beb9"; - hash = "sha256-lBXlvFrDC1Drz5JIiI6488UoFsXz18LAxqRpQmy1G0k="; + rev = "d2278972a5aac714b27c65f8acd92f0aee84cc77"; + hash = "sha256-OZLPKwBoFPo/1lHnUeGIwdLjkE3eogYLMLaFd2NqSV4="; }; patchPhase = '' From d5ebf1decdae8b3bdfd3ffe17876775fc8977618 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Fri, 23 Jan 2026 08:01:43 +0100 Subject: [PATCH 1130/1216] claude-code: 2.1.15 -> 2.1.17 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md --- pkgs/by-name/cl/claude-code/package-lock.json | 4 ++-- pkgs/by-name/cl/claude-code/package.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index f9766e4cfe2e..87ceac62db7b 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -1,12 +1,12 @@ { "name": "@anthropic-ai/claude-code", - "version": "2.1.15", + "version": "2.1.17", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@anthropic-ai/claude-code", - "version": "2.1.15", + "version": "2.1.17", "license": "SEE LICENSE IN README.md", "bin": { "claude": "cli.js" diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index 245e28f48a86..b9a8bc3bd664 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -15,14 +15,14 @@ }: buildNpmPackage (finalAttrs: { pname = "claude-code"; - version = "2.1.15"; + version = "2.1.17"; src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; - hash = "sha256-3zhjeAwKj1fMLuriX1qpVA8zaCk1oekJ1UmeEdDx4Xg="; + hash = "sha256-cLJ8qKa8OhGpjdB7l1KAcG73EvH5T+OUww3flAKWihI="; }; - npmDepsHash = "sha256-K5re0co3Tkz5peXHe/UUlsqAWq4YzSULdY9+xncfL5A="; + npmDepsHash = "sha256-aUqPXF5L78wZ34pNRvpEJi6l2wl15Og1yCEvVoeV0tE="; strictDeps = true; From 3eb4bf38841807b9912d161956531d8fdc2da91a Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Fri, 23 Jan 2026 08:01:48 +0100 Subject: [PATCH 1131/1216] vscode-extensions.anthropic.claude-code: 2.1.15 -> 2.1.17 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md --- .../vscode/extensions/anthropic.claude-code/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix index 83ac5f951a49..b2a7a48bf3ce 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; - version = "2.1.15"; - hash = "sha256-BtVxSVp80qlZhMrh872+0DQ7sTskEdP/5p5T7n9jeGU="; + version = "2.1.17"; + hash = "sha256-m8uRQeTyM0iM7sCSwKABnQH2dxMo/CGqC97ybW6Oq7g="; }; postInstall = '' From dd9b1093572f1f44c3f293ad46a2025bca1947c5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 07:04:48 +0000 Subject: [PATCH 1132/1216] ecpdap: 0.2.0 -> 0.3.0 --- pkgs/by-name/ec/ecpdap/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ec/ecpdap/package.nix b/pkgs/by-name/ec/ecpdap/package.nix index 573006575de2..fb345ed70813 100644 --- a/pkgs/by-name/ec/ecpdap/package.nix +++ b/pkgs/by-name/ec/ecpdap/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "ecpdap"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "adamgreig"; repo = "ecpdap"; rev = "v${version}"; - sha256 = "sha256-pgQqDRdewBSCm1/9/r8E9DBzwSKAaons3e6OLNv5gHM="; + sha256 = "sha256-8YmdwhRYNOSAAa0hTC9f5nm+TDg2GiMbML+qNxJP3lw="; }; - cargoHash = "sha256-o+qm4MFZt+BzqhQsaI5EU9lZz4LI9D75eL+VKIKbIyI="; + cargoHash = "sha256-Qz5yc3skpItCdoK4ffLbcT99YcOkvGfm3A/+QZ6FbBw="; nativeBuildInputs = [ pkg-config ]; From 7e49124d2edc3dd9185a0689a8e32d6fd6b70be1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 07:07:45 +0000 Subject: [PATCH 1133/1216] faketty: 1.0.19 -> 1.0.20 --- pkgs/by-name/fa/faketty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fa/faketty/package.nix b/pkgs/by-name/fa/faketty/package.nix index 90bc0e38d8c3..946cb75ea9a6 100644 --- a/pkgs/by-name/fa/faketty/package.nix +++ b/pkgs/by-name/fa/faketty/package.nix @@ -6,14 +6,14 @@ rustPlatform.buildRustPackage rec { pname = "faketty"; - version = "1.0.19"; + version = "1.0.20"; src = fetchCrate { inherit pname version; - hash = "sha256-ntfbwaVZM4wtoDaaFo+Y7RHSft3KZ29DMsNiTvhiaXs="; + hash = "sha256-1AX2DBFOSUcORSQCo/5Vd8puE4hJU9VDfVqxcZDKrrY="; }; - cargoHash = "sha256-0pDm/e1xisPLqdTe10kleoejQfuOZoZW6l/83Splz/Y="; + cargoHash = "sha256-2MVWtCezrCd+uDAkYLzwDNobrc7TQEu1H2eUHlOcpVE="; postPatch = '' patchShebangs tests/test.sh From c6165fdbd3cfa28e3a622a52e47d2042b5c67fdd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 23 Jan 2026 08:23:00 +0100 Subject: [PATCH 1134/1216] python313Packages.iamdata: 0.1.202601221 -> 0.1.202601231 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202601221...v0.1.202601231 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202601231 --- pkgs/development/python-modules/iamdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 8fee00aa661b..48a0a4e8cf2b 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202601221"; + version = "0.1.202601231"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-IyRkeKrLd4F4m9IkfHN/FFF0k2BNTMGIC76id+qULPk="; + hash = "sha256-85ogu9BYQqacBHR44BT7pQuv9DpUxk1Cl8/VBDF/lqg="; }; __darwinAllowLocalNetworking = true; From ee3d54d729effb8839f092752ce8f84cc16c3a40 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jan 2026 15:07:16 +0100 Subject: [PATCH 1135/1216] python313Packages.tencentcloud-sdk-python: 3.1.34 -> 3.1.35 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/3.1.34...3.1.35 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.1.35/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 7dbebef01dbd..7eea4d305ae7 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.34"; + version = "3.1.35"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-vP7lmPPCt5Vqxp+7Xtt7nFqH8TxBMW5iIrYuTxlRt0Q="; + hash = "sha256-boJEuNHv9woiawelijscyHb0Qhhf2MfeoweaHRlHbt4="; }; build-system = [ setuptools ]; From 7668b5c23b8713ad1e7ad006c8089bc92ed78371 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 23 Jan 2026 08:25:17 +0100 Subject: [PATCH 1136/1216] python313Packages.tencentcloud-sdk-python: 3.1.35 -> 3.1.36 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/3.1.35...3.1.36 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.1.36/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 7eea4d305ae7..04c8a4d8fe9b 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.35"; + version = "3.1.36"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-boJEuNHv9woiawelijscyHb0Qhhf2MfeoweaHRlHbt4="; + hash = "sha256-modmLNVgCTR/OW880dwHevPAf/FBqrJdKYvwo3eRJLg="; }; build-system = [ setuptools ]; From abf870e458fa68bcc72812e152c2f8fdf955da5a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 07:30:33 +0000 Subject: [PATCH 1137/1216] kondo: 0.8 -> 0.9 --- pkgs/by-name/ko/kondo/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ko/kondo/package.nix b/pkgs/by-name/ko/kondo/package.nix index 221139176a1a..c0f75d702ea1 100644 --- a/pkgs/by-name/ko/kondo/package.nix +++ b/pkgs/by-name/ko/kondo/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "kondo"; - version = "0.8"; + version = "0.9"; src = fetchFromGitHub { owner = "tbillington"; repo = "kondo"; rev = "v${version}"; - hash = "sha256-OqOmOujnyLTqwzNvLWudQi+xa5v37JTtyUXaItnpnfs="; + hash = "sha256-lbj1usgwfp7IiCNPtmHSHvX3ARGY5UpJYT89U3+kTuk="; }; - cargoHash = "sha256-jmN7mtQ3CXfyeYrYD+JBE6ppln8+VJRBzygmczo8M04="; + cargoHash = "sha256-IrUUAz4XEw3rxj8SuWMvBZu9pzCxOm5NZfiWp8i8MMo="; nativeBuildInputs = [ installShellFiles ]; From 337d5043178263a7fb90afe37f0aba021875134d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 08:15:07 +0000 Subject: [PATCH 1138/1216] pspg: 5.8.14 -> 5.8.15 --- pkgs/by-name/ps/pspg/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ps/pspg/package.nix b/pkgs/by-name/ps/pspg/package.nix index 0c54e1bb80f0..c454ab313ea3 100644 --- a/pkgs/by-name/ps/pspg/package.nix +++ b/pkgs/by-name/ps/pspg/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "pspg"; - version = "5.8.14"; + version = "5.8.15"; src = fetchFromGitHub { owner = "okbob"; repo = "pspg"; rev = version; - sha256 = "sha256-DZsMZZO5NMutlzLT+wwtPNdnzAnka32ZMqgMvEuw9ag="; + sha256 = "sha256-wYGU9vaAgY87RTbOXOGBVV37ZN/+NceXWgoEaY95md4="; }; nativeBuildInputs = [ From 00c92b9eff2a3da4fbda52b75cf7ef64231b201a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 08:22:56 +0000 Subject: [PATCH 1139/1216] selene: 0.29.0 -> 0.30.0 --- pkgs/by-name/se/selene/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/se/selene/package.nix b/pkgs/by-name/se/selene/package.nix index 681172b3f11f..b19324ca4bbb 100644 --- a/pkgs/by-name/se/selene/package.nix +++ b/pkgs/by-name/se/selene/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "selene"; - version = "0.29.0"; + version = "0.30.0"; src = fetchFromGitHub { owner = "kampfkarren"; repo = "selene"; tag = finalAttrs.version; - hash = "sha256-/KMLOZtCdvv76BDGj1oM6Q93cX6yPE4E5ZM+Xy6yRxA="; + hash = "sha256-zsqgLE9igxGGjymMJSt6JR453bw63TWeZwRVmkDm6ag="; }; - cargoHash = "sha256-RlD4CbLJpmOSQJCMaXFC7/83qlPpnzd2wBn3xNu1yQ0="; + cargoHash = "sha256-RxIDFE+FGKUDvM1Fy/doSy/mf2JuklhoMGpSqoHhAV4="; nativeBuildInputs = lib.optionals robloxSupport [ pkg-config From 04481998bbe119a1e16d1d7e4ac6b7b8eedbb0a1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 08:32:46 +0000 Subject: [PATCH 1140/1216] linuxKernel.kernels.linux_zen: 6.18.5 -> 6.18.6 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index d72ea3363a11..85dd9331c137 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -16,9 +16,9 @@ let variants = { # ./update-zen.py zen zen = { - version = "6.18.5"; # zen + version = "6.18.6"; # zen suffix = "zen1"; # zen - sha256 = "1slclm2mgv7z3s0lcjrhqhzhbas4yq9yxkdjr27hlx7madplwbmi"; # zen + sha256 = "13qr95dncg3n2ijcnvxwgsh5jvmls60znfq68ikivmji06klps2r"; # zen isLqx = false; }; # ./update-zen.py lqx From 00d20af9c25e715bc6e862dcfb9ceadeba885800 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 08:32:49 +0000 Subject: [PATCH 1141/1216] proto: 0.54.1 -> 0.54.2 --- pkgs/by-name/pr/proto/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/proto/package.nix b/pkgs/by-name/pr/proto/package.nix index 7ff2c78d2aa3..2d7b34ab4997 100644 --- a/pkgs/by-name/pr/proto/package.nix +++ b/pkgs/by-name/pr/proto/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "proto"; - version = "0.54.1"; + version = "0.54.2"; src = fetchFromGitHub { owner = "moonrepo"; repo = "proto"; rev = "v${version}"; - hash = "sha256-h8AN3bFrauj95/PEB7+Kg47RF9OD8E5HA11p6S1MFz0="; + hash = "sha256-W20u0QmFp2s+P9gnunudLV8N1LyB+6UnIRBKDePXT8E="; }; - cargoHash = "sha256-/tD2cMo0Op0Gbi7yzT3YP45p/FOpqmlEEnUVZMMoatU="; + cargoHash = "sha256-cryJkz6K8RsDp3Mcc/2YmP9imxkBM30v7fvf61pL4uA="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv From f45de3ae002e34fe6dca67947fd526ca44766f47 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 22 Jan 2026 23:21:41 +0000 Subject: [PATCH 1142/1216] python3Packages.lm-eval: 0.4.9.1 -> 0.4.9.2 Diff: https://github.com/EleutherAI/lm-evaluation-harness/compare/v0.4.9.1...v0.4.9.2 Changelog: https://github.com/EleutherAI/lm-evaluation-harness/releases/tag/v0.4.9.2 --- .../python-modules/lm-eval/default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/lm-eval/default.nix b/pkgs/development/python-modules/lm-eval/default.nix index 5346109286e1..3bbaae0ce9e6 100644 --- a/pkgs/development/python-modules/lm-eval/default.nix +++ b/pkgs/development/python-modules/lm-eval/default.nix @@ -34,6 +34,8 @@ tenacity, tiktoken, tqdm, + # dscrim_eval + statsmodels, # hf_transfer hf-transfer, # ifeval @@ -62,16 +64,16 @@ writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "lm-eval"; - version = "0.4.9.1"; + version = "0.4.9.2"; pyproject = true; src = fetchFromGitHub { owner = "EleutherAI"; repo = "lm-evaluation-harness"; - tag = "v${version}"; - hash = "sha256-N5NRRabjWxPchwOIkjqYTCKInCmVSY6T5cAmdxNbCkU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-Foz49XfIIzGJkgzjBu9P1J9cwYjl3fjAAJG9GKRwfq8="; }; build-system = [ @@ -108,6 +110,7 @@ buildPythonPackage rec { tiktoken tqdm ]; + discrim_eval = [ statsmodels ]; hf_transfer = [ hf-transfer ]; ifeval = [ immutabledict @@ -144,7 +147,7 @@ buildPythonPackage rec { pytestCheckHook writableTmpDirAsHomeHook ] - ++ optional-dependencies.api; + ++ finalAttrs.passthru.optional-dependencies.api; disabledTests = [ "test_deepsparse" # deepsparse is not available @@ -156,6 +159,7 @@ buildPythonPackage rec { disabledTestPaths = [ # attempts to download models + "tests/models/test_bos_handling.py" "tests/models/test_huggingface.py" "tests/test_evaluator.py" "tests/test_include_path.py" @@ -172,10 +176,10 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/EleutherAI/lm-evaluation-harness/releases/tag/${src.tag}"; + changelog = "https://github.com/EleutherAI/lm-evaluation-harness/releases/tag/${finalAttrs.src.tag}"; description = "Framework for few-shot evaluation of language models"; homepage = "https://github.com/EleutherAI/lm-evaluation-harness"; license = [ lib.licenses.mit ]; maintainers = [ lib.maintainers.booxter ]; }; -} +}) From d8013cc09f035c0413a57acb20820e2af952b7f1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 22 Jan 2026 23:22:08 +0000 Subject: [PATCH 1143/1216] python3Packages.mlx: 0.30.1 -> 0.30.3 Diff: https://github.com/ml-explore/mlx/compare/v0.30.1...v0.30.3 Changelog: https://github.com/ml-explore/mlx/releases/tag/v0.30.3 --- .../python-modules/mlx/default.nix | 32 +++++++++---------- .../mlx/dont-fetch-nanobind.patch | 19 +++++++++++ 2 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/mlx/dont-fetch-nanobind.patch diff --git a/pkgs/development/python-modules/mlx/default.nix b/pkgs/development/python-modules/mlx/default.nix index 054bd57dcfbd..f146911a9974 100644 --- a/pkgs/development/python-modules/mlx/default.nix +++ b/pkgs/development/python-modules/mlx/default.nix @@ -4,17 +4,16 @@ buildPythonPackage, fetchFromGitHub, replaceVars, + nanobind, # build-system - setuptools, - - # nativeBuildInputs cmake, + setuptools, + typing-extensions, # buildInputs apple-sdk, fmt, - nanobind, nlohmann_json, pybind11, # linux-only @@ -42,26 +41,27 @@ let in buildPythonPackage (finalAttrs: { pname = "mlx"; - version = "0.30.1"; + version = "0.30.3"; pyproject = true; src = fetchFromGitHub { owner = "ml-explore"; repo = "mlx"; tag = "v${finalAttrs.version}"; - hash = "sha256-Vt0RH+70VBwUjXSfPTsNdRS3g0ookJHhzf2kvgEtgH8="; + hash = "sha256-Y4RTkGcDCZ9HLyflN0qYhPt/oVOsBhF1mHnKM4n1/ys="; }; - patches = lib.optionals stdenv.hostPlatform.isDarwin [ + patches = [ + # Use system nanobind instead of fetching its sources + ./dont-fetch-nanobind.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ (replaceVars ./darwin-build-fixes.patch { sdkVersion = apple-sdk.version; }) ]; postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "nanobind==2.10.2" "nanobind" - substituteInPlace mlx/backend/cpu/jit_compiler.cpp \ --replace-fail "g++" "${lib.getExe' stdenv.cc "c++"}" ''; @@ -79,7 +79,7 @@ buildPythonPackage (finalAttrs: { passthru.skipBulkUpdate = true; env = { - DEV_RELEASE = 1; + PYPI_RELEASE = 1; CMAKE_ARGS = toString [ # NOTE The `metal` command-line utility used to build the Metal kernels is not open-source. # To build mlx with Metal support in Nix, you'd need to use one of the sandbox escape @@ -89,21 +89,21 @@ buildPythonPackage (finalAttrs: { (lib.cmakeBool "USE_SYSTEM_FMT" true) (lib.cmakeOptionType "filepath" "FETCHCONTENT_SOURCE_DIR_GGUFLIB" "${gguf-tools}") (lib.cmakeOptionType "filepath" "FETCHCONTENT_SOURCE_DIR_JSON" "${nlohmann_json.src}") + + # Cmake cannot find nanobind-config.cmake by itself + (lib.cmakeFeature "nanobind_DIR" "${nanobind}/${python.sitePackages}/nanobind/cmake") ]; }; build-system = [ - setuptools - ]; - - nativeBuildInputs = [ cmake + setuptools + typing-extensions ]; buildInputs = [ fmt gguf-tools - nanobind nlohmann_json pybind11 ] diff --git a/pkgs/development/python-modules/mlx/dont-fetch-nanobind.patch b/pkgs/development/python-modules/mlx/dont-fetch-nanobind.patch new file mode 100644 index 000000000000..f2858448a93b --- /dev/null +++ b/pkgs/development/python-modules/mlx/dont-fetch-nanobind.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0ed30932..e5842707 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -339,13 +339,7 @@ if(MLX_BUILD_PYTHON_BINDINGS) + Python 3.10 + COMPONENTS Interpreter Development.Module + REQUIRED) +- FetchContent_Declare( +- nanobind +- GIT_REPOSITORY https://github.com/wjakob/nanobind.git +- GIT_TAG v2.10.2 +- GIT_SHALLOW TRUE +- EXCLUDE_FROM_ALL) +- FetchContent_MakeAvailable(nanobind) ++ find_package(nanobind CONFIG REQUIRED) + add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/python/src) + endif() + From bf4e615d41b219bb4d97ccf50648750b700c0521 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 22 Jan 2026 23:22:14 +0000 Subject: [PATCH 1144/1216] python3Packages.mlx-lm: 0.30.2 -> 0.30.4 Diff: https://github.com/ml-explore/mlx-lm/compare/v0.30.2...v0.30.4 Changelog: https://github.com/ml-explore/mlx-lm/releases/tag/v0.30.4 --- pkgs/development/python-modules/mlx-lm/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/mlx-lm/default.nix b/pkgs/development/python-modules/mlx-lm/default.nix index 1143ebebd08f..e9f388fb1b77 100644 --- a/pkgs/development/python-modules/mlx-lm/default.nix +++ b/pkgs/development/python-modules/mlx-lm/default.nix @@ -15,22 +15,23 @@ transformers, # tests + aiohttp, lm-eval, - sentencepiece, pytestCheckHook, + sentencepiece, writableTmpDirAsHomeHook, }: buildPythonPackage (finalAttrs: { pname = "mlx-lm"; - version = "0.30.2"; + version = "0.30.4"; pyproject = true; src = fetchFromGitHub { owner = "ml-explore"; repo = "mlx-lm"; tag = "v${finalAttrs.version}"; - hash = "sha256-6WlKAchze5B724XYwzpVHy+17HlMcGSYjJw0aOdm5yw="; + hash = "sha256-ncDg7C84d1tAgk1300N7wY6kD1BocNNIqDUl0xBLhqY="; }; build-system = [ @@ -50,6 +51,7 @@ buildPythonPackage (finalAttrs: { ]; nativeCheckInputs = [ + aiohttp lm-eval pytestCheckHook sentencepiece From 634b10c1d151ab5620b4ce6f72ec4f4d366c3b21 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 23 Jan 2026 00:14:01 +0100 Subject: [PATCH 1145/1216] bsh: add pname and version, also move to by-name --- pkgs/by-name/bs/bsh/package.nix | 9 +++++++++ pkgs/top-level/all-packages.nix | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 pkgs/by-name/bs/bsh/package.nix diff --git a/pkgs/by-name/bs/bsh/package.nix b/pkgs/by-name/bs/bsh/package.nix new file mode 100644 index 000000000000..c235d9323340 --- /dev/null +++ b/pkgs/by-name/bs/bsh/package.nix @@ -0,0 +1,9 @@ +{ fetchurl }: + +fetchurl (finalAttrs: { + name = "${finalAttrs.pname}-${finalAttrs.version}.jar"; + pname = "bsh"; + version = "2.0b5"; + url = "http://www.beanshell.org/bsh-${finalAttrs.version}.jar"; + hash = "sha256-YjIZlWOAc1SzvLWs6z3BNlAvAixrDvdDmHqD9m/uWlw="; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 587d9273d9af..acec04ef9adc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1675,11 +1675,6 @@ with pkgs; bozohttpd-minimal = bozohttpd.override { minimal = true; }; - bsh = fetchurl { - url = "http://www.beanshell.org/bsh-2.0b5.jar"; - hash = "sha256-YjIZlWOAc1SzvLWs6z3BNlAvAixrDvdDmHqD9m/uWlw="; - }; - cabal2nix-unwrapped = haskell.lib.compose.justStaticExecutables ( haskellPackages.generateOptparseApplicativeCompletions [ "cabal2nix" ] haskellPackages.cabal2nix ); From 0f3b9676be4bd59608bff4e8b40ed286124018d6 Mon Sep 17 00:00:00 2001 From: 7c6f434c <7c6f434c@mail.ru> Date: Fri, 23 Jan 2026 08:45:52 +0000 Subject: [PATCH 1146/1216] speed-dreams: apply newly arrived nitpick from treefmt --- pkgs/by-name/sp/speed-dreams/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/sp/speed-dreams/package.nix b/pkgs/by-name/sp/speed-dreams/package.nix index 366ddbeafe90..1446841b7871 100644 --- a/pkgs/by-name/sp/speed-dreams/package.nix +++ b/pkgs/by-name/sp/speed-dreams/package.nix @@ -108,7 +108,7 @@ stdenv.mkDerivation rec { makeWrapperArgs=( --prefix ${libPathVar} : "$out/lib/games/speed-dreams-2/lib:$out/lib:${runtimeLibPath}" ) - ${lib.optionalString stdenv.isLinux ''makeWrapperArgs+=(--set SDL_VIDEODRIVER x11)''} + ${lib.optionalString stdenv.isLinux "makeWrapperArgs+=(--set SDL_VIDEODRIVER x11)"} makeWrapper "$out/games/speed-dreams-2" "$out/bin/speed-dreams" "''${makeWrapperArgs[@]}" ''; From 1d07b8396c5b1b4e0c1ae1229cc8a94032bde613 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 08:46:56 +0000 Subject: [PATCH 1147/1216] python3Packages.linode-api: 5.38.0 -> 5.39.0 --- pkgs/development/python-modules/linode-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix index 4d345816c264..ecba52744f60 100644 --- a/pkgs/development/python-modules/linode-api/default.nix +++ b/pkgs/development/python-modules/linode-api/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "linode-api"; - version = "5.38.0"; + version = "5.39.0"; pyproject = true; # Sources from Pypi exclude test fixtures @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "linode"; repo = "python-linode-api"; tag = "v${version}"; - hash = "sha256-ToM3ur0bqU5xXCtO8ekZwpvM1bRxtwa7CqOzGJEyY7I="; + hash = "sha256-WYPKq+WSEnqQdqZ0R8cUm7QYgE6EYtQ/NXdBfV2d8dI="; }; build-system = [ setuptools ]; From 0dc54217806f8f8afa7d7b1f57dfd2248a4eeb5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 09:14:53 +0000 Subject: [PATCH 1148/1216] go-ios: 1.0.192 -> 1.0.193 --- pkgs/by-name/go/go-ios/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/go-ios/package.nix b/pkgs/by-name/go/go-ios/package.nix index 3b01f35e1f8b..859bf07534fd 100644 --- a/pkgs/by-name/go/go-ios/package.nix +++ b/pkgs/by-name/go/go-ios/package.nix @@ -12,13 +12,13 @@ buildGoModule rec { pname = "go-ios"; - version = "1.0.192"; + version = "1.0.193"; src = fetchFromGitHub { owner = "danielpaulus"; repo = "go-ios"; rev = "v${version}"; - sha256 = "sha256-2M53jcAZXzUjV53YdENjLpK9o26Xr/gFniuS0T2NZ0E="; + sha256 = "sha256-l5ob2wnUOHgR8awPkCBKPCFBEQhrDflN+scUXm7290o="; }; proxyVendor = true; From a83ae395d5f74a378a7c090c446ef5320cbb7220 Mon Sep 17 00:00:00 2001 From: Gon Solo Date: Wed, 7 Jan 2026 12:38:15 +0100 Subject: [PATCH 1149/1216] openroad: 2.0-unstable-2025-03-01 -> 26Q1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Gaétan Lepage Co-authored-by: Nick Cao --- pkgs/by-name/op/openroad/package.nix | 71 ++++++++++++++++------------ 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/pkgs/by-name/op/openroad/package.nix b/pkgs/by-name/op/openroad/package.nix index c6c251bc0053..881a512fc389 100644 --- a/pkgs/by-name/op/openroad/package.nix +++ b/pkgs/by-name/op/openroad/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + yaml-cpp, # nativeBuildInputs bison, @@ -13,12 +14,13 @@ libsForQt5, pkg-config, swig, + versionCheckHook, # buildInputs - boost186, # 1.87.0 broken https://github.com/boostorg/asio/issues/442 - cbc, # for clp + boost, + cbc, cimg, - clp, # for or-tools + clp, cudd, eigen, glpk, @@ -28,7 +30,7 @@ or-tools, pcre, python3, - re2, # for or-tools + re2, readline, spdlog, tcl, @@ -39,16 +41,16 @@ llvmPackages, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "openroad"; - version = "2.0-unstable-2025-03-01"; + version = "26Q1"; src = fetchFromGitHub { owner = "The-OpenROAD-Project"; repo = "OpenROAD"; - rev = "e794373d44ac5421f0633d8dda7e5c59e8fe79bf"; + tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-a/X4FHkbiqHeblse2ZkLT56gYP+LCrAIZVCdsWF59jM="; + hash = "sha256-DMyoqDse9W6ahOajEINzFpgLsSKam/I1mQkRSSKepI8="; }; nativeBuildInputs = [ @@ -64,7 +66,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - boost186 + boost cbc cimg clp @@ -88,63 +90,70 @@ stdenv.mkDerivation rec { tclPackages.tclreadline yosys zlib + yaml-cpp ] ++ lib.optionals stdenv.hostPlatform.isLinux [ xorg.libX11 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]; postPatch = '' - patchShebangs --build etc/find_messages.py - # Disable two tests that are failing curently. - sed 's/^.*partition_gcd/# \0/g' -i src/par/test/CMakeLists.txt - # fix build with gcc15 + patchShebangs etc/ + + # C++20 Fixes sed -e '39i #include ' -i src/gpl/src/placerBase.h sed -e '37i #include ' -i src/gpl/src/routeBase.h + '' + # Disable failing PSM tests on aarch64 + + lib.optionalString stdenv.hostPlatform.isAarch64 '' + if [ -f src/psm/test/CMakeLists.txt ]; then + echo "Patching PSM tests for aarch64..." + sed -i -E 's/^[[:space:]]+(gcd_all_vss|gcd_em_test_vdd|insert_decap1|insert_decap_with_padding1)/ # \1/' src/psm/test/CMakeLists.txt + fi ''; cmakeFlags = [ - (lib.cmakeBool "ENABLE_TESTS" true) + # Disable tests on Darwin to avoid discovery timeouts during build + (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "USE_SYSTEM_BOOST" true) (lib.cmakeBool "USE_SYSTEM_ABC" false) - (lib.cmakeBool "ABC_SKIP_TESTS" true) # it attempts to download gtest + (lib.cmakeBool "ABC_SKIP_TESTS" true) (lib.cmakeBool "USE_SYSTEM_OPENSTA" false) - (lib.cmakeFeature "OPENROAD_VERSION" "${version}_${src.rev}") + (lib.cmakeFeature "OPENROAD_VERSION" finalAttrs.version) (lib.cmakeBool "CMAKE_RULE_MESSAGES" false) (lib.cmakeFeature "TCL_HEADER" "${tcl}/include/tcl.h") (lib.cmakeFeature "TCL_LIBRARY" "${tcl}/lib/libtcl${stdenv.hostPlatform.extensions.sharedLibrary}") + (lib.cmakeFeature "BOOST_ROOT" "${boost}") ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED") + (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED -Wno-error=deprecated-declarations") ]; - # Resynthesis needs access to the Yosys binaries. qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ yosys ]}" ]; - # Upstream uses vendored package versions for some dependencies, so regression testing is prudent - # to see if there are any breaking changes in unstable that should be vendored as well. - doCheck = !stdenv.hostPlatform.isDarwin; # it seems to hang on darwin + # Some tests are unstable on Darwin + doCheck = !stdenv.hostPlatform.isDarwin; + checkPhase = '' + runHook preCheck make test - ../test/regression + runHook postCheck ''; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; - installCheckPhase = '' - runHook preInstallCheck - - $out/bin/openroad -version - $out/bin/sta -version - - runHook postInstallCheck - ''; + versionCheckProgramArg = "-version"; meta = { description = "OpenROAD's unified application implementing an RTL-to-GDS flow"; homepage = "https://theopenroadproject.org"; license = lib.licenses.bsd3; + mainProgram = "openroad"; maintainers = with lib.maintainers; [ trepetti hzeller ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; -} +}) From 3f63b0af16f1c033d5601e658e2431dd5ff019a5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 09:39:20 +0000 Subject: [PATCH 1150/1216] python3Packages.pcodec: 0.4.9 -> 1.0.0 --- pkgs/development/python-modules/pcodec/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pcodec/default.nix b/pkgs/development/python-modules/pcodec/default.nix index 427481bb72b5..4628d0720f24 100644 --- a/pkgs/development/python-modules/pcodec/default.nix +++ b/pkgs/development/python-modules/pcodec/default.nix @@ -10,19 +10,19 @@ buildPythonPackage rec { pname = "pcodec"; - version = "0.4.9"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "pcodec"; repo = "pcodec"; tag = "v${version}"; - hash = "sha256-XwK2cLd+SQmo/p7w/MmRh/EajQiN4rv/EMjTBH0EeXs="; + hash = "sha256-WE71Xbr0iUsnP5oqqMlvXzIhasQ7YQm6rB8hEA6FvnM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-R2iVlw2ricCBbHCthttX2RX7+j7AEKeN6h08nZvOxSQ="; + hash = "sha256-h40rlCd/qyf3hbvm8EdWo1hqAgiiwExmWNnKgU3iYEU="; }; buildAndTestSubdir = "pco_python"; From 0349363cb9eb03668386082a8b3d3ddd52adaf52 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Fri, 23 Jan 2026 10:38:20 +0100 Subject: [PATCH 1151/1216] nodejs: remove unused patch file --- pkgs/development/web/nodejs/npm-patches.nix | 23 --------------------- 1 file changed, 23 deletions(-) delete mode 100644 pkgs/development/web/nodejs/npm-patches.nix diff --git a/pkgs/development/web/nodejs/npm-patches.nix b/pkgs/development/web/nodejs/npm-patches.nix deleted file mode 100644 index 28432f806dc6..000000000000 --- a/pkgs/development/web/nodejs/npm-patches.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ fetchpatch }: - -[ - # Makes `npm pack` obey `--foreground-scripts` - (fetchpatch { - name = "libnpmpack-obey-foreground-scripts.patch"; - url = "https://github.com/npm/cli/commit/e4e8ae20aef9e27e57282e87e8757d5b364abb39.patch"; - hash = "sha256-NQ8CZBfRqAOMe0Ysg3cq1FiferWKTzXC1QXgzX+f8OU="; - stripLen = 2; - extraPrefix = "deps/npm/node_modules/"; - includes = [ "deps/npm/node_modules/libnpmpack/lib/index.js" ]; - }) - - # Makes `npm pack` obey `--ignore-scripts` - (fetchpatch { - name = "libnpmpack-obey-ignore-scripts.patch"; - url = "https://github.com/npm/cli/commit/a990c3c9a0e67f0a8b6454213675e159fe49432d.patch"; - hash = "sha256-eA5YST9RxMMjk5FCwEbl1HQUpXZuwWZkx5WC4yJium8="; - stripLen = 2; - extraPrefix = "deps/npm/node_modules/"; - includes = [ "deps/npm/node_modules/libnpmpack/lib/index.js" ]; - }) -] From 2ead3d714a2c9af8fc306f30bbc01aa2c4d09684 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 10:00:39 +0000 Subject: [PATCH 1152/1216] highscore-mgba: 0-unstable-2026-01-16 -> 0-unstable-2026-01-20 --- pkgs/by-name/hi/highscore-mgba/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/hi/highscore-mgba/package.nix b/pkgs/by-name/hi/highscore-mgba/package.nix index 054b89c63b97..1701a8d50850 100644 --- a/pkgs/by-name/hi/highscore-mgba/package.nix +++ b/pkgs/by-name/hi/highscore-mgba/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation { pname = "highscore-mgba"; - version = "0-unstable-2026-01-16"; + version = "0-unstable-2026-01-20"; src = fetchFromGitHub { owner = "highscore-emu"; repo = "mgba"; - rev = "d8e2d2d329417e6387563a495491e90dfa44426c"; - hash = "sha256-aH167+XOboz6Q7rabYCfOf+qFm5ylzVTy4g38yx4Zj4="; + rev = "6ac84f6fadf70e7cee2eef44bece34b3a498f5a2"; + hash = "sha256-k4gmJZFv3MQDIX7trXqTnBI4S4ugWYp2CGMrPeproSE="; }; outputs = [ From 02cf885f949f8975a4085e73c0ce0e7f82111772 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 23 Jan 2026 11:05:16 +0100 Subject: [PATCH 1153/1216] etlegacy: set pname instead of name --- pkgs/by-name/et/etlegacy/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/et/etlegacy/package.nix b/pkgs/by-name/et/etlegacy/package.nix index ac9927f3b810..250775ae043e 100644 --- a/pkgs/by-name/et/etlegacy/package.nix +++ b/pkgs/by-name/et/etlegacy/package.nix @@ -8,7 +8,7 @@ }: symlinkJoin { - name = "etlegacy"; + pname = "etlegacy"; version = "2.83.2"; paths = [ From d3d08aeb1e733a584d2a46593e4c73034c346ac3 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 23 Jan 2026 12:08:31 +0200 Subject: [PATCH 1154/1216] exfatprogs: split man output --- pkgs/by-name/ex/exfatprogs/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ex/exfatprogs/package.nix b/pkgs/by-name/ex/exfatprogs/package.nix index 26ea0b9d31c0..092a03bde873 100644 --- a/pkgs/by-name/ex/exfatprogs/package.nix +++ b/pkgs/by-name/ex/exfatprogs/package.nix @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { file ]; + outputs = [ + "out" + "man" + ]; + meta = { description = "exFAT filesystem userspace utilities"; homepage = "https://github.com/exfatprogs/exfatprogs"; From dc9b84113bdb17f2675bce0febae8d6cd4b1980e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 23 Jan 2026 11:09:24 +0100 Subject: [PATCH 1155/1216] filterpath: set pname instead of name --- pkgs/by-name/fi/filterpath/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fi/filterpath/package.nix b/pkgs/by-name/fi/filterpath/package.nix index 15fdd558162a..1061ff58400f 100644 --- a/pkgs/by-name/fi/filterpath/package.nix +++ b/pkgs/by-name/fi/filterpath/package.nix @@ -4,7 +4,7 @@ lib, }: stdenv.mkDerivation (finalAttrs: { - name = "filterpath"; + pname = "filterpath"; version = "1.0.4"; src = fetchFromGitHub { From e5368460c3d2d000f8c2601087ba7ea2b3c7725a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 10:11:24 +0000 Subject: [PATCH 1156/1216] virtnbdbackup: 2.43 -> 2.44 --- pkgs/by-name/vi/virtnbdbackup/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vi/virtnbdbackup/package.nix b/pkgs/by-name/vi/virtnbdbackup/package.nix index b70b4fd5a69a..79bd8d72f604 100644 --- a/pkgs/by-name/vi/virtnbdbackup/package.nix +++ b/pkgs/by-name/vi/virtnbdbackup/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication rec { pname = "virtnbdbackup"; - version = "2.43"; + version = "2.44"; pyproject = true; src = fetchFromGitHub { owner = "abbbi"; repo = "virtnbdbackup"; tag = "v${version}"; - hash = "sha256-WR8MXfk+jFxGX2GpzuqTwZj053HyQ9N16v7zKU3iCPs="; + hash = "sha256-p3oTd0RT/bw9C73QO83OD21/BHH2E3qX2KS687NyN9Q="; }; build-system = with python3Packages; [ From 0aee0f059cffdb5be9ce1b794ab7ccdca17bd3e3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 10:12:59 +0000 Subject: [PATCH 1157/1216] antigravity: 1.14.2 -> 1.15.6 --- pkgs/by-name/an/antigravity/information.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/an/antigravity/information.json b/pkgs/by-name/an/antigravity/information.json index b2c0be116043..14b4a35ac914 100644 --- a/pkgs/by-name/an/antigravity/information.json +++ b/pkgs/by-name/an/antigravity/information.json @@ -1,22 +1,22 @@ { - "version": "1.14.2", + "version": "1.15.6", "vscodeVersion": "1.104.0", "sources": { "x86_64-linux": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.14.2-6046590149459968/linux-x64/Antigravity.tar.gz", - "sha256": "dffb040c1efc67a1f6952c24dd71cffefa16094ceb35b3a7a4d0131e518ea449" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.15.6-5250816192937984/linux-x64/Antigravity.tar.gz", + "sha256": "e399b13e4b6d8ec5b57a746478a87b0f7652f8a69024febd4c25ec847a4c8ea6" }, "aarch64-linux": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.14.2-6046590149459968/linux-arm/Antigravity.tar.gz", - "sha256": "7911d56c9e3525256dbf92f661f03f272b4bce73dfcc3f053113d5dae46fac53" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.15.6-5250816192937984/linux-arm/Antigravity.tar.gz", + "sha256": "645247bc7c6c637b07610884350588e888eabd22e32a2786695606bebbb97900" }, "x86_64-darwin": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.14.2-6046590149459968/darwin-x64/Antigravity.zip", - "sha256": "f516b8ea7d3566140d70dd6825cd5a07b0c899370c08acfdc9b133c6d0ef5ded" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.15.6-5250816192937984/darwin-x64/Antigravity.zip", + "sha256": "d99b852cf831c4a1d3207a9cbef0b2cb92a68fdbb84f121d908d694617f0a8a4" }, "aarch64-darwin": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.14.2-6046590149459968/darwin-arm/Antigravity.zip", - "sha256": "014f5eeb231bf5e00837abbc45c47be5d68b542dad3cd969444becbd0bf12860" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.15.6-5250816192937984/darwin-arm/Antigravity.zip", + "sha256": "85d62d8efc97777d77c176809025235d9138a7f3d1b3d6003526499b8e48ec3c" } } } From 526536759032391d85aa084b1c2b2fd92dbd813d Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 23 Jan 2026 11:14:29 +0100 Subject: [PATCH 1158/1216] fork-cleaner: use pname instead of name --- pkgs/by-name/fo/fork-cleaner/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fo/fork-cleaner/package.nix b/pkgs/by-name/fo/fork-cleaner/package.nix index 3ccc31f2d3e7..9df74093631d 100644 --- a/pkgs/by-name/fo/fork-cleaner/package.nix +++ b/pkgs/by-name/fo/fork-cleaner/package.nix @@ -7,7 +7,7 @@ let version = "2.3.1"; in buildGoModule { - name = "fork-cleaner"; + pname = "fork-cleaner"; inherit version; src = fetchFromGitHub { From 97a5b791bfbb718ea286954b01d4e6d6c33c014b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 23 Jan 2026 12:14:30 +0200 Subject: [PATCH 1159/1216] fuse-overlayfs: split man output --- pkgs/by-name/fu/fuse-overlayfs/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/fu/fuse-overlayfs/package.nix b/pkgs/by-name/fu/fuse-overlayfs/package.nix index f791a88172cc..510e4471eff5 100644 --- a/pkgs/by-name/fu/fuse-overlayfs/package.nix +++ b/pkgs/by-name/fu/fuse-overlayfs/package.nix @@ -29,6 +29,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; strictDeps = true; + outputs = [ + "out" + "man" + ]; + passthru.tests = { inherit (nixosTests) podman; }; meta = { From 2be958d305af623076a869a59f374dd02f20f344 Mon Sep 17 00:00:00 2001 From: Ari Gato Date: Thu, 22 Jan 2026 23:11:21 +0100 Subject: [PATCH 1160/1216] masscan: fix wrapper --- pkgs/by-name/ma/masscan/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ma/masscan/package.nix b/pkgs/by-name/ma/masscan/package.nix index a89cf351475e..c3a3f658d3c9 100644 --- a/pkgs/by-name/ma/masscan/package.nix +++ b/pkgs/by-name/ma/masscan/package.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { install -Dm444 -t $out/share/licenses/masscan LICENSE wrapProgram $out/bin/masscan \ - --prefix LD_LIBRARY_PATH : "${libpcap}/lib" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libpcap ]}" ''; doInstallCheck = true; From 07c26f498ddef88318111f53dc47ab74bbb69e76 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Fri, 23 Jan 2026 11:18:59 +0100 Subject: [PATCH 1161/1216] gdb-dashboard: set pname instead of name --- pkgs/by-name/gd/gdb-dashboard/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/gd/gdb-dashboard/package.nix b/pkgs/by-name/gd/gdb-dashboard/package.nix index 5aaf4218fecc..badac418d66a 100644 --- a/pkgs/by-name/gd/gdb-dashboard/package.nix +++ b/pkgs/by-name/gd/gdb-dashboard/package.nix @@ -8,7 +8,7 @@ }: stdenv.mkDerivation (finalAttrs: { - name = "gdb-dashboard"; + pname = "gdb-dashboard"; version = "0.17.4"; src = fetchFromGitHub { From d4b3787c6d5a80780e355d09e2fcc9d56458ba29 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 10:32:27 +0000 Subject: [PATCH 1162/1216] dart-sass: 1.97.2 -> 1.97.3 --- pkgs/by-name/da/dart-sass/package.nix | 4 ++-- pkgs/by-name/da/dart-sass/pubspec.lock.json | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/da/dart-sass/package.nix b/pkgs/by-name/da/dart-sass/package.nix index 24c631bdc36e..36e2aa80cf8d 100644 --- a/pkgs/by-name/da/dart-sass/package.nix +++ b/pkgs/by-name/da/dart-sass/package.nix @@ -23,13 +23,13 @@ let in buildDartApplication rec { pname = "dart-sass"; - version = "1.97.2"; + version = "1.97.3"; src = fetchFromGitHub { owner = "sass"; repo = "dart-sass"; tag = version; - hash = "sha256-/T3kD2Xu9JESEbbeEhXwZRzN1uo/jgnfjmxjv6hZ/7o="; + hash = "sha256-9yhjqkWmtSqdLcmZWvHcz46xqN7yd27Quygg/I+WHag="; }; pubspecLock = lib.importJSON ./pubspec.lock.json; diff --git a/pkgs/by-name/da/dart-sass/pubspec.lock.json b/pkgs/by-name/da/dart-sass/pubspec.lock.json index 095bdf9dfaa2..cb2df4b5884e 100644 --- a/pkgs/by-name/da/dart-sass/pubspec.lock.json +++ b/pkgs/by-name/da/dart-sass/pubspec.lock.json @@ -374,11 +374,11 @@ "dependency": "direct main", "description": { "name": "meta", - "sha256": "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394", + "sha256": "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.17.0" + "version": "1.18.0" }, "mime": { "dependency": "transitive", @@ -494,21 +494,21 @@ "dependency": "direct main", "description": { "name": "protobuf", - "sha256": "2fcc8a202ca7ec17dab7c97d6b6d91cf03aa07fe6f65f8afbb6dfa52cc5bd902", + "sha256": "75ec242d22e950bdcc79ee38dd520ce4ee0bc491d7fadc4ea47694604d22bf06", "url": "https://pub.dev" }, "source": "hosted", - "version": "5.1.0" + "version": "6.0.0" }, "protoc_plugin": { "dependency": "direct dev", "description": { "name": "protoc_plugin", - "sha256": "d43d92eeec74bf1da8e790570c1ef7cf00cdc47566ad62e2455f1deaab03a22b", + "sha256": "d1ea363e9118f954d9d482c2f7281c5ff5149b059e68672d1faa564d49091f05", "url": "https://pub.dev" }, "source": "hosted", - "version": "24.0.0" + "version": "25.0.0" }, "pub_api_client": { "dependency": "direct dev", From 3f47c881fff9668e6a808b91bb865d28a8053381 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 10:53:10 +0000 Subject: [PATCH 1163/1216] numbat: 1.18.0 -> 1.19.0 --- pkgs/by-name/nu/numbat/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nu/numbat/package.nix b/pkgs/by-name/nu/numbat/package.nix index 5bd197bc6221..09993322d130 100644 --- a/pkgs/by-name/nu/numbat/package.nix +++ b/pkgs/by-name/nu/numbat/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "numbat"; - version = "1.18.0"; + version = "1.19.0"; src = fetchFromGitHub { owner = "sharkdp"; repo = "numbat"; tag = "v${version}"; - hash = "sha256-uRzjaDYPvAQwvUeE6NI1QKNFqBVUFcXK3gm3dRkyWw0="; + hash = "sha256-afQlT7SaqYlSaBiEDWOOrjCG+ZsnxIVfxSWrHh+P9Mk="; }; - cargoHash = "sha256-wKY/StWKiTK8/oFV0tlqNakk+zqqTFVAEauBrGar2bY="; + cargoHash = "sha256-y4/yH+bnTivLmck7jREa5vn/ZEDxsaetTyFyvd3hi6c="; env.NUMBAT_SYSTEM_MODULE_PATH = "${placeholder "out"}/share/numbat/modules"; From b3cacb00533249e7970ef2cb560a8543c5418dcd Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Tue, 20 Jan 2026 21:30:58 +0100 Subject: [PATCH 1164/1216] llama-cpp: 7772 -> 7789 --- pkgs/by-name/ll/llama-cpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index 93235e8127f9..e7f9a62586d1 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -74,13 +74,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "7772"; + version = "7789"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-qARA75QjtqBiRI4Hjr+dHs4Kr+Gk9n1DxRk401y+m68="; + hash = "sha256-mARfNYK4fbyzIAhe6wwhiKAVwAq8otiezIdQ2kFtoVc="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT From b75dea6fef4eedc5e6526335d15a26439d4895b4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 11:31:26 +0000 Subject: [PATCH 1165/1216] solanum: 0-unstable-2026-01-11 -> 0-unstable-2026-01-22 --- pkgs/by-name/so/solanum/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/so/solanum/package.nix b/pkgs/by-name/so/solanum/package.nix index 39211b0f3b4a..66a33eca2d60 100644 --- a/pkgs/by-name/so/solanum/package.nix +++ b/pkgs/by-name/so/solanum/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation { pname = "solanum"; - version = "0-unstable-2026-01-11"; + version = "0-unstable-2026-01-22"; src = fetchFromGitHub { owner = "solanum-ircd"; repo = "solanum"; - rev = "e2a499f7192fa5e966dab03b7980e3240111d7b3"; - hash = "sha256-F+CtxubdNz+B/a9sAoZW4tIvj72Mms/0bUKmvm14wHg="; + rev = "fd89d4e837fe2e98cb273c340ddf4762ce1eb070"; + hash = "sha256-QMGbNCWbg6ODZHVM+A2hwm/okIXGYULCS2nZrGX2xco="; }; patches = [ From 5d0a22920001345349131a7ea01719c43c2059e5 Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Fri, 23 Jan 2026 12:31:57 +0100 Subject: [PATCH 1166/1216] llama-cpp: 7789 -> 7815 --- pkgs/by-name/ll/llama-cpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index e7f9a62586d1..9f056e6e73f1 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -74,13 +74,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "7789"; + version = "7815"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-mARfNYK4fbyzIAhe6wwhiKAVwAq8otiezIdQ2kFtoVc="; + hash = "sha256-KeLi/DsbSbTNK7EwDOugsJaYEAU3JLOYno59hgJgXhc="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT From 7779b1a533cf766eed0e3b7f1bf24ef3ee383558 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 11:43:29 +0000 Subject: [PATCH 1167/1216] mdbook-pdf: 0.1.11 -> 0.1.13 --- pkgs/by-name/md/mdbook-pdf/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/md/mdbook-pdf/package.nix b/pkgs/by-name/md/mdbook-pdf/package.nix index af2a44dbabb9..e900fdc318f0 100644 --- a/pkgs/by-name/md/mdbook-pdf/package.nix +++ b/pkgs/by-name/md/mdbook-pdf/package.nix @@ -8,14 +8,14 @@ rustPlatform.buildRustPackage rec { pname = "mdbook-pdf"; - version = "0.1.11"; + version = "0.1.13"; src = fetchCrate { inherit pname version; - hash = "sha256-1VMVobiRCCUv8aWLxNbaDSvNs1Pt2jlsVPzfrieOudc="; + hash = "sha256-aADHRlIVWVc43DEfZx8ha/E4FaiAoKtjHccx+LAghtU="; }; - cargoHash = "sha256-t3dlmeJNaHySIhJdJmSaeS0mXM7TgAUa/0hcG06lHvo="; + cargoHash = "sha256-aHpycw9WmaNsI0VAYxI89KnB7fC31FxH+8ONnMEGtTM="; nativeBuildInputs = [ pkg-config ]; From df83b15f96b8a680b732ecfb0e3ff0ca57109ba9 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:35:58 +0000 Subject: [PATCH 1168/1216] linux_6_18: 6.18.6 -> 6.18.7 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 5cb786e4c85b..1e462e03278c 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,8 +30,8 @@ "lts": true }, "6.18": { - "version": "6.18.6", - "hash": "sha256:06x3z649mzwwkb1hvsy0yh7j5jk9qrnwqcmwy7dx8s1ggccrf927", + "version": "6.18.7", + "hash": "sha256:07lgbc0w7fd9akxmazhkpjgxhd3ffwh7in2nkchhdbprbk8s89mp", "lts": false } } From a5107b0c0f1c6aa9117ff6d209c3a6d834b73465 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:36:01 +0000 Subject: [PATCH 1169/1216] linux_6_12: 6.12.66 -> 6.12.67 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1e462e03278c..596f230b0541 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -25,8 +25,8 @@ "lts": true }, "6.12": { - "version": "6.12.66", - "hash": "sha256:1bvfadb5149sh927f8cbr1rnypn7v0h6znjdrc1mmc30q2hrff5s", + "version": "6.12.67", + "hash": "sha256:0cn42b7pam5ssk740s3d42sp3cggl923yvs67y5fz98z5v35v00n", "lts": true }, "6.18": { From ad5546fedd28e11442f8be3d5e754731ff4d0dd1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 11:57:26 +0000 Subject: [PATCH 1170/1216] python3Packages.ecs-logging: 2.2.0 -> 2.3.0 --- pkgs/development/python-modules/ecs-logging/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ecs-logging/default.nix b/pkgs/development/python-modules/ecs-logging/default.nix index bbb0349e5faf..618aa11d9634 100644 --- a/pkgs/development/python-modules/ecs-logging/default.nix +++ b/pkgs/development/python-modules/ecs-logging/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "ecs-logging"; - version = "2.2.0"; + version = "2.3.0"; pyproject = true; src = fetchFromGitHub { owner = "elastic"; repo = "ecs-logging-python"; tag = version; - hash = "sha256-djCEutZqcyRfRme+omiwl3ofBUBli71TnfVu59i7vlE="; + hash = "sha256-YI3s+KkDPd6PVQlwpau+kgEccquo7FtfNSK278Z8B9M="; }; nativeBuildInputs = [ flit-core ]; From 90f7d5838dc56ece3fb8c1d0693fba2f3e277660 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 12:13:20 +0000 Subject: [PATCH 1171/1216] python3Packages.imgw-pib: 2.0.0 -> 2.0.1 --- pkgs/development/python-modules/imgw-pib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/imgw-pib/default.nix b/pkgs/development/python-modules/imgw-pib/default.nix index 8ae09407188e..c0c5de103464 100644 --- a/pkgs/development/python-modules/imgw-pib/default.nix +++ b/pkgs/development/python-modules/imgw-pib/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "imgw-pib"; - version = "2.0.0"; + version = "2.0.1"; pyproject = true; src = fetchFromGitHub { owner = "bieniu"; repo = "imgw-pib"; tag = version; - hash = "sha256-Kd0vy8FQIH2eoSE8PHtCFTbwj02ZdKkrW46KfJ5sDds="; + hash = "sha256-scpMdJJMwoKcNdjM9YQsgxkhYOtjjnQjJOS2JhELxvA="; }; build-system = [ setuptools ]; From 8982105199fe543b31681986b33f6f5de6853e4d Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Thu, 22 Jan 2026 23:55:54 +0100 Subject: [PATCH 1172/1216] reevr: init at 1.4.0 --- pkgs/by-name/re/reevr/package.nix | 95 +++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 pkgs/by-name/re/reevr/package.nix diff --git a/pkgs/by-name/re/reevr/package.nix b/pkgs/by-name/re/reevr/package.nix new file mode 100644 index 000000000000..fcb5ad389792 --- /dev/null +++ b/pkgs/by-name/re/reevr/package.nix @@ -0,0 +1,95 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + fontconfig, + freetype, + libX11, + libXcomposite, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + writableTmpDirAsHomeHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "reevr"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "tiagolr"; + repo = "reevr"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-uOaImmc8MXhH6P3IN53LGntsWAbsVnqkz8TUk67aYcU="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + writableTmpDirAsHomeHook # fontconfig cache + ]; + + buildInputs = [ + fontconfig + freetype + ] + ++ lib.optionals stdenv.isLinux [ + alsa-lib + libX11 + libXcomposite + libXcursor + libXdmcp + libXext + libXinerama + libXrandr + libXtst + ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + (lib.cmakeBool "COPY_PLUGIN_AFTER_BUILD" false) + (lib.cmakeFeature "BUILD_STANDALONE" "OFF") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.cmakeFeature "CMAKE_OSX_ARCHITECTURES" "${stdenv.hostPlatform.darwinArch}") + ]; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux (toString [ + # juce, compiled in this build as part of a Git submodule, uses `-flto` as + # a Link Time Optimization flag, and instructs the plugin compiled here to + # use this flag to. This breaks the build for us. Using _fat_ LTO allows + # successful linking while still providing LTO benefits. If our build of + # `juce` was used as a dependency, we could have patched that `-flto` line + # in our juce's source, but that is not possible because it is used as a + # Git Submodule. + "-ffat-lto-objects" + ]); + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/vst3 $out/lib/lv2 + + cp -r "REEVR_artefacts/Release/LV2/REEV-R.lv2" $out/lib/lv2 + cp -r "REEVR_artefacts/Release/VST3/REEV-R.vst3" $out/lib/vst3 + + runHook postInstall + ''; + + meta = { + description = "Convolution reverb with pre and post modulation"; + homepage = "https://github.com/tiagolr/reevr"; + changelog = "https://github.com/tiagolr/reevr/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ magnetophon ]; + platforms = lib.platforms.all; + }; +}) From f9b36fc01edff03603255d4c809cb69abce07a4e Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 23 Jan 2026 02:12:15 +0100 Subject: [PATCH 1173/1216] time12: init at 1.2.3 --- pkgs/by-name/ti/time12/package.nix | 95 ++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 pkgs/by-name/ti/time12/package.nix diff --git a/pkgs/by-name/ti/time12/package.nix b/pkgs/by-name/ti/time12/package.nix new file mode 100644 index 000000000000..810377c81c07 --- /dev/null +++ b/pkgs/by-name/ti/time12/package.nix @@ -0,0 +1,95 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + fontconfig, + freetype, + libX11, + libXcomposite, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + writableTmpDirAsHomeHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "time12"; + version = "1.2.3"; + + src = fetchFromGitHub { + owner = "tiagolr"; + repo = "time12"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-/siQGQRHPqIP17NE4e/IGEQIzLPnBAXXzU6ucL1y5os="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + writableTmpDirAsHomeHook # fontconfig cache + ]; + + buildInputs = [ + fontconfig + freetype + ] + ++ lib.optionals stdenv.isLinux [ + alsa-lib + libX11 + libXcomposite + libXcursor + libXdmcp + libXext + libXinerama + libXrandr + libXtst + ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + (lib.cmakeBool "COPY_PLUGIN_AFTER_BUILD" false) + (lib.cmakeFeature "BUILD_STANDALONE" "OFF") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" + ]; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux (toString [ + # juce, compiled in this build as part of a Git submodule, uses `-flto` as + # a Link Time Optimization flag, and instructs the plugin compiled here to + # use this flag to. This breaks the build for us. Using _fat_ LTO allows + # successful linking while still providing LTO benefits. If our build of + # `juce` was used as a dependency, we could have patched that `-flto` line + # in our juce's source, but that is not possible because it is used as a + # Git Submodule. + "-ffat-lto-objects" + ]); + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/vst3 $out/lib/lv2 + + cp -r "TIME12_artefacts/Release/LV2/TIME-12.lv2" $out/lib/lv2 + cp -r "TIME12_artefacts/Release/VST3/TIME-12.vst3" $out/lib/vst3 + + runHook postInstall + ''; + + meta = { + description = "An envelope based delay modulator"; + homepage = "https://github.com/tiagolr/time12"; + changelog = "https://github.com/tiagolr/time12/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ magnetophon ]; + platforms = lib.platforms.all; + }; +}) From 7249a2a8dfa85dd6c992be403202449e26426a7b Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 23 Jan 2026 01:29:17 +0100 Subject: [PATCH 1174/1216] gate12: init at 1.3.3 --- pkgs/by-name/ga/gate12/package.nix | 95 ++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 pkgs/by-name/ga/gate12/package.nix diff --git a/pkgs/by-name/ga/gate12/package.nix b/pkgs/by-name/ga/gate12/package.nix new file mode 100644 index 000000000000..835daa5ad547 --- /dev/null +++ b/pkgs/by-name/ga/gate12/package.nix @@ -0,0 +1,95 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + fontconfig, + freetype, + libX11, + libXcomposite, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + writableTmpDirAsHomeHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gate12"; + version = "1.3.3"; + + src = fetchFromGitHub { + owner = "tiagolr"; + repo = "gate12"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-dyeIWD315+aKZRwtkRYaWNOS8bNDFboMVPHHe7l+IIY="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + writableTmpDirAsHomeHook # fontconfig cache + ]; + + buildInputs = [ + fontconfig + freetype + ] + ++ lib.optionals stdenv.isLinux [ + alsa-lib + libX11 + libXcomposite + libXcursor + libXdmcp + libXext + libXinerama + libXrandr + libXtst + ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + (lib.cmakeBool "COPY_PLUGIN_AFTER_BUILD" false) + (lib.cmakeFeature "BUILD_STANDALONE" "OFF") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" + ]; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux (toString [ + # juce, compiled in this build as part of a Git submodule, uses `-flto` as + # a Link Time Optimization flag, and instructs the plugin compiled here to + # use this flag to. This breaks the build for us. Using _fat_ LTO allows + # successful linking while still providing LTO benefits. If our build of + # `juce` was used as a dependency, we could have patched that `-flto` line + # in our juce's source, but that is not possible because it is used as a + # Git Submodule. + "-ffat-lto-objects" + ]); + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/vst3 $out/lib/lv2 + + cp -r "GATE12_artefacts/Release/LV2/GATE-12.lv2" $out/lib/lv2 + cp -r "GATE12_artefacts/Release/VST3/GATE-12.vst3" $out/lib/vst3 + + runHook postInstall + ''; + + meta = { + description = "Trance gate / volume shaper"; + homepage = "https://github.com/tiagolr/gate12"; + changelog = "https://github.com/tiagolr/gate12/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ magnetophon ]; + platforms = lib.platforms.all; + }; +}) From 421d2bcc851e97b728563a70ec18ad1fd59e82ff Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 23 Jan 2026 01:08:16 +0100 Subject: [PATCH 1175/1216] filtr: init at 1.1.0 --- pkgs/by-name/fi/filtr/package.nix | 95 +++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 pkgs/by-name/fi/filtr/package.nix diff --git a/pkgs/by-name/fi/filtr/package.nix b/pkgs/by-name/fi/filtr/package.nix new file mode 100644 index 000000000000..07d318c5ae7f --- /dev/null +++ b/pkgs/by-name/fi/filtr/package.nix @@ -0,0 +1,95 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + fontconfig, + freetype, + libX11, + libXcomposite, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + writableTmpDirAsHomeHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "filtr"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "tiagolr"; + repo = "filtr"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-LRVwJ/Eh+XeNGnlbd2c56hWV8StHZGhxy0XLjGZ0toY="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + writableTmpDirAsHomeHook # fontconfig cache + ]; + + buildInputs = [ + fontconfig + freetype + ] + ++ lib.optionals stdenv.isLinux [ + alsa-lib + libX11 + libXcomposite + libXcursor + libXdmcp + libXext + libXinerama + libXrandr + libXtst + ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + (lib.cmakeBool "COPY_PLUGIN_AFTER_BUILD" false) + (lib.cmakeFeature "BUILD_STANDALONE" "OFF") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" + ]; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux (toString [ + # juce, compiled in this build as part of a Git submodule, uses `-flto` as + # a Link Time Optimization flag, and instructs the plugin compiled here to + # use this flag to. This breaks the build for us. Using _fat_ LTO allows + # successful linking while still providing LTO benefits. If our build of + # `juce` was used as a dependency, we could have patched that `-flto` line + # in our juce's source, but that is not possible because it is used as a + # Git Submodule. + "-ffat-lto-objects" + ]); + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/vst3 $out/lib/lv2 + + cp -r "FILTR_artefacts/Release/LV2/FILT-R.lv2" $out/lib/lv2 + cp -r "FILTR_artefacts/Release/VST3/FILT-R.vst3" $out/lib/vst3 + + runHook postInstall + ''; + + meta = { + description = "Envelope based filter modulator"; + homepage = "https://github.com/tiagolr/filtr"; + changelog = "https://github.com/tiagolr/filtr/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ magnetophon ]; + platforms = lib.platforms.all; + }; +}) From 8659b56f0878fd829af60a5dcafd144d1cbc9b56 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 12:32:11 +0000 Subject: [PATCH 1176/1216] python3Packages.json-repair: 0.55.0 -> 0.55.1 --- pkgs/development/python-modules/json-repair/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/json-repair/default.nix b/pkgs/development/python-modules/json-repair/default.nix index 068e6a4bc46d..814e3466aa07 100644 --- a/pkgs/development/python-modules/json-repair/default.nix +++ b/pkgs/development/python-modules/json-repair/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "json-repair"; - version = "0.55.0"; + version = "0.55.1"; pyproject = true; src = fetchFromGitHub { owner = "mangiucugna"; repo = "json_repair"; tag = "v${version}"; - hash = "sha256-yQ+btSuifrtr0y5GRcLY0SUEp3LQXdpvaxa6ZorA/Q8="; + hash = "sha256-I3DYzD5hQn7toU6P8kbiuB+LsGr8PmMULQYwybkzHB4="; }; build-system = [ setuptools ]; From 1b32401001b3e1325726844c5a986ac7c3f62223 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Fri, 23 Jan 2026 13:41:46 +0100 Subject: [PATCH 1177/1216] corepack: 0.34.4 -> 0.34.6 --- pkgs/by-name/co/corepack/package.nix | 6 +- .../co/corepack/use-builtin-sqlite.patch | 212 ++++-------------- 2 files changed, 41 insertions(+), 177 deletions(-) diff --git a/pkgs/by-name/co/corepack/package.nix b/pkgs/by-name/co/corepack/package.nix index d29373c5ce40..ed4bc2bc3d3a 100644 --- a/pkgs/by-name/co/corepack/package.nix +++ b/pkgs/by-name/co/corepack/package.nix @@ -12,13 +12,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "corepack"; - version = "0.34.4"; + version = "0.34.6"; src = fetchFromGitHub { owner = "nodejs"; repo = "corepack"; tag = "v${finalAttrs.version}"; - hash = "sha256-AE2tDeDs1wzDdTrkG/ic2ydQC8G2wcaKD6s7ec7p+Ew="; + hash = "sha256-Wht1w6irfjj4cG4O1mWaP+uWvi794CsxoQPhk3uoKcw="; }; patches = [ @@ -45,7 +45,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { patches src ; - hash = "sha256-Yzm3PtdbR9Tx2bisdzTw0XGD6rAc/KUCzmhjGuXdft4="; + hash = "sha256-kngfdPGent5u231BFOzDLZFLp+EueDrm88iLbSoo5+g="; }; postPatch = '' diff --git a/pkgs/by-name/co/corepack/use-builtin-sqlite.patch b/pkgs/by-name/co/corepack/use-builtin-sqlite.patch index 1491b3feb035..835ea8ec9a7b 100644 --- a/pkgs/by-name/co/corepack/use-builtin-sqlite.patch +++ b/pkgs/by-name/co/corepack/use-builtin-sqlite.patch @@ -1,35 +1,25 @@ diff --git a/package.json b/package.json -index fc8f2469ed5..7b3881e2a5d 100644 +index f2778bc2031..10496858378 100644 --- a/package.json +++ b/package.json -@@ -26,7 +26,6 @@ - "@yarnpkg/eslint-config": "^3.0.0", - "@yarnpkg/fslib": "^3.0.0-rc.48", +@@ -28,3 +28,2 @@ "@zkochan/cmd-shim": "^6.0.0", - "better-sqlite3": "^11.7.2", "clipanion": "patch:clipanion@npm%3A3.2.1#~/.yarn/patches/clipanion-npm-3.2.1-fc9187f56c.patch", - "debug": "^4.1.1", - "esbuild": "^0.25.0", diff --git a/tests/recordRequests.js b/tests/recordRequests.js index b78edad0e44..27667abbae4 100644 --- a/tests/recordRequests.js +++ b/tests/recordRequests.js -@@ -1,7 +1,7 @@ - "use strict"; - const path = require(`node:path`); +@@ -3,3 +3,3 @@ const path = require(`node:path`); const crypto = require(`node:crypto`); -const SQLite3 = require(`better-sqlite3`); +const { DatabaseSync: SQLite3 } = require(`node:sqlite`); - const db = new SQLite3(path.join(__dirname, `nocks.db`)); - process.once(`exit`, () => { diff --git a/yarn.lock b/yarn.lock -index fc5bd2b1248..46777cbe979 100644 +index a2f193d1ee0..74f52dc46d9 100644 --- a/yarn.lock +++ b/yarn.lock -@@ -1145,44 +1145,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1147,40 +1147,2 @@ __metadata: -"base64-js@npm:^1.3.1": - version: 1.5.1 @@ -70,11 +60,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "brace-expansion@npm:^1.1.7": - version: 1.1.12 - resolution: "brace-expansion@npm:1.1.12" -@@ -1211,16 +1173,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1213,12 +1175,2 @@ __metadata: -"buffer@npm:^5.5.0": - version: 5.7.1 @@ -87,11 +73,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "cac@npm:^6.7.14": - version: 6.7.14 - resolution: "cac@npm:6.7.14" -@@ -1316,13 +1268,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1318,9 +1270,2 @@ __metadata: -"chownr@npm:^1.1.1": - version: 1.1.4 @@ -101,19 +83,11 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" -@@ -1394,7 +1339,6 @@ __metadata: - "@yarnpkg/eslint-config": "npm:^3.0.0" - "@yarnpkg/fslib": "npm:^3.0.0-rc.48" +@@ -1396,3 +1341,2 @@ __metadata: "@zkochan/cmd-shim": "npm:^6.0.0" - better-sqlite3: "npm:^11.7.2" clipanion: "patch:clipanion@npm%3A3.2.1#~/.yarn/patches/clipanion-npm-3.2.1-fc9187f56c.patch" - debug: "npm:^4.1.1" - esbuild: "npm:^0.25.0" -@@ -1468,15 +1412,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1470,11 +1414,2 @@ __metadata: -"decompress-response@npm:^6.0.0": - version: 6.0.0 @@ -125,11 +99,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "deep-eql@npm:^5.0.1": - version: 5.0.2 - resolution: "deep-eql@npm:5.0.2" -@@ -1484,13 +1419,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1486,9 +1421,2 @@ __metadata: -"deep-extend@npm:^0.6.0": - version: 0.6.0 @@ -139,11 +109,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" -@@ -1520,13 +1448,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1522,9 +1450,2 @@ __metadata: -"detect-libc@npm:^2.0.0": - version: 2.1.2 @@ -153,11 +119,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" -@@ -1577,15 +1498,6 @@ __metadata: - languageName: node - linkType: hard +@@ -1579,11 +1500,2 @@ __metadata: -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.5 @@ -169,11 +131,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" -@@ -2004,13 +1916,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2006,9 +1918,2 @@ __metadata: -"expand-template@npm:^2.0.3": - version: 2.0.3 @@ -183,11 +141,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "expect-type@npm:^1.2.1": - version: 1.2.2 - resolution: "expect-type@npm:1.2.2" -@@ -2089,13 +1994,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2091,9 +1996,2 @@ __metadata: -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 @@ -197,11 +151,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" -@@ -2151,13 +2049,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2153,9 +2051,2 @@ __metadata: -"fs-constants@npm:^1.0.0": - version: 1.0.0 @@ -211,11 +161,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" -@@ -2272,13 +2163,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2274,9 +2165,2 @@ __metadata: -"github-from-package@npm:0.0.0": - version: 0.0.0 @@ -225,11 +171,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" -@@ -2451,13 +2335,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2453,9 +2337,2 @@ __metadata: -"ieee754@npm:^1.1.13": - version: 1.2.1 @@ -239,11 +181,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "ignore@npm:^5.2.0": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" -@@ -2489,20 +2366,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2491,16 +2368,2 @@ __metadata: -"inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 @@ -260,11 +198,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "internal-slot@npm:^1.1.0": - version: 1.1.0 - resolution: "internal-slot@npm:1.1.0" -@@ -2982,13 +2845,6 @@ __metadata: - languageName: node - linkType: hard +@@ -2984,9 +2847,2 @@ __metadata: -"mimic-response@npm:^3.1.0": - version: 3.1.0 @@ -273,12 +207,8 @@ index fc5bd2b1248..46777cbe979 100644 - languageName: node - linkType: hard - - "minimatch@npm:^10.0.3": - version: 10.1.1 - resolution: "minimatch@npm:10.1.1" -@@ -3016,13 +2872,6 @@ __metadata: - languageName: node - linkType: hard + "minimatch@npm:^10.1.1": +@@ -3018,9 +2874,2 @@ __metadata: -"minimist@npm:^1.2.0, minimist@npm:^1.2.3": - version: 1.2.8 @@ -288,11 +218,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" -@@ -3099,13 +2948,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3101,9 +2950,2 @@ __metadata: -"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": - version: 0.5.3 @@ -302,11 +228,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" -@@ -3122,13 +2964,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3124,9 +2966,2 @@ __metadata: -"napi-build-utils@npm:^2.0.0": - version: 2.0.0 @@ -316,11 +238,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" -@@ -3143,15 +2978,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3145,11 +2980,2 @@ __metadata: -"node-abi@npm:^3.3.0": - version: 3.85.0 @@ -332,11 +250,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "node-gyp@npm:latest": - version: 12.1.0 - resolution: "node-gyp@npm:12.1.0" -@@ -3254,15 +3080,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3256,11 +3082,2 @@ __metadata: -"once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 @@ -348,11 +262,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" -@@ -3413,28 +3230,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3415,24 +3232,2 @@ __metadata: -"prebuild-install@npm:^7.1.1": - version: 7.1.3 @@ -377,11 +287,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" -@@ -3477,16 +3272,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3479,12 +3274,2 @@ __metadata: -"pump@npm:^3.0.0": - version: 3.0.3 @@ -394,11 +300,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "punycode@npm:^2.1.0": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" -@@ -3501,20 +3286,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3503,16 +3288,2 @@ __metadata: -"rc@npm:^1.2.7": - version: 1.2.8 @@ -415,11 +317,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" -@@ -3522,17 +3293,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3524,13 +3295,2 @@ __metadata: -"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": - version: 3.6.2 @@ -433,11 +331,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": - version: 1.0.10 - resolution: "reflect.getprototypeof@npm:1.0.10" -@@ -3720,13 +3480,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3722,9 +3482,2 @@ __metadata: -"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 @@ -447,11 +341,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "safe-push-apply@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-push-apply@npm:1.0.0" -@@ -3888,24 +3641,6 @@ __metadata: - languageName: node - linkType: hard +@@ -3890,20 +3643,2 @@ __metadata: -"simple-concat@npm:^1.0.0": - version: 1.0.1 @@ -472,11 +362,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" -@@ -4074,15 +3809,6 @@ __metadata: - languageName: node - linkType: hard +@@ -4076,11 +3811,2 @@ __metadata: -"string_decoder@npm:^1.1.1": - version: 1.3.0 @@ -488,11 +374,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" -@@ -4108,13 +3834,6 @@ __metadata: - languageName: node - linkType: hard +@@ -4110,9 +3836,2 @@ __metadata: -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 @@ -502,11 +384,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "strip-literal@npm:^3.0.0": - version: 3.1.0 - resolution: "strip-literal@npm:3.1.0" -@@ -4147,31 +3866,6 @@ __metadata: - languageName: node - linkType: hard +@@ -4149,27 +3868,2 @@ __metadata: -"tar-fs@npm:^2.0.0": - version: 2.1.4 @@ -533,12 +411,8 @@ index fc5bd2b1248..46777cbe979 100644 - languageName: node - linkType: hard - - "tar@npm:^7.4.0, tar@npm:^7.5.2": - version: 7.5.2 - resolution: "tar@npm:7.5.2" -@@ -4271,15 +3965,6 @@ __metadata: - languageName: node - linkType: hard + "tar@npm:^7.5.2, tar@npm:^7.5.4": +@@ -4273,11 +3967,2 @@ __metadata: -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 @@ -550,11 +424,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "typanion@npm:^3.8.0": - version: 3.14.0 - resolution: "typanion@npm:3.14.0" -@@ -4422,13 +4107,6 @@ __metadata: - languageName: node - linkType: hard +@@ -4424,9 +4109,2 @@ __metadata: -"util-deprecate@npm:^1.0.1": - version: 1.0.2 @@ -564,11 +434,7 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "v8-compile-cache@npm:^2.3.0": - version: 2.4.0 - resolution: "v8-compile-cache@npm:2.4.0" -@@ -4697,13 +4375,6 @@ __metadata: - languageName: node - linkType: hard +@@ -4699,9 +4377,2 @@ __metadata: -"wrappy@npm:1": - version: 1.0.2 @@ -578,5 +444,3 @@ index fc5bd2b1248..46777cbe979 100644 - linkType: hard - "yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" From cd7a5374a68fb463f9cf270c2b0a9e9eb640dcfc Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 23 Jan 2026 13:45:32 +0100 Subject: [PATCH 1178/1216] qdelay: remove standalone see: https://github.com/tiagolr/reevr/issues/11 --- pkgs/by-name/qd/qdelay/package.nix | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/pkgs/by-name/qd/qdelay/package.nix b/pkgs/by-name/qd/qdelay/package.nix index 4d78090472f3..356578b372c2 100644 --- a/pkgs/by-name/qd/qdelay/package.nix +++ b/pkgs/by-name/qd/qdelay/package.nix @@ -55,7 +55,8 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; cmakeFlags = [ - "-DCOPY_PLUGIN_AFTER_BUILD=FALSE" + (lib.cmakeBool "COPY_PLUGIN_AFTER_BUILD" false) + (lib.cmakeFeature "BUILD_STANDALONE" "OFF") ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" @@ -75,30 +76,9 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - mkdir -p $out/bin $out/lib/vst3 + mkdir -p $out/lib/vst3 $out/lib/lv2 - '' - + ( - if stdenv.hostPlatform.isDarwin then - '' - mkdir -p $out/Applications - cp -R QDelay_artefacts/Release/Standalone/QDelay.app \ - $out/Applications/QDelay.app - ln -s \ - $out/Applications/QDelay.app/Contents/MacOS/QDelay \ - $out/bin/QDelay - '' - else - '' - install -Dm755 \ - QDelay_artefacts/Release/Standalone/QDelay \ - $out/bin/QDelay - - mkdir -p $out/bin $out/lib/lv2 - cp -r "QDelay_artefacts/Release/LV2/QDelay.lv2" $out/lib/lv2 - '' - ) - + '' + cp -r "QDelay_artefacts/Release/LV2/QDelay.lv2" $out/lib/lv2 cp -r "QDelay_artefacts/Release/VST3/QDelay.vst3" $out/lib/vst3 runHook postInstall @@ -110,7 +90,6 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/tiagolr/qdelay/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ magnetophon ]; - mainProgram = "QDelay"; platforms = lib.platforms.all; }; }) From 8f017a9bd4d37a2797b835b9e05df91c620f2f6e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 12:56:51 +0000 Subject: [PATCH 1179/1216] unciv: 4.19.7 -> 4.19.9 --- pkgs/by-name/un/unciv/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix index 4d147a59f179..9f809ab42ccc 100644 --- a/pkgs/by-name/un/unciv/package.nix +++ b/pkgs/by-name/un/unciv/package.nix @@ -12,7 +12,7 @@ nix-update-script, }: let - version = "4.19.7"; + version = "4.19.9"; desktopItem = makeDesktopItem { name = "unciv"; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; - hash = "sha256-wRZNfirTBNFKVwHW+Wdu2hT2GLbQQO93HC/ngYmvaTw="; + hash = "sha256-+HVpzm60hyJhD1b7VlDLpa5NY48ffBIPF54SHqDYfF8="; }; dontUnpack = true; From 7c4037fcd47d54c59239f04442c2b890d15925a0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 13:19:35 +0000 Subject: [PATCH 1180/1216] bitbake-language-server: 0.0.15 -> 0.0.16 --- pkgs/by-name/bi/bitbake-language-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bitbake-language-server/package.nix b/pkgs/by-name/bi/bitbake-language-server/package.nix index d614fbffb8d3..119cc3dbbf83 100644 --- a/pkgs/by-name/bi/bitbake-language-server/package.nix +++ b/pkgs/by-name/bi/bitbake-language-server/package.nix @@ -8,14 +8,14 @@ python3.pkgs.buildPythonApplication rec { pname = "bitbake-language-server"; - version = "0.0.15"; + version = "0.0.16"; pyproject = true; src = fetchFromGitHub { owner = "Freed-Wu"; repo = "bitbake-language-server"; tag = version; - hash = "sha256-NLDQ2P5peweugkoNYskpCyCEgBwVFA7RTs8+NvH8fj8="; + hash = "sha256-Huk5fpuN5bNtxH52UX2I86T5s82LXynZreZOGKFVq/w="; }; nativeBuildInputs = with python3.pkgs; [ From 906af0d67c0ac223923a3dd51a9db95eb27d4207 Mon Sep 17 00:00:00 2001 From: Arsenii Zorin Date: Mon, 22 Dec 2025 12:10:04 +0300 Subject: [PATCH 1181/1216] pulumi-bin: 3.212.0 -> 3.216.0 --- pkgs/tools/admin/pulumi-bin/data.nix | 482 +++++++++++++-------------- 1 file changed, 241 insertions(+), 241 deletions(-) diff --git a/pkgs/tools/admin/pulumi-bin/data.nix b/pkgs/tools/admin/pulumi-bin/data.nix index 9a32bc2e7a3c..4e16c34739eb 100644 --- a/pkgs/tools/admin/pulumi-bin/data.nix +++ b/pkgs/tools/admin/pulumi-bin/data.nix @@ -1,112 +1,112 @@ # DO NOT EDIT! This file is generated automatically by update.sh { }: { - version = "3.212.0"; + version = "3.216.0"; pulumiPkgs = { x86_64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.212.0-linux-x64.tar.gz"; - sha256 = "0jgmrf5zjbxmy3df3aj6vspjyzl99j543pi6ldnyk8jzgkqhjm9z"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.216.0-linux-x64.tar.gz"; + sha256 = "0l1jw58739vaffsl16h0r0jnnvx8pvczqbx5gc8ga0za13m3p2lv"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.45.0-linux-amd64.tar.gz"; - sha256 = "0dbg53qh0h4dy039agfwx5qjfmz7id6gm4xqb1a8qmzw9j6fv8rp"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.47.0-linux-amd64.tar.gz"; + sha256 = "1dc0b32pc3qapygvc4ialwqxn7ii67lswf4fk1y861vq99j0njch"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.2.0-linux-amd64.tar.gz"; - sha256 = "15csc079n5z76pizpxd7516npj5s75rmiaxd8fqgb19j07da68cc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.3.0-linux-amd64.tar.gz"; + sha256 = "1c8bd6m2kk6nzbmq3csb5babmbma83cxsvqxv7z0s59b2p6jc9r5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.90.0-linux-amd64.tar.gz"; - sha256 = "1wi0fhl5vaiz89y48k0h3y9di7b8281mfmd76wrrkhql0hnglfw7"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.92.0-linux-amd64.tar.gz"; + sha256 = "1pm5mx1fnxcljswry0z7qsmvv63xwiaxgjkryijwsmb76jy4np00"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.0-linux-amd64.tar.gz"; - sha256 = "0yxkw3vsa9a94zxjgsi9y480ph9dyl30055wi6h22kgvanfmh0zc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.1-linux-amd64.tar.gz"; + sha256 = "0w2rwfc298c6slfcmbi7pcr0l1af9ylvd6jl7lnsinwf4bz2yv5p"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.34.0-linux-amd64.tar.gz"; - sha256 = "1viyx18amk60v1pmgc9fkbspglanpr5567cjz8y6hcqll2shrmmr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.36.0-linux-amd64.tar.gz"; + sha256 = "14qnsgjs0jkrwanldvfgfjv223va71b6rpan4qhbnc8c2pcyjp46"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.14.0-linux-amd64.tar.gz"; - sha256 = "0271vi77iqkhxps9z637s004i4sg2n14124p0qkyapsavbpxx1l8"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.16.0-linux-amd64.tar.gz"; + sha256 = "1mw7dqrdvkadh85f60clrj60r8zj6mdxvijq1ns1fkcgdjl9411b"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.7.0-linux-amd64.tar.gz"; - sha256 = "162a1c80f3a20naljsz7v57npv96gzx84p7xspvpl2cydgn14ac8"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-linux-amd64.tar.gz"; + sha256 = "1cbc4bcac00s5fg5lj5hxrcd1dyr3ynfdk9arhbp964h4mr1hxx0"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.10.2-linux-amd64.tar.gz"; - sha256 = "0i952s6ib6k21fzwwa5cb5xrb280an4lyfk26szm4nvmyy623jf7"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.12.0-linux-amd64.tar.gz"; + sha256 = "08f0vgxsa7cmh2npxkwhvg5qxmdqmk8zxdr4p01bw50fvsdn87kd"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.30.0-linux-amd64.tar.gz"; - sha256 = "0yl2wfrmvx3l24zp01jx93srb1la4a9jfxwl854g7i46a2n6bvxv"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.31.0-linux-amd64.tar.gz"; + sha256 = "03lf1bkgzfqw06ga6x0gvgralxaw6sxj2yv6vp7yxrsnv09a9xf7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.11.0-linux-amd64.tar.gz"; - sha256 = "0wjn3qrpzr2irfz50vy9nh5jpn14rc6ddv1bx6byj5q14ldapw8w"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.13.0-linux-amd64.tar.gz"; + sha256 = "0mv4gmpxprvrmjbj062khwpsdwwscw3kpiryjmxg740q4mdqi6fz"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.13.3-linux-amd64.tar.gz"; sha256 = "0ibbyz4wqh4dnmfllq39mmzgn4is8rqqfq8d9x7cavzbl0dxh7vw"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.60.0-linux-amd64.tar.gz"; - sha256 = "0r3423s9746ck5dxc4jrdp5a1xzjjqd4daki1w55882f69gbh56l"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.63.0-linux-amd64.tar.gz"; + sha256 = "03z1r8qkqli7adrdqifdll4q38vcq426ypxcrv059ib0fhc4mf3k"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.55.0-linux-amd64.tar.gz"; - sha256 = "0wgqljqaxar5g4bl963yn22l50vfnfz171y1qq2mml9blq1pc2nm"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.56.0-linux-amd64.tar.gz"; + sha256 = "1xf6sc8d8q4xn7zcg6lwjv6liks863vv99irivg6v9x3nmcj55ib"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.10.0-linux-amd64.tar.gz"; - sha256 = "0r0anifgmcv2nw3p9yfxyq5whvgf2h4fk7r2sdjyaql9iazsnayf"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-linux-amd64.tar.gz"; + sha256 = "1zjz0mbfjgpnjiwr4rl5bv3bfl8l8sym1azyrnckkc0gzbgdkg2d"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz"; sha256 = "0hnardid0kbzy65dmn7vz8ddy5hq78nf2871zz6srf2hfyiv7qa4"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.2.0-linux-amd64.tar.gz"; - sha256 = "0vd6yb9wi3aa5mvvvfx2zx8f2k3dwvhsj35ykwy587n21jaii7vl"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.3.0-linux-amd64.tar.gz"; + sha256 = "0lh7qzaxqplnc6liqvgccczyl7fhgnnmxv1ivwf88pmrpzq2l1n0"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.6.0-linux-amd64.tar.gz"; - sha256 = "0sd257n5cxlrrs1hwqzdfbzh8jpbswl0hggmn9ca9f75dj7ab7c5"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.10.0-linux-amd64.tar.gz"; + sha256 = "0rgvz3zp61iq92y8q3whqsrq8pkk2fpl5fp2c539b078wzpf4jhl"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.9.1-linux-amd64.tar.gz"; - sha256 = "1iw8rml43gc37gk2slw4dy4ri0m578nsh7l27qgisvx82w4i5hxj"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.11.0-linux-amd64.tar.gz"; + sha256 = "0ins2xv95m99dgvq44ymdznzkf35mpzxfai5a9bymj3g000qzjxi"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.5.0-linux-amd64.tar.gz"; - sha256 = "0297am2i917g97dvslbkwsi0hy541qn13z26cczzj39chv4h0a4m"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-linux-amd64.tar.gz"; + sha256 = "14g617h0mp07kp27r73afymzhl02pmdk946dj03g82vdszh6a1s1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-amd64.tar.gz"; sha256 = "1zra1ck64gs4nwqf62ksfmpbx24lxw6vsgi47j4v8q051m89fgq3"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.29.0-linux-amd64.tar.gz"; - sha256 = "08ygsb58kz9lzq1zs2xkvi9prmfa7dm0kg4y5dfz2qdqb5bis5jr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.31.0-linux-amd64.tar.gz"; + sha256 = "131bqk4zwp0z009iwvx9izxv1y1klmzmzx4li5phrw4pmzzm94q7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.24.1-linux-amd64.tar.gz"; - sha256 = "022r510d91nyjf5rigshmyq54pwkghdgm4r696nrg6bsgc5s1c7x"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-linux-amd64.tar.gz"; + sha256 = "1c3l6wgmc5rrsif9cy6rgkyh2j4gin90klf42w84s3502qydb8vf"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.4.0-linux-amd64.tar.gz"; - sha256 = "11zb5z8yzb87irf7sqc8b664wibicwk6vnmbshsrf41nv4lrys1r"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-linux-amd64.tar.gz"; + sha256 = "1m66y4j083bkbvb19s88s61ch4fi9bxafih7ql6vj4djahs7bf0l"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.6.1-linux-amd64.tar.gz"; sha256 = "123bfr7ydz560dzj49kjmrilc4n0r9ndq2lskx839m4vly8qwqzs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.12-linux-amd64.tar.gz"; - sha256 = "05h57r3r5cwdb9pb4nh9k4y2rfww2csarqaydayi4qr2xwgq09p3"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.13-linux-amd64.tar.gz"; + sha256 = "1mhlnf5n3zc7zfphp1ajdnb9g0fjvw12dv6gfpz5zxgfp97sc00r"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v5.4.0-linux-amd64.tar.gz"; @@ -117,44 +117,44 @@ sha256 = "1jhqqiy6nrkkhg7rnhcjgzm97jy5z0508b2bh8mhcjsqgbc8kxrk"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.18.4-linux-amd64.tar.gz"; - sha256 = "12xw7fc5xsdbjlwbxwp0jdyv89l2af0hh6b2890fh1g83jp80rxs"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.19.0-linux-amd64.tar.gz"; + sha256 = "0mhib1zn7l2rlhyv4yih48b2kk9g27gkfjjwbrhq4b2lc7n6giqd"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.10.0-linux-amd64.tar.gz"; - sha256 = "06cjvv78card284z5bc3843pw54fjyhkjq053jgb0ls67wiy1nc0"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.11.0-linux-amd64.tar.gz"; + sha256 = "1ljw7va47k5db54s709a9z5haa2rygrx9h179139qhd3lrsml3yb"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.127.0-linux-amd64.tar.gz"; - sha256 = "0sbvq6c26qvmpwgvzsvnqsbmb7y7ww5nr0zb1l95kxh6z0v7kh8g"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.128.1-linux-amd64.tar.gz"; + sha256 = "1w4bfps99km0xck81f20yh2lfy48rz7nh5kfz1l0r1xs5r9cwsgk"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.11-linux-amd64.tar.gz"; sha256 = "0pppwgwl726rfy92fnya9afj3cciw13vzs9r60w2477i3250slqj"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.23.0-linux-amd64.tar.gz"; - sha256 = "1xm83rqxb0hbmjis9ynwm52rca35bj97i9dllx9f12g60w3w6qf8"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.24.0-linux-amd64.tar.gz"; + sha256 = "0r3r1prz995ykgraqr990r8wawczissglncwn2z0ch60rcwd1k0c"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.2.3-linux-amd64.tar.gz"; sha256 = "0739lvb7nak8cv6sz208hq8zgqy88nki3knqjvmh4qg0lgrikb4j"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.5.0-linux-amd64.tar.gz"; - sha256 = "0fkkf6fv7ah47cf6p44c6c78h9hc4bxglchlnqn6hw73bj6ziy7y"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.6.0-linux-amd64.tar.gz"; + sha256 = "0mhz7fjswqgkx20rhf78bqrad6d7v3s8gzra7rbxys7s8lq50psb"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.1-linux-amd64.tar.gz"; - sha256 = "070kb73yix9aha55x9n4h6f4khp9a8wylqgvzdhsa7c7k35fx6q5"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.2-linux-amd64.tar.gz"; + sha256 = "0i52npl2xhnzrjlw79ykpfvc17s72i5fpmh1i6adgxyigzalls1c"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.1-linux-amd64.tar.gz"; - sha256 = "1yr8pi9w343h555l6bxfzxrf04y7s4lxqnvjw89594nl30ldz866"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.2-linux-amd64.tar.gz"; + sha256 = "0rrsvr5dljfz1fcdn0i0djnn1ji3xdwmd4bzmhh2rbh688fn2gxr"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.11-linux-amd64.tar.gz"; - sha256 = "0x71yr3hvpwhnvrj51fzvbyw9sbdzkb8l58a4xn2rg6xw1sbx23r"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.12-linux-amd64.tar.gz"; + sha256 = "1xarryvldflhyklhcbsmj3awcjy9d4l40l242glkl3m39hj5q6pg"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz"; @@ -163,108 +163,108 @@ ]; x86_64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.212.0-darwin-x64.tar.gz"; - sha256 = "1w9g7zx4d2cvqr4nd6gi7xd39gp30sgqi99i7rcrxiynly64xxqw"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.216.0-darwin-x64.tar.gz"; + sha256 = "0hjllanz2zw7w1wy4vzj1csw4nzmsi6hsqlwgbsmx9hygmmzrdhh"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.45.0-darwin-amd64.tar.gz"; - sha256 = "1cwwqv21g6a5xvrfqwjwzqz98mv2sv23wn91djkkwjvnyyb2jqif"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.47.0-darwin-amd64.tar.gz"; + sha256 = "07fzvgf283kqir5bajmncr2lz9vkbp4y6zdn82kvv0fymw5x7q3x"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.2.0-darwin-amd64.tar.gz"; - sha256 = "1nxwp3xqa2gyd34f63izsb7mxqxwla8zxrqd4bk74frlmkna4yw8"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.3.0-darwin-amd64.tar.gz"; + sha256 = "08i28x0fp4pxb14klgjdqi05hyw4ilj0iz5ri53mpmviyl1mrmaq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.90.0-darwin-amd64.tar.gz"; - sha256 = "1nxy211qcvddr2m4ngsrb94ngs5b3rmjlzsliglcdxqzfzw916vm"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.92.0-darwin-amd64.tar.gz"; + sha256 = "06pz8jyd5g3i07h59bblvfmc5nzj4zvifbhhdpi1sch972m2frb7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.0-darwin-amd64.tar.gz"; - sha256 = "0vwbyq77srgwi34cj2dk5pk6jy2z8wcc7rwiba0f8z6wwa1y4d63"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.1-darwin-amd64.tar.gz"; + sha256 = "0sa658cs1b4zj4brh3377vzhwf8aapnibsjdz8cd6jq61fs3b76l"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.34.0-darwin-amd64.tar.gz"; - sha256 = "0mjgb8dkqavam3544bh9qgc3kgxkamr8xccfwx8q5ish6i261r3l"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.36.0-darwin-amd64.tar.gz"; + sha256 = "0g3b591fyyjs4w99070cpb9rg284cb22sf6kcz10532wz45ksfgs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.14.0-darwin-amd64.tar.gz"; - sha256 = "1dgzwchd2vd2xx76sm93zl4aq2xvdpkqawlbnnbwfc9bkv3w8hcr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.16.0-darwin-amd64.tar.gz"; + sha256 = "0y0fgrmcnzd2wj7acvw5j2if9xisifkg0v44sh0pgdxir82j9bip"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.7.0-darwin-amd64.tar.gz"; - sha256 = "0z6d8a71k5r6vka7f446ik1xj6nxg1ibx76i0wslzh5lwq2ybsmh"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-darwin-amd64.tar.gz"; + sha256 = "02ird404hnma1gkw2b14ac1ihii53qi41pjx6jk8d7n0hyhj4fyc"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.10.2-darwin-amd64.tar.gz"; - sha256 = "0a7lrp0xrpcd4hsnwcjzfbxihl0hcw39c6bhprpa4f1lzi4fdgv5"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.12.0-darwin-amd64.tar.gz"; + sha256 = "00y0y0djndgi98vq068pzmflj6ypwqg1bm242vdajfz43afsz7z7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.30.0-darwin-amd64.tar.gz"; - sha256 = "15qflgcbv7b67w9j07jw67nf8ymdrw29v26iz6gk7jg4cmr57175"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.31.0-darwin-amd64.tar.gz"; + sha256 = "02a67dfn8jnbqsfcz0h8w42v24qkqx35xbnwf4ffcdwqbflqnyli"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.11.0-darwin-amd64.tar.gz"; - sha256 = "1m9mfb64b49q6a1z8dbyk8idd3zacnlrly8bsh4lpm0abjp2ms76"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.13.0-darwin-amd64.tar.gz"; + sha256 = "0lhs509pfgh6vmawah7bfwcim0r9qmhjjihk6dxascav86dxd5y7"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.13.3-darwin-amd64.tar.gz"; sha256 = "1vszqg9c0j84jyv1l519zaqb27qb98qxmzml42dj3zvpnxv8jkxk"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.60.0-darwin-amd64.tar.gz"; - sha256 = "0bkx565xdylcfd8ajl32lw75ccb0dy8fxvd16v239l9271ffc00i"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.63.0-darwin-amd64.tar.gz"; + sha256 = "12p8a6rn7qijqh4znwx08d92i4bsn0zwj8s9zqalcsgl5lhqhl2x"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.55.0-darwin-amd64.tar.gz"; - sha256 = "0wsv0j552bhhfcwf95a9wl041ipkswypigxvkzjrshhmbwjmrq3m"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.56.0-darwin-amd64.tar.gz"; + sha256 = "0rhkx2a07ryfx3lbmq15a5y55v342k98si51al2dwshp8hgdd249"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.10.0-darwin-amd64.tar.gz"; - sha256 = "14rpj96l295x16nzh55jgwjw31x9jwy7q064xblxryd1iqvz9lbg"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-darwin-amd64.tar.gz"; + sha256 = "0mkp8aywwfzjbjhp6z2b58x136wlcbqdw338v9rfsk77ymcaz0jy"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz"; sha256 = "1m5lh59h7nck1flzxs9m4n0ag0klk3jmnpf7hc509vffxs89xnjq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.2.0-darwin-amd64.tar.gz"; - sha256 = "1zkj59607r2d30baavqklliq8l7ifdbqyq6cjybdp8i04qkccdk4"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.3.0-darwin-amd64.tar.gz"; + sha256 = "1qr6395rkb2bfd2qi3aifi1z78mlp5kap5kb605j9l0ml5q4ybb4"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.6.0-darwin-amd64.tar.gz"; - sha256 = "1c07fldh78kbw0y3gbcxa3hpc8sc5h5fb8hgn0flbhzaj234dpay"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.10.0-darwin-amd64.tar.gz"; + sha256 = "16fcmyy8jm3kqrcksbdpz10ksvzmzv7ja6ly98x9zs9k59a340pp"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.9.1-darwin-amd64.tar.gz"; - sha256 = "0vkgmd6qajixhnnw0fm6sxnn977vw833j35d1panhal9nmla02a9"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.11.0-darwin-amd64.tar.gz"; + sha256 = "02jnl54vv8zk6pq7zf5j8anw9w81miph6qsw5pdqsvf8p95r2bdh"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.5.0-darwin-amd64.tar.gz"; - sha256 = "1429wdq1g6byv6i00gfq3qn1anp3k1c0in427wn5l637pmrb3ps6"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-darwin-amd64.tar.gz"; + sha256 = "0gr0wvkdk05hdbjk08vxsf1c1p9ijrz6pvd5j49sv1lp081ks6y1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-amd64.tar.gz"; sha256 = "0ddd0pgpyywq291r9q8w6bn41r2px595017iihx4n2cnb1c4v6d5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.29.0-darwin-amd64.tar.gz"; - sha256 = "0hgnn2rq7pa1y3hs0r5pv2g6hsg0bg7gdj7xr8n563wp9ips8l8r"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.31.0-darwin-amd64.tar.gz"; + sha256 = "1pn9j1pj7zbkzg6gc0sdi2a302d53d3hsmw568papx6064cjbgfs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.24.1-darwin-amd64.tar.gz"; - sha256 = "02b7ch9w02q0d9xb6gw5akrrfgsr2xsvhdrwgmn8yf8pm0lqjzgz"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-darwin-amd64.tar.gz"; + sha256 = "1ws77pb53argxz9arlk3qab7770lf6saya5kq90nzfr56ppzppz5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.4.0-darwin-amd64.tar.gz"; - sha256 = "1v309axkjh9gv8cy3y7wpdq7b88129b5p5q030qdrk2hzalxvvrh"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-darwin-amd64.tar.gz"; + sha256 = "1d3l69bb7bk9mjvsmsn8z7sljzhkrjrfqlbn65zfsiqk71g580sm"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.6.1-darwin-amd64.tar.gz"; sha256 = "1lyz86zwhnhasxhccx229fppwgz1wrjmk7b24cx3mg92craazypc"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.12-darwin-amd64.tar.gz"; - sha256 = "0sw0382d4inkbgah62b8s7wszjd2lj39ybq96skl72vsizkp0njw"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.13-darwin-amd64.tar.gz"; + sha256 = "0bxpj1mar2cl5xfdcxmaj0cv7nmgs2xl0s7gmx7vcz1vx46q241b"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v5.4.0-darwin-amd64.tar.gz"; @@ -275,44 +275,44 @@ sha256 = "0xyswa7bcci8maw1y0hzhmckcycnpvm492i8qihlmbsvz9ps7yk5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.18.4-darwin-amd64.tar.gz"; - sha256 = "0zbmrhh5f19r9rg3pcmry325l2lfpam9j6krqdbcwsals971qvw6"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.19.0-darwin-amd64.tar.gz"; + sha256 = "02nm0d2vfi1nkzr06435npnq3wig5pib72frxrjgj0jcfy8z42p7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.10.0-darwin-amd64.tar.gz"; - sha256 = "1qqzy1q95zssllz1nh941x95jz4k258b9z09mpv5fhfwd3wjrq3c"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.11.0-darwin-amd64.tar.gz"; + sha256 = "055pqfcqlns5hg92nlwx6gh0rfkb3r50g8s363xnvmksjhl655nm"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.127.0-darwin-amd64.tar.gz"; - sha256 = "1y92577pa8qxgqm4kfhlfgfxi42z03kba95hw3539ksanlbw8dzw"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.128.1-darwin-amd64.tar.gz"; + sha256 = "04hhzbns61fzd7qwyfpnm8lzq03z1vp95kqrph0sl6v2ygxvsqg4"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.11-darwin-amd64.tar.gz"; sha256 = "1jpcyp3lqiz4aab331x7shhqxzp4m6nz68vhkyqksvdplzr9rj44"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.23.0-darwin-amd64.tar.gz"; - sha256 = "1865cvkl2854pgig0v9892l1qcmhgif70b7zvjk7jvzbx3casv8l"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.24.0-darwin-amd64.tar.gz"; + sha256 = "0ddgizin30ahkrhp6wwcdawvfhy9wggqybbl6hxm3jgfmbhj7rjq"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.2.3-darwin-amd64.tar.gz"; sha256 = "13548nblb6s5rlfc522vb7fb7frjragdyvldr6w6gdscdh8ik98s"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.5.0-darwin-amd64.tar.gz"; - sha256 = "08njb2nxvjy3h7sm807v8rsk4gvvdvr671z1rs5pcfahya29jqps"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.6.0-darwin-amd64.tar.gz"; + sha256 = "1masincv61qzqp8ynklfwlhyas545raykmdakwk2qviq097mmcla"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.1-darwin-amd64.tar.gz"; - sha256 = "1c38gqm2vk9fwxyqmzzf27p8xdis9pa8ikj9pgwyjaf208b63gir"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.2-darwin-amd64.tar.gz"; + sha256 = "0yy13rm9gygfn83mb2g9r4bd2mgy98iaflgs677qh5yq69w3vzsg"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.1-darwin-amd64.tar.gz"; - sha256 = "0yph0sjsyicb3z2bhw1xw1rn7v930vygsgwww4n1zmy6p8059z4a"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.2-darwin-amd64.tar.gz"; + sha256 = "0sv84zjd2f397vhg7hhqicpb27zw12sl39f16raf2fja6xlihbg3"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.11-darwin-amd64.tar.gz"; - sha256 = "115g6sn2sxd9vpzv1a01hah91cnd1irfzif7k8xj5aisixdmfyhh"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.12-darwin-amd64.tar.gz"; + sha256 = "00xk2mz37n2szb7yswcifgrcanqdlbxqcah04a4b7d4b09d3rwz3"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz"; @@ -321,108 +321,108 @@ ]; aarch64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.212.0-linux-arm64.tar.gz"; - sha256 = "17gwqf1x6abdlmv0cnjazwykpk7wrs95yj88lxvp7z9cjq8gck5r"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.216.0-linux-arm64.tar.gz"; + sha256 = "0y4j4fi6nxasp83b5awfn3p0g4xplapi81hkwpscy3m79f8vfkx5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.45.0-linux-arm64.tar.gz"; - sha256 = "0igj6x541g6m6mw0pragvxm9mqcacfpvr5kjk3kzycn4vrd4sjqf"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.47.0-linux-arm64.tar.gz"; + sha256 = "051s1qdxwy68d2zpmgg7gwy491y0gf3z5d7vnid3wlfwfrs2zld9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.2.0-linux-arm64.tar.gz"; - sha256 = "0a4lzmv2k0raq4w7fw7kwbxg71rrcdvxdja5sg8ia1wacsdg8iiw"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.3.0-linux-arm64.tar.gz"; + sha256 = "0l3sgb5l0rjxj9msff6ywkvygn3pq96nbif3b85xssq7a0qsvh3c"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.90.0-linux-arm64.tar.gz"; - sha256 = "0qv8v74javkyipyy1gps5qa677dzg39dhb0q4nni1wp15lx8cd1v"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.92.0-linux-arm64.tar.gz"; + sha256 = "01m7jgkhsjv6pkf5g6z8difpn3nk7w3f3izzb82jdrgn1rcc4r3b"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.0-linux-arm64.tar.gz"; - sha256 = "1lshjmlh51r4wnpv8anirs0br2k1c4l5v0b0f8m6hcmw4rm4fqla"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.1-linux-arm64.tar.gz"; + sha256 = "1rndp1kjn51npbwlxisl8nhbbz2b891qj3zbp1h7mz0n1b0hjkhq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.34.0-linux-arm64.tar.gz"; - sha256 = "0mpyiakda7s27gz07hfzjnkxblvi00ivv89wy0ixzr9ivzpcrha5"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.36.0-linux-arm64.tar.gz"; + sha256 = "00z1h94j0653w56x9ngmh0c8dsazpb0az6agjfd8050bgw4sqysx"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.14.0-linux-arm64.tar.gz"; - sha256 = "1xmy9yqj7xdv1s5ld25w24mnx6yv7frdp4hm4vlw9cdwalvz2rgm"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.16.0-linux-arm64.tar.gz"; + sha256 = "0y1p1qrv3ma03w2chh25317a4vh6a2xbyagda64gvgjdg8x7c44n"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.7.0-linux-arm64.tar.gz"; - sha256 = "1zapqg7ggkz9q2sh1jkp9p5670hpa5nhvmjvq50pwx0i2xnfpvsl"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-linux-arm64.tar.gz"; + sha256 = "18ccbbh0npk66k4cv87gahqpillgs2mzdpg3qkv8fvfk3z266rmq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.10.2-linux-arm64.tar.gz"; - sha256 = "15p2gh2cqkz5rxnq5b5bx30mha02hcd3df44lwh9qb4lbjlfdzfv"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.12.0-linux-arm64.tar.gz"; + sha256 = "1g39lg92091v6c4ijr4z5k583kldkv9f2pr1605l1aqzdaabydc0"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.30.0-linux-arm64.tar.gz"; - sha256 = "03xl1cqhw965vg8fz5abg1nzh96d4bwafmljrw69qsvc6rxc2yvr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.31.0-linux-arm64.tar.gz"; + sha256 = "1arb4pdxppcm2wbi3r46gj1mpppbq0rma0g1rjy6j09shanzpm1p"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.11.0-linux-arm64.tar.gz"; - sha256 = "1cdjz021bc1r5bqsnm114acmyc7ikmyxp08pmnndrmm9mmf5xr96"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.13.0-linux-arm64.tar.gz"; + sha256 = "1byamyj38smi0bba1riqd52dpf7z2ghpnqbrc5lqx7ifw70c3csg"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.13.3-linux-arm64.tar.gz"; sha256 = "1kr9pirpmsxdmmnan0lb9qvfn777ijqrrddklrbg4vqj99ki4r95"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.60.0-linux-arm64.tar.gz"; - sha256 = "1bggidk4p1pivyz3z60ym47308d25w3lwy75b2hia3iwrsl9v004"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.63.0-linux-arm64.tar.gz"; + sha256 = "19mrhakk70jhib20x0dzm5c4snb35r0x6f1zfv5kvhgz5syl56wf"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.55.0-linux-arm64.tar.gz"; - sha256 = "10ay8zqrabfbk2kqjm6zmkrddmpld48q4j5gxwknsk1019dmwwlq"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.56.0-linux-arm64.tar.gz"; + sha256 = "09rxv51s6ycyv3j4lqa4wksld5fl51ihmydgq20klmrak11c28q4"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.10.0-linux-arm64.tar.gz"; - sha256 = "0dv4y9451cgfjh1n3ig8p8x88xh781fl8zczgqhg4x5migaj00vd"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-linux-arm64.tar.gz"; + sha256 = "1g9b0lnzbb255w590i9hazb29lbs96x4n03g2sc3yplrfp23njb9"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz"; sha256 = "111pia2f5xwkwaqs6p90ri29l5b3ivmahsa1bji4fwyyjyp22h4r"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.2.0-linux-arm64.tar.gz"; - sha256 = "1gmnpcr8ds6vyg3p88m4kppanks9brin3lhjqshffvf33fd7pqas"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.3.0-linux-arm64.tar.gz"; + sha256 = "1vl4mszkbh0m2vf55rx5bb5bkjd72nf4npmp21878fdhyrq23p3r"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.6.0-linux-arm64.tar.gz"; - sha256 = "0bbbk6d2k8ywnh609hzhcviirr9sg8fm6fh1wggp7ygx1gsi6yad"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.10.0-linux-arm64.tar.gz"; + sha256 = "0gmfih1wga82hs9pgbs55kjir16v9cbv1mzxmqh6j77yg9mwp4sw"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.9.1-linux-arm64.tar.gz"; - sha256 = "05s6ki23hmhfl6grdg3i3dpska33x1aaa20nqcl1654rsbgcjc1b"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.11.0-linux-arm64.tar.gz"; + sha256 = "0nkwnjjp982bcri48zpwyk9ysn50hmv0vc0xhk0y3iwj878lgci4"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.5.0-linux-arm64.tar.gz"; - sha256 = "14s6imnpnv4sgf05qawmqllkqr3ym588hwgxzl9nwixq2lc5sr5p"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-linux-arm64.tar.gz"; + sha256 = "1bdfp909v2hf17plyvc5pwkalj76npikwwh8kd344nc8pjinzxpr"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-arm64.tar.gz"; sha256 = "0d8m2krbzxjhfm82dgf8p4vm3kk9gk98l798q4ayjrddqqb4mxq4"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.29.0-linux-arm64.tar.gz"; - sha256 = "14gxdfawflyxzikg2wi5r7g67z2x95vrxd27nf0v9isk9x0q4xhx"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.31.0-linux-arm64.tar.gz"; + sha256 = "1q1mni9lz8iah52jldl7mrdgnls469my5y8g1nw1nhp3a190469z"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.24.1-linux-arm64.tar.gz"; - sha256 = "03db83siv4a2xvz6gfx5zah2fmryipw7gwnsvgld6l4hw6frdf5q"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-linux-arm64.tar.gz"; + sha256 = "0p3jl1z1kf1j4lkgqi150wffm00k65ia69as3bnzdgqlxm0049p4"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.4.0-linux-arm64.tar.gz"; - sha256 = "0l33hzkgcm9lr39k7dndga36k3f0agbsj7q4wx0rwhfabz1fgcd1"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-linux-arm64.tar.gz"; + sha256 = "02cp4yaig54yf9b6j6p6v3c3m8hxm91lpwb3sibwngccy08dr8h4"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.6.1-linux-arm64.tar.gz"; sha256 = "09jdr8pr7pb8ixjvlvggnxq7ccp94nx6mfq0m6rlkmsh3dk46v68"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.12-linux-arm64.tar.gz"; - sha256 = "1y2a451m6qhb0z1g304axwm4hcbdwba3rl8pdfj4c4ifkiaxm0mr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.13-linux-arm64.tar.gz"; + sha256 = "1cr12zn8aj8ylnv5d0qasaqnrz0dhf5x570w9rdf0b6id21ld3c7"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v5.4.0-linux-arm64.tar.gz"; @@ -433,44 +433,44 @@ sha256 = "02gnjz35rzs3333x282wcy9hjshnkwgl4nwravvgaiwipc3w7bgz"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.18.4-linux-arm64.tar.gz"; - sha256 = "0a5gl6fpl6w8bcy1bl1z7dynrpm42kg0hq45hzhs7h667bgaqkzs"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.19.0-linux-arm64.tar.gz"; + sha256 = "0ljwx3zdjqbayxlya02lnb82pvcm9mlj5adx23zvj63bdl9qpsz6"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.10.0-linux-arm64.tar.gz"; - sha256 = "1gbnypsi339z9gizbwjakhvzxchljfkrwdpy4fjmy5424kwzm3wc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.11.0-linux-arm64.tar.gz"; + sha256 = "0b6vzycqbb0cpv6mmgxd08xdn62v5b1vswn2gx6ky2ajsw4m68ia"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.127.0-linux-arm64.tar.gz"; - sha256 = "07c1fz310yfjk8izlz56z0i0azwfw6fpmqb1larffcw1dgb733xz"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.128.1-linux-arm64.tar.gz"; + sha256 = "0qkvsxzabswb782680m6kv2flhjxbnag89nhw26wb5b68w5vb6i7"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.11-linux-arm64.tar.gz"; sha256 = "0glljz03v764n53n5l33ji64vj86ipdv5bkr03ijl8wrc22j5syy"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.23.0-linux-arm64.tar.gz"; - sha256 = "1p8p2rm3wmd7a39psvim2652f9f98j43ml5ihvlrxzn3qknk4whl"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.24.0-linux-arm64.tar.gz"; + sha256 = "1l4rf9cf5jbfxdlp4p3kxaslmskx0fazjhl1yif241faw0p1viiq"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.2.3-linux-arm64.tar.gz"; sha256 = "13brwg586wccbasyk7nif8l1killy8byp62x4cpm2f8s1j67lc1h"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.5.0-linux-arm64.tar.gz"; - sha256 = "0pa25j3vpyq5sqgs356yia2q7aj74zc8akl9h3z8wm0a1vga6cba"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.6.0-linux-arm64.tar.gz"; + sha256 = "1ny0bj3jpb44hm73z0ia3xn9qg2h2cfrw4wghi0nqq2rb4xygmg9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.1-linux-arm64.tar.gz"; - sha256 = "1rfzj89s7avim702aqvkrmsg4d1qzajw1k5pr24jzrs4xiyarkzb"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.2-linux-arm64.tar.gz"; + sha256 = "0gm12n1d6x11kn6vnkqmvcd1x114ck5i2wnbjajjfj3qpa6aar2x"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.1-linux-arm64.tar.gz"; - sha256 = "0gc31g4wmv9h5ygaiykas0kjrk3dfmdpzabs5k493d8zcqyk2219"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.2-linux-arm64.tar.gz"; + sha256 = "0g3fy2w4ks875i4hk15zbkscn2xnpkk0kabbsi8a6azncy3axd0q"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.11-linux-arm64.tar.gz"; - sha256 = "1pqwam73vz01zvr569643918n4vfvlnaqx0ljc8wvij42fvbdfgs"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.12-linux-arm64.tar.gz"; + sha256 = "12ppbwf7csbfmd7m2qvbcg3jfwjlxlylx70lffwk1cwvvkymqb43"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz"; @@ -479,108 +479,108 @@ ]; aarch64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.212.0-darwin-arm64.tar.gz"; - sha256 = "0jfdcbwvy32jy9j1gknmjmkm61mrrq2rcl2bi4hli8638a52647q"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.216.0-darwin-arm64.tar.gz"; + sha256 = "0yxj3ss8lxzlni8wkzrg5fjiw4li4d3cdg9j85zl2cgw604xzvbx"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.45.0-darwin-arm64.tar.gz"; - sha256 = "0w8wii3x9cll45jrkcs7vvxlal9fxkxb22k819d4pv335d9rf5my"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.47.0-darwin-arm64.tar.gz"; + sha256 = "0zi46nr0gjw58pxclggjjn9431hbbn4wh34y3d04qk46nyrwfhiy"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.2.0-darwin-arm64.tar.gz"; - sha256 = "15nhd0ysji9vwcydvqq9wnvivrphdmk3hh6qbnnzgzbx0qwl9i46"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v10.3.0-darwin-arm64.tar.gz"; + sha256 = "0hbrmmgh3pbsqcm20lz3kimxwls4s10cqssp19m344f9jwp33chq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.90.0-darwin-arm64.tar.gz"; - sha256 = "1hdab4rk3d0v7zrqimnrkfmvbsawnhhdwld0mbxg5pcdb7w15gmm"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.92.0-darwin-arm64.tar.gz"; + sha256 = "1s5v5jmvgld7ysm4dyzdk8614srbilx9l51hwx0kglp7hjhhv63k"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.0-darwin-arm64.tar.gz"; - sha256 = "0l68lzxi0py1l8m5ifmr3ls04d5b4n0pcqigk92rssrpg3l88zs2"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.10.1-darwin-arm64.tar.gz"; + sha256 = "1vv46950665npdkbmkrb60qh745yhqrba5wjfxiqdaaqk54i5447"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.34.0-darwin-arm64.tar.gz"; - sha256 = "0jq3fn6jn3494k0012jx2pzcc9kpy4pqrx3k5cdnjg6anc35r3z3"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.36.0-darwin-arm64.tar.gz"; + sha256 = "1h2pp8nppbz9r3lhdgi6kh5fa8gg7g7fzgrncp2b5mjgpmp3jjjm"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.14.0-darwin-arm64.tar.gz"; - sha256 = "0y8rwk1bcdchxsbisfysrxlqny8gvn4c042y32svd322dlgbrzcb"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.16.0-darwin-arm64.tar.gz"; + sha256 = "1g4br46181jr23srwzflql4yafdx4xg16nmhf5j2m64wk2hjrvgw"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.7.0-darwin-arm64.tar.gz"; - sha256 = "061xs9y8wdaa61zzhaprwnmn78bcgycnhsfd19dihv94qnbzpn79"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-darwin-arm64.tar.gz"; + sha256 = "1jcagm4d77w3qkn80dvp7vq70vqdr4wzc11j78ji0s0z9r0kz1b7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.10.2-darwin-arm64.tar.gz"; - sha256 = "0pqyd2qgng49g0cvmn5nvcqsymwgakyc75p6swb2c94h6pp4x4bc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v3.12.0-darwin-arm64.tar.gz"; + sha256 = "1zdyg1134jrvvsc07q9mvrbycjrdrz3wnjcanirp0z5bw0f54z1r"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.30.0-darwin-arm64.tar.gz"; - sha256 = "0zc5jv968kw4fhx874v29z9l46klw3kgy60s9srphnywz1mmr1xz"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v6.31.0-darwin-arm64.tar.gz"; + sha256 = "0ali0bq1z701hyj1rn12zncjh3qhrj5a31h4v9cml74lzbd6wgf5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.11.0-darwin-arm64.tar.gz"; - sha256 = "1qmgsji9aa7plbv06k1l0a10fvazcjybrcr5l276wz650c412g6d"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.13.0-darwin-arm64.tar.gz"; + sha256 = "14xbrn320z1zlkpipjxk06fsz6fs5izgfrxrsp8z6r46pkm6mvy1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.13.3-darwin-arm64.tar.gz"; sha256 = "0wmvaw9a3mj90kcfka0yjsj3gwr910p59vyk5l1i8qamxghf22hx"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.60.0-darwin-arm64.tar.gz"; - sha256 = "02l1jfzzpbv3shp9khwxa43crlghjsa9s191j5lfhyqvls46ijl3"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.63.0-darwin-arm64.tar.gz"; + sha256 = "0raya5mq2mh25z2wffz8h7jv1rh5zbp05z4yskw5lhzpkkhdcmki"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.55.0-darwin-arm64.tar.gz"; - sha256 = "1q1r73arw2v8z7rqgfw4fm5wkvv34xc5qdyjcrhrwhj4qsv984zl"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.56.0-darwin-arm64.tar.gz"; + sha256 = "1djz8j6fdhqqwyzfi3viys2pd8y5pffgz11zjgyl5a1askd7q17d"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.10.0-darwin-arm64.tar.gz"; - sha256 = "0wz3bbr2n5zfxkwslpwds5x11qzdl4ai8ca06z7ifhddlz7vp049"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-darwin-arm64.tar.gz"; + sha256 = "05kbm6ws0ijq1m6pjip3fsis1pn65jr4s1g1ck2hdaf6hq0p9hyh"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz"; sha256 = "12bzicm43l7yvh02v5fx3z8v46l9i7a9f677735xi5rjbmd2an4c"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.2.0-darwin-arm64.tar.gz"; - sha256 = "09l3lkl6mx9fmrwnmvpbl3ba1yz55lckf2jjgv410affn8w9vbwr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v11.3.0-darwin-arm64.tar.gz"; + sha256 = "068bdlp98cp1lfhbigkw16hqyflb95kh7my2s8wgb7hjnf580xwv"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.6.0-darwin-arm64.tar.gz"; - sha256 = "0dgvrqn4mfsrlrvg5hq349578p4qblcw6d88mwj3g6w56hzd6gjs"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v9.10.0-darwin-arm64.tar.gz"; + sha256 = "091v2dqh011jv15hmlimwvx91jdh2h50wqd1ddcz5gnj1jsavrwc"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.9.1-darwin-arm64.tar.gz"; - sha256 = "0zgm59zvhfw9n0xvhvyxp6shn7rwpb1d0f711ydk9s6kx48h18s8"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.11.0-darwin-arm64.tar.gz"; + sha256 = "1f5sp4drvb6i4k5lsqrqs5claccqh2svr81m6xhi5gz1vp7aa13y"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.5.0-darwin-arm64.tar.gz"; - sha256 = "0b2wax0r8dawf2wbzg9y15grqpmpcxl7blwwh5cck5afb6v22nfi"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-darwin-arm64.tar.gz"; + sha256 = "1lj8dbjkaq3amz8dvmm1may0m8b2lwkdf52j8ik0mjk1m3p2v3pj"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-arm64.tar.gz"; sha256 = "0caz4kgnnrmdr7n571xc7yqscac9jnjwwpjzbnvx4ib6a91wvsdn"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.29.0-darwin-arm64.tar.gz"; - sha256 = "07x130w0agsxyzn5rmi0lwr315gz97ygp0g1903bw6r7im79qb9p"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.31.0-darwin-arm64.tar.gz"; + sha256 = "0g0xh72g2fwdq73b0n2d53i21zmhj1zzjvy8a65m8m6x3qr2xy1i"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.24.1-darwin-arm64.tar.gz"; - sha256 = "1jw3p6rjqprmwzmq61fbmv1dwlp6sdkia1zwqy425sc1bpv1yh8k"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-darwin-arm64.tar.gz"; + sha256 = "14cd92fxrhbnqv4r6pxqvbbjd16928c1bsn7b56iirvvfsvjar2n"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.4.0-darwin-arm64.tar.gz"; - sha256 = "0fjlp0afa5z6x85ldw8bwl4zgxz2rmwinihw1vbqa33pyjrk08xn"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-darwin-arm64.tar.gz"; + sha256 = "1v8mhy2sjs370sk3m4s6wfghh6fblsh32db0g51cbrmjy6y7nq1d"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.6.1-darwin-arm64.tar.gz"; sha256 = "03rg7hgxxkkx10kba2kgr25kxs48wq2fcrsv7j9v5w6sddaqf7w3"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.12-darwin-arm64.tar.gz"; - sha256 = "034pw70i8n12gr69ng5xj2cci11v1d47fsw6j5mgmck5mrsjjr0i"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.13-darwin-arm64.tar.gz"; + sha256 = "1nrxdn0pd1853r5ankz4cy1swv0167kpw5ylfq9q9y5kx750nc3j"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v5.4.0-darwin-arm64.tar.gz"; @@ -591,44 +591,44 @@ sha256 = "03xqhx0adxlqggk5fgs6wr8krd1jjwpsm7l594hd0ln892x5m80x"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.18.4-darwin-arm64.tar.gz"; - sha256 = "0vygxiqrx70i03d3p1mmc26zkai4cxzwjzjf6bszz6cmqvnc5pnr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.19.0-darwin-arm64.tar.gz"; + sha256 = "1k7r06pxy1vwcl9i7n412bq6yr1rx7bnma6dam2sawvwsk8bysjy"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.10.0-darwin-arm64.tar.gz"; - sha256 = "09icryd59qz0iqlk0c5m2plfj50c135njgdzglrajpqc9nmhhsvw"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v2.11.0-darwin-arm64.tar.gz"; + sha256 = "02dmd2qcljp4nv9q3sskv73hdga0bnq83zrr13llq66924lj7baf"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.127.0-darwin-arm64.tar.gz"; - sha256 = "0s66wj7c56f7s9jgxii9knx507ycsr7ni69bjvmkyimsd08f5mvw"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.128.1-darwin-arm64.tar.gz"; + sha256 = "1dqb8b9bsqyriz9vn1i4ncv2h33hnpxw5m8fh4wpkcb9gp7wjn9n"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v1.0.11-darwin-arm64.tar.gz"; sha256 = "1c4pn5nr8d97n9bqd7vz9gzlbi50hnfjylwwch445ylqp5l8gvqf"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.23.0-darwin-arm64.tar.gz"; - sha256 = "1i42hh57i70hn6bs075dq6lcx4b0n1wzn5n9svijvfhvbjkjnzrc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.24.0-darwin-arm64.tar.gz"; + sha256 = "0mlxh6vjivd1g2yq0kjjpb583sf8mgh840d2j8xsvf0lw34fzsbh"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.2.3-darwin-arm64.tar.gz"; sha256 = "1xhzlzx036sbhk5n6m7y9zwpbqsig3ap7i528js3nqizb6ys4q6f"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.5.0-darwin-arm64.tar.gz"; - sha256 = "1gfzxwd7fgkdx9lqyi0w7bh5n1a0h7ryykwri3lh9mnsmrjn786g"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v7.6.0-darwin-arm64.tar.gz"; + sha256 = "126mm3mhm66bhby3zliz2n5xqbnkgsppa23aq9p6qmq5xv3q7i54"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.1-darwin-arm64.tar.gz"; - sha256 = "03qhd6p77d40dbcvr6ifw6ii37303jmcqhns63r8gmpbfkdg52a2"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.12.2-darwin-arm64.tar.gz"; + sha256 = "09pl840srr033rgh1b0yrp850k1yw76ldinb7x7mmyyyv6yss5w9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.1-darwin-arm64.tar.gz"; - sha256 = "1q3qqlyzfc77ybp2q5mspyrh9c1h1m4p9mzq0l1z6hzn6r41z4n5"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.16.2-darwin-arm64.tar.gz"; + sha256 = "0as5cfyyy79q0b0rf2hfbf7g0n6isawqcq5cl524digqxqqz3jm9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.11-darwin-arm64.tar.gz"; - sha256 = "0mnya4lc1aabxwzm44k5k72xlz0ng0aiy3rkikvcdk0c3mmckyrk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.12-darwin-arm64.tar.gz"; + sha256 = "0kawk8gbc65ks11xil4jc4gbvnnbakrid6ca1knnmx91cp4i3zj3"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz"; From acf5bf6b34d825b00716da77d3232d8d90290046 Mon Sep 17 00:00:00 2001 From: N4CH72HR3R Date: Sun, 11 Jan 2026 18:16:02 +0100 Subject: [PATCH 1182/1216] emissary: init at 0.3.0 --- pkgs/by-name/em/emissary/package.nix | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/by-name/em/emissary/package.nix diff --git a/pkgs/by-name/em/emissary/package.nix b/pkgs/by-name/em/emissary/package.nix new file mode 100644 index 000000000000..7b0e3bf7ca25 --- /dev/null +++ b/pkgs/by-name/em/emissary/package.nix @@ -0,0 +1,40 @@ +{ + rustPlatform, + fetchFromGitHub, + lib, + pkg-config, + openssl, + fontconfig, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "emissary"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "altonen"; + repo = "emissary"; + tag = "v${finalAttrs.version}"; + hash = "sha256-A3Kkod2oQdprswoEY9Z6A5r2PsHMUEwqyDB8ycSEUqQ="; + }; + cargoHash = "sha256-alruzRWeLGwfiX/kj7grC7+fgu6i0/T/EJwrF/0VDtw="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + fontconfig + ]; + + __darwinAllowLocalNetworking = true; + + meta = { + changelog = "https://github.com/altonen/emissary/releases/tag/${finalAttrs.version}"; + description = "Rust implementation of the I2P protocol stack"; + homepage = "https://altonen.github.io/emissary/"; + license = lib.licenses.mit; # https://github.com/altonen/emissary/blob/master/LICENSE (found an apache2 as well but thats for https://github.com/altonen/emissary/commit/c4a1c849ebfceba892adce53f512f1f099721de2) + mainProgram = "emissary"; + maintainers = [ lib.maintainers.N4CH723HR3R ]; + }; +}) From 0a6873b2e2e0a927db05897ac62cae1c4d1d0fe8 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:24:31 +1000 Subject: [PATCH 1183/1216] zensical: 0.0.17 -> 0.0.18 Changelog: https://github.com/zensical/zensical/releases/tag/v0.0.18 --- pkgs/by-name/ze/zensical/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zensical/package.nix b/pkgs/by-name/ze/zensical/package.nix index 84aad5d3295a..ea1fc9ff8099 100644 --- a/pkgs/by-name/ze/zensical/package.nix +++ b/pkgs/by-name/ze/zensical/package.nix @@ -8,7 +8,7 @@ python3Packages.buildPythonApplication rec { pname = "zensical"; - version = "0.0.17"; + version = "0.0.18"; pyproject = true; # We fetch from PyPi, because GitHub repo does not contain all sources. @@ -16,12 +16,12 @@ python3Packages.buildPythonApplication rec { # We could combine sources, but then nix-update won't work. src = fetchPypi { inherit pname version; - hash = "sha256-kAAYNUTY6XXPgeH44sSWPyiMfz9DaQLooQ3K9G5oCeI="; + hash = "sha256-H7ERAygza6RFliocZhV74Wmhz+fRxO3//7GEw/iE3wc="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-i+9A1EFmG2hmq4WHOX9fVNqklupxFzX22Eewyg4sie0="; + hash = "sha256-r8X8td94+0wd4/riE+YCBBIe417xh0IK4vvPwPuRsGg="; }; nativeBuildInputs = with rustPlatform; [ From b0c2a7dbfdcaa19c41bff7b508b6bfd3770c2b0e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 13:30:54 +0000 Subject: [PATCH 1184/1216] resterm: 0.18.5 -> 0.19.1 --- pkgs/by-name/re/resterm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/resterm/package.nix b/pkgs/by-name/re/resterm/package.nix index 85514285b0bb..b599876df361 100644 --- a/pkgs/by-name/re/resterm/package.nix +++ b/pkgs/by-name/re/resterm/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "resterm"; - version = "0.18.5"; + version = "0.19.1"; src = fetchFromGitHub { owner = "unkn0wn-root"; repo = "resterm"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-YAicTu83IKw2reZefdCjNfhRwiOCtKieyq0vPJ510lQ="; + sha256 = "sha256-vpFwiVLF3ekPgjxTEl4UlY/oGK03prHRtt15k5i+M6I="; }; vendorHash = "sha256-E/Y4kW5xy7YamUP5bxFmDCAK6RqiqGN7DpEPG1MaCHc="; From f2b2b2c33092a88f716f3a3235d0e14cae48e6a0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 13:41:09 +0000 Subject: [PATCH 1185/1216] minizincide: 2.9.4 -> 2.9.5 --- pkgs/development/tools/minizinc/ide.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/minizinc/ide.nix b/pkgs/development/tools/minizinc/ide.nix index 6cefa8237e8d..de125700780e 100644 --- a/pkgs/development/tools/minizinc/ide.nix +++ b/pkgs/development/tools/minizinc/ide.nix @@ -21,13 +21,13 @@ let in stdenv.mkDerivation rec { pname = "minizinc-ide"; - version = "2.9.4"; + version = "2.9.5"; src = fetchFromGitHub { owner = "MiniZinc"; repo = "MiniZincIDE"; rev = version; - hash = "sha256-ZESd83aqXr4vxEt9PvgarnELPi9BaEf68IUALYaTfzI="; + hash = "sha256-VqVcByPBS7UBU/h5NIUltIKA0POAX1dUVgMsn5b9C4w="; fetchSubmodules = true; }; From a0d496e62052a3afbf47c7d50d54ffb36eb12a09 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 14:13:57 +0000 Subject: [PATCH 1186/1216] home-assistant-custom-components.mitsubishi: 0.4.2 -> 0.4.3 --- .../home-assistant/custom-components/mitsubishi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/mitsubishi/package.nix b/pkgs/servers/home-assistant/custom-components/mitsubishi/package.nix index d0267fbfc86d..1c97df2331e6 100644 --- a/pkgs/servers/home-assistant/custom-components/mitsubishi/package.nix +++ b/pkgs/servers/home-assistant/custom-components/mitsubishi/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "pymitsubishi"; domain = "mitsubishi"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "pymitsubishi"; repo = "homeassistant-mitsubishi"; tag = "v${version}"; - hash = "sha256-c1KnFpRK5dH7ZGsDuJD6Awa0xhxYYZxC4zCjoRdpOns="; + hash = "sha256-jhcclDealb1T84zNse2tpT3MDvDaOqhTMGrBhiUXHPc="; }; dependencies = [ From 449c06827372c2fb7342e51032ed7348ccc7b80e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 14:14:26 +0000 Subject: [PATCH 1187/1216] geesefs: 0.43.2 -> 0.43.3 --- pkgs/by-name/ge/geesefs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ge/geesefs/package.nix b/pkgs/by-name/ge/geesefs/package.nix index fc583b89dbb4..101a8e4d4f47 100644 --- a/pkgs/by-name/ge/geesefs/package.nix +++ b/pkgs/by-name/ge/geesefs/package.nix @@ -5,7 +5,7 @@ }: let - version = "0.43.2"; + version = "0.43.3"; in buildGoModule { pname = "geesefs"; @@ -15,12 +15,12 @@ buildGoModule { owner = "yandex-cloud"; repo = "geesefs"; rev = "v${version}"; - hash = "sha256-Ry0IEbjojMFyY37HL+ZIhV6XHGv1iZf9SoV/U/2JdRI="; + hash = "sha256-EwCWyN1wpG0CVt6vAjxNX0AYbHqblTtwKkbBIVDSJa0="; }; # hashes differ per architecture otherwise. proxyVendor = true; - vendorHash = "sha256-SQgYB6nLSnqKUntWGJL+dQD+cAPQ69Rjdq1GXIt21xg="; + vendorHash = "sha256-p+shpYrPxYLXpW6A4a/5qM90KH+pcMCqZOPoYTE77f0="; subPackages = [ "." ]; From 3a9a0bb7db5afc7af8f819ac12468d6f5cce78fe Mon Sep 17 00:00:00 2001 From: Marie Ramlow Date: Fri, 23 Jan 2026 10:13:12 +0100 Subject: [PATCH 1188/1216] vimPlugins.wildfire-nvim: init at 0-unstable-2025-10-14 https://github.com/SUSTech-data/wildfire.nvim --- pkgs/applications/editors/vim/plugins/generated.nix | 13 +++++++++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 14 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 320ef4b52cee..36da02bd85d4 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -22805,6 +22805,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + wildfire-nvim = buildVimPlugin { + pname = "wildfire.nvim"; + version = "0-unstable-2025-10-14"; + src = fetchFromGitHub { + owner = "SUSTech-data"; + repo = "wildfire.nvim"; + rev = "918a1873c2b8010baa034f373cf28c53ce4f038f"; + hash = "sha256-HGNBUuUFtZU9ozFsM0X5QadfnK+cEiosQfnnrI6bdtI="; + }; + meta.homepage = "https://github.com/SUSTech-data/wildfire.nvim/"; + meta.hydraPlatforms = [ ]; + }; + wildfire-vim = buildVimPlugin { pname = "wildfire.vim"; version = "2.0-unstable-2023-07-22"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 860f580027f6..579e7b8c1acd 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -1750,6 +1750,7 @@ https://github.com/johnfrankmorgan/whitespace.nvim/,HEAD, https://github.com/lervag/wiki-ft.vim/,HEAD, https://github.com/lervag/wiki.vim/,HEAD, https://github.com/gelguy/wilder.nvim/,, +https://github.com/SUSTech-data/wildfire.nvim/,HEAD, https://github.com/gcmt/wildfire.vim/,, https://github.com/fgheng/winbar.nvim/,main, https://github.com/anuvyklack/windows.nvim/,, From 2bdc2d6fc62aee7596b4302709e7e37048b20dea Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 14:38:41 +0000 Subject: [PATCH 1189/1216] ergo: 6.0.1 -> 6.0.2 --- pkgs/by-name/er/ergo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/er/ergo/package.nix b/pkgs/by-name/er/ergo/package.nix index 195716867d7f..ab2414a1365b 100644 --- a/pkgs/by-name/er/ergo/package.nix +++ b/pkgs/by-name/er/ergo/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "ergo"; - version = "6.0.1"; + version = "6.0.2"; src = fetchurl { url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; - sha256 = "sha256-ByvHXgXFdoHbc+lWEK82I/I50Q1aoe3SSI2JeaTjEC4="; + sha256 = "sha256-9igU/BTWMbCM4Zzd1+HrjwYMZ8Os+k/fqokxtnCSO04="; }; nativeBuildInputs = [ makeWrapper ]; From 82119044f016c318dc794a8d090037504ab23dfd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 14:48:12 +0000 Subject: [PATCH 1190/1216] automatic-timezoned: 2.0.108 -> 2.0.111 --- pkgs/by-name/au/automatic-timezoned/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix index a3c626247ccf..2870971e5dfd 100644 --- a/pkgs/by-name/au/automatic-timezoned/package.nix +++ b/pkgs/by-name/au/automatic-timezoned/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "automatic-timezoned"; - version = "2.0.108"; + version = "2.0.111"; src = fetchFromGitHub { owner = "maxbrunet"; repo = "automatic-timezoned"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-aizxFWQpiwEo197Oydez2nAChQQ32jPqOEW3wNLnb7c="; + sha256 = "sha256-lkeUORL+tL1WbDZ3CrM7tClVfgBjfPlBWV5L8OwogmU="; }; - cargoHash = "sha256-gT1pHDYwqVeZ0epGX8v3+B4o6y8jO21rUyz1rLD3eCY="; + cargoHash = "sha256-GVXYfH42h+cBQ168ZTy0D9xpTqWZ9rjALU5sZOg7sek="; nativeInstallCheckInputs = [ versionCheckHook ]; From d014f3178b9e6303dbef81cdab142954c0172d33 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 14:57:28 +0000 Subject: [PATCH 1191/1216] codex-acp: 0.8.2 -> 0.9.0 --- pkgs/by-name/co/codex-acp/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/codex-acp/package.nix b/pkgs/by-name/co/codex-acp/package.nix index 78f3d6fc2445..51857506ee41 100644 --- a/pkgs/by-name/co/codex-acp/package.nix +++ b/pkgs/by-name/co/codex-acp/package.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage rec { pname = "codex-acp"; - version = "0.8.2"; + version = "0.9.0"; src = fetchFromGitHub { owner = "zed-industries"; repo = "codex-acp"; tag = "v${version}"; - hash = "sha256-f3hT7sriur7hO8HY98fMlkugMstZTyeKnKjU7BoWerw="; + hash = "sha256-Ejqu8NU6lRUMbke/jrilIUkrVF5gAk5y19Jj1ftTVd8="; }; - cargoHash = "sha256-HpoFJgPZnEo9cI9Qake3Z1S00O1KJEtmIde1vXbj8hA="; + cargoHash = "sha256-S3S9bpGrAAV0+vQ+N/jx5bkG2X5eFsQ8It5eiOjyi/o="; nativeBuildInputs = [ pkg-config From 35f0c731bf9e2a9c7f520c9b42ca67e6d4226a9e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 15:27:19 +0000 Subject: [PATCH 1192/1216] cubeb: 0-unstable-2025-12-04 -> 0-unstable-2026-01-23 --- pkgs/by-name/cu/cubeb/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cu/cubeb/package.nix b/pkgs/by-name/cu/cubeb/package.nix index f85fe4b54132..2e389f2f9d00 100644 --- a/pkgs/by-name/cu/cubeb/package.nix +++ b/pkgs/by-name/cu/cubeb/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cubeb"; - version = "0-unstable-2025-12-04"; + version = "0-unstable-2026-01-23"; src = fetchFromGitHub { owner = "mozilla"; repo = "cubeb"; - rev = "bed368eb0d901ec4b7921a8d704ca469b7fb4e19"; - hash = "sha256-Y9qSqU8BsAcD+uBmAvKYzlZFJ7LZAdbtSt1Lc59iOG0="; + rev = "484857522c73318c06f18ba0a3e17525fa98c608"; + hash = "sha256-Uq+UINIXc3uuqS7MwbTQ5pL72KmknM33/3CLH21Od/Y="; }; outputs = [ From 2d800afa5b1da743d5d277bd492a75c94cfd69d8 Mon Sep 17 00:00:00 2001 From: hellwolf Date: Fri, 23 Jan 2026 17:43:32 +0200 Subject: [PATCH 1193/1216] owncloud-client: fix 6.0.3 build --- pkgs/by-name/ow/owncloud-client/package.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pkgs/by-name/ow/owncloud-client/package.nix b/pkgs/by-name/ow/owncloud-client/package.nix index 62b59845d01e..61d808d7c36e 100644 --- a/pkgs/by-name/ow/owncloud-client/package.nix +++ b/pkgs/by-name/ow/owncloud-client/package.nix @@ -26,16 +26,9 @@ stdenv.mkDerivation rec { owner = "owncloud"; repo = "client"; tag = "v${version}"; - hash = "sha256-11ZqCqFKJexMRH73IEBRuNx5Dxf4aMHlShwull0z4hI="; + hash = "sha256-RNa3i+Qf/cPE+TvYFt5FjbQcHgep3z/XBzno/EyJ3EQ=="; }; - patches = [ - (fetchpatch { - url = "https://github.com/owncloud/client/commit/ef0791a727051191f0c0ff7bca78b10d5dd97e1e.patch"; - hash = "sha256-r/TlRjmnZdPWXZ8Kn/9GgcisWiF/qOO5X8m2ReooKWo="; - }) - ]; - nativeBuildInputs = [ pkg-config cmake From e3c552ea1384288499e488736a9452acb9ee020e Mon Sep 17 00:00:00 2001 From: Piotr Kwiecinski <2151333+piotrkwiecinski@users.noreply.github.com> Date: Fri, 23 Jan 2026 17:04:50 +0100 Subject: [PATCH 1194/1216] n98-magerun2: unpin php version --- pkgs/by-name/n9/n98-magerun2/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/n9/n98-magerun2/package.nix b/pkgs/by-name/n9/n98-magerun2/package.nix index 429947719dc6..e10dd8e9f50a 100644 --- a/pkgs/by-name/n9/n98-magerun2/package.nix +++ b/pkgs/by-name/n9/n98-magerun2/package.nix @@ -1,11 +1,11 @@ { lib, fetchFromGitHub, - php83, + php, versionCheckHook, }: -php83.buildComposerProject2 (finalAttrs: { +php.buildComposerProject2 (finalAttrs: { pname = "n98-magerun2"; version = "9.2.1"; From 6c3797396fa8e22b48e7ce3f4686ad26f2fe6dd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Fri, 23 Jan 2026 16:35:34 +0000 Subject: [PATCH 1195/1216] hyprland: 0.53.1 -> 0.53.2 --- pkgs/by-name/hy/hyprland/info.json | 10 +++++----- pkgs/by-name/hy/hyprland/package.nix | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/hy/hyprland/info.json b/pkgs/by-name/hy/hyprland/info.json index e64ffcd33f8b..061f732badf9 100644 --- a/pkgs/by-name/hy/hyprland/info.json +++ b/pkgs/by-name/hy/hyprland/info.json @@ -1,7 +1,7 @@ { - "branch": "v0.53.1-b", - "commit_hash": "ab1d80f3d6aebd57a0971b53a1993b1c1dfe0b09", - "commit_message": "version: bump to 0.53.1", - "date": "2026-01-02", - "tag": "v0.53.1" + "branch": "v0.53.2-b", + "commit_hash": "39f3feddbee4a66be9608ed1eb7e73878d596b50", + "commit_message": "[gha] Nix: update inputs", + "date": "2026-01-23", + "tag": "v0.53.2" } diff --git a/pkgs/by-name/hy/hyprland/package.nix b/pkgs/by-name/hy/hyprland/package.nix index 4367c0017790..6702a0df4186 100644 --- a/pkgs/by-name/hy/hyprland/package.nix +++ b/pkgs/by-name/hy/hyprland/package.nix @@ -91,14 +91,14 @@ assert assertMsg ( customStdenv.mkDerivation (finalAttrs: { pname = "hyprland" + optionalString debug "-debug"; - version = "0.53.1"; + version = "0.53.2"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprland"; fetchSubmodules = true; tag = "v${finalAttrs.version}"; - hash = "sha256-hzhaKo5Cx/hr0QWXnpbF59TzF1GwVPCdT70Zbcxgyg4="; + hash = "sha256-aDecEI6KQ4FIvD4CRST6HTikXe0aYXeopB1HnV1tQJM="; }; postPatch = '' From 03ac9d3f44eb460e376c15bf21e578924bdfca98 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 17:11:36 +0000 Subject: [PATCH 1196/1216] python3Packages.pysigma-backend-elasticsearch: 2.0.1 -> 2.0.2 --- .../python-modules/pysigma-backend-elasticsearch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix b/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix index f5480eac868e..948ffba408ba 100644 --- a/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix +++ b/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pysigma-backend-elasticsearch"; - version = "2.0.1"; + version = "2.0.2"; pyproject = true; src = fetchFromGitHub { owner = "SigmaHQ"; repo = "pySigma-backend-elasticsearch"; tag = "v${finalAttrs.version}"; - hash = "sha256-EzqzCCgHnEnBCcoYflBYN5Lb6yHvR7s5B0EtqtvVxtk="; + hash = "sha256-QRG+fsy4AGKPv5WoquFVYXsb39XABwgDJD4EgLiRVdg="; }; build-system = [ poetry-core ]; From ed642aa5941479df107093fd093918fad57a9e9e Mon Sep 17 00:00:00 2001 From: Alexander Nortung Date: Fri, 23 Jan 2026 18:14:28 +0100 Subject: [PATCH 1197/1216] factorio: 2.0.72 -> 2.0.73 --- pkgs/by-name/fa/factorio/versions.json | 42 +++++++++++++------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/pkgs/by-name/fa/factorio/versions.json b/pkgs/by-name/fa/factorio/versions.json index f4cb61ea6057..4df6cf7f4bb6 100644 --- a/pkgs/by-name/fa/factorio/versions.json +++ b/pkgs/by-name/fa/factorio/versions.json @@ -14,14 +14,14 @@ }, "stable": { "candidateHashFilenames": [ - "factorio_linux_2.0.72.tar.xz" + "factorio_linux_2.0.73.tar.xz" ], - "name": "factorio_alpha_x64-2.0.72.tar.xz", + "name": "factorio_alpha_x64-2.0.73.tar.xz", "needsAuth": true, - "sha256": "87d9f593569cbdf2f7a160f6a573f4939cbf01206209fbcdbaebf0385c2c7331", + "sha256": "68280b39bd01d7647df0cfa0e291d82c8123ffc2d522c8565860f6d52a7673eb", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.72/alpha/linux64", - "version": "2.0.72" + "url": "https://factorio.com/get-download/2.0.73/alpha/linux64", + "version": "2.0.73" } }, "demo": { @@ -38,14 +38,14 @@ }, "stable": { "candidateHashFilenames": [ - "factorio-demo_linux_2.0.69.tar.xz" + "factorio-demo_linux_2.0.73.tar.xz" ], - "name": "factorio_demo_x64-2.0.69.tar.xz", + "name": "factorio_demo_x64-2.0.73.tar.xz", "needsAuth": false, - "sha256": "a670a4cd2fa59cb8dc6db10d969867266080f171e47ebed78880ccd5ed42356c", + "sha256": "1c04ab58fe5e47eb83ba984014e355e8edbc7f941f655bad0b1ff0c5e68bd0f2", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.69/demo/linux64", - "version": "2.0.69" + "url": "https://factorio.com/get-download/2.0.73/demo/linux64", + "version": "2.0.73" } }, "expansion": { @@ -62,14 +62,14 @@ }, "stable": { "candidateHashFilenames": [ - "factorio-space-age_linux_2.0.72.tar.xz" + "factorio-space-age_linux_2.0.73.tar.xz" ], - "name": "factorio_expansion_x64-2.0.72.tar.xz", + "name": "factorio_expansion_x64-2.0.73.tar.xz", "needsAuth": true, - "sha256": "9a667dd899ad4c8c410739a1da3a9318b46a5f34ee190e8b75ec22beac708249", + "sha256": "85d7223258f0001cd943004f30cb4d4f4c1a05d1f0fd3d19e05bc42c42b0d7a4", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.72/expansion/linux64", - "version": "2.0.72" + "url": "https://factorio.com/get-download/2.0.73/expansion/linux64", + "version": "2.0.73" } }, "headless": { @@ -87,15 +87,15 @@ }, "stable": { "candidateHashFilenames": [ - "factorio-headless_linux_2.0.72.tar.xz", - "factorio_headless_x64_2.0.72.tar.xz" + "factorio-headless_linux_2.0.73.tar.xz", + "factorio_headless_x64_2.0.73.tar.xz" ], - "name": "factorio_headless_x64-2.0.72.tar.xz", + "name": "factorio_headless_x64-2.0.73.tar.xz", "needsAuth": false, - "sha256": "cf3057340dbc9d82bd5161949ae3e7b8fad912ec7ca07b8a3151e0424a5568cd", + "sha256": "752025f81b5ec1229919edc869f9c8773db4bb548a90d370f85938236c857d9a", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.72/headless/linux64", - "version": "2.0.72" + "url": "https://factorio.com/get-download/2.0.73/headless/linux64", + "version": "2.0.73" } } } From f0c02d773771586f3b3d90c53603c5832eff4dcc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 17:50:08 +0000 Subject: [PATCH 1198/1216] versatiles: 3.2.0 -> 3.3.0 --- pkgs/by-name/ve/versatiles/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ve/versatiles/package.nix b/pkgs/by-name/ve/versatiles/package.nix index b0cf4d223e20..67da5bf6a3e0 100644 --- a/pkgs/by-name/ve/versatiles/package.nix +++ b/pkgs/by-name/ve/versatiles/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "versatiles"; - version = "3.2.0"; + version = "3.3.0"; src = fetchFromGitHub { owner = "versatiles-org"; repo = "versatiles-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-cBqIwVlno8ZOUxMzJmTesqZVS34H9BJ9hpQnqKNPXFQ="; + hash = "sha256-DJChr9Yaj0GXkXRMkXPDnOPjLrwuztAfCITbSCjbO44="; }; - cargoHash = "sha256-Vdo89hb3ZWhnyEGTr6yOinQWLvZ81AJGwU1D9kS1afo="; + cargoHash = "sha256-XKJDnOrIeYbj/Fj2ym2NAksh1sy4DvCBuuGPdk1R+L0="; __darwinAllowLocalNetworking = true; From 2dff9fce3835e987602e6ea95411ba97213bde51 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 18:02:43 +0000 Subject: [PATCH 1199/1216] terraform-providers.akamai_akamai: 9.2.0 -> 9.3.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 4dd9f14b45eb..7cfcc495dff6 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -36,13 +36,13 @@ "vendorHash": "sha256-ctEZoEULhdsWahsRBXVv1QfSvQ17I5PYUB6++pTFJE8=" }, "akamai_akamai": { - "hash": "sha256-HjrBPaLYeJ8/9gmdn+BGHtu5dmyT5MeTsIBgzS0X0gY=", + "hash": "sha256-WXIx2/1EiamjolyPy+d3Gwp4hOguJrmxKwgLZqzQqDg=", "homepage": "https://registry.terraform.io/providers/akamai/akamai", "owner": "akamai", "repo": "terraform-provider-akamai", - "rev": "v9.2.0", + "rev": "v9.3.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-weHY7ZV3HaFBYlDNhwAYN9vDItkI+wtk9UNlM0uuwfY=" + "vendorHash": "sha256-6sVapd0vqL4xGLqTQS4zQIlnMA8HRmjufDi1lOgldlU=" }, "aliyun_alicloud": { "hash": "sha256-4Y6qItQx3gk4LsZb9OB2J2IQ4g6H5uDwy+FkWPCegrg=", From 7016e60473e05053c491c6c1b4ab34b9f77faeb1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 18:16:45 +0000 Subject: [PATCH 1200/1216] azahar: 2124 -> 2124.1 --- pkgs/by-name/az/azahar/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/az/azahar/package.nix b/pkgs/by-name/az/azahar/package.nix index 99d0e32b7935..a027fe75761b 100644 --- a/pkgs/by-name/az/azahar/package.nix +++ b/pkgs/by-name/az/azahar/package.nix @@ -55,11 +55,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "azahar"; - version = "2124"; + version = "2124.1"; src = fetchzip { url = "https://github.com/azahar-emu/azahar/releases/download/${finalAttrs.version}/azahar-unified-source-${finalAttrs.version}.tar.xz"; - hash = "sha256-k/Rz7hiYtX0tVW2lrrEwiB8LanvAuhXHxPC79Dy4aUI="; + hash = "sha256-ezgDELKw3Nb4EwJhD3+bMykoGdEzQpU4FSyIiEt7Lac="; }; strictDeps = true; From 5ccd51c5f9229d394538eaaf76f9065b5ec8faee Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Fri, 23 Jan 2026 19:24:02 +0100 Subject: [PATCH 1201/1216] fresh-editor: 0.1.87 -> 0.1.88 --- pkgs/by-name/fr/fresh-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fr/fresh-editor/package.nix b/pkgs/by-name/fr/fresh-editor/package.nix index 0e4e05ead8c1..641a86727d6f 100644 --- a/pkgs/by-name/fr/fresh-editor/package.nix +++ b/pkgs/by-name/fr/fresh-editor/package.nix @@ -11,16 +11,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "fresh"; - version = "0.1.87"; + version = "0.1.88"; src = fetchFromGitHub { owner = "sinelaw"; repo = "fresh"; tag = "v${finalAttrs.version}"; - hash = "sha256-th4wlkGP9WNdRRhJy3pBC5dcqRbkUooM65FoftQHqBE="; + hash = "sha256-aGGLqtvJ/kaGZtbpzLUQ40wPMp+g8+WCxXk9t+fQR7M="; }; - cargoHash = "sha256-6b4iDXJme3uanEfz/e4jI1kqljaH8iOqS+7p1MPwhY4="; + cargoHash = "sha256-67XM9j3dZ+4TKVYsM4mTuKHZcxc4EcvlHjxSNRIz9y0="; nativeBuildInputs = [ pkg-config From 8bbbba08ab51a2b630d1d10695479513003ff3b7 Mon Sep 17 00:00:00 2001 From: Hugo Herter Date: Fri, 23 Jan 2026 19:27:39 +0100 Subject: [PATCH 1202/1216] nixos/tests: drop empty let/in stubs Remove the empty let/in blocks from the terminal-emulators and plikd tests to comply with RFC-0166 and avoid rebuild diffs. --- nixos/tests/plikd.nix | 2 -- nixos/tests/terminal-emulators.nix | 2 -- 2 files changed, 4 deletions(-) diff --git a/nixos/tests/plikd.nix b/nixos/tests/plikd.nix index b21ab73f1d16..6ed7fd5130e8 100644 --- a/nixos/tests/plikd.nix +++ b/nixos/tests/plikd.nix @@ -7,8 +7,6 @@ nodes.machine = { pkgs, ... }: - let - in { services.plikd.enable = true; environment.systemPackages = [ pkgs.plik ]; diff --git a/nixos/tests/terminal-emulators.nix b/nixos/tests/terminal-emulators.nix index b5b8b084a94b..2af1cbe518ba 100644 --- a/nixos/tests/terminal-emulators.nix +++ b/nixos/tests/terminal-emulators.nix @@ -183,8 +183,6 @@ mapAttrs ( testScript = { nodes, ... }: - let - in '' with subtest("wait for x"): start_all() From 4ca258d9e8d6cb5167a26a2ac43fd7489e04a517 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 18:42:51 +0000 Subject: [PATCH 1203/1216] fabric-ai: 1.4.380 -> 1.4.389 --- pkgs/by-name/fa/fabric-ai/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/fabric-ai/package.nix b/pkgs/by-name/fa/fabric-ai/package.nix index 0cdaab7f7201..e1684b995554 100644 --- a/pkgs/by-name/fa/fabric-ai/package.nix +++ b/pkgs/by-name/fa/fabric-ai/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "fabric-ai"; - version = "1.4.380"; + version = "1.4.389"; src = fetchFromGitHub { owner = "danielmiessler"; repo = "fabric"; tag = "v${version}"; - hash = "sha256-d4WjshFCZtO7414It53yBEmKB+ERhA/Q9KUb8bX7tCk="; + hash = "sha256-WRFXo/boKqadMSrPAa9XFpWVNft6VJHDoZgHHoBZ+PA="; }; vendorHash = "sha256-147i0ZnNtph5DhaxK330kyUkDA4MBcpzrtIJGBEJHHQ="; From 6804754127a7f678a50167060e1a25d7db272a68 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Jan 2026 14:00:13 +0000 Subject: [PATCH 1204/1216] azure-sdk-for-cpp.storage-queues: 12.5.0 -> 12.6.0 --- .../libraries/azure-sdk-for-cpp/storage-queues.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/azure-sdk-for-cpp/storage-queues.nix b/pkgs/development/libraries/azure-sdk-for-cpp/storage-queues.nix index ef8cf9188416..d5be5a4e4e30 100644 --- a/pkgs/development/libraries/azure-sdk-for-cpp/storage-queues.nix +++ b/pkgs/development/libraries/azure-sdk-for-cpp/storage-queues.nix @@ -9,7 +9,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "azure-sdk-for-cpp-storage-queues"; - version = "12.5.0"; + version = "12.6.0"; outputs = [ "out" "dev" @@ -18,8 +18,8 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "Azure"; repo = "azure-sdk-for-cpp"; - tag = "azure-storage-queues_12.5.0"; - hash = "sha256-u+zaMoX64GcTKE7QIF5WyENTogLBMTCenoI8hPY7m08="; + tag = "azure-storage-queues_${finalAttrs.version}"; + hash = "sha256-cycBXSvc3G8TdLnI4Ht1lBd9ndPOjxWFQA54a24iUsY="; }; sourceRoot = "${finalAttrs.src.name}/sdk/storage/azure-storage-queues"; From 41781e32c4a8559b19ee912a9d469e82ecf25482 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Jan 2026 14:01:29 +0000 Subject: [PATCH 1205/1216] azure-sdk-for-cpp.storage-files-shares: 12.15.0 -> 12.16.0 --- .../libraries/azure-sdk-for-cpp/storage-files-shares.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/azure-sdk-for-cpp/storage-files-shares.nix b/pkgs/development/libraries/azure-sdk-for-cpp/storage-files-shares.nix index 79b6dab56a76..2d5ebffed0b0 100644 --- a/pkgs/development/libraries/azure-sdk-for-cpp/storage-files-shares.nix +++ b/pkgs/development/libraries/azure-sdk-for-cpp/storage-files-shares.nix @@ -9,7 +9,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "azure-sdk-for-cpp-storage-files-shares"; - version = "12.15.0"; + version = "12.16.0"; outputs = [ "out" "dev" @@ -18,8 +18,8 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "Azure"; repo = "azure-sdk-for-cpp"; - tag = "azure-storage-files-shares_12.15.0"; - hash = "sha256-u+zaMoX64GcTKE7QIF5WyENTogLBMTCenoI8hPY7m08="; + tag = "azure-storage-files-shares_${finalAttrs.version}"; + hash = "sha256-cycBXSvc3G8TdLnI4Ht1lBd9ndPOjxWFQA54a24iUsY="; }; sourceRoot = "${finalAttrs.src.name}/sdk/storage/azure-storage-files-shares"; From 006dc6703ec70c1f63ba7c2bf408cf5da290082b Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Fri, 23 Jan 2026 11:23:37 -0800 Subject: [PATCH 1206/1216] ncps: 0.7.1 -> 0.7.2 --- pkgs/by-name/nc/ncps/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nc/ncps/package.nix b/pkgs/by-name/nc/ncps/package.nix index 3ee8196bc726..0b33e4051a8d 100644 --- a/pkgs/by-name/nc/ncps/package.nix +++ b/pkgs/by-name/nc/ncps/package.nix @@ -33,13 +33,13 @@ let finalAttrs = { pname = "ncps"; - version = "0.7.1"; + version = "0.7.2"; src = fetchFromGitHub { owner = "kalbasit"; repo = "ncps"; tag = "v${finalAttrs.version}"; - hash = "sha256-U+97wTN7CxJZ+jOWxZHkN2IiNblb5WTPpnN5v98D2o8="; + hash = "sha256-qc6h1gnU7dFyb0GiBq++E2yf49K7mO86Vwdf8y3817U="; }; ldflags = [ From 88eefbdcc5456b68cf928c7f3af4ee112cdb9d22 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 19:26:08 +0000 Subject: [PATCH 1207/1216] python3Packages.nicegui: 3.5.0 -> 3.6.1 --- pkgs/development/python-modules/nicegui/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/nicegui/default.nix b/pkgs/development/python-modules/nicegui/default.nix index f7a4c6f45a3a..287d71e36deb 100644 --- a/pkgs/development/python-modules/nicegui/default.nix +++ b/pkgs/development/python-modules/nicegui/default.nix @@ -43,14 +43,14 @@ buildPythonPackage (finalAttrs: { pname = "nicegui"; - version = "3.5.0"; + version = "3.6.1"; pyproject = true; src = fetchFromGitHub { owner = "zauberzeug"; repo = "nicegui"; tag = "v${finalAttrs.version}"; - hash = "sha256-4bIpQ6n6s6GgwAzDs6pPULNlwYqclNHvWlPOwJ5I5v4="; + hash = "sha256-umM2ffkiXWJVU2i17fbtnd+ghEt0uVzop9fNhaRTCWM="; }; pythonRelaxDeps = [ "requests" ]; From 64c1be33ec3c12ce7a0d0b57c6114137853062de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 19:57:47 +0000 Subject: [PATCH 1208/1216] kaniko: 1.25.4 -> 1.25.6 --- pkgs/by-name/ka/kaniko/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ka/kaniko/package.nix b/pkgs/by-name/ka/kaniko/package.nix index 016aa8a5851f..ad9789e5254d 100644 --- a/pkgs/by-name/ka/kaniko/package.nix +++ b/pkgs/by-name/ka/kaniko/package.nix @@ -11,13 +11,13 @@ buildGoModule (finalAttrs: { pname = "kaniko"; - version = "1.25.4"; + version = "1.25.6"; src = fetchFromGitHub { owner = "chainguard-dev"; repo = "kaniko"; rev = "v${finalAttrs.version}"; - hash = "sha256-3wSiDFmcXk3gWbll4uSdvg6/TEP/JFIHX7Av4ATJO5s="; + hash = "sha256-Bdu8oTTRbyOmHxqznDNLP27QpsMlvn//y/S28tRmj8E="; }; vendorHash = null; From 2570eb0ccc04bf708a8a0438f3546ae40e4a507a Mon Sep 17 00:00:00 2001 From: Marie Ramlow Date: Fri, 23 Jan 2026 21:43:30 +0100 Subject: [PATCH 1209/1216] vimPlugins.evergarden-nvim: add missing vim-plugin-names entry, fix meta.homepage --- pkgs/applications/editors/vim/plugins/generated.nix | 4 ++-- pkgs/applications/editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 320ef4b52cee..0660aa87a57e 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -5073,14 +5073,14 @@ final: prev: { }; evergarden-nvim = buildVimPlugin { - pname = "nvim"; + pname = "evergarden-nvim"; version = "0-unstable-2026-01-11"; src = fetchgit { url = "https://codeberg.org/evergarden/nvim"; rev = "124f7d142ed328fe413888b10ae39d94ee695560"; hash = "sha256-TeWsXdiCbNCFWMgCixDIu2yQ7R8uTWVScben6rOPsx8="; }; - meta.homepage = "https://codeberg.org/everviolet/nvim"; + meta.homepage = "https://codeberg.org/evergarden/nvim"; meta.hydraPlatforms = [ ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 860f580027f6..f3dee2b2b75a 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -388,6 +388,7 @@ https://github.com/ovk/endec.nvim/,HEAD, https://github.com/vim-scripts/errormarker.vim/,, https://github.com/hachy/eva01.vim/,, https://github.com/sainnhe/everforest/,, +https://codeberg.org/evergarden/nvim,HEAD,evergarden-nvim https://github.com/google/executor.nvim/,HEAD, https://github.com/jinh0/eyeliner.nvim/,HEAD, https://github.com/fenetikm/falcon/,, From 68854091176aecb7e783f703ac806230cd73de35 Mon Sep 17 00:00:00 2001 From: Marie Ramlow Date: Fri, 23 Jan 2026 21:50:51 +0100 Subject: [PATCH 1210/1216] vimPlugins.evergarden-nvim: 0-unstable-2026-01-11 -> 0-unstable-2026-01-21 --- pkgs/applications/editors/vim/plugins/generated.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 0660aa87a57e..18b4f7be71bc 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -5074,11 +5074,11 @@ final: prev: { evergarden-nvim = buildVimPlugin { pname = "evergarden-nvim"; - version = "0-unstable-2026-01-11"; + version = "0-unstable-2026-01-21"; src = fetchgit { url = "https://codeberg.org/evergarden/nvim"; - rev = "124f7d142ed328fe413888b10ae39d94ee695560"; - hash = "sha256-TeWsXdiCbNCFWMgCixDIu2yQ7R8uTWVScben6rOPsx8="; + rev = "b49ee5bef999955e688ea883a1f7b14cd41de8b4"; + hash = "sha256-55iIlWrwqtaAaOPbgmKXd5d9U4Y9ICBRJudh2VSNRxg="; }; meta.homepage = "https://codeberg.org/evergarden/nvim"; meta.hydraPlatforms = [ ]; From c57dca0a8d034fec48cab052c0a4be19005ef3f2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 21:08:03 +0000 Subject: [PATCH 1211/1216] python3Packages.txtai: 9.3.0 -> 9.4.1 --- pkgs/development/python-modules/txtai/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/txtai/default.nix b/pkgs/development/python-modules/txtai/default.nix index ae11eba70fe1..6354a7d33c74 100644 --- a/pkgs/development/python-modules/txtai/default.nix +++ b/pkgs/development/python-modules/txtai/default.nix @@ -93,7 +93,7 @@ pytestCheckHook, }: let - version = "9.3.0"; + version = "9.4.1"; agent = [ mcpadapt smolagents @@ -241,7 +241,7 @@ let owner = "neuml"; repo = "txtai"; tag = "v${version}"; - hash = "sha256-dKZiyExKAIO1fEQSkmkTX0eqKgsKSurZWFWkeeiOBIE="; + hash = "sha256-w/9BlvmEvRnhNe7ry9sOsZ61ai2j+cv6U4OZRQsgVbQ="; }; in buildPythonPackage { From 1b8f303b6565477ceb19282181fb695dbe3e2d9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 21:10:36 +0000 Subject: [PATCH 1212/1216] terraform-providers.hashicorp_azurerm: 4.57.0 -> 4.58.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 4dd9f14b45eb..7ba922ec7815 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -526,11 +526,11 @@ "vendorHash": null }, "hashicorp_azurerm": { - "hash": "sha256-aLBq+kMycLom6a+R5R+FxXzohHTX4yUHANXA1NGQ51k=", + "hash": "sha256-uAaWBctVH61wMz12hX3DnayVn6LK1e3aUM2SQBNx3QQ=", "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", "owner": "hashicorp", "repo": "terraform-provider-azurerm", - "rev": "v4.57.0", + "rev": "v4.58.0", "spdx": "MPL-2.0", "vendorHash": null }, From 022296264ea62a9c2ae0624eeaecae081967a879 Mon Sep 17 00:00:00 2001 From: Sandro Date: Fri, 23 Jan 2026 22:26:58 +0100 Subject: [PATCH 1213/1216] vulkanscenegraph: use https in meta.homepage --- pkgs/by-name/vu/vulkanscenegraph/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/vu/vulkanscenegraph/package.nix b/pkgs/by-name/vu/vulkanscenegraph/package.nix index 553cc39e7f8c..f82512bc87dd 100644 --- a/pkgs/by-name/vu/vulkanscenegraph/package.nix +++ b/pkgs/by-name/vu/vulkanscenegraph/package.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Vulkan & C++17 based Scene Graph Project"; - homepage = "http://www.vulkanscenegraph.org"; + homepage = "https://www.vulkanscenegraph.org"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sikmir ]; platforms = lib.platforms.unix; From e830065e8d22de525c7dc7c36cd32d4c76b04721 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Fri, 23 Jan 2026 16:38:52 -0500 Subject: [PATCH 1214/1216] .devcontainer: change nixfmt-rfc-style to nixfmt It has been 5 months. We're probably good to go now. Signed-off-by: Ethan Carter Edwards --- .devcontainer/devcontainer.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7d5f60ba9b7f..21413b4fe79e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,9 +5,7 @@ "ghcr.io/devcontainers/features/nix:1": { // fails in the devcontainer sandbox, enable sandbox via config instead "multiUser": false, - // TODO: nixfmt-rfc-style → nixfmt (once it's in a stable release) - // https://github.com/NixOS/nixpkgs/issues/425583 - "packages": "nixpkgs.nixd,nixpkgs.nixfmt-rfc-style", + "packages": "nixpkgs.nixd,nixpkgs.nixfmt", "useAttributePath": true, "extraNixConfig": "experimental-features = nix-command flakes,sandbox = true" } From 26b237632dd8eb2e0a29628b258e9e99c550c8cc Mon Sep 17 00:00:00 2001 From: Peter Bynum Date: Fri, 23 Jan 2026 14:34:36 -0500 Subject: [PATCH 1215/1216] vfkit: 0.6.1 -> 0.6.3 --- pkgs/by-name/vf/vfkit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vf/vfkit/package.nix b/pkgs/by-name/vf/vfkit/package.nix index 66deaf161197..0acbe47ce0cf 100644 --- a/pkgs/by-name/vf/vfkit/package.nix +++ b/pkgs/by-name/vf/vfkit/package.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "vfkit"; - version = "0.6.1"; + version = "0.6.3"; src = fetchFromGitHub { owner = "crc-org"; repo = "vfkit"; rev = "v${version}"; - hash = "sha256-+ds9GIa3q2ck4D3sjUHz7e9w00XgD6/jq4L8QkBpCJg="; + hash = "sha256-AHmCmDrddbPM8agM4jyKGKJ5aJSZ0hijM2suHJmRS3A="; }; - vendorHash = "sha256-YvrcEPyAvuECUVgQoHKveMoFOeh4M3k5ngsP2w46+vY="; + vendorHash = "sha256-tXpjEMF4wwuP4w8asZPpeA8C5g+k4MjNRtbCBFFql2A="; subPackages = [ "cmd/vfkit" ]; From 956037035a4cdf9a48a63a868f2c48770f5d3a75 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Jan 2026 22:42:04 +0000 Subject: [PATCH 1216/1216] plasma-panel-colorizer: 6.3.0 -> 6.5.0 --- pkgs/by-name/pl/plasma-panel-colorizer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix index de0c3ed4eb29..b703deb83965 100644 --- a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix +++ b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plasma-panel-colorizer"; - version = "6.3.0"; + version = "6.5.0"; src = fetchFromGitHub { owner = "luisbocanegra"; repo = "plasma-panel-colorizer"; tag = "v${finalAttrs.version}"; - hash = "sha256-ekYNEx6Fa8/groKrQUINoscekxiOK6MCX+gueVoDGiU="; + hash = "sha256-okqp0jgrAIUAkVmlWd3O1lnvSOTIXp+RJ9GJAAe5mIs="; }; nativeBuildInputs = [