about summary refs log tree commit diff
path: root/nixpkgs/maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
blob: a317dba4d4e77c0eb53357ae12b09b6931f111e7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils jq nix -I nixpkgs=.

set -euo pipefail

TMP_TEMPLATE=transitive-broken.XXXXXXX
readonly TMP_TEMPLATE

tmpfile=$(mktemp "$TMP_TEMPLATE")

trap 'rm -f "${tmpfile}"' 0

config_file=pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml

cat > $tmpfile << EOF
# This file is automatically generated by
# maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
# It is supposed to list all haskellPackages that cannot evaluate because they
# depend on a dependency marked as broken.
dont-distribute-packages:
EOF

nix-instantiate --eval --option restrict-eval true -I . --strict --json maintainers/scripts/haskell/transitive-broken-packages.nix | jq -r . | LC_ALL=C.UTF-8 sort -i >> $tmpfile

mv $tmpfile $config_file