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