diff options
Diffstat (limited to 'pkgs/tools/misc/diffoscope/list-missing-tools.sh')
-rwxr-xr-x | pkgs/tools/misc/diffoscope/list-missing-tools.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pkgs/tools/misc/diffoscope/list-missing-tools.sh b/pkgs/tools/misc/diffoscope/list-missing-tools.sh new file mode 100755 index 000000000000..5f4d118cfed7 --- /dev/null +++ b/pkgs/tools/misc/diffoscope/list-missing-tools.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# This script lists all the optional command-line tools that diffoscope can use +# (i.e. `diffoscope --list-tools`) but are missing from the Nix expression. + +diffoscope=$(nix-build --no-out-link -E 'with import ./. {}; diffoscope.override { enableBloat = true; }')/bin/diffoscope + +required=$($diffoscope --list-tools | \ + grep '^External-Tools-Required:' | \ + cut -d ' ' -f2- | \ + tr -d ,) + +# Uber-hacky! +pathScript=$(cat $diffoscope | grep PATH) + +export PATH=$(nix-build --no-out-link -A which)/bin +eval "$pathScript" + +for tool in $required; do + if ! which $tool >/dev/null 2>&1; then + echo $tool + fi +done | sort |