Don't try to use our custom packages unless pinned

They do not have src set, so if we pull them in without having a pin
they fail to build.

Noticed with org, so add a test for that. Probably not the only one
affected, though.

Fixes #4
This commit is contained in:
Marien Zwart 2024-05-26 12:35:09 +10:00
parent 6d2d203ece
commit dbd9b1e998
No known key found for this signature in database
3 changed files with 15 additions and 5 deletions

View file

@ -176,9 +176,10 @@ let
origEPkg == esuper.elpaPackages.${name} or null
|| origEPkg == esuper.nongnuPackages.${name} or null);
epkg =
customPackages.${name}
or (if !hasOrigEPkg || (p ? pin && isElpa)
then
if hasOrigEPkg && (pin != null -> !(isElpa || customPackages ? ${name}))
then origEPkg
else customPackages.${name}
or (
assert lib.assertMsg
(isElpa || (p ? recipe && pin != null) || extraUrls ? ${name})
"${name}: not in epkgs, not elpa, no recipe or not pinned";
@ -224,8 +225,7 @@ let
# TODO: refactor out the recursive call to makePackage.
# (Currently needed for dependencies on packages not in epkgs or doom.)
packageRequires = map (name: eself.${name} or (makePackage name {})) reqlist;
}
else origEPkg);
});
url =
if (p.recipe.host or "") == "github" && p ? recipe.repo
then "https://github.com/${p.recipe.repo}"