Merge pull request #311069 from nbraud/fix-307770

testers.hasPkgConfigModules: fix bug in `versionCheck` handling

Changed files
+8 -3
pkgs
build-support
testers
hasPkgConfigModules
+2 -2
pkgs/build-support/testers/hasPkgConfigModules/tester.nix
···
if [[ "$moduleVersion" == "$version" ]]; then
echo "✅ pkg-config module $moduleName exists and has version $moduleVersion"
else
-
echo "❌ pkg-config module $moduleName exists and has version $moduleVersion when $version was expected"
+
echo "${if versionCheck then "❌" else "ℹ️"} pkg-config module $moduleName exists at version $moduleVersion != $version (drv version)"
((versionMismatch+=1))
fi
printf '%s\t%s\n' "$moduleName" "$version" >> "$out"
···
fi
done
-
if [[ $notFound -eq 0 ]] && ([[ $versionMismatch -eq 0 ]] || [[ "$versionCheck" == false ]]); then
+
if [[ $notFound -eq 0 ]] && ([[ $versionMismatch -eq 0 ]] || [[ -z "$versionCheck" ]]); then
exit 0
fi
if [[ $notFound -ne 0 ]]; then
+6 -1
pkgs/build-support/testers/hasPkgConfigModules/tests.nix
···
miniz-versions-mismatch = testers.testBuildFailure (testers.hasPkgConfigModules {
package = miniz;
-
version = "1.2.3";
+
version = "1.2.3"; # Deliberately-incorrect version number
versionCheck = true;
});
+
+
miniz-no-versionCheck = testers.hasPkgConfigModules {
+
package = miniz;
+
version = "1.2.3"; # Deliberately-incorrect version number
+
};
zlib-has-zlib = testers.hasPkgConfigModules {
package = zlib;