87a3f71582
Thanks to all the testers and to steven@, who was so kind to build the HC files for bootstrapping on amd64.
56 lines
1013 B
Bash
Executable File
56 lines
1013 B
Bash
Executable File
# $OpenBSD: mkregunreg.sh,v 1.1 2007/07/21 17:14:57 kili Exp $
|
|
#
|
|
# Create register and unregister scripts for updating the Cabal
|
|
# package registry.
|
|
# This script must be called from the ghc build directory.
|
|
|
|
prefix="$1"
|
|
pkg_conf="$prefix/lib/ghc/package.conf"
|
|
ghc_pkg="$prefix/bin/ghc-pkg"
|
|
|
|
umask 022
|
|
|
|
my_ghc_pkg() {
|
|
./utils/ghc-pkg/ghc-pkg.bin --global-conf ./driver/package.conf "$@"
|
|
}
|
|
|
|
for p in $(my_ghc_pkg list --simple-output); do
|
|
echo $p $p
|
|
set -- $(my_ghc_pkg field $p depends)
|
|
shift
|
|
for d; do
|
|
echo $p $d
|
|
done
|
|
done > deps
|
|
|
|
exec > register.sh
|
|
cat <<- 'EOF'
|
|
#! /bin/sh
|
|
exec > /dev/null
|
|
EOF
|
|
|
|
tsort -r deps |
|
|
while read p; do
|
|
echo "$ghc_pkg register - << 'EOF'"
|
|
my_ghc_pkg describe $p
|
|
echo EOF
|
|
done
|
|
echo rm -f $pkg_conf.old
|
|
|
|
exec > unregister.sh
|
|
cat <<- 'EOF'
|
|
#! /bin/sh
|
|
exec > /dev/null
|
|
EOF
|
|
|
|
tsort deps |
|
|
sed "s!^!$ghc_pkg unregister !"
|
|
|
|
cat <<- EOF
|
|
rm -f $pkg_conf.old
|
|
# If no packages are left, just remove the registry.
|
|
if echo '[]' | cmp -s - $pkg_conf; then
|
|
rm -f $pkg_conf
|
|
fi
|
|
EOF
|