aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/build-support/setup-hooks/validate-pkg-config.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/build-support/setup-hooks/validate-pkg-config.sh')
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/validate-pkg-config.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/validate-pkg-config.sh b/nixpkgs/pkgs/build-support/setup-hooks/validate-pkg-config.sh
new file mode 100644
index 00000000000..54fc9cc122c
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/setup-hooks/validate-pkg-config.sh
@@ -0,0 +1,19 @@
+# This setup hook validates each pkgconfig file in each output.
+
+fixupOutputHooks+=(_validatePkgConfig)
+
+_validatePkgConfig() {
+ for pc in $(find "$prefix" -name '*.pc'); do
+ local bail=0
+
+ # Do not fail immediately. It's nice to see all errors when
+ # there are multiple pkgconfig files.
+ if ! pkg-config --validate "$pc"; then
+ bail=1
+ fi
+ done
+
+ if [ $bail -eq 1 ]; then
+ exit 1
+ fi
+}