From e4b66fa1a121aa9fb9121e0606918f047cd041a2 Mon Sep 17 00:00:00 2001 From: maralorn Date: Sat, 22 Apr 2023 20:15:05 +0200 Subject: [PATCH] maintainers/scripts/haskell: Integrate transitive-broken into regeneration script --- maintainers/scripts/haskell/mark-broken.sh | 2 - .../haskell/regenerate-hackage-packages.sh | 111 ++++++++++++++---- .../regenerate-transitive-broken-packages.sh | 1 - 3 files changed, 88 insertions(+), 26 deletions(-) diff --git a/maintainers/scripts/haskell/mark-broken.sh b/maintainers/scripts/haskell/mark-broken.sh index 2111ef52bc0..2624311aac9 100755 --- a/maintainers/scripts/haskell/mark-broken.sh +++ b/maintainers/scripts/haskell/mark-broken.sh @@ -32,8 +32,6 @@ EOF sort -iu "$tmpfile" >> "$broken_config" clear="env -u HOME -u NIXPKGS_CONFIG" $clear maintainers/scripts/haskell/regenerate-hackage-packages.sh -$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh -$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh evalline=$(maintainers/scripts/haskell/hydra-report.hs eval-info) if [[ "${1:-}" == "--do-commit" ]]; then diff --git a/maintainers/scripts/haskell/regenerate-hackage-packages.sh b/maintainers/scripts/haskell/regenerate-hackage-packages.sh index 5e6b5a888ad..96a18aa8ed8 100755 --- a/maintainers/scripts/haskell/regenerate-hackage-packages.sh +++ b/maintainers/scripts/haskell/regenerate-hackage-packages.sh @@ -1,22 +1,69 @@ #! /usr/bin/env nix-shell #! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git nix -I nixpkgs=. -# This script is used to regenerate nixpkgs' Haskell package set, using the -# tool hackage2nix from the nixos/cabal2nix repo. hackage2nix looks at the -# config files in pkgs/development/haskell-modules/configuration-hackage2nix -# and generates a Nix expression for package version specified there, using the -# Cabal files from the Hackage database (available under all-cabal-hashes) and -# its companion tool cabal2nix. -# -# Related scripts are update-hackage.sh, for updating the snapshot of the -# Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh, -# for updating the version of hackage2nix used to perform this task. -# -# Note that this script doesn't gcroot anything, so it may be broken by an -# unfortunately timed nix-store --gc. - set -euo pipefail +self=$0 + +print_help () { +cat < $config_file << EOF dont-distribute-packages: EOF -echo "Regenerating list of transitive broken packages ..." 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 >> $config_file