Commit Graph

1568 Commits

Author SHA1 Message Date
Aliaksandr
4bb4cff368 stdenv: deprecate is* aliases in favor of hostPlatform.is*
These shorthands hide the platform distinction and are unfit for
cross-compilation. Wrap them in `lib.warn` so each access prints a
deprecation notice, and gate them on `config.allowAliases` so they
can be removed entirely.

Assisted-by: claude-code with claude-opus-4-8
2026-08-12 20:27:09 +02:00
Eman Resu
b3856a700b check-meta: only check unfree predicate if it's defined 2026-08-03 14:32:15 -04:00
Eman Resu
db1fbad58f check-meta: partially apply platform logic as much as possible 2026-08-03 14:26:33 -04:00
Eman Resu
1dcefd5752 check-meta: add clarifying comment on license lists 2026-08-03 14:12:35 -04:00
Eman Resu
45d8da095c check-meta: avoid an isAttrs check that ? already performs 2026-08-03 14:12:32 -04:00
Eman Resu
a0e005ebca check-meta: inherit functions to global scope 2026-08-03 14:12:31 -04:00
Eman Resu
c3481d9ef9 check-meta: use ? instead of or for isMarkedInsecure
This is almost always not defined, so we can avoid needing to perform
the equality check on the singleton lists.
2026-08-03 14:12:22 -04:00
Eman Resu
73c12f9fdb check-meta: cache allowInsecure as much as possible 2026-08-03 13:30:02 -04:00
Eman Resu
270c9c9792 check-meta: cache allowUnfree 2026-08-01 11:36:04 -04:00
Eman Resu
83dabb3741 check-meta: cache where unsupported systems are allowed 2026-08-01 11:35:29 -04:00
Eman Resu
ef74004766 check-meta: cache a nonempty blocklist 2026-08-01 11:34:59 -04:00
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