Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
948 B · 30 lines
Nix
12345678910111213141516171819202122232425262728293031{ lib }:# helper functions for packaging programs with plugin systems{
/* Takes a list of expected plugin names and compares it to the found plugins given in the file, one plugin per line. If the lists differ, the build fails with a nice message.
This is helpful to ensure maintainers don’t miss the addition or removal of a plugin. */ diffPlugins = expectedPlugins: foundPluginsFilePath: '' # sort both lists first plugins_expected=$(mktemp) (${lib.concatMapStrings (s: "echo \"${s}\";") expectedPlugins}) \ | sort -u > "$plugins_expected" plugins_found=$(mktemp) sort -u "${foundPluginsFilePath}" > "$plugins_found"
if ! mismatches="$(diff -y "$plugins_expected" "$plugins_found")"; then echo "The the list of expected plugins (left side) doesn't match" \ "the list of plugins we found (right side):" >&2 echo "$mismatches" >&2 exit 1 fi '';
}