From c12df57435e8c373a7d3bd4a8249a2a9ff51be48 Mon Sep 17 00:00:00 2001 From: Monson Shao Date: Sat, 23 Jan 2021 21:49:13 +0800 Subject: [PATCH] darwin.apple-source-releases: implement headers check --- .../darwin/apple-source-releases/default.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index 014904ca24d..cb17d66e6a4 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -165,6 +165,25 @@ let enableParallelBuilding = true; + # In rare cases, APPLE may drop some headers quietly on new release. + doInstallCheck = attrs ? appleHeaders; + passAsFile = [ "appleHeaders" ]; + installCheckPhase = '' + cd $out/include + + result=$(diff -u "$appleHeadersPath" <(find * -type f | sort) --label "Listed in appleHeaders" --label "Found in \$out/include" || true) + + if [ -z "$result" ]; then + echo "Apple header list is matched." + else + echo >&2 "\ + Apple header list is inconsistent, please ensure no header file is unexpectedly dropped. + $result + " + exit 1 + fi + ''; + } // attrs // { meta = (with lib; { platforms = platforms.darwin;