From 740da53c72e0b2f8a9e645595b300c9d9ad69780 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 30 Dec 2014 23:11:57 +0100 Subject: [PATCH] beets: Check plugin definitions against package. The reason for doing this is in order to not forget about possible dependencies in new upstream releases, so if upstream is introducing a new plugin where we're lacking dependencies, the build will fail on our side and we can check whether we'll need those. Signed-off-by: aszlig --- pkgs/tools/audio/beets/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index a052a994afd..fa08f5980c3 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -115,6 +115,23 @@ in buildPythonPackage rec { doCheck = true; + preCheck = '' + (${concatMapStrings (s: "echo \"${s}\";") allPlugins}) \ + | sort -u > plugins_defined + find beetsplug -mindepth 1 \ + \! -path 'beetsplug/__init__.py' -a \ + \( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \ + | sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \ + | sort -u > plugins_available + + if ! mismatches="$(diff -y plugins_defined plugins_available)"; then + echo "The the list of defined plugins (left side) doesn't match" \ + "the list of available plugins (right side):" >&2 + echo "$mismatches" >&2 + exit 1 + fi + ''; + checkPhase = '' runHook preCheck