at master 885 B view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p gnutar jq reuse 3set -eu 4cd "$(dirname "$(readlink -f "$0")")"/../../.. 5 6TMPDIR=$(mktemp -d) 7trap 'rm -rf $TMPDIR' EXIT 8 9echo "# Prebuilding sources..." 10nix-build -A kdePackages.sources --no-link || true 11 12echo "# Evaluating sources..." 13declare -A sources 14eval "$(nix-instantiate --eval -A kdePackages.sources --json --strict | jq 'to_entries[] | "sources[" + .key + "]=" + .value' -r)" 15 16echo "# Collecting licenses..." 17for k in "${!sources[@]}"; do 18 echo "- Processing $k..." 19 20 if [ ! -f "${sources[$k]}" ]; then 21 echo "Not found!" 22 continue 23 fi 24 25 mkdir "$TMPDIR/$k" 26 tar -C "$TMPDIR/$k" -xf "${sources[$k]}" 27 28 (cd "$TMPDIR/$k"; reuse lint --json) | jq --arg name "$k" '{$name: .summary.used_licenses | sort}' -c > "$TMPDIR/$k.json" 29done 30 31jq -s 'add' -S "$TMPDIR"/*.json > pkgs/kde/generated/licenses.json