ljkasdjkladadsjkla

This commit is contained in:
2025-05-17 23:57:25 +02:00
parent e373eb4f59
commit a1d1fe68f9

View File

@@ -150,6 +150,35 @@ let
);
};
# usage: nix-build . -A <package>.tests.mainProgram
overlays.withTestMainProgram = mkDerivationOverlay (
final: prev: prevStdenv: finalAttrs: prevAttrs: {
passthru = prevAttrs.passthru or { } // {
tests =
lib.optionalAttrs ((prevAttrs.meta or { }) ? mainProgram) {
mainProgram = final.runCommandLocal "${finalAttrs.finalPackage.name}-check-mainProgram" { } ''
fname=${lib.getBin finalAttrs.finalPackage}/bin/${lib.escapeShellArg finalAttrs.finalPackage.meta.mainProgram}
if [[ -x "$fname" ]]; then
echo "Found $fname"
touch $out
elif [[ -f "$fname" ]]; then
echo >&2 "ERROR: '$fname' is not executable!"
false
elif [[ -d "$fname" ]]; then
echo >&2 "ERROR: '$fname' is a directory!"
false
else
echo >&2 "ERROR: '$fname' not found!"
(set -x; find ${lib.getBin finalAttrs.finalPackage}/bin -type f)
false
fi
'';
}
// (prevAttrs.passthru.tests or { });
};
}
);
# usage: nix-build . -A <package>.shellcheck
overlays.withShellCheck = mkDerivationOverlay (
final: prev: prevStdenv: finalAttrs: prevAttrs:
@@ -509,6 +538,7 @@ in
overlays.srcOnly
overlays.withInvalidateFetcherByDrvHash
overlays.withUnpacked
overlays.withTestMainProgram
overlays.withShellCheck
# overlays.withCudaOrRocm # WIP
overlays.withCcache # WIP