Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 93ecb1e

Browse files
committed
Add script to regenerate freeze files
1 parent 8e61c59 commit 93ecb1e

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

regen-freeze-files.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
3+
set -eu
4+
5+
status_message() {
6+
printf "\\033[0;32m%s\\033[0m\\n" "$1"
7+
}
8+
9+
warning_message() {
10+
printf "\\033[1;33m%s\\033[0m\\n" "$1"
11+
}
12+
13+
shopt -s extglob
14+
15+
cabal v2-update --write-ghc-environment-files=never
16+
17+
for project_file in cabal.project.!(*.freeze) ; do
18+
unset ghc_ver freeze_file
19+
ghc_ver=${project_file#cabal.project.}
20+
freeze_file=${project_file}.freeze
21+
if command -V ghc-${ghc_ver} >/dev/null 2>&1 ; then
22+
status_message "Generating ${freeze_file}"
23+
[ -f "${freeze_file}" ] && rm "${freeze_file}"
24+
cabal v2-freeze \
25+
--write-ghc-environment-files=never \
26+
-w ghc-${ghc_ver} \
27+
--project-file=${project_file}
28+
awk "
29+
BEGIN{print \"with-compiler: ghc-${ghc_ver}\n\"}
30+
{print \$0}" "${freeze_file}" > "${freeze_file}.tmp"
31+
mv "${freeze_file}.tmp" "${freeze_file}"
32+
else
33+
warning_message "Missing ghc-${ghc_ver}, skipping freeze file generation"
34+
fi
35+
done
36+
37+
# vim: tabstop=4 shiftwidth=4 expandtab
38+

0 commit comments

Comments
 (0)