1557 Commits

Author SHA1 Message Date
nixpkgs-ci[bot] 5b0a62639f Merge master into staging-next 2026-07-08 06:51:14 +00:00
adisbladis 56e510df3a lib.meta-types: add binary either/both combinators (#537659) 2026-07-08 05:20:33 +00:00
Ben Siraphob 45ecf43c51 lib.meta-types: add binary either/both combinators
Every in-tree union/intersection use has exactly two members, and the
binary form verifies without allocating a closure or calling the any/all
primop per check. check-meta.nix switches to either/both; union and
intersection are kept for potential future use.

Assisted-by: Claude Code (Claude Fable 5)
2026-07-07 09:40:17 -07:00
nixpkgs-ci[bot] a692067795 Merge master into staging-next 2026-07-04 00:35:57 +00:00
Eman Resu 9ab8fa7375 check-meta: compare with null instead of using isNull 2026-07-03 19:00:46 -04:00
Martin Weinelt 9ade44f1d4 Merge remote-tracking branch 'origin/staging' into staging-next
Conflicts:
- pkgs/top-level/nixpkgs-basic-release-checks.nix
2026-06-27 01:13:12 +02:00
Matt Sturgeon 288d25fabf Allow meta.problems while preventing internal use of certain kinds (#533376) 2026-06-26 21:44:52 +00:00
Silvan Mosberger a90d993610 ci/eval: Allow preventing internal Nixpkgs use of certain problem kinds 2026-06-24 12:26:03 +02:00
nixpkgs-ci[bot] 03a9b0542e Merge staging-next into staging 2026-06-21 18:33:29 +00:00
Sandro e00726a075 treewide: fix leftover docbook links (#531477) 2026-06-21 18:03:51 +00:00
nixpkgs-ci[bot] d94448ae90 Merge staging-next into staging 2026-06-21 00:51:18 +00:00
Eman Resu 50cf7fe9dc stdenv/check-meta: move to within lib/
This is going to be used in lib.systems, which isn't allowed to import
from outside the lib folder. We don't actually expose this through lib,
though.
2026-06-20 17:05:33 -04:00
Silvan Mosberger 8fcbb35929 meta.problems: Fill out output meta with final list of problems
This ensures that external tooling can also process the problems, and
helps users with debugging.
2026-06-19 18:58:37 +02:00
Silvan Mosberger eba1d51352 meta.problems: Internal refactoring
Makes future changes easier
2026-06-19 18:58:10 +02:00
nixpkgs-ci[bot] 59fccc960c Merge staging-next into staging 2026-06-14 07:38:15 +00:00
adisbladis 0e62149625 stdenv/problems: only run problem if it's not ignored (#519600) 2026-06-14 06:27:38 +00:00
Sandro Jäckel 6c0cb2defd treewide: fix leftover docbook links 2026-06-13 23:37:09 +02:00
Eman Resu 85e32af8ef stdenv/problems: don't create pname variable
A package failing an automatic problem (of which there's currently only
one) is rare. A package having meta.problems specified is even rarer.
Inlining the getName call to its two usages saves a thunk in the vast,
vast majority of cases, and I consider it to be worth it.
2026-06-01 23:05:22 -04:00
Eman Resu 0b304744b8 stdenv/problems: make handlerForProblem more performant with partial application 2026-06-01 23:05:13 -04:00
Eman Resu 41bafcbc34 stdenv/problems: reverse parameter order for handlerForProblem
kind and name are more likely to stay the same. Doing this allows us to
cache the kind and name when calling the handler for a problem.
2026-06-01 23:05:13 -04:00
Eman Resu 753e43c931 stdenv/problems: avoid a lookup for meta.broken
The stats may be lying to me when they say that this saves 1.86% of
attrset lookups, and `?` may just not be accurately tracked. But at
worst, performance will stay the same, since the check will fail for all
non-broken packages. And who knows, maybe it does help, by nature of not
checking the value!
2026-06-01 23:05:12 -04:00
Eman Resu 5616e3d925 stdenv/problems: use early knowledge of allowBroken and allowBrokenPredicate 2026-06-01 23:05:10 -04:00
Eman Resu b88fba2fba stdenv/problems: avoid creating manual problems attrset 2026-06-01 23:05:01 -04:00
nixpkgs-ci[bot] d644c92282 Merge staging-next into staging 2026-06-01 19:39:24 +00:00
Eman Resu c546655fb0 check-meta: only take hostPlatform for functions requiring it
By doing this, we can cache the rest of the file, including the import
of problems.nix. This allows genCheckProblems to be cached on every
bootstrapping stage, and not re-called each time.
2026-05-29 16:51:26 -04:00
Eman Resu 159a6daf6b stdenv/generic: memoise passing config to mkDerivation unless overriden 2026-05-29 16:51:25 -04:00
Eman Resu 2c9c2fd429 stdenv/generic: store default native build inputs outside of stdenv 2026-05-28 19:34:54 -04:00
Eman Resu 4e54346578 make-derivation.nix: take args one at a time, declare variables early
While bootstrapping stdenv, we'd prefer not to call the entire file the
whole time on every single stage, since we have certain args ahead of
time.
2026-05-28 19:34:51 -04:00
nixpkgs-ci[bot] f50dc660d4 Merge staging-next into staging 2026-05-28 18:54:19 +00:00
Philip Taron 19bd880f94 various: remove lib.warnIf from most critical functions (#524541) 2026-05-28 15:50:31 +00:00
Eman Resu 7146b6678f stdenv.mkDerivation: remove warnIf usage
warnIf sends our warning message through a function call, even if the
warning condition doesn't trigger. This requires a lot of thunk
allocation that can be easily avoided.
2026-05-28 00:19:23 -04:00
nixpkgs-ci[bot] 4e29289792 Merge staging-next into staging 2026-05-28 00:40:40 +00:00
Philip Taron e03d0a783d various: reduce // merges, optimize ++ chains across hot paths (#506793) 2026-05-27 22:06:37 +00:00
nixpkgs-ci[bot] 2391366a06 Merge staging-next into staging 2026-05-27 18:48:39 +00:00
Ethan Carter Edwards 9d2f2d71e4 doc: add meta.donationPage
This might be a nice way to use our reach to remind users to donate to
FLOSS projects that they use and love.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2026-05-27 00:36:21 -07:00
nixpkgs-ci[bot] 8bde521f6b Merge staging-next into staging 2026-05-27 00:44:40 +00:00
Hans Joachim Kliemeck 8478c2384b stdenv: Package URL (PURL) metadata fields 2026-05-26 21:47:54 +02:00
Eman Resu 5c89ab858d stdenv/problems: only run problem if it's not ignored 2026-05-25 23:59:00 -04:00
nixpkgs-ci[bot] 4878607c11 Merge staging-next into staging 2026-05-24 12:25:16 +00:00
yaya e397801100 treewide: replace lib.trivial.release with hardcode version (hack) (#517985) 2026-05-24 11:11:46 +00:00
nixpkgs-ci[bot] 026e06d881 Merge staging-next into staging 2026-05-21 07:19:24 +00:00
adisbladis 3fbd42c407 stdenv.mkDerivation: Optimise hardening flag handling (#517906) 2026-05-21 03:07:31 +00:00
adisbladis 2be5bd483e stdenv.mkDerivation: inline call to lib.toExtension (#522125) 2026-05-21 02:44:04 +00:00
Eman Resu abae302132 stdenv.mkDerivation: move config lookups to global scope 2026-05-19 22:38:33 -04:00
Eman Resu a351d833a2 stdenv.mkDerivation: move pos thunk inside another thunk 2026-05-19 21:16:57 -04:00
Eman Resu a53a185737 stdenv.mkDerivation: inline call to toExtension 2026-05-19 21:14:17 -04:00
Stefan Frijters fea908fde9 stdenv: do not leak outputName out of loop
This is an implementation detail leaking out into the bash environment
and it did manange to confuse me as potentially being a way to get the "default"
output name when structuredAttrs is enabled, because of the "outputName" derivation attribute.
2026-05-18 14:56:50 +02:00
Aliaksandr a42becdd92 stdenv/generic: replace // optionalAttrs with nullable attr names
Convert 3 optionalAttrs in the stdenv derivation call to nullable
attribute names: allowedRequisites, contentAddressedByDefault, and
isDarwin sandbox/impureHostDeps.
2026-05-18 03:54:26 +03:00
Aliaksandr d6d58a85e1 make-derivation: remove no longer valid comment
The comment claimed configureFlags is "sometimes a string, sometimes
null, and sometimes a list" — the normalization it referenced was
removed long ago; configureFlags is always a list now.
2026-05-18 03:54:18 +03:00
Eman Resu 04078604e8 stdenv.mkDerivation: warn on nested lists 2026-05-16 22:12:08 -04:00