summary refs log tree commit diff
path: root/maintainers/scripts/haskell/regenerate-hackage-packages.sh
diff options
context:
space:
mode:
authorMalte Brandy <malte.brandy@maralorn.de>2021-05-09 01:01:21 +0200
committerMalte Brandy <malte.brandy@maralorn.de>2021-05-09 01:01:33 +0200
commit66de11da71cf3de9a748eb30cad667e6147b4c41 (patch)
tree9ae73a64d54a0b35f322e06be0bf558872bdce74 /maintainers/scripts/haskell/regenerate-hackage-packages.sh
parent6a0d9e5242ea97fd0ae6e1294df2a6414a0a0d39 (diff)
downloadnixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.tar
nixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.tar.gz
nixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.tar.bz2
nixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.tar.lz
nixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.tar.xz
nixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.tar.zst
nixpkgs-66de11da71cf3de9a748eb30cad667e6147b4c41.zip
maintainers/scripts/haskell/regenerate-hackage-packages.sh: Small improvents and encoding workaround
Diffstat (limited to 'maintainers/scripts/haskell/regenerate-hackage-packages.sh')
-rwxr-xr-xmaintainers/scripts/haskell/regenerate-hackage-packages.sh19
1 files changed, 13 insertions, 6 deletions
diff --git a/maintainers/scripts/haskell/regenerate-hackage-packages.sh b/maintainers/scripts/haskell/regenerate-hackage-packages.sh
index 462840cd24c..1effa5e2596 100755
--- a/maintainers/scripts/haskell/regenerate-hackage-packages.sh
+++ b/maintainers/scripts/haskell/regenerate-hackage-packages.sh
@@ -1,12 +1,12 @@
 #! /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 a tool
-# called hackage2nix. 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.
+# 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,
@@ -14,10 +14,15 @@
 
 set -euo pipefail
 
+# To prevent hackage2nix fails because of encoding.
+# See: https://github.com/NixOS/nixpkgs/pull/122023
+export LC_ALL=C.UTF-8
+
 extraction_derivation='with import ./. {}; runCommand "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
 unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"
 config_dir=pkgs/development/haskell-modules/configuration-hackage2nix
 
+echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ..."
 hackage2nix \
    --hackage "$unpacked_hackage" \
    --preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \
@@ -35,3 +40,5 @@ hackage-packages.nix: Regenerate based on current config
 This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
 EOF
 fi
+
+echo "Regeneration of hackage-packages.nix finished."