Compare commits

..

201 Commits

Author SHA1 Message Date
Arne Keller
1ea7aae21f javaPackages.compiler.openjdk21: 21.0.12+2 -> 21.0.12+8 (#539108) 2026-07-25 15:55:27 +00:00
R. Ryantm
aa7a3b1c68 javaPackages.compiler.openjdk21: 21.0.12+2 -> 21.0.12+8 2026-07-25 15:50:42 +00:00
Sandro
ee674f9897 sourceHighlight: patch to fix build with gcc 16 (#537384) 2026-07-25 12:59:23 +00:00
Sandro
0513e11355 minimal-boostrap.mes: use vendored ldexpl.c (#543889) 2026-07-25 12:47:40 +00:00
Sandro
da3aedc384 onetbb: never treat warnings as fatal (#537640) 2026-07-25 12:44:36 +00:00
Sandro
a67fa62eb3 glog: disable optimization-dependent stacktrace test (#538302) 2026-07-25 12:39:16 +00:00
Sandro
94f7975fb8 assimp: never treat warnings as fatal (#538300) 2026-07-25 12:30:06 +00:00
Grimmauld
41edc200a6 audit: 4.1.4 -> 4.2 (#545518) 2026-07-25 08:24:42 +00:00
Grimmauld
2dc0d42192 audit: 4.1.4 -> 4.2
Release notes: https://github.com/linux-audit/audit-userspace/releases/tag/v4.2
Diff: https://github.com/linux-audit/audit-userspace/compare/v4.1.4...v4.2
2026-07-25 08:53:33 +02:00
nixpkgs-ci[bot]
22c017cf68 Merge staging-next into staging 2026-07-25 06:48:05 +00:00
nixpkgs-ci[bot]
bb8534b07d Merge master into staging-next 2026-07-25 06:47:35 +00:00
Michael Daniels
a4a35f10b9 spidermonkey_140: 140.11.0 -> 140.13.0 (#544220) 2026-07-25 02:24:00 +00:00
Michael Daniels
008c45a383 netpbm: 11.15.1 -> 11.15.3 (#543984) 2026-07-25 02:23:57 +00:00
nixpkgs-ci[bot]
c94477c2d2 Merge staging-next into staging 2026-07-25 00:33:22 +00:00
nixpkgs-ci[bot]
00d0b792cc Merge master into staging-next 2026-07-25 00:32:53 +00:00
Sandro
ba2ca99e29 zxing-cpp: 2.3.0 -> 3.0.2 (#534631) 2026-07-24 21:44:28 +00:00
Martin Weinelt
1be9a8d15a python3Packages.aiohttp: 3.14.2 -> 3.14.3 (#545349) 2026-07-24 21:05:46 +00:00
Sandro Jäckel
c5481d89f4 paperless-ngx: relax zxing-cpp dependency 2026-07-24 22:30:12 +02:00
Arne Keller
7a0b03740a systemtap-unwrapped: enable __structuredAttrs, strictDeps (#542942) 2026-07-24 19:59:08 +00:00
Aliaksandr
2f81259e56 zxing-cpp: 2.3.0 -> 3.0.2 2026-07-24 21:45:50 +02:00
Aliaksandr
c7010daad2 zxing-cpp: add qweered to maintainers 2026-07-24 21:45:49 +02:00
Lukas Epple
11ead1be24 haskell.compiler.ghc984Binary: workaround com.apple.provenance xattr (#545153) 2026-07-24 19:34:58 +00:00
Robert Schütz
5e3b18898a python3Packages.yarl: use finalAttrs 2026-07-24 11:51:13 -07:00
Robert Schütz
7f6b809aa5 python3Packages.yarl: 1.24.2 -> 1.24.5
Diff: https://github.com/aio-libs/yarl/compare/v1.24.2...v1.24.5

Changelog: https://github.com/aio-libs/yarl/blob/v1.24.5/CHANGES.rst
2026-07-24 11:50:11 -07:00
Robert Schütz
838f68584a python3Packages.aiohttp: 3.14.2 -> 3.14.3
Diff: https://github.com/aio-libs/aiohttp/compare/v3.14.2...v3.14.3

Changelog: https://docs.aiohttp.org/en/v3.14.3/changes.html
2026-07-24 11:49:04 -07:00
nixpkgs-ci[bot]
2dbf639607 Merge staging-next into staging 2026-07-24 18:31:22 +00:00
nixpkgs-ci[bot]
f6055e87bf Merge master into staging-next 2026-07-24 18:30:55 +00:00
whispers
6862cf855e assimp: never treat warnings as fatal
assimp sometimes has warnings that are triggered by new compiler or
library versions. since assimp builds with -Werror by default, this
requires workaround in Nixpkgs until they cut a release. this is the
case with unused variable warnings in GCC 16. instead of dealing with
this, we simply disable -Werror via the cmake flag it offers to do so.
2026-07-24 12:51:47 -04:00
Martin Weinelt
21017fadcc python314Packages.psycopg.c: nuke libpq.dev refs in cython files (#526000) 2026-07-24 15:36:52 +00:00
Sandro Jäckel
61e6dad91e python314Packages.psycopg.c: nuke libpq.dev refs in cython files
We do not want to rely on development headers at runtime if we do not need to.

Before: 243.72 MiB
After: 223.54 MiB
2026-07-24 17:30:41 +02:00
Martin Weinelt
a48b2baac5 python3Packages.{httpcore2,httpx2}: 2.5.0 -> 2.9.1 (#545246) 2026-07-24 14:23:10 +00:00
Martin Weinelt
232cf6b9db python3Packages.httpx2: 2.5.0 -> 2.9.1
https://github.com/pydantic/httpx2/blob/v2.9.1/src/httpx2/CHANGELOG.md
2026-07-24 16:04:48 +02:00
Martin Weinelt
12f115452c python3Packages.httpcore2: 2.5.0 -> 2.9.1
https://github.com/pydantic/httpx2/blob/v2.9.1/src/httpcore2/CHANGELOG.md
2026-07-24 16:04:48 +02:00
Sandro
468b788365 libtool: 2.5.4 -> 2.6.2 (#544696) 2026-07-24 12:51:48 +00:00
nixpkgs-ci[bot]
67baa7d684 Merge staging-next into staging 2026-07-24 12:31:39 +00:00
nixpkgs-ci[bot]
1edc097bd2 Merge master into staging-next 2026-07-24 12:31:11 +00:00
Sandro
bcdf716948 libmicrohttpd: 1.0.5 -> 1.0.6 (#544697) 2026-07-24 11:27:05 +00:00
Alex James
5fe66fcffe haskell.compiler.ghc984Binary: workaround com.apple.provenance xattr
This is taken from #413450.
2026-07-24 01:04:45 -07:00
nixpkgs-ci[bot]
44000aec59 Merge staging-next into staging 2026-07-24 06:52:16 +00:00
nixpkgs-ci[bot]
a0f7233e07 Merge master into staging-next 2026-07-24 06:51:50 +00:00
nixpkgs-ci[bot]
90da5ffd35 Merge staging-next into staging 2026-07-24 00:29:53 +00:00
nixpkgs-ci[bot]
391874228d Merge master into staging-next 2026-07-24 00:29:28 +00:00
Fabián Heredia Montiel
368f7bf357 yara: 4.5.6 -> 4.5.7 (#541938) 2026-07-23 19:39:18 +00:00
nixpkgs-ci[bot]
05a86876bd Merge staging-next into staging 2026-07-23 18:27:57 +00:00
nixpkgs-ci[bot]
9ff109fb87 Merge master into staging-next 2026-07-23 18:27:29 +00:00
Bjørn Forsman
aa9484a1aa thrift: fix cross build (#394387) 2026-07-23 16:03:59 +00:00
Sandro
0eee18cde3 python3Packages.mistune: 3.3.3 -> 3.3.4 (#544615) 2026-07-23 15:46:12 +00:00
Sandro
90f0ae699f dash: 0.5.13.4 -> 0.5.13.5 (#543847) 2026-07-23 13:47:26 +00:00
nixpkgs-ci[bot]
08675bad08 Merge staging-next into staging 2026-07-23 12:34:13 +00:00
nixpkgs-ci[bot]
66c61c3c1e Merge master into staging-next 2026-07-23 12:33:47 +00:00
Doron Behar
4335931ec3 python3Packages.numpy_2: fix for test failure on i686 (#544098) 2026-07-23 10:53:17 +00:00
André Silva
a453e9151e python3Packages.numpy_2: fix for test failure on i686 2026-07-23 10:11:05 +01:00
nixpkgs-ci[bot]
33906cd762 Merge staging-next into staging 2026-07-23 06:51:54 +00:00
nixpkgs-ci[bot]
10d1260d3a Merge master into staging-next 2026-07-23 06:51:29 +00:00
nixpkgs-ci[bot]
69f75cc1a4 Merge staging-next into staging 2026-07-23 00:32:44 +00:00
nixpkgs-ci[bot]
7bd1ed1622 Merge master into staging-next 2026-07-23 00:32:16 +00:00
Sergei Trofimovich
75eca02672 libmicrohttpd: 1.0.5 -> 1.0.6 2026-07-22 22:40:53 +01:00
Sergei Trofimovich
e7fc5f5929 libtool: 2.5.4 -> 2.6.2
Changes: https://lists.gnu.org/archive/html/info-gnu/2026-07/msg00003.html
2026-07-22 22:37:16 +01:00
nixpkgs-ci[bot]
100921721e Merge staging-next into staging 2026-07-22 18:26:34 +00:00
nixpkgs-ci[bot]
ffe6ce2a14 Merge master into staging-next 2026-07-22 18:26:08 +00:00
K900
a2c03f70a6 libressl: Actually utilize custom CA store (#540702) 2026-07-22 17:33:27 +00:00
Robert Schütz
b240a809a8 python3Packages.mistune: 3.3.3 -> 3.3.4
Diff: https://github.com/lepture/mistune/compare/v3.3.3...v3.3.4

Changelog: https://github.com/lepture/mistune/blob/v3.3.4/docs/changes.rst
2026-07-22 10:17:10 -07:00
Martin Weinelt
fee9080b63 unbound: 1.25.1 -> 1.25.2 (#544542) 2026-07-22 16:37:31 +00:00
Arne Keller
e9f5fbea62 libffiReal: 3.7.0 -> 3.7.1 (#540997) 2026-07-22 16:12:25 +00:00
K900
b0b780a4ae gmp: enable assembly for aarch64-darwin (#521132) 2026-07-22 15:27:53 +00:00
Martin Weinelt
d2cff906cc unbound: 1.25.1 -> 1.25.2
https://github.com/NLnetLabs/unbound/releases/tag/release-1.25.2

Fixes:
CVE-2026-14586, CVE-2026-32665, CVE-2026-40691, CVE-2026-41637,
CVE-2026-42955, CVE-2026-44621, CVE-2026-44687, CVE-2026-44690,
CVE-2026-46582, CVE-2026-50045, CVE-2026-50046, CVE-2026-50243,
CVE-2026-50248, CVE-2026-50251, CVE-2026-50252, CVE-2026-52863,
CVE-2026-54478, CVE-2026-55708, CVE-2026-55717, CVE-2026-55973,
CVE-2026-55990, CVE-2026-55991, CVE-2026-56416, CVE-2026-56444
2026-07-22 14:53:21 +02:00
nixpkgs-ci[bot]
e51f60deb2 valkey: 9.1.0 -> 9.1.1 (#544489) 2026-07-22 12:49:32 +00:00
nixpkgs-ci[bot]
585b17062b Merge staging-next into staging 2026-07-22 12:34:09 +00:00
nixpkgs-ci[bot]
ea1d43ed8a Merge master into staging-next 2026-07-22 12:33:42 +00:00
R. Ryantm
a4973ac2d4 valkey: 9.1.0 -> 9.1.1 2026-07-22 09:42:35 +00:00
nixpkgs-ci[bot]
1f22863ccd Merge master into staging-next 2026-07-22 06:53:00 +00:00
K900
a74384116d spirv-tools: backport fix for crash on newer Vulkan (#542237) 2026-07-22 06:50:29 +00:00
nixpkgs-ci[bot]
b0003ba3f5 Merge staging-next into staging 2026-07-22 06:53:27 +00:00
nixpkgs-ci[bot]
06d50224cc Merge staging-next into staging 2026-07-22 00:30:50 +00:00
nixpkgs-ci[bot]
f412c70cf7 Merge master into staging-next 2026-07-22 00:30:23 +00:00
Ryan Hendrickson
26cfad56d0 imagemagick: Generic GCC arch (#544129) 2026-07-21 20:59:28 +00:00
nixpkgs-ci[bot]
1c88beab89 Merge staging-next into staging 2026-07-21 18:29:11 +00:00
Martin Weinelt
e3850b7cb0 libssh: 0.12.0 -> 0.12.1 (#544211) 2026-07-21 18:18:57 +00:00
R. Ryantm
7973bd606a libssh: 0.12.0 -> 0.12.1
https://www.libssh.org/2026/07/21/libssh-0-12-1-and-0-11-5-security-releases/

Fixes:
CVE-2026-15370: Stack buffer overflow in SFTP server longname construction
CVE-2026-59842: Information disclosure via short GSSAPI Curve25519 public key
CVE-2026-59843: Denial of service via zero advertised channel packet size
CVE-2026-59844: Denial of service via oversized SFTP read length
CVE-2026-59845: Denial of service via unchecked ProxyCommand fork() failure
CVE-2026-59846: Information disclosure via ProxyCommand %r username expansion
CVE-2026-59847: Integrity downgrade via OpenSSL AES-GCM tag verification
CVE-2026-59848: Denial of service via SFTP responses with unknown request IDs
CVE-2026-59849: Denial of service via automatic certificate authentication loop
CVE-2026-59850: Use-after-free via data callbacks on closed channels
CVE-2026-59851: Authentication bypass via missing GSSAPI principal check
2026-07-21 19:28:00 +02:00
nixpkgs-ci[bot]
e2f1003d54 doctest: 2.5.2 -> 2.5.3 (#539123) 2026-07-21 15:59:23 +00:00
Sandro
e5e485993a python314Packages.sh: ignore timing sensitive tests (#542618) 2026-07-21 15:12:12 +00:00
Sandro
2f1ba1e607 python314Packages.filelock: add another timeout sensitive test file (#542595) 2026-07-21 15:11:53 +00:00
dotlambda
c89f3fbd2d python3Packages.aiohttp: 3.14.1 -> 3.14.2 (#543964) 2026-07-21 14:13:44 +00:00
Sandro
481f060889 python3Packages.fields: migrate to pyproject (#544012) 2026-07-21 13:42:11 +00:00
Sandro
9bcdcbe201 python3Packages.feedgen: migrate to pyproject (#544010) 2026-07-21 13:41:45 +00:00
whispers
bdd41cf25f spidermonkey_140: 140.11.0 -> 140.13.0
https://github.com/mozilla-firefox/firefox/commits/FIREFOX_140_13_0esr_RELEASE/js/src/build
https://github.com/mozilla-firefox/firefox/commits/FIREFOX_140_13_0esr_RELEASE/build

Security advisories:
- 140.12.0: https://www.mozilla.org/en-US/security/advisories/mfsa2026-58/
- 140.13.0: https://www.mozilla.org/en-US/security/advisories/mfsa2026-70/

Fixes: CVE-2026-12315, CVE-2026-15718, CVE-2026-16355, CVE-2026-16363, CVE-2026-16368, CVE-2026-16369
2026-07-21 09:18:47 -04:00
nixpkgs-ci[bot]
c1fac1327d Merge staging-next into staging 2026-07-21 12:34:10 +00:00
klea
737bea0291 imagemagick: Generic GCC arch
The architectures for `x86_64` and `aarch64` have been deprecated.

[This comment](https://github.com/NixOS/nixpkgs/pull/195766#issuecomment-1478981292) suggests doing so, and I've found that `--with-gcc-arch=generic` is already used, whilst `--without-gcc-arch` isn't used.
2026-07-21 10:27:45 +00:00
nixpkgs-ci[bot]
1ea19ce3da Merge staging-next into staging 2026-07-21 06:53:07 +00:00
Niklas Hambüchen
85f3793b05 srt: 1.5.5 -> 1.5.6 (#543953) 2026-07-21 01:34:27 +00:00
Winter
b43c707be2 rust: 1.97.0 -> 1.97.1 (#542564) 2026-07-21 00:30:49 +00:00
nixpkgs-ci[bot]
aa4219ffaa Merge staging-next into staging 2026-07-21 00:32:36 +00:00
Sigmanificient
951e50ec2b python3Packges.fields: mark tests as disabled 2026-07-21 01:49:32 +02:00
Sigmanificient
72dfbeef2f python3Packages.fields: use finalAttrs 2026-07-21 01:49:32 +02:00
Sigmanificient
52325bf865 python3Packages.fields: migrate to pyproject 2026-07-21 01:49:31 +02:00
Sigmanificient
8741663b37 python3Packages.feedgen: enable tests 2026-07-21 01:44:58 +02:00
Sigmanificient
f6c466042e python3Packages.feedgen: use finalAttrs 2026-07-21 01:44:57 +02:00
Sigmanificient
2709d6b4f4 python3Packages.feedgen: migrate to pyproject 2026-07-21 01:44:57 +02:00
Sergei Trofimovich
ca13224dfb netpbm: 11.15.1 -> 11.15.3 2026-07-20 22:46:14 +01:00
Robert Schütz
fb6f0040ba python3Packages.aiohttp: 3.14.1 -> 3.14.2
Diff: https://github.com/aio-libs/aiohttp/compare/v3.14.1...v3.14.2

Changelog: https://docs.aiohttp.org/en/v3.14.2/changes.html
2026-07-20 13:00:15 -07:00
R. Ryantm
b2aab90a9c srt: 1.5.5 -> 1.5.6 2026-07-20 19:26:36 +00:00
nixpkgs-ci[bot]
5029ec8c4b Merge staging-next into staging 2026-07-20 18:39:34 +00:00
Vladimír Čunát
85698966be libtiff: 4.7.1 -> 4.7.2 (#538822) 2026-07-20 18:23:30 +00:00
nixpkgs-ci[bot]
89d7ad761d prek: 0.4.4 -> 0.4.10 (#543647) 2026-07-20 16:43:37 +00:00
dotlambda
06dfd43f5a python3Packages.multipart: 1.3.1 -> 2.0.0 (#543363) 2026-07-20 16:28:00 +00:00
dotlambda
9d32e5581e python3Packages.faust-cchardet: 2.1.19 -> 2.1.20 (#542746) 2026-07-20 16:24:08 +00:00
whispers
7d3875618f minimal-boostrap.mes: use vendored ldexpl.c
this was initially introduced in #494801 but accidentally reverted in
#519568.
2026-07-20 11:55:22 -04:00
nixpkgs-ci[bot]
5f6ddcdf15 Merge staging-next into staging 2026-07-20 15:45:13 +00:00
FliegendeWurst
5cf2644c4f thrift: fix cross build 2026-07-20 17:44:52 +02:00
FliegendeWurst
7bb08865d0 thrift: set meta.downloadPage 2026-07-20 17:44:45 +02:00
R. Ryantm
ac882579e9 dash: 0.5.13.4 -> 0.5.13.5 2026-07-20 13:11:18 +00:00
nixpkgs-ci[bot]
1780b903fd Merge staging-next into staging 2026-07-20 12:44:39 +00:00
K900
ce8a82fb44 Merge remote-tracking branch 'origin/staging-next' into staging 2026-07-20 10:00:56 +03:00
Doron Behar
33ca91a44e python3Packages.matplotlib: 3.11.0 -> 3.11.1 (#543437) 2026-07-20 06:50:38 +00:00
Vladimír Čunát
aa3e83b5be fontconfig: 2.18.1 -> 2.18.2 (#540695) 2026-07-20 05:04:37 +00:00
Michael Daniels
0fb5f0c1d5 Merge branch 'staging-next' into staging 2026-07-19 21:03:25 -04:00
R. Ryantm
eaaeed2a57 prek: 0.4.4 -> 0.4.10 2026-07-19 23:08:13 +00:00
nixpkgs-ci[bot]
66b5ff6922 Merge staging-next into staging 2026-07-19 18:19:40 +00:00
Bjørn Forsman
bb64af82c3 ethtool: 7.0 -> 7.1 (#541144) 2026-07-19 17:44:14 +00:00
nixpkgs-ci[bot]
030180ff42 Merge staging-next into staging 2026-07-19 12:19:18 +00:00
Fabian Affolter
93c2daee52 python3Packages.rf-protocols: remove dependency on prek (#542898) 2026-07-19 07:08:09 +00:00
nixpkgs-ci[bot]
cf5eebf360 Merge staging-next into staging 2026-07-19 06:52:50 +00:00
nixpkgs-ci[bot]
3d43477063 Merge staging-next into staging 2026-07-19 00:32:43 +00:00
Robert Schütz
80d7920bdd python3Packages.multipart: use finalAttrs 2026-07-18 17:17:26 -07:00
Robert Schütz
be8bc646d4 python3Packages.multipart: 1.3.1 -> 2.0.0
Diff: https://github.com/defnull/multipart/compare/v1.3.1...v2.0.0

Changelog: https://github.com/defnull/multipart/blob/v2.0.0/CHANGELOG.rst
2026-07-18 17:11:35 -07:00
Doron Behar
d3ea2a3180 python3Packages.matplotlib: 3.11.0 -> 3.11.1
Changelog: https://github.com/matplotlib/matplotlib/releases/tag/v3.11.1
2026-07-18 21:49:07 +03:00
nixpkgs-ci[bot]
a756cf1950 Merge staging-next into staging 2026-07-18 18:19:33 +00:00
Marcin Serwin
c9a869ef27 gn: 0-unstable-2026-04-01 -> 0-unstable-2026-05-27 (#541615) 2026-07-18 18:02:20 +00:00
nixpkgs-ci[bot]
631bb3f063 Merge staging-next into staging 2026-07-18 17:18:41 +00:00
nixpkgs-ci[bot]
8fb20960f6 Merge staging-next into staging 2026-07-18 12:19:32 +00:00
Martin Weinelt
6ba22d1955 cacert: 3.125 -> 3.126 (#543170) 2026-07-18 11:48:52 +00:00
nixpkgs-ci[bot]
14c9361dac Merge staging-next into staging 2026-07-18 10:53:11 +00:00
Martin Weinelt
9652e1332d cacert: 3.125 -> 3.126
https://github.com/mozilla/nss/blob/master/doc/rst/releases/nss_3_126.rst
2026-07-18 11:18:02 +02:00
K900
e6f60a365a [staging] mbedtls: 3.6.6 -> 3.6.7, mbedtls_4: 4.1.0 -> 4.2.0 (#542929) 2026-07-18 07:25:28 +00:00
nixpkgs-ci[bot]
fe496ec525 Merge staging-next into staging 2026-07-18 06:40:43 +00:00
Vladimír Čunát
4f6ec6fc96 libmysofa: 1.3.3 -> 1.3.4 (#486773) 2026-07-18 05:34:50 +00:00
Michael Daniels
979d1af798 findutils: 4.10.0 -> 4.11.0 (#540787) 2026-07-18 02:23:31 +00:00
Michael Daniels
01b81663af Merge branch 'staging-next' into staging 2026-07-17 22:20:06 -04:00
nixpkgs-ci[bot]
143000035a Merge staging-next into staging 2026-07-18 00:29:41 +00:00
nixpkgs-ci[bot]
6a00cf9029 Merge staging-next into staging 2026-07-17 18:23:37 +00:00
K900
b8849050c9 hdrhistogram_c: unconditionalize patch 2026-07-17 20:31:33 +03:00
nixpkgs-ci[bot]
35eba27db6 Merge staging-next into staging 2026-07-17 17:30:35 +00:00
FliegendeWurst
781c3e5b32 systemtap-unwrapped: enable __structuredAttrs, strictDeps 2026-07-17 15:08:43 +02:00
K900
67204887a8 mbedtls_4: 4.1.0 -> 4.2.0 2026-07-17 15:42:05 +03:00
K900
007ea29d17 mbedtls: 3.6.6 -> 3.6.7 2026-07-17 15:42:05 +03:00
nixpkgs-ci[bot]
63f496d8fb Merge staging-next into staging 2026-07-17 12:35:12 +00:00
nixpkgs-ci[bot]
56caf75a2b Merge staging-next into staging 2026-07-17 12:28:10 +00:00
nixpkgs-ci[bot]
e79e57c3d0 Merge staging-next into staging 2026-07-17 12:12:27 +00:00
Doron Behar
f659de9be2 xsimd: 14.2.0 -> 14.3.0 (#542419) 2026-07-17 14:23:09 +03:00
nixpkgs-ci[bot]
339568c9f9 Merge staging-next into staging 2026-07-17 10:59:15 +00:00
Tom Hunze
36077ec8f8 python3Packages.rf-protocols: remove dependency on prek
prek is a Git hook manager, similar to pre-commit. It's not needed for
running the tests. Having prek as a dependency of rf-protocol causes
prek to have >1000 reverse dependencies via home-assistant, which is
undesirable as this requires each prek update to go through a staging
cycle, see e.g. [1].

`$out` stays the same after this change, minus store path differences.

[1] https://github.com/NixOS/nixpkgs/pull/539683
2026-07-17 12:28:25 +02:00
nixpkgs-ci[bot]
c0216ed720 Merge staging-next into staging 2026-07-17 06:48:55 +00:00
nixpkgs-ci[bot]
dac609047e Merge staging-next into staging 2026-07-17 00:32:44 +00:00
Robert Schütz
0e0204bf39 python3Packages.faust-cchardet: 2.1.19 -> 2.1.20
Diff: https://github.com/faust-streaming/cChardet/compare/v2.1.19...v2.1.20

Changelog: https://github.com/faust-streaming/cChardet/blob/v2.1.20/CHANGES.rst
2026-07-16 16:34:11 -07:00
nixpkgs-ci[bot]
b5231255ab Merge staging-next into staging 2026-07-16 18:25:54 +00:00
Fabián Heredia Montiel
3e44519ed5 xvfb: 21.1.23 -> 21.1.24, drop rebuild avoidance (#539646) 2026-07-16 17:53:12 +00:00
Sandro Jäckel
4c4644e487 python314Packages.sh: ignore timing sensitive tests 2026-07-16 17:15:22 +02:00
Sandro Jäckel
0b99f61e56 python314Packages.filelock: add another timeout sensitive test file 2026-07-16 16:06:19 +02:00
nixpkgs-ci[bot]
e72f7e0e9e Merge staging-next into staging 2026-07-16 12:34:30 +00:00
ajs124
6efd50f603 tzdata: 2026b -> 2026c (#539907) 2026-07-16 11:53:23 +00:00
nixpkgs-ci[bot]
5ff3d47156 Merge staging-next into staging 2026-07-16 06:50:46 +00:00
dotlambda
f2f80d3cde fluidsynth: 2.5.5 -> 2.5.6 (#542426) 2026-07-16 03:41:15 +00:00
Robert Schütz
68a131f652 fluidsync: add meta.changelog 2026-07-15 20:32:27 -07:00
R. Ryantm
33f1076b16 fluidsynth: 2.5.5 -> 2.5.6 2026-07-16 00:59:04 +00:00
R. Ryantm
50e42b2d6c xsimd: 14.2.0 -> 14.3.0 2026-07-16 00:31:08 +00:00
nixpkgs-ci[bot]
107ecb2533 Merge staging-next into staging 2026-07-16 00:30:56 +00:00
Michael Daniels
84d99e1916 Merge branch 'staging-next' into staging 2026-07-15 19:38:45 -04:00
whispers
4893b4e92d rust: 1.97.0 -> 1.97.1
blog: https://blog.rust-lang.org/releases/1.97.1
changelog: https://github.com/rust-lang/rust/blob/1.97.1/RELEASES.md
diff: https://github.com/rust-lang/rust/compare/1.97.0...1.97.1
2026-07-15 15:03:24 -04:00
nixpkgs-ci[bot]
dfea27aa96 Merge staging-next into staging 2026-07-15 18:26:11 +00:00
Will Fancher
ba6c358aff systemd: 261 -> 261.1 (#540623) 2026-07-15 15:18:25 +00:00
Eman Resu
a51d057203 libsodium: 1.0.22-unstable-2026-04-16 -> 1.0.22-unstable-2026-07-08 (#540923) 2026-07-15 14:22:52 +00:00
Andrew Marshall
dbd0f87198 spirv-tools: backport fix for crash on newer Vulkan
See https://github.com/KhronosGroup/SPIRV-Tools/issues/6712

Notably, this fixes `blender --factory-startup --gpu-backend vulkan`
crashing on startup.
2026-07-15 09:40:02 -04:00
nixpkgs-ci[bot]
d0cbf1997e Merge staging-next into staging 2026-07-15 12:30:45 +00:00
nixpkgs-ci[bot]
a043bd8b36 Merge staging-next into staging 2026-07-15 06:47:00 +00:00
7c6f434c
bd7c058954 geoclue2: 2.7.2 -> 2.8.1 (#519210) 2026-07-15 06:40:50 +00:00
7c6f434c
290bcbbbb4 graphviz-nox: 14.1.2 -> 15.1.0 (#540741) 2026-07-15 06:36:45 +00:00
Grimmauld
18c75074ca libapparmor: 5.0.1 -> 5.0.2 (#541899) 2026-07-15 05:59:25 +00:00
Will Fancher
26482ee87c nixos/tests/systemd-boot: Preserve length in sed 2026-07-15 01:06:48 -04:00
R. Ryantm
3512188322 yara: 4.5.6 -> 4.5.7 2026-07-14 20:39:33 +00:00
Grimmauld
af253c905a libapparmor: 5.0.1 -> 5.0.2 2026-07-14 20:09:03 +02:00
R. Ryantm
55781a05ed gn: 0-unstable-2026-04-01 -> 0-unstable-2026-05-27 2026-07-13 22:27:21 +00:00
Sergei Trofimovich
6204aa2983 ethtool: 7.0 -> 7.1
Changes: https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/log/?h=v7.1
2026-07-12 19:41:42 +01:00
Antoine du Hamel
5964572d17 libffiReal: add aduh95 as maintainer 2026-07-12 11:45:42 +02:00
Antoine du Hamel
cbd66b68e2 libffiReal: 3.7.0 -> 3.7.1 2026-07-12 11:45:31 +02:00
R. Ryantm
12babd1e2a libsodium: 1.0.22-unstable-2026-04-16 -> 1.0.22-unstable-2026-07-08 2026-07-12 01:31:48 +00:00
Michael Daniels
d88eb9f171 findutils: 4.10.0 -> 4.11.0
Changelog: https://cgit.git.savannah.gnu.org/cgit/findutils.git/tree/NEWS?h=v4.11.0
2026-07-11 11:32:05 -04:00
R. Ryantm
5614859b5a graphviz-nox: 14.1.2 -> 15.1.0 2026-07-11 13:02:20 +00:00
Clara Engler
f186affb81 libressl: Test for cacert binary match
This commit adds an installCheckPhase that grep's for a binary match
inside the result, in order to verify that our own CA store is actually
honored.
2026-07-11 12:26:59 +02:00
Clara Engler
df13b3e4a4 libressl: Actually utilize cacert
This commit adds a libressl patch that makes LibreSSL to actually use
the cacert bundle we supply, as there was an upstream CMake bug that
lead CMake to ignore custom paths to CI bundles.
2026-07-11 12:26:59 +02:00
R. Ryantm
9508ddad2b fontconfig: 2.18.1 -> 2.18.2 2026-07-11 09:57:44 +00:00
R. Ryantm
35bc596317 systemd: 261 -> 261.1 2026-07-11 04:54:39 +00:00
ajs124
5526f30e5a tzdata: 2026b -> 2026c
https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/NVHSX2PAQIT44U5FCCEVNJJYXQMMTJSA/
2026-07-09 11:19:52 +02:00
whispers
d14289b445 xvfb: 21.1.23 -> 21.1.24, drop rebuild avoidance
announcement: https://lists.x.org/archives/xorg-announce/2026-July/003718.html
advisory: https://lists.x.org/archives/xorg-announce/2026-July/003716.html
2026-07-08 11:28:30 -04:00
R. Ryantm
d066489411 doctest: 2.5.2 -> 2.5.3 2026-07-07 01:25:23 +00:00
whispers
3259398327 libtiff: 4.7.1 -> 4.7.2
changes: https://libtiff.gitlab.io/libtiff/releases/v4.7.2.html
diff: https://gitlab.com/libtiff/libtiff/-/compare/v4.7.1...v4.7.2
2026-07-05 20:13:52 -04:00
whispers
c4df48e4e2 glog: disable optimization-dependent stacktrace test
This test fails under GCC 16. It appears to be because it makes
assumptions that certain compiler optimizations do not occur. It clearly
is compiler-specific and tries to work around specific compiler
optimizations upstream. In particular, an analysis of the test
53d58e4531/src/stacktrace_unittest.cc (L218)
shows that it would be very plausible/correct for GCC to place labels
such that the `INIT_ADDRESS_RANGE` macro has `start` and `end` labels
that have the same address. While the functions are labeled NOINLINE,
interprocedural analysis could *plausibly* produce this result. While
we are not completely certain that this is the case, it seems likely
that this is not a genuine issue and just a questionable test.
2026-07-04 00:39:44 -04:00
whispers
14700de3af onetbb: never treat warnings as fatal
onetbb often triggers compiler warnings upstream, and works around them
in an ad-hoc, per version manner:
88482f5f1a
bdbec20606
we encountered this failing while preparing for a gcc 16 upgrade in
Nixpkgs, and the same issue came up for gcc 15 and similar (#446139). it
is likely to come up again, as -Werror is extremely susceptible to
compiler and library changes (though onetbb admittedly has few
dependencies). additionally, while it may be useful for upstream onetbb,
it seems to provide little value to us downstream; we just end up
working around it. thus, we never treat warnings as errors by disabling
upstream's cmake flag for this purpose.
2026-07-01 22:20:47 -04:00
whispers
32c3bbd5b6 sourceHighlight: patch to fix build with gcc 16
The `ranges` name in the test here conflicts with the
`namespace std::ranges { }` from GCC 16, causing this test to fail to
build with "error: reference to 'ranges' is ambiguous". To avoid this,
we simply rename the variable.
2026-07-01 07:39:05 -04:00
zinzilulo
ba1857095f gmp: enable assembly for aarch64-darwin 2026-05-24 03:11:31 +01:00
Justin Lovinger
b3a0b19271 geoclue2: 2.7.2 -> 2.8.1 2026-05-12 01:15:09 +00:00
R. Ryantm
0565c96604 libmysofa: 1.3.3 -> 1.3.4 2026-02-04 00:28:07 +00:00
90 changed files with 575 additions and 591 deletions

View File

@@ -741,7 +741,7 @@ Notable attributes:
Compliance suite for [modular service](https://nixos.org/manual/nixos/unstable/#modular-services) integrations.
Tests that a service manager integration correctly handles the portable modular services contract: `process.argv`, sub-services, assertions, and warnings.
Tests that a service manager integration correctly handles the portable modular services contract: `process.argv`, `process.environment` (including `null` values that unset a variable), sub-services, assertions, and warnings.
### Return value {#tester-modularServiceCompliance-return}

View File

@@ -70,6 +70,26 @@ in
Command used for reloading in the underlying service manager to reload.
'';
};
environment = lib.mkOption {
type = types.lazyAttrsOf (
types.nullOr (types.coercedTo (types.either types.path types.package) (x: "${x}") types.str)
);
default = { };
example = lib.literalExpression ''{ FOO = "bar"; PATH = null; }'';
description = ''
Environment variables passed verbatim to the service process by the
service manager. Entries set to `null` actively unset the variable
before the process starts -- backends without native unset support use
a wrapper (e.g. `execline`'s `unexport`) so the variable is absent
even when the service manager or a backend-specific override would
otherwise supply it.
Values appear in the rendered unit and may be world-readable. For
secrets, use a backend-specific mechanism such as
`systemd.service.serviceConfig.EnvironmentFile`.
'';
};
};
notificationProtocol = mkOption {

View File

@@ -48,6 +48,10 @@ let
(dummyPkg "cowsay.sh")
"world"
];
environment = {
FOO = "bar";
DROPPED = null;
};
};
};
service3 = {
@@ -110,6 +114,7 @@ let
"/usr/bin/echo"
"hello"
];
environment = { };
};
services = { };
assertions = [
@@ -128,6 +133,10 @@ let
"${dummyPkg "cowsay.sh"}"
"world"
];
environment = {
FOO = "bar";
DROPPED = null;
};
};
services = { };
assertions = [ ];
@@ -136,6 +145,7 @@ let
service3 = {
process = {
argv = [ "/bin/false" ];
environment = { };
};
services.exclacow = {
process = {
@@ -143,6 +153,7 @@ let
"${dummyPkg "cowsay-ng"}/bin/cowsay"
"!"
];
environment = { };
};
services = { };
assertions = [

View File

@@ -152,7 +152,16 @@ let
};
systemdServiceOptions = buildPackages.nixosOptionsDoc {
inherit (evalModules { modules = [ ../../modules/system/service/systemd/service.nix ]; }) options;
inherit
(evalModules {
modules = [
(modules.importApply ../../modules/system/service/systemd/service.nix {
pkgs = throw "nixos docs / systemdServiceOptions: Do not reference pkgs in docs";
})
];
})
options
;
# TODO: filter out options that are not systemd-specific, maybe also change option prefix to just `service-opt-`?
inherit revision warningsAreErrors;
transformOptions =

View File

@@ -1,3 +1,9 @@
# Non-module arguments
# These are separate from the module arguments to avoid implicit dependencies.
# This makes service modules self-contained, allowing mixing of Nixpkgs versions.
{ pkgs }:
# The module
{
lib,
config,
@@ -92,6 +98,11 @@ in
to prevent systemd substitution. Set this option explicitly to enable
systemd's substitution features.
When {option}`process.environment` contains keys set to `null`, the default
is automatically prefixed with `unexport KEY` invocations (from
`pkgs.execline`) so those variables are unset before the process starts,
regardless of what `Environment=` or inherited environment supplies.
To extend {option}`process.argv` with systemd specifiers, you can append
to the escaped arguments:
@@ -109,8 +120,19 @@ in
for available specifiers like `%n`, `%i`, `%t`.
'';
type = types.str;
default = config.systemd.lib.escapeSystemdExecArgs config.process.argv;
defaultText = lib.literalExpression "config.systemd.lib.escapeSystemdExecArgs config.process.argv";
default =
let
nullEnvKeys = lib.attrNames (lib.filterAttrs (_: v: v == null) config.process.environment);
in
if nullEnvKeys == [ ] then
config.systemd.lib.escapeSystemdExecArgs config.process.argv
else
lib.concatMapStringsSep " " (
k: "${escapeSystemdExecArg "${pkgs.execline}/bin/unexport"} ${escapeSystemdExecArg k}"
) nullEnvKeys
+ " "
+ config.systemd.lib.escapeSystemdExecArgs config.process.argv;
defaultText = lib.literalMD "The escaped `process.argv`, prefixed with `\"unexport\" \"KEY\"` (from `pkgs.execline`) for each key in `process.environment` set to `null`.";
};
systemd.mainExecReload = mkOption {
@@ -187,7 +209,7 @@ in
types.submoduleWith {
class = "service";
modules = [
./service.nix
(lib.modules.importApply ./service.nix { inherit pkgs; })
];
specialArgs = {
inherit systemdPackage;
@@ -207,6 +229,9 @@ in
systemd.services."" = {
# TODO description;
wantedBy = lib.mkDefault [ "multi-user.target" ];
environment = lib.mapAttrs (_: lib.mkDefault) (
lib.filterAttrs (_: v: v != null) config.process.environment
);
serviceConfig = {
ExecReload = config.systemd.mainExecReload;
Type = lib.mkDefault (if config.notificationProtocol.systemd then "notify" else "simple");

View File

@@ -63,7 +63,7 @@ let
modularServiceConfiguration = portable-lib.configure {
serviceManagerPkgs = pkgs;
extraRootModules = [
./service.nix
(lib.modules.importApply ./service.nix { inherit pkgs; })
./config-data-path.nix
];
extraRootSpecialArgs = {

View File

@@ -76,6 +76,40 @@ let
};
};
# Test that `process.environment` becomes `Environment=` entries on the unit,
# that null values are dropped from `Environment=` and wrapped with unexport
# in `ExecStart`.
system.services.envvars = {
process = {
argv = [ hello' ];
environment = {
FOO = "bar";
BAZ = "qux";
DROPPED = null;
};
};
};
# Test that an explicit `systemd.service.environment` override wins over
# the portable default produced by `process.environment`.
system.services.envvars-override = {
process = {
argv = [ hello' ];
environment.FOO = "from-process";
};
systemd.service.environment.FOO = "from-systemd";
};
# Test that `process.environment` `null` unsets via wrapper even when the
# systemd layer sets the same key (true unset, not just "skip setting").
system.services.envvars-unset = {
process = {
argv = [ hello' ];
environment.FOO = null;
};
systemd.service.environment.FOO = "leaked";
};
# Test extending process.argv with systemd specifiers
system.services.argv-extended =
{ config, ... }:
@@ -137,6 +171,22 @@ runCommand "test-modular-service-systemd-units"
# The base command should be escaped ($1 -> $$1, m%n -> m%%n), but the appended --systemd-unit %n should not be
grep -F 'ExecStart="${hello}/bin/hello" "--greeting" "Fun $$1 fact, remainder is often expressed as m%%n" --systemd-unit %n' ${toplevel}/etc/systemd/system/argv-extended.service >/dev/null
# process.environment becomes Environment= entries; null values are dropped
# from Environment= and wrapped with unexport in ExecStart.
grep -F 'Environment="FOO=bar"' ${toplevel}/etc/systemd/system/envvars.service >/dev/null
grep -F 'Environment="BAZ=qux"' ${toplevel}/etc/systemd/system/envvars.service >/dev/null
! grep -F 'Environment=.*DROPPED' ${toplevel}/etc/systemd/system/envvars.service
grep 'ExecStart=.*unexport.*DROPPED' ${toplevel}/etc/systemd/system/envvars.service >/dev/null
# systemd.service.environment override wins over process.environment.
grep -F 'Environment="FOO=from-systemd"' ${toplevel}/etc/systemd/system/envvars-override.service >/dev/null
! grep -F 'FOO=from-process' ${toplevel}/etc/systemd/system/envvars-override.service
# process.environment null uses unexport wrapper for true unset, even when
# the systemd layer has an Environment= entry for the same key.
grep -F 'Environment="FOO=leaked"' ${toplevel}/etc/systemd/system/envvars-unset.service >/dev/null
grep 'ExecStart=.*unexport.*FOO' ${toplevel}/etc/systemd/system/envvars-unset.service >/dev/null
[[ ! -e ${toplevel}/etc/systemd/system/foo.socket ]]
[[ ! -e ${toplevel}/etc/systemd/system/bar.socket ]]
[[ ! -e ${toplevel}/etc/systemd/system/bar-db.socket ]]

View File

@@ -31,6 +31,6 @@
assert ("Latitude: 12.345000°" in whereAmI), f"Incorrect latitude in:\n{whereAmI}"
assert ("Longitude: -67.890000°" in whereAmI), f"Incorrect longitude in:\n{whereAmI}"
assert ("Altitude: 123.450000 meters" in whereAmI), f"Incorrect altitude in:\n{whereAmI}"
assert ("Accuracy: 1000.000000 meters" in whereAmI), f"Incorrect accuracy in:\n{whereAmI}"
assert ("Accuracy: 1000 meters" in whereAmI), f"Incorrect accuracy in:\n{whereAmI}"
'';
}

View File

@@ -460,19 +460,17 @@ in
nodes.machine = common;
testScript =
let
oldVersion = "222";
in
# python
''
machine.succeed("mount -o remount,rw /boot")
def switch():
# Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c
# Replace version inside sd-boot with something older. See SD_MAGIC in systemd src/boot/boot.c
# Note: the sed replacement has to be length-preserving, because section length matters.
machine.succeed(
"""
r"""
find /boot -iname '*boot*.efi' -print0 | \
xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot ${oldVersion} ####/' '{}'
xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot [0-9]\(.*\) ####/#### LoaderInfo: systemd-boot 0\1 ####/' '{}'
"""
)
return machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1")

View File

@@ -1,19 +0,0 @@
{
lib,
b4,
melpaBuild,
}:
melpaBuild {
pname = "b4-review-mode";
inherit (b4) version;
src = b4.src-misc;
sourceRoot = "${b4.src-misc.name}/misc/emacs";
meta = {
description = "Emacs major mode with highlighting for the b4 review reply editor";
homepage = "https://git.kernel.org/pub/scm/utils/b4/b4.git/about";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ fzakaria ];
};
}

View File

@@ -1,19 +0,0 @@
{
lib,
vimUtils,
b4,
}:
vimUtils.buildVimPlugin {
pname = "b4-review-vim";
inherit (b4) version;
src = b4.src-misc;
sourceRoot = "${b4.src-misc.name}/misc/vim";
meta = {
description = "Vim syntax highlighting for the b4 review reply editor";
homepage = "https://git.kernel.org/pub/scm/utils/b4/b4.git/about";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ fzakaria ];
};
}

View File

@@ -29,6 +29,10 @@ let
services = {
svc = {
process.argv = [ "${coreutils}/bin/true" ];
process.environment = {
FOO = "bar";
DROPPED = null;
};
assertions = [
{
assertion = true;
@@ -70,6 +74,19 @@ let
expected = [ "${coreutils}/bin/true" ];
};
# A set environment variable round-trips through process.environment.
testProcessEnvironment = {
expr = c.process.environment.FOO;
expected = "bar";
};
# A null environment variable is preserved as null (unset request),
# rather than coerced to a string or dropped from the attrset.
testProcessEnvironmentNull = {
expr = c.process.environment.DROPPED;
expected = null;
};
testAssertions = {
expr = lib.elem {
assertion = true;
@@ -186,6 +203,9 @@ let
mkdir -p "$dir"
echo "$$" > "$dir/pid"
printf '%s\n' "$@" > "$dir/args"
# Record the process's own environment as received from the service
# manager (NUL-delimited, as the kernel stores it).
"${coreutils}/bin/cat" "/proc/$$/environ" > "$dir/environ"
exec "${coreutils}/bin/sleep" infinity
'';
@@ -238,6 +258,31 @@ let
|| { echo "${id}: expected arg ${lib.escapeShellArg arg} not found"; cat "${sharedDir}/${id}/args"; exit 1; }
'') expectedArgs;
/**
Shell snippet: assert that the service's recorded environment contains
each `present` entry (an exact `KEY=value` string) and contains no
variable named in `absent`.
*/
checkEnv =
id:
{
present ? [ ],
absent ? [ ],
}:
''
# The recorded environ is NUL-delimited; render one entry per line.
tr '\0' '\n' < "${sharedDir}/${id}/environ" > "${sharedDir}/${id}/environ.lines"
''
+ lib.concatMapStrings (entry: ''
grep -qxF -- ${lib.escapeShellArg entry} "${sharedDir}/${id}/environ.lines" \
|| { echo "${id}: expected env ${lib.escapeShellArg entry} not found"; cat "${sharedDir}/${id}/environ.lines"; exit 1; }
'') present
+ lib.concatMapStrings (key: ''
if grep -qE ${lib.escapeShellArg "^${key}="} "${sharedDir}/${id}/environ.lines"; then
echo "${id}: env variable ${lib.escapeShellArg key} should be unset"; exit 1
fi
'') absent;
mkTestScript =
name: text:
lib.getExe (writeShellApplication {
@@ -330,6 +375,24 @@ in
);
};
environment = mkTest {
name = "${namePrefix}-environment";
services.test = {
process.argv = mkArgv "env" [ ];
process.environment = {
FOO = "bar";
DROPPED = null;
};
};
testExe = mkTestScript "environment" (
waitAndCheck "env" [ ]
+ checkEnv "env" {
present = [ "FOO=bar" ];
absent = [ "DROPPED" ];
}
);
};
sub-services = mkTest {
name = "${namePrefix}-sub-services";
services.a = {

View File

@@ -42,6 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "ASSIMP_BUILD_ASSIMP_TOOLS" true)
(lib.cmakeBool "ASSIMP_BUILD_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "ASSIMP_WARNINGS_AS_ERRORS" false)
];
# Some matrix tests fail on non-86_64-linux:

View File

@@ -30,13 +30,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "audit";
version = "4.1.4";
version = "4.2";
src = fetchFromGitHub {
owner = "linux-audit";
repo = "audit-userspace";
tag = "v${finalAttrs.version}";
hash = "sha256-GdJ9nzlDAdOazOHH/YWuEoELrJh+G5ZJUKwIqAKAzpo=";
hash = "sha256-poldhsF+ccutCxK7KE/gYpxa1x3wUQJWoCwU6pGFj6A=";
};
postPatch = ''
@@ -165,7 +165,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
homepage = "https://people.redhat.com/sgrubb/audit/";
description = "Audit Library";
changelog = "https://github.com/linux-audit/audit-userspace/releases/tag/v4.1.2";
changelog = "https://github.com/linux-audit/audit-userspace/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ grimmauld ];
teams = [ lib.teams.security-review ];

View File

@@ -2,7 +2,6 @@
lib,
python3Packages,
fetchPypi,
fetchgit,
patatt,
}:
@@ -32,15 +31,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
textual
];
passthru = {
src-misc = fetchgit {
url = "https://git.kernel.org/pub/scm/utils/b4/b4.git";
rev = "v${finalAttrs.version}";
hash = "sha256-NjYL3RKQpjDkU98qbXyl/cvLTJYVAfIowm8E2Rg8AgI=";
fetchSubmodules = false;
};
};
meta = {
homepage = "https://git.kernel.org/pub/scm/utils/b4/b4.git/about";
license = lib.licenses.gpl2Only;

View File

@@ -20,7 +20,7 @@ let
lib.concatStringsSep "\n\n" extraCertificateStrings
);
version = "3.125";
version = "3.126";
meta = {
homepage = "https://firefox-source-docs.mozilla.org/security/nss/runbooks/rootstore.html#root-store-consumers";
description = "Bundle of X.509 certificates of public Certificate Authorities (CA)";
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
"https://hg-edge.mozilla.org/projects/nss/raw-file/${tag}/${file}"
"https://raw.githubusercontent.com/nss-dev/nss/refs/tags/${tag}/${file}"
];
hash = "sha256-5XkSgI2u97Kw+k3yzPF+R66vJsg5o4+Fx2AD66/YZr0=";
hash = "sha256-gbfyV2MzouNg5nP5Etewt6dl2DbHMQA+NIpGysXTcZg=";
};
unpackPhase = ''

View File

@@ -15,11 +15,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dash";
version = "0.5.13.4";
version = "0.5.13.5";
src = fetchurl {
url = "http://gondor.apana.org.au/~herbert/dash/files/dash-${finalAttrs.version}.tar.gz";
hash = "sha256-0Q39Qc2lkWVWDbOcqRXCxKdjb/8EKB2NLfd62Sx1Pis=";
hash = "sha256-QAkBAaKkkfE+kB09SOkEFPJmNGKLm//zX/VANjwien0=";
};
strictDeps = true;

View File

@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doctest";
version = "2.5.2";
version = "2.5.3";
src = fetchFromGitHub {
owner = "doctest";
repo = "doctest";
tag = "v${finalAttrs.version}";
hash = "sha256-4jW6xPFCFxk1l47EkSUVojhycrtluPhOc5Adf/25R7M=";
hash = "sha256-+/IEISqN9HdaCJ0udLVUitOUziLvF/D3POecZMoXuho=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -9,11 +9,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ethtool";
version = "7.0";
version = "7.1";
src = fetchurl {
url = "mirror://kernel/software/network/ethtool/ethtool-${finalAttrs.version}.tar.xz";
hash = "sha256-Zgv5clp4cTQ6DSMgaKdjT7z7abbC+O/0VYJ/rvsM0WI=";
hash = "sha256-TXjCbtwCVbyS9LmVtf1mEI11/5Zu1GlPYCWm03C8JJY=";
};
nativeBuildInputs = [

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fluidsynth";
version = "2.5.5";
version = "2.5.6";
src = fetchFromGitHub {
owner = "FluidSynth";
repo = "fluidsynth";
tag = "v${finalAttrs.version}";
hash = "sha256-WEzOYHtPIUkPZu3v4dWcCh3dOJUyG1xRxDuoSXqiGbk=";
hash = "sha256-q4NdfemCprYEYCrKlHumeRM8TyNz8eJcFM18EsB0p0c=";
fetchSubmodules = true;
};
@@ -52,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
];
meta = {
changelog = "https://github.com/FluidSynth/fluidsynth/blob/${finalAttrs.src.tag}/doc/wiki/ChangeLog.md";
description = "Real-time software synthesizer based on the SoundFont 2 specifications";
homepage = "https://www.fluidsynth.org";
license = lib.licenses.lgpl21Plus;

View File

@@ -0,0 +1,13 @@
diff --git a/data/meson.build b/data/meson.build
index 2591e6a..dc1bd8d 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -69,7 +69,7 @@ if get_option('enable-backend')
if systemd.found()
sysusers_dir = systemd.get_variable(pkgconfig: 'sysusersdir')
else
- sysusers_dir = '/usr/lib/sysusers.d'
+ sysusers_dir = join_paths(get_option('prefix'), 'usr/lib/sysusers.d')
endif
configure_file(output: 'geoclue-sysusers.conf',
input: 'geoclue-sysusers.conf.in',

View File

@@ -29,7 +29,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "geoclue";
version = "2.7.2";
version = "2.8.1";
outputs = [
"out"
@@ -42,11 +42,12 @@ stdenv.mkDerivation (finalAttrs: {
owner = "geoclue";
repo = "geoclue";
tag = finalAttrs.version;
hash = "sha256-LwL1WtCdHb/NwPr3/OLISwaAwplhJwiZT9vUdX29Bbs=";
hash = "sha256-CyZhUMAa2vMUi61sL+gGBZFxGo0lu7Cm68fTjcbblTg=";
};
patches = [
./add-option-for-installation-sysconfdir.patch
./fix-sysusers_dir.patch
];
separateDebugInfo = true;

View File

@@ -71,18 +71,22 @@ stdenv.mkDerivation (finalAttrs: {
checkPhase =
let
excludedTests =
lib.optionals stdenv.hostPlatform.isDarwin [
"mock-log"
]
++ [
"logging" # works around segfaults for now
]
++ lib.optionals (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isBigEndian) [
# CHECK_STREQ failed: symbol == "non_inline_func" ((/build/source/build/symbolize_unittest+0x1000b840) vs. non_inline_func)
# TestWithPCInsideNonInlineFunction doesn't use TEST(), so can't exclude via GTEST_FILTER
"symbolize"
];
excludedTests = [
"logging" # works around segfaults for now
]
++ lib.optionals stdenv.hostPlatform.isGnu [
# Test appears to make strong assumptions about compiler optimizations
# that appear to be broken under GCC 16.
"stacktrace"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"mock-log"
]
++ lib.optionals (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isBigEndian) [
# CHECK_STREQ failed: symbol == "non_inline_func" ((/build/source/build/symbolize_unittest+0x1000b840) vs. non_inline_func)
# TestWithPCInsideNonInlineFunction doesn't use TEST(), so can't exclude via GTEST_FILTER
"symbolize"
];
excludedTestsRegex = lib.optionalString (
excludedTests != [ ]
) "(${lib.concatStringsSep "|" excludedTests})";

View File

@@ -11,11 +11,11 @@
version ?
# This is a workaround for update-source-version to be able to update this
let
_version = "0-unstable-2026-04-01";
_version = "0-unstable-2026-05-27";
in
_version,
rev ? "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a",
hash ? "sha256-BTPD8WM1pVAMkFDlHekMdWFGyf63KdhKkKwsqikqoBQ=",
rev ? "3357c4f51b1a9e676378c695dd9c7e9911c35ee6",
hash ? "sha256-/1A+DkzAQj2zGPe/A/G0Z3VrYJXUxq4Hd/+d/o5p3G8=",
}:
stdenv.mkDerivation {

View File

@@ -40,13 +40,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "graphviz";
version = "14.1.2";
version = "15.1.0";
src = fetchFromGitLab {
owner = "graphviz";
repo = "graphviz";
tag = finalAttrs.version;
hash = "sha256-LkyiKl0ulS9ujEdVLfyeoc4CtjITd6CAc35IUtlHSfw=";
hash = "sha256-5v/ib8hwqHrJLs+jvDGvg0aJiKIt8ipXEd1EUzew7XU=";
};
nativeBuildInputs = [

View File

@@ -11,13 +11,13 @@
}:
buildNpmPackage (finalAttrs: {
pname = "gridtracker2";
version = "2.260723.0";
version = "2.260714.0";
src = fetchFromGitLab {
owner = "gridtracker.org";
repo = "gridtracker2";
tag = "v${finalAttrs.version}";
hash = "sha256-BfUJhkw242Gu8gxCeDiIzpTiuToBSlKlI5+Z5Ae1kdE=";
hash = "sha256-ZY+p86wgjzVNALBt6+Gn68sZ6tNcsq5wo1QykZccPT0=";
};
npmDepsHash = "sha256-5h3bswjVf/8JHhwHRFTUfydN7XXtWbxNHTZ0mLL7RT8=";

View File

@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
# Fix build on i686 by not trying to build AVX2 code
# Submitted upstream: https://github.com/HdrHistogram/HdrHistogram_c/pull/143
${if stdenv.hostPlatform.isi686 then "patches" else null} = [
patches = [
./no-avx2-i386.patch
];

View File

@@ -67,26 +67,6 @@
assert libXtSupport -> libX11Support;
assert libraqmSupport -> freetypeSupport;
let
arch =
if stdenv.hostPlatform.system == "i686-linux" then
"i686"
else if
stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin"
then
"x86-64"
else if stdenv.hostPlatform.system == "armv7l-linux" then
"armv7l"
else if
stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin"
then
"aarch64"
else if stdenv.hostPlatform.system == "powerpc64le-linux" then
"ppc64le"
else
null;
in
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.2-27";
@@ -113,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
"MVDelegate=${lib.getExe' coreutils "mv"}"
"RMDelegate=${lib.getExe' coreutils "rm"}"
"--with-frozenpaths"
(lib.withFeatureAs (arch != null) "gcc-arch" arch)
"--with-gcc-arch=generic"
(lib.withFeature librsvgSupport "rsvg")
(lib.withFeature librsvgSupport "pango")
(lib.withFeature liblqr1Support "lqr")

View File

@@ -32,13 +32,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libapparmor";
version = "5.0.1";
version = "5.0.2";
src = fetchFromGitLab {
owner = "apparmor";
repo = "apparmor";
tag = "v${finalAttrs.version}";
hash = "sha256-y5r8X7Cpwp7TSsKYXNoAeyy0MbgxLSW8gNtLsIvKP8c=";
hash = "sha256-Kuc5Nrz4iq5MC5AOcJL9Sb54DWNKlEk3b3DW0vpgSZg=";
};
sourceRoot = "${finalAttrs.src.name}/libraries/libapparmor";

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libffi";
version = "3.7.0";
version = "3.7.1";
src = fetchurl {
url =
with finalAttrs;
"https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz";
hash = "sha256-IlXFpjjftRv2fCChKnu3DRf+senqurrAX1VzFG9YZDY=";
hash = "sha256-1emmY43b0lE921RRjrZ+S75vpwe8wBwQ9iEvCgiNgZ0=";
};
# Note: this package is used for bootstrapping fetchurl, and thus
@@ -32,9 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
./freebsd-tsan-pthread.patch
];
# To workaround https://github.com/libffi/libffi/issues/993, we empty the test file:
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin "echo 'int main (void) { return 0; }' > testsuite/libffi.call/i128-1.c";
strictDeps = true;
outputs = [
"out"
@@ -94,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "http://sourceware.org/libffi/";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = with lib.maintainers; [ aduh95 ];
platforms = lib.platforms.all;
pkgConfigModules = [ "libffi" ];
};

View File

@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libmysofa";
version = "1.3.3";
version = "1.3.4";
src = fetchFromGitHub {
owner = "hoene";
repo = "libmysofa";
rev = "v${finalAttrs.version}";
hash = "sha256-jvib1hGPJEY2w/KjlD7iTtRy1s8LFG+Qhb2d6xdpUyc=";
hash = "sha256-gP/RjKzMx8JIYcyiivBGvy3kIdwHMEKY6abssyVUKNQ=";
};
outputs = [

View File

@@ -100,6 +100,17 @@ let
moveToOutput "share/man/man1/nc.1.gz" "$nc"
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
# Check whether the build target actually contains our cacert.
# A simple binary match for the path is enough.
grep "${cacert}/etc/ssl/certs/ca-bundle.crt" $out/lib/*libtls*
runHook postInstallCheck
'';
meta = {
description = "Free TLS/SSL implementation";
homepage = "https://www.libressl.org";
@@ -139,6 +150,13 @@ let
url = "https://github.com/libressl/portable/commit/a15ea0710398eaeed3be53cf643e80a1e80c981d.patch";
hash = "sha256-Mlf4SrGCCqALQicbGtmVGdkdfcE8DEGYkOuVyG2CozM=";
};
# https://github.com/libressl/portable/issues/1295
# https://github.com/libressl/portable/pull/1303
tls-default-ca-patch = fetchpatch {
url = "https://github.com/libressl/portable/commit/c85e07d0d68129fc1b1c9039b266099c8d735c3d.patch";
hash = "sha256-oNL3v8Ef1HrayXn+/3T4UhHLJos8eVMlqebVyaxnWVo=";
};
in
{
# 4.2 was released October 2025 and will become unsupported on October 22,
@@ -148,6 +166,7 @@ in
hash = "sha256-bVwvWFg1iOp5H0yGRQBAcdAN+lVKW/eIoAbKHrWr1ws=";
patches = [
common-cmake-install-full-dirs-patch
tls-default-ca-patch
];
};
@@ -156,5 +175,8 @@ in
libressl_4_3 = generic {
version = "4.3.2";
hash = "sha256-7fAa7iTGXWnmqe/LnUS82mgv+dTzu72V55Th36kIR7U=";
patches = [
tls-default-ca-patch
];
};
}

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libsodium";
version = "1.0.22-unstable-2026-04-16";
version = "1.0.22-unstable-2026-07-08";
src = fetchFromGitHub {
owner = "jedisct1";
repo = "libsodium";
rev = "33cc75ab1565d9dcbe808354191bd572ad6b64d0";
hash = "sha256-8kS9FBoaFaJOjH7XZc8IG3GaQaUiYD/awQOhs7j0n1Y=";
rev = "77a422c85a3b8b487de50c811b38d18394831ba6";
hash = "sha256-Ahka2PnrmYvTLjZMzik5mFsxhDpMLRMKT/I5ftUb0Xc=";
};
outputs = [

View File

@@ -19,11 +19,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libssh";
version = "0.12.0";
version = "0.12.1";
src = fetchurl {
url = "https://www.libssh.org/files/${lib.versions.majorMinor finalAttrs.version}/libssh-${finalAttrs.version}.tar.xz";
hash = "sha256-Gmr0JNgyfl7t705f5/W5JCJt1hesnz3oDyF9gqNqcSE=";
hash = "sha256-05Qa8KLXjV2C7Xo2mI6RM5lDEvA1uWWabkP42zloeEw=";
};
outputs = [

View File

@@ -37,13 +37,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libtiff";
version = "4.7.1";
version = "4.7.2";
src = fetchFromGitLab {
owner = "libtiff";
repo = "libtiff";
rev = "v${finalAttrs.version}";
hash = "sha256-UiC6s86i7UavW86EKm74oPVlEacvoKmwW7KETjpnNaI=";
hash = "sha256-60Lpg5WRfWMzlOoOUA+C6KLlYIZ+3BjXidOVqv4M2GA=";
};
patches = [

View File

@@ -5,8 +5,8 @@
}:
callPackage ./generic.nix {
version = "4.1.0";
hash = "sha256-TA1uka13So8URttw+JJVdKIL+IonkhIQSc0IfraXpIM=";
version = "4.2.0";
hash = "sha256-Xz5W5zYPNlASPyc1/Sz2O1LONdxpUkg1hgzKdax/3ag=";
patches = [
# Fixes the build with GCC 14 on aarch64.

View File

@@ -6,8 +6,8 @@
}:
callPackage ./generic.nix {
version = "3.6.6";
hash = "sha256-+PW41/c8M/Yz0EVWM4Gt4HTNBMUTU5MayaKVZ+upLIo=";
version = "3.6.7";
hash = "sha256-t1ZPeFA3ftKaEIaXQ7RXZEsiOAYK4KSSm55SFr9g17A=";
patches = [
# Fixes the build with GCC 14 on aarch64.

View File

@@ -9,7 +9,6 @@
libvirt,
withQemu ? false,
qemu,
socket-vmnet,
withVfkit ? false,
vfkit,
makeWrapper,
@@ -78,16 +77,10 @@ buildGoModule (finalAttrs: {
--prefix PATH : ${
lib.makeBinPath (
lib.optionals withQemu [ qemu ]
++ lib.optionals (withQemu && stdenv.hostPlatform.isDarwin) [ socket-vmnet ]
++ lib.optionals (withVfkit && stdenv.hostPlatform.isDarwin) [ vfkit ]
++ lib.optionals stdenv.hostPlatform.isLinux [ libvirt ]
++ lib.optionals (withVfkit && stdenv.hostPlatform.isDarwin) [ vfkit ]
)
} \
${
lib.optionalString (
withQemu && stdenv.hostPlatform.isDarwin
) ''--set MINIKUBE_SOCKET_VMNET_CLIENT_PATH "${lib.getExe' socket-vmnet "socket_vmnet_client"}"''
} \
${lib.optionalString stdenv.hostPlatform.isLinux "--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [ libvirt ]
}"}

View File

@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mymake";
version = "2.4.5";
version = "2.4.4";
src = fetchFromGitHub {
owner = "fstromback";
repo = "mymake";
tag = "v${finalAttrs.version}";
hash = "sha256-R9JWTHmnRwEusl7IT+vZ+nFoJB+7o50S1KgzBx+X1t8=";
hash = "sha256-H7uoTnFtRf0jaqQ+N2IK4I+edx+cK/5wXDG1Orc2XcY=";
};
buildPhase = ''

View File

@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
# Determine version and revision from:
# https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
pname = "netpbm";
version = "11.15.1";
version = "11.15.3";
outputs = [
"bin"
@@ -31,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchsvn {
url = "https://svn.code.sf.net/p/netpbm/code/advanced";
rev = "5227";
sha256 = "sha256-Lr02cu7OAPv+wjKjPkA0wyZ0VvurUuCf5IJXjmCAE0I=";
rev = "5264";
sha256 = "sha256-5G2OitW25ZNsdBcVkKfLpFJWjTm9VcB3ca0QllOSugI=";
};
nativeBuildInputs = [

View File

@@ -76,6 +76,9 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH" false)
# Treating compiler errors as warnings creates churn each compiler update,
# and provides little utility to us downstream.
(lib.cmakeBool "TBB_STRICT" false)
(lib.cmakeBool "TBB_TEST" finalAttrs.finalPackage.doCheck)
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
@@ -83,10 +86,6 @@ stdenv.mkDerivation (finalAttrs: {
];
env = {
# Fix build with modern gcc
# In member function 'void std::__atomic_base<_IntTp>::store(__int_type, std::memory_order) [with _ITp = bool]',
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=stringop-overflow";
# Fix undefined reference errors with version script under LLVM.
NIX_LDFLAGS = lib.optionalString (
stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"

View File

@@ -124,6 +124,7 @@ pythonPackages.buildPythonApplication (finalAttrs: {
"scikit-learn"
"tika-client"
"tqdm"
"zxing-cpp"
# requested by maintainer
"imap-tools"
"ocrmypdf"

View File

@@ -21,17 +21,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pdns-recursor";
version = "5.4.4";
version = "5.4.3";
src = fetchurl {
url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.xz";
hash = "sha256-Tut86kxxvTuABQWitPyFSd1vRnW36eFkC/8bNDpJwzo=";
hash = "sha256-opICnFQ6xFOMpXYouBQsntypsoOjqAyzk+2UfgWE8A8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
sourceRoot = "pdns-recursor-${finalAttrs.version}/rec-rust-lib/rust";
hash = "sha256-0/HLB9wMVQALga7ZJcPSDczjcBinMwQz2vTPep+x8p8=";
hash = "sha256-eAiXdsHWZca0wx5FONGfa7JDcpDHyCABJOUROhwAsZo=";
};
cargoRoot = "rec-rust-lib/rust";

View File

@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "prek";
version = "0.4.4";
version = "0.4.10";
src = fetchFromGitHub {
owner = "j178";
repo = "prek";
tag = "v${finalAttrs.version}";
hash = "sha256-PAEmRQ5Vro83fkegOWsdY59U7WAQxBPSEalzxZV6K4o=";
hash = "sha256-tTr/Aob6jP1YL+n5vGkUkByew73WdP3mqLW5Lci1gNM=";
};
cargoHash = "sha256-EmlR6Lmt5XR0uS/y3FqY5yGNeVBSdtLtEGH9jZLcP2o=";
cargoHash = "sha256-He55uH7t7NI5sYgowujqCMK5yjhC2F+8ZLxKG6TLjYY=";
nativeBuildInputs = [
installShellFiles

View File

@@ -1,67 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "socket-vmnet";
version = "1.2.2";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "lima-vm";
repo = "socket_vmnet";
tag = "v${finalAttrs.version}";
hash = "sha256-D5Z4aml82h397ho48HFeXwR6y2XkopFIKjO09jUgFdo=";
};
postPatch = ''
# NOTA BENE:
# Since socket_vmnet is macOS only the upstream Makefile assumes
# standard system utilities such as date from /bin/ and logger
# from /usr/bin are available through $PATH.
# This is not the case for the nixpkgs build environment.
# To maintain compatability with nixpkgs build env nixpkgs dependency
# purity and the following replacements are made:
substituteInPlace Makefile \
--replace-fail "logger" "echo" \
--replace-fail "-r $(SOURCE_DATE_EPOCH)" "-d @$(SOURCE_DATE_EPOCH)"
substituteInPlace launchd/io.github.lima-vm.socket_vmnet{,.bridged.en0}.plist \
--replace-fail "/opt/socket_vmnet/bin/socket_vmnet" "${placeholder "out"}/bin/socket_vmnet"
'';
dontConfigure = true;
makeFlags = [
"VERSION=${finalAttrs.version}"
"SOURCE_DATE_EPOCH=0"
];
makeTargets = [
"socket_vmnet"
"socket_vmnet_client"
];
installPhase = ''
runHook preInstall
make PREFIX=$out $makeFlags install.{bin,doc}
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Vmnet.framework support for unmodified rootless QEMU";
homepage = "https://github.com/lima-vm/socket_vmnet";
changelog = "https://github.com/lima-vm/socket_vmnet/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ afh ];
mainProgram = "socket_vmnet";
platforms = lib.platforms.darwin;
};
})

View File

@@ -0,0 +1,57 @@
diff --git a/lib/tests/test_regexranges_main.cpp b/lib/tests/test_regexranges_main.cpp
index 567d79230c..e28bba47e5 100644
--- a/lib/tests/test_regexranges_main.cpp
+++ b/lib/tests/test_regexranges_main.cpp
@@ -12,26 +12,26 @@
using namespace std;
using namespace srchilite;
-RegexRanges ranges;
+RegexRanges regexRanges;
void check_range_regex(const string &s, bool expectedTrue = true) {
cout << "checking " << s << endl;
if (expectedTrue)
- assertTrue(ranges.addRegexRange(s));
+ assertTrue(regexRanges.addRegexRange(s));
else
- assertFalse(ranges.addRegexRange(s));
+ assertFalse(regexRanges.addRegexRange(s));
}
void check_match(const string &line, const string &expected = "") {
cout << "searching inside " << line;
const boost::regex *matched = 0;
if (expected != "") {
- matched = ranges.matches(line);
+ matched = regexRanges.matches(line);
assertTrue(matched != 0);
assertEquals(expected, matched->str());
cout << " found " << *matched << endl;
} else {
- assertTrue(ranges.matches(line) == 0);
+ assertTrue(regexRanges.matches(line) == 0);
cout << " not found" << endl;
}
}
@@ -39,9 +39,9 @@
void check_in_range(const string &s, bool expectedTrue = true) {
cout << "checking " << s << "... ";
if (expectedTrue) {
- assertTrue(ranges.isInRange(s));
+ assertTrue(regexRanges.isInRange(s));
} else {
- assertFalse(ranges.isInRange(s));
+ assertFalse(regexRanges.isInRange(s));
}
cout << expectedTrue << endl;
}
@@ -57,7 +57,7 @@
check_range_regex("{notclosed");
// reset regular expressions
- ranges.clear();
+ regexRanges.clear();
check_range_regex("/// foo");
check_range_regex("/// bar");

View File

@@ -37,6 +37,11 @@ stdenv.mkDerivation rec {
url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=ab9fe5cb9b85c5afab94f2a7f4b6d7d473c14ee9";
hash = "sha256-wmSLgLnLuFE+IC6AjxzZp/HEnaOCS1VfY2cac0T7Y+w=";
})
# GCC 16 detects ambiguity in the `ranges` name in a test (conflicts with
# `namespace std::range { }` from GCC), so we rename the variable to
# disambiguate.
./gcc16-disambiguate-regex-ranges-test.patch
]
++ lib.optionals stdenv.cc.isClang [
# Adds compatibility with C++17 by removing the `register` storage class specifier.

View File

@@ -29,6 +29,11 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/KhronosGroup/SPIRV-Tools/commit/2ec8457ab33d539b6f1fecc998360c0b8b05ed4f.diff";
hash = "sha256-YHbYBwXMm4rTKpmMW6I3LUafhA4RuNUdXqUBUAXwXpE=";
})
(fetchpatch {
url = "https://github.com/KhronosGroup/SPIRV-Tools/commit/0db9162641d9709c63c92a13e66fd88905180e89.diff";
hash = "sha256-eoS35Zxb+frQTTTNCaZ4TV/QZjaK45mW1OzzIlXQ1C0=";
})
]
# The cmake options are sufficient for turning on static building, but not
# for disabling shared building, just trim the shared lib from the CMake

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "srt";
version = "1.5.5";
version = "1.5.6";
src = fetchFromGitHub {
owner = "Haivision";
repo = "srt";
rev = "v${finalAttrs.version}";
sha256 = "sha256-hOkLlmtF9dKqXZTjAeBntkkg5WsmsZN6DKhyakoIF1k=";
sha256 = "sha256-fdgj6URuMaem+ZVy7D8Hnf2Ev1HindevdvX0xyxCL4M=";
};
nativeBuildInputs = [ cmake ];

View File

@@ -8,12 +8,16 @@
cpio,
elfutils,
python3,
bashNonInteractive,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "systemtap";
version = "5.4";
__structuredAttrs = true;
strictDeps = true;
src = fetchgit {
url = "git://sourceware.org/git/systemtap.git";
rev = "release-${finalAttrs.version}";
@@ -30,14 +34,15 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
pkg-config
cpio
gettext
python3
python3.pkgs.setuptools
];
buildInputs = [
boost
elfutils
gettext
python3
bashNonInteractive
];
enableParallelBuilding = true;

View File

@@ -12,6 +12,7 @@
bison,
flex,
ctestCheckHook,
buildPackages,
static ? stdenv.hostPlatform.isStatic,
}:
@@ -26,6 +27,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-gGAO+D0A/hEoHMm6OvRBc1Mks9y52kfd0q/Sg96pdW4=";
};
postPatch = lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
# Compiling the tests doesn't work for cross builds.
substituteInPlace lib/py/CMakeLists.txt \
--replace-fail 'COMMAND ''${THRIFT_COMPILER} --gen py test/test_thrift_file/TestServer.thrift' ""
'';
# Workaround to make the Python wrapper not drop this package:
# pythonFull.buildEnv.override { extraLibs = [ thrift ]; }
pythonPath = [ ];
@@ -35,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
cmake
flex
pkg-config
(python3.withPackages (
(buildPackages.python3.withPackages (
ps:
with ps;
[
@@ -74,7 +81,9 @@ stdenv.mkDerivation (finalAttrs: {
# FIXME: Fails to link in static mode with undefined reference to
# `boost::unit_test::unit_test_main(bool (*)(), int, char**)'
(lib.cmakeBool "BUILD_TESTING" (!static))
(lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck)
# Building tutorials requires running thrift.
(lib.cmakeBool "BUILD_TUTORIALS" (stdenv.buildPlatform.canExecute stdenv.hostPlatform))
];
disabledTests = [
@@ -111,6 +120,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Library for scalable cross-language services";
mainProgram = "thrift";
homepage = "https://thrift.apache.org/";
downloadPage = "https://github.com/apache/thrift";
license = lib.licenses.asl20;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [ bjornfor ];

View File

@@ -10,7 +10,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tideways-daemon";
version = "1.18.2";
version = "1.18.0";
src =
finalAttrs.passthru.sources.${stdenvNoCC.hostPlatform.system}
@@ -28,15 +28,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
sources = {
"x86_64-linux" = fetchurl {
url = "https://tideways.s3.amazonaws.com/daemon/${finalAttrs.version}/tideways-daemon_linux_amd64-${finalAttrs.version}.tar.gz";
hash = "sha256-34SvkbUTm8ngMqqzeDd7waHg1w6eJlNpTqHGEnWsc/s=";
hash = "sha256-sm5xITxGSbcWiI4hhxkHKFleTQBeZZBTH823KQz3M5U=";
};
"aarch64-linux" = fetchurl {
url = "https://tideways.s3.amazonaws.com/daemon/${finalAttrs.version}/tideways-daemon_linux_aarch64-${finalAttrs.version}.tar.gz";
hash = "sha256-tz+VtJ3G5X63mp2gy8zGSvxzY9aN07goGyToyIZkUXk=";
hash = "sha256-WxaJx/vkg139zm0xOzT+9FZRAk4v/YJcVHTXwDVcALE=";
};
"aarch64-darwin" = fetchurl {
url = "https://tideways.s3.amazonaws.com/daemon/${finalAttrs.version}/tideways-daemon_macos_arm64-${finalAttrs.version}.tar.gz";
hash = "sha256-MYHDrZtHuKGi3QGsxW8ZWZDZaUEuqcfRVBZV4jjGk44=";
hash = "sha256-RcNG7jPt+bYiP4hzV6vaxVgSstDM2oWjOmo9TmpKcWM=";
};
};
updateScript = "${

View File

@@ -1,23 +1,23 @@
{
lib,
fetchzip,
buildGo126Module,
buildGo125Module,
nixosTests,
nix-update-script,
}:
buildGo126Module (finalAttrs: {
buildGo125Module (finalAttrs: {
pname = "traefik";
version = "3.7.8";
version = "3.7.6";
# Archive with static assets for webui
src = fetchzip {
url = "https://github.com/traefik/traefik/releases/download/v${finalAttrs.version}/traefik-v${finalAttrs.version}.src.tar.gz";
hash = "sha256-nFc3Mcy0kbeEvyrKfrF9AR60RZOEIMMwsUmefUAi84Y=";
hash = "sha256-7osOcFQIqsMQ0ZiGQMy6Joet/Tlou9BYlzmtyytaMh8=";
stripRoot = false;
};
vendorHash = "sha256-z+Ku6GOecoiZ8eJVHUiD/GxV2blSIfLOs+Yr4B8coI8=";
vendorHash = "sha256-lMGuyp3GdcMUdzxu/e3c3ZV1/XWnsqVho2uj230GXzw=";
proxyVendor = true;

View File

@@ -8,16 +8,16 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tzdata";
version = "2026b";
version = "2026c";
srcs = [
(fetchurl {
url = "https://data.iana.org/time-zones/releases/tzdata${finalAttrs.version}.tar.gz";
hash = "sha256-EUVD2fGaa/61vKQ2hq6hc9OHVaPbHy7sESZHrpLG9UQ=";
hash = "sha256-5KF4pEd/PQ6nfMMYKP9yqjj+/41hqhPn6Z4ULp2QK+Q=";
})
(fetchurl {
url = "https://data.iana.org/time-zones/releases/tzcode${finalAttrs.version}.tar.gz";
hash = "sha256-N+nthCf101IcIvxY4pPL+wQ9cO7fEAOHCzPzY/Yco0Q=";
hash = "sha256-sc/8Os5MTHzQ77ovet2G7D0LedpIvPA1gmcf08j+rOg=";
})
];

View File

@@ -63,13 +63,13 @@ assert lib.assertMsg (
) "unbound: withDoQ requires OpenSSL with QUIC support (OpenSSL >= 3.5)";
stdenv.mkDerivation (finalAttrs: {
pname = "unbound";
version = "1.25.1";
version = "1.25.2";
src = fetchFromGitHub {
owner = "NLnetLabs";
repo = "unbound";
tag = "release-${finalAttrs.version}";
hash = "sha256-1PXnxCPxoB5IrVBQIsrxiWAq+IoH7Ma9T1TTJsoTJc4=";
hash = "sha256-zt0JpVmct7w6ay+p8CdH6SGt/rL/v//e7K3MT8KZfOY=";
};
outputs = [

View File

@@ -18,17 +18,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "uv";
version = "0.11.32";
version = "0.11.28";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
tag = finalAttrs.version;
hash = "sha256-Vkh4GWcKpaAVrok7K/620jfaFayKZRCO32icfZ6+mSU=";
hash = "sha256-/mTH2hojC+l0yxn+LEAIj8FTA/nWKIPZ7uLMVJxebw4=";
};
cargoHash = "sha256-w8O655Ad9bz79KeWF00hniNX+fssY9ZE+LUKaWBQM7c=";
cargoHash = "sha256-FvLl32JfIq5a1NnLtnFJyy5T+vkcOD+qfQLDy6NYhHg=";
buildInputs = [
rust-jemalloc-sys

View File

@@ -25,13 +25,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "valkey";
version = "9.1.0";
version = "9.1.1";
src = fetchFromGitHub {
owner = "valkey-io";
repo = "valkey";
rev = finalAttrs.version;
hash = "sha256-RMZz83fycpOTPWB1dIXU0/hdh4ZGC+6JhCws8htAQ5E=";
hash = "sha256-wGHlPQ2JPxGTaJRJ9Siz3Q3eKdlo5z1tQpSFs9xZMbI=";
};
patches = lib.optional useSystemJemalloc ./use_system_jemalloc.patch;

View File

@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xsimd";
version = "14.2.0";
version = "14.3.0";
src = fetchFromGitHub {
owner = "xtensor-stack";
repo = "xsimd";
tag = finalAttrs.version;
hash = "sha256-BTiN4B3//wlB3nmOoluM/7bL7J7YIBp5afih9zUP1yw=";
hash = "sha256-0m9gUDCgGh58lf9uPp1Obw4rsqWEL1RffWYB6s315p0=";
};
# strictDeps raises the chance that xsimd will be able to be cross compiled

View File

@@ -38,14 +38,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xvfb";
# TODO: commented out for rebuild avoidance after xorg-server update. revert
# on staging.
# inherit (xorg-server) src version;
version = "21.1.23";
src = fetchurl {
url = "mirror://xorg/individual/xserver/xorg-server-${finalAttrs.version}.tar.xz";
hash = "sha256-45gy5WF9ra8HL9+fDhnl0uHCoTYHrCgLrBq6n4/hRjQ=";
};
inherit (xorg-server) src version;
strictDeps = true;

View File

@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "yara";
version = "4.5.6";
version = "4.5.7";
src = fetchFromGitHub {
owner = "VirusTotal";
repo = "yara";
tag = "v${finalAttrs.version}";
hash = "sha256-vzYH56BC0Stb2I4U5VzxA0xG46xZkWmbTIC6BtzeNQ8=";
hash = "sha256-4PK/GU02mcgMSkFllqGZ7zmswQb8b6bkfEWLoCGHo3E=";
};
nativeBuildInputs = [

View File

@@ -6,25 +6,31 @@
python3,
stdenv,
libzint,
pkg-config,
stb,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "zxing-cpp";
version = "2.3.0";
version = "3.0.2";
src = fetchFromGitHub {
owner = "zxing-cpp";
repo = "zxing-cpp";
tag = "v${finalAttrs.version}";
hash = "sha256-e3nSxjg8p+1DEUbZOh4C2zfnA6iGhNJMPiIe2oJEbRo=";
hash = "sha256-ZtjvHBnuPJkc9kU998jH7IPlX3jF/RGtLNWDzsb0v4A=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libzint
stb
];
cmakeFlags = [
@@ -57,7 +63,10 @@ stdenv.mkDerivation (finalAttrs: {
formats.
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ lukegb ];
maintainers = with lib.maintainers; [
lukegb
qweered
];
platforms = lib.platforms.unix;
};
})

View File

@@ -324,6 +324,15 @@ stdenv.mkDerivation {
# calls install-strip ...
dontBuild = true;
# GHC tries to remove xattrs when installing to work around Gatekeeper
# (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally
# succeeds in nixpkgs because xattrs are not allowed in the store, but it
# can fail when a file has the `com.apple.provenance` xattr, and it cant be
# modified (such as target of the symlink to `libiconv.dylib`).
# The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13.
# See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/
makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ];
# Patch scripts to include runtime dependencies in $PATH.
postInstall = ''
for i in "$out/bin/"*; do

View File

@@ -1,6 +1,6 @@
{
"hash": "sha256-5QWicPXWUyP1VkmTDIOjIgu9NXkB27nvtgUbrL+mSxg=",
"hash": "sha256-XxD5Tn5dMwirOoESCsza1dPvcgMF795Uh8YgaGUli1g=",
"owner": "openjdk",
"repo": "jdk21u",
"rev": "refs/tags/jdk-21.0.12+2"
"rev": "refs/tags/jdk-21.0.12+8"
}

View File

@@ -50,8 +50,8 @@ let
in
import ./default.nix
{
rustcVersion = "1.97.0";
rustcSha256 = "sha256-HAhV2JgqD7HQMhtgVLVbcy07HRfIRoQet/0Ks3vydvg=";
rustcVersion = "1.97.1";
rustcSha256 = "sha256-YiwrQpxTy/3A3TpR0DVU6RzWPr7BkSwfVwlkDN/vGp0=";
llvmSharedForBuild = llvmSharedFor pkgsBuildBuild;
llvmSharedForHost = llvmSharedFor pkgsBuildHost;
@@ -65,27 +65,27 @@ 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.97.0";
bootstrapVersion = "1.97.1";
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
bootstrapHashes = {
i686-unknown-linux-gnu = "d066e5dd59c15fc1c793173d53b41719162de4470b5c34041a8bc664542df375";
x86_64-unknown-linux-gnu = "eb89b20287153391c49ebcdb7fd91b683a12438d129bfb92eadcc495545af3a7";
x86_64-unknown-linux-musl = "675bb2d574efc64da0563a9cb70cc017560394c5938e04c92987cad383299e8d";
arm-unknown-linux-gnueabihf = "180e487a1f7abaeda374b942d369dd7faa4364b1267629d48552d9a17a5bc4ab";
armv7-unknown-linux-gnueabihf = "2f9dfd76694efcf391f6d4947e97be17d1f469c9e989ed194660ddd85877ca60";
aarch64-unknown-linux-gnu = "70fb01b4894d56fad34c260ce63aee647589be57a26ab33730110d8228cbcf02";
aarch64-unknown-linux-musl = "28efcf4ee31235eb5f7820dadba46400ab9dbbb030719e7a2ab284b02c8cbf82";
x86_64-apple-darwin = "3dc9ad8ec35a9f0acd2c5ae2c80c36baf5c7010423bf339ca55709fc995885d4";
aarch64-apple-darwin = "c2e6a5ef480f5715ae9874188c1fa749b6a6f90d8d911f5a3a5d768f0ac70427";
powerpc64-unknown-linux-gnu = "62c9f9b7887505fc4dcda40784469f23909657d245e53025a7a8124b016d6631";
powerpc64le-unknown-linux-gnu = "a8d3f487d07cebc48ce03ad66a970a5f5138a5c1e7c7cec12fb9b6e47a24bf1a";
powerpc64le-unknown-linux-musl = "09fee3b9ede1e94ff6c3bad3918dc231be909c74bb182e0acd583c03a9f1df5f";
riscv64gc-unknown-linux-gnu = "be239392f7112f6a81f20c9e715d5743319a8b773592e027ad800d73527d8fae";
s390x-unknown-linux-gnu = "fee699e31d0a0034f46669c473e61a88af6734f8c5902d77329ac236fcd9b538";
loongarch64-unknown-linux-gnu = "37ad9d55b98cc680a2d75c7184e6457b632ce82690a56be7a2044e32c91176ce";
loongarch64-unknown-linux-musl = "bfba202bae252ac372026171d9bc98e5eb80578d576546f56e8aee2e9d64ecf0";
x86_64-unknown-freebsd = "77101232e3769395e99c0e663d2c8beb3d4127857945cf7c812c1886ba823b8f";
i686-unknown-linux-gnu = "914c2702deada0b9cf1d64bb3495d76e55cb3eba07d508472dde8b55a93e3759";
x86_64-unknown-linux-gnu = "b4cdbc7cc6b0ee0a2666b1872769fdb2ad8393b28b63952f6493b4b400e4832b";
x86_64-unknown-linux-musl = "40dbea28193cf2b488cf3e4a89274ccfb60efa50883f19917a382f84fd05bdc4";
arm-unknown-linux-gnueabihf = "ba62fe07ad85b507907705a14adc1e8bc258de5f6177ba41d77bbff9f469a4ce";
armv7-unknown-linux-gnueabihf = "e89c5e33aaddc6ef56857000c9117875c2997e9a1a500bd7b16277c9874b002f";
aarch64-unknown-linux-gnu = "2f2496c70bd336a66a4c8baf2d303ba161f3552f192444c3639ba903c7c1e2c5";
aarch64-unknown-linux-musl = "c5f45b5c6eb7f8fdb277c54c08402b7c931516740fbd4eccc26ba148f7cd5d57";
x86_64-apple-darwin = "5f4c84d2bcce7983468642855a45fc4978fba1324cfdd1ea0b182face3ab4ffa";
aarch64-apple-darwin = "cbd14c36f039f6f11f38148a6295d8234d18ddf20bea53031c86f119423a8b26";
powerpc64-unknown-linux-gnu = "2b507d5eb9b5c4c041b50e93e069db56d094f02e6df103dc74c016155141bfae";
powerpc64le-unknown-linux-gnu = "ff524eef5a59d801df09ccad5cdaf9ea1f0a07d75cbed2a7e9f013a9eb76a3c1";
powerpc64le-unknown-linux-musl = "15630f33fbea2dd9661f8482b6c612da271549aba40401444aaa53650e646b9b";
riscv64gc-unknown-linux-gnu = "59bec35d8febb2ab918fa41cffbaa5b07146a63bdc33f029ff756d70a3151ece";
s390x-unknown-linux-gnu = "808268af9e880d41b8cb32b242e38c9bd3ea7aba6409b02fbffa0fbc5370c538";
loongarch64-unknown-linux-gnu = "d5a925962854730ae7641420d8337af93988ea4ff47b503a856ec53776c87841";
loongarch64-unknown-linux-musl = "3fb653299d228e3e0726afb179b07dd10a51a2ecc3cdfcd740011b1d8420ca97";
x86_64-unknown-freebsd = "77866a4c449bcccb40e9d6712bf3eb899d29018ed8e841fd9d8d59370751f152";
};
selectRustPackage = pkgs: pkgs.rust_1_97;

View File

@@ -1,4 +1,4 @@
import ./common.nix {
version = "140.11.0";
hash = "sha512-0GrbPvTeEyTj1hhy1w3jGrCKwBPzOQNUm+0oxuvMW03ulLs2OIKCwZNdd9GlZAefOtvwjWu4AoSomcuz2GEwDA==";
version = "140.13.0";
hash = "sha512-k3pBA9ccXh5L8FGCFyn26nC1wY1ESTCkh2lcwj10cSoBNARySPasAjBeAb7LcFQmpVudiXOfAqAe2gHs9bwn8Q==";
}

View File

@@ -17,7 +17,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fontconfig";
version = "2.18.1";
version = "2.18.2";
outputs = [
"bin"
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
# ref: https://github.com/NixOS/nixpkgs/pull/401037#discussion_r2055430206
src = fetchurl {
url = "https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${finalAttrs.version}/fontconfig-${finalAttrs.version}.tar.xz";
hash = "sha256-IwDz2/pyU7OkT0/uzbyN+kXd5dws+3H86vMfOUy0EDE=";
hash = "sha256-z45ldu8EhMFQeb2vd82cUcRk31NlgUraTT7nMx6jHrU=";
};
nativeBuildInputs = [

View File

@@ -69,8 +69,7 @@ let
++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.is64bit) "ABI=64"
# to build a .dll on windows, we need --disable-static + --enable-shared
# see https://gmplib.org/manual/Notes-for-Particular-Systems.html
++ optional (!withStatic && stdenv.hostPlatform.isPE) "--disable-static --enable-shared"
++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "--disable-assembly";
++ optional (!withStatic && stdenv.hostPlatform.isPE) "--disable-static --enable-shared";
doCheck = true; # not cross;

View File

@@ -1,10 +1,10 @@
{ callPackage, fetchurl }:
callPackage ./generic.nix rec {
version = "1.0.5";
version = "1.0.6";
src = fetchurl {
url = "mirror://gnu/libmicrohttpd/libmicrohttpd-${version}.tar.gz";
hash = "sha256-tG0A9Y76b0l7l9LngsTuZjAdQS3dhV3TBoUYs6LNPqI=";
hash = "sha256-u1z8rfxS29XrUS1uKZXgNhNRwz6XqHq6Qm06Snumz3A=";
};
}

View File

@@ -48,14 +48,14 @@
buildPythonPackage (finalAttrs: {
pname = "aiohttp";
version = "3.14.1";
version = "3.14.3";
pyproject = true;
src = fetchFromGitHub {
owner = "aio-libs";
repo = "aiohttp";
tag = "v${finalAttrs.version}";
hash = "sha256-OJSLv/NfVrKESZqNr51FJUzLRz7wLMRdGoNjKC5EhlI=";
hash = "sha256-n8LH34N9V2Smqc23q/49gqRbP0U1glJAYiyPEGFtEmM=";
};
postPatch = ''

View File

@@ -3,16 +3,16 @@
buildPythonPackage,
fetchFromGitHub,
cython,
packaging,
pkgconfig,
setuptools,
wheel,
pytestCheckHook,
python,
}:
buildPythonPackage rec {
pname = "faust-cchardet";
version = "2.1.19";
version = "2.1.20";
pyproject = true;
src = fetchFromGitHub {
@@ -20,14 +20,19 @@ buildPythonPackage rec {
repo = "cChardet";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-yY6YEhXC4S47rxnkKAta4m16IVGn7gkHSt056bYOYJ4=";
hash = "sha256-MeRX/g38c+q2jiTtEhUpaGYf+5tkhexRGuIG0PdUGvI=";
};
nativeBuildInputs = [
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "packaging<26" packaging
'';
build-system = [
cython
packaging
pkgconfig
setuptools
wheel
];
postFixup = ''
@@ -41,7 +46,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ];
meta = {
changelog = "https://github.com/faust-streaming/cChardet/blob/${src.rev}/CHANGES.rst";
changelog = "https://github.com/faust-streaming/cChardet/blob/${src.tag}/CHANGES.rst";
description = "High-speed universal character encoding detector";
mainProgram = "cchardetect";
homepage = "https://github.com/faust-streaming/cChardet";

View File

@@ -2,27 +2,30 @@
lib,
buildPythonPackage,
fetchPypi,
setuptools,
python-dateutil,
lxml,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "feedgen";
version = "1.0.0";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit (finalAttrs) pname version;
hash = "sha256-2b1Rw7XpVqKlKZjDcIxNLHKfL8wxEYjh5dO5cmOTVGo=";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
python-dateutil
lxml
];
# No tests in archive
doCheck = false;
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "Python module to generate ATOM feeds, RSS feeds and Podcasts";
@@ -34,4 +37,4 @@ buildPythonPackage rec {
];
maintainers = with lib.maintainers; [ casey ];
};
}
})

View File

@@ -2,24 +2,29 @@
buildPythonPackage,
lib,
fetchPypi,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "fields";
version = "5.0.0";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
inherit (finalAttrs) pname version;
hash = "sha256-MdSqA9jUTjXfE8Qx3jUTaZfwR6kkpZfYT3vCCeG+Vyc=";
};
build-system = [ setuptools ];
pythonImportsCheck = [ "fields" ];
doCheck = false; # Argument(s) {'path'} are declared in the hookimpl but can not be found in the hookspec
meta = {
description = "Container class boilerplate killer";
homepage = "https://github.com/ionelmc/python-fields";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.sheepforce ];
};
}
})

View File

@@ -41,6 +41,7 @@ buildPythonPackage (finalAttrs: {
"tests/test_virtualenv.py"
# Very prone to timeouts on busy machines
"tests/test_filelock.py"
"tests/test_read_write.py"
];
meta = {

View File

@@ -29,14 +29,14 @@
buildPythonPackage (finalAttrs: {
pname = "httpcore2";
version = "2.5.0";
version = "2.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pydantic";
repo = "httpx2";
tag = "v${finalAttrs.version}";
hash = "sha256-vIWAUjHPyafbeeUc2OvGpkiOoTj1fTniRnQiKSdkm6s=";
hash = "sha256-3kghDQMYksF9a4sFGajzNfGPOjdX1OiMwv7rH/fbmM0=";
};
postPatch = ''

View File

@@ -24,14 +24,17 @@
pygments,
rich,
socksio,
wsproto,
zstandard,
# tests
chardet,
pytestCheckHook,
pytest-trio,
starlette,
trustme,
uvicorn,
websockets,
# reverse deps
httpx2,
@@ -39,14 +42,14 @@
buildPythonPackage (finalAttrs: {
pname = "httpx2";
version = "2.5.0";
version = "2.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pydantic";
repo = "httpx2";
tag = "v${finalAttrs.version}";
hash = "sha256-vIWAUjHPyafbeeUc2OvGpkiOoTj1fTniRnQiKSdkm6s=";
hash = "sha256-3kghDQMYksF9a4sFGajzNfGPOjdX1OiMwv7rH/fbmM0=";
};
postPatch = ''
@@ -75,6 +78,7 @@ buildPythonPackage (finalAttrs: {
];
http2 = [ h2 ];
socks = [ socksio ];
ws = [ wsproto ];
zstd = lib.optionals (pythonOlder "3.14") [ zstandard ];
};
@@ -89,10 +93,11 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
chardet
pytestCheckHook
# pytest-httpbin
pytest-trio
(starlette.overridePythonAttrs { doCheck = false; })
trustme
uvicorn
websockets
]
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;

View File

@@ -14,14 +14,14 @@
buildPythonPackage (finalAttrs: {
pname = "lark-oapi";
version = "1.7.1";
version = "1.6.9";
pyproject = true;
src = fetchFromGitHub {
owner = "larksuite";
repo = "oapi-sdk-python";
tag = "v${finalAttrs.version}";
hash = "sha256-6EYLE+RiDd9ZNjwQ4gWW6jsipFjJCE7CZsSsxIenE6w=";
hash = "sha256-W4eFhB9+XdqA/fX26XwULjvSlflL0ar/FDXWFqXsP8g=";
};
build-system = [ setuptools ];

View File

@@ -69,13 +69,13 @@ let
in
buildPythonPackage (finalAttrs: {
version = "3.11.0";
version = "3.11.1";
pname = "matplotlib";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-aMDHvgGzDcyjY4k09/WR33NAEjXL2/DRqxxx59t/i1c=";
hash = "sha256-aWR9tXRpQceT1uRFpM00kyP/uH2cyVjCrYSmWbSDLTA=";
};
env.XDG_RUNTIME_DIR = "/tmp";

View File

@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "mistune";
version = "3.3.3";
version = "3.3.4";
pyproject = true;
src = fetchFromGitHub {
owner = "lepture";
repo = "mistune";
tag = "v${finalAttrs.version}";
hash = "sha256-AAOpQ3GMEifMVM1SaT5zVltIshAQt5SYqCtIvdjy20M=";
hash = "sha256-7N1Kz2lN6GyDVKUhuGrEkbinV8Vpc4aahal/7KhnIXo=";
};
build-system = [ setuptools ];

View File

@@ -6,16 +6,16 @@
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "multipart";
version = "1.3.1";
version = "2.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "defnull";
repo = "multipart";
tag = "v${version}";
hash = "sha256-kLiOK6ovW3ki1CONXVQZCJw/U3K1AoR6rrmJUstwZOw=";
tag = "v${finalAttrs.version}";
hash = "sha256-1/G8qUnY7i5OvxkTSebC2pae9lzzfvnozJSVVylqB7w=";
};
build-system = [ flit-core ];
@@ -25,10 +25,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "multipart" ];
meta = {
changelog = "https://github.com/defnull/multipart/blob/${src.tag}/CHANGELOG.rst";
changelog = "https://github.com/defnull/multipart/blob/${finalAttrs.src.tag}/CHANGELOG.rst";
description = "Parser for multipart/form-data";
homepage = "https://github.com/defnull/multipart";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})

View File

@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
python,
pythonAtLeast,
buildPythonPackage,
@@ -52,6 +53,16 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-IriSrnGAZHvJ7m97s12BydNQZDZunCVtRgj/iSgw5Vc=";
};
patches = [
# Fix for test failure on i686. Remove with next release.
# Upstream report: https://github.com/numpy/numpy/issues/32060
# Upstream PR: https://github.com/numpy/numpy/pull/32064
(fetchpatch {
url = "https://github.com/numpy/numpy/commit/0e1dce62e27f79be9d6552487787a19b7f95cfbf.patch";
hash = "sha256-mQjf6y/mLSgx9+G70/r9U3VJg5zIrl/6ANQhpP2LGmg=";
})
];
postPatch = ''
# remove needless reference to full Python path stored in built wheel
substituteInPlace numpy/meson.build \

View File

@@ -4,6 +4,8 @@
buildPythonPackage,
fetchFromGitHub,
fetchurl,
nukeReferences,
python,
replaceVars,
# build
@@ -78,12 +80,17 @@ let
nativeBuildInputs = [
libpq.pg_config
nukeReferences
];
buildInputs = [
libpq
];
postInstall = ''
nuke-refs $out/${python.sitePackages}/psycopg_c/{pq.c,_psycopg.c}
'';
# tested in psycopg
doCheck = false;

View File

@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
prek,
pyprojectVersionPatchHook,
pytest-asyncio,
pytestCheckHook,
@@ -33,7 +32,6 @@ buildPythonPackage (finalAttrs: {
];
nativeCheckInputs = [
prek
pytest-asyncio
pytestCheckHook
];

View File

@@ -38,7 +38,9 @@ buildPythonPackage rec {
"test_unicode_path"
# fails to import itself after modifying the environment
"test_environment"
# timing sensitive through usage of sleep(1) and signal handling
# timing sensitive due to strict timeouts
"test_done_callback_no_deadlock"
"test_timeout_overstep"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Disable tests that fail on Darwin sandbox

View File

@@ -16,16 +16,16 @@
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "yarl";
version = "1.24.2";
version = "1.24.5";
pyproject = true;
src = fetchFromGitHub {
owner = "aio-libs";
repo = "yarl";
tag = "v${version}";
hash = "sha256-GEe2GDXmqsQgWB0UxPZVMdSco3j2JYHg9BU9M6oqynw=";
tag = "v${finalAttrs.version}";
hash = "sha256-2Uqn1TwfH375CBIveEpsco4dDNrhxHwX8wIP8dKhh/M=";
};
build-system = [
@@ -61,10 +61,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "yarl" ];
meta = {
changelog = "https://github.com/aio-libs/yarl/blob/${src.tag}/CHANGES.rst";
changelog = "https://github.com/aio-libs/yarl/blob/${finalAttrs.src.tag}/CHANGES.rst";
description = "Yet another URL library";
homepage = "https://github.com/aio-libs/yarl";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})

View File

@@ -6,16 +6,17 @@
pillow,
pybind11,
libzxing-cpp,
pyprojectVersionPatchHook,
pytestCheckHook,
libzint,
}:
buildPythonPackage rec {
buildPythonPackage {
pname = "zxing-cpp";
inherit (libzxing-cpp) src version meta;
inherit (libzxing-cpp) src version;
pyproject = true;
sourceRoot = "${src.name}/wrappers/python";
sourceRoot = "${libzxing-cpp.src.name}/wrappers/python";
# we don't need pybind11 in the root environment
# https://pybind11.readthedocs.io/en/stable/installing.html#include-with-pypi
@@ -25,7 +26,7 @@ buildPythonPackage rec {
substituteInPlace setup.py \
--replace-fail "cfg = 'Debug' if self.debug else 'Release'" "cfg = 'Release'" \
--replace-fail " '-DVERSION_INFO=' + self.distribution.get_version()]" " '-DVERSION_INFO=' + self.distribution.get_version(), '-DZXING_DEPENDENCIES=LOCAL', '-DZXING_USE_BUNDLED_ZINT=OFF']"
--replace-fail "f'-DPython_EXECUTABLE={sys.executable}'," "f'-DPython_EXECUTABLE={sys.executable}', '-DZXING_DEPENDENCIES=LOCAL', '-DZXING_USE_BUNDLED_ZINT=OFF',"
'';
dontUseCmakeConfigure = true;
@@ -39,6 +40,7 @@ buildPythonPackage rec {
nativeBuildInputs = [
cmake
pyprojectVersionPatchHook
];
buildInputs = [ libzint ];
@@ -51,4 +53,16 @@ buildPythonPackage rec {
enabledTestPaths = [ "test.py" ];
pythonImportsCheck = [ "zxingcpp" ];
meta = {
inherit (libzxing-cpp.meta)
homepage
changelog
description
longDescription
license
maintainers
platforms
;
};
}

View File

@@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "libtool";
version = "2.5.4";
version = "2.6.2";
src = fetchurl {
url = "mirror://gnu/libtool/${pname}-${version}.tar.gz";
sha256 = "sha256-2o67LOTc9GuQCY2vliz/po9LT2LqYPeY0O8Skp7eat8=";
hash = "sha256-JK2zqprgNccPq6NEr1fXMhXriSgQRa9sfM0wd1H4sL8=";
};
outputs = [

View File

@@ -8,7 +8,6 @@ in
ln-boot,
mes,
buildPlatform,
fetchurl,
}:
let
pname = "mes-libc";
@@ -24,18 +23,16 @@ let
sources = sourcesJson."${arch}.linux.gcc";
inherit (sources) libtcc1_SOURCES libc_gnu1_SOURCES libc_gnu2_SOURCES;
ldexpl = fetchurl {
url = "https://gitlab.com/janneke/mes/-/raw/c837abed8edb341d4e56913729fbe9803b4de47c/lib/math/ldexpl.c";
hash = "sha256-3QoFZZIqVmlMUosEqOdYIMEHzYgQ7GJ7Hz0Bf/1iIig=";
};
# Concatenate all source files into a convenient bundle
# "gcc" variants of source files (eg. "lib/linux/x86-mes-gcc") can also be
# compiled by tinycc
#
# Passing this many arguments is too much for kaem so we need to split
# the operation in two
firstLibc = libc_gnu1_SOURCES + " ${ldexpl}";
#
# We also vendor a copy of ldexpl. We do not `fetchurl` it as the mes GitLab
# often has force pushes and links are thus unstable.
firstLibc = libc_gnu1_SOURCES + " " + ./ldexpl.c;
lastLibc = libc_gnu2_SOURCES;
in
kaem.runCommand "${pname}-${version}"

View File

@@ -203,13 +203,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
inherit pname;
version = "261";
version = "261.1";
src = fetchFromGitHub {
owner = "systemd";
repo = "systemd";
tag = "v${finalAttrs.version}";
hash = "sha256-6IB1ZEQqQ0impwBhCaLZAEgMVkVFU61JDVlGotxNzGQ=";
hash = "sha256-4iOitWGdRmGgJjEXGWtq2lEhPtGguma+qrjTShrps2g=";
};
# PATCH POLICY

View File

@@ -13,24 +13,19 @@
stdenv.mkDerivation (finalAttrs: {
pname = "findutils";
version = "4.10.0";
version = "4.11.0";
src = fetchurl {
url = "mirror://gnu/findutils/findutils-${finalAttrs.version}.tar.xz";
sha256 = "sha256-E4fgtn/yR9Kr3pmPkN+/cMFJE5Glnd/suK5ph4nwpPU=";
sha256 = "sha256-v9GcsGzHHzNS1WfpAoTYzawCrIl3S76t8LUzsMEUMv0=";
};
postPatch = ''
substituteInPlace xargs/xargs.c --replace 'char default_cmd[] = "echo";' 'char default_cmd[] = "${coreutils}/bin/echo";'
substituteInPlace xargs/xargs.c --replace 'char default_cmd[] = "echo";' 'char default_cmd[] = "${lib.getExe' coreutils "echo"}";'
'';
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 ];
@@ -53,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
configureFlags = [
# "sort" need not be on the PATH as a run-time dep, so we need to tell
# configure where it is. Covers the cross and native case alike.
"SORT=${coreutils}/bin/sort"
"SORT=${lib.getExe' coreutils "sort"}"
"--localstatedir=/var/cache"
];
@@ -86,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
homepage = "https://www.gnu.org/software/findutils/";
changelog = "https://cgit.git.savannah.gnu.org/cgit/findutils.git/tree/NEWS?h=v${finalAttrs.version}";
description = "GNU Find Utilities, the basic directory searching utilities of the GNU operating system";
longDescription = ''
The GNU Find Utilities are the basic directory searching

View File

@@ -1,225 +0,0 @@
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><many zeroes><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><many zeroes><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 <math.h>
+
#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