From 18a1abdba0c6053742b7fd3594b6616ef0ca9699 Mon Sep 17 00:00:00 2001 From: Hans Joachim Kliemeck Date: Sat, 18 Oct 2025 20:38:33 +0200 Subject: [PATCH 1/2] stdenv: pURL implementation - fix checkMeta --- pkgs/stdenv/generic/check-meta.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 3a35b750d5f3f..a256646835676 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -713,6 +713,7 @@ let } ) possibleCPEPartsFuns; + evaluateSrc = !isMarkedBroken attrs && !hasUnsupportedPlatform attrs; purlParts = attrs.meta.identifiers.purlParts or { }; purlPartsFormatted = if purlParts ? type && purlParts ? spec then "pkg:${purlParts.type}/${purlParts.spec}" else null; @@ -722,6 +723,8 @@ let # 1) locally set through API if purlPartsFormatted != null then purlPartsFormatted + else if !evaluateSrc then + null else # 2) locally overwritten through meta.identifiers.purl (attrs.src.meta.identifiers.purl or null); @@ -733,6 +736,8 @@ let # 2) locally set through API if purlPartsFormatted != null then [ purlPartsFormatted ] + else if !evaluateSrc then + [ ] else # 3) src.meta.PURL (attrs.src.meta.identifiers.purls or ( From 7f814e1a4436845d1417291719dbb936c25b6a4e Mon Sep 17 00:00:00 2001 From: Hans Joachim Kliemeck Date: Sun, 19 Oct 2025 11:28:14 +0200 Subject: [PATCH 2/2] stdenv: PURL - fix throws cases --- pkgs/stdenv/generic/check-meta.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index a256646835676..b9e2367573454 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -723,7 +723,7 @@ let # 1) locally set through API if purlPartsFormatted != null then purlPartsFormatted - else if !evaluateSrc then + else if !evaluateSrc || !(builtins.tryEval attrs.src or null).success then null else # 2) locally overwritten through meta.identifiers.purl @@ -736,7 +736,11 @@ let # 2) locally set through API if purlPartsFormatted != null then [ purlPartsFormatted ] - else if !evaluateSrc then + else if + !evaluateSrc + || !(builtins.tryEval attrs.src or [ ]).success + || !(builtins.tryEval attrs.srcs or [ ]).success + then [ ] else # 3) src.meta.PURL