add ghc_bootstrapping to ghc_bootstrap; fix ghc-deps.sh when bootstrapping

This commit is contained in:
Jens Petersen 2011-10-18 17:43:47 +09:00
parent bd7f38e058
commit 0b163b3d06
3 changed files with 18 additions and 5 deletions

View File

@ -11,6 +11,13 @@
MODE=$1
PKGBASEDIR=$2
PKGCONFDIR=$PKGBASEDIR/package.conf.d
GHC_VER=$(basename $PKGBASEDIR | sed -e s/ghc-//)
if [ ! -x "/usr/bin/ghc-pkg-${GHC_VER}" -a -x "$PKGBASEDIR/ghc-pkg" ]; then
GHC_PKG="$PKGBASEDIR/ghc-pkg --global-conf=$PKGCONFDIR"
else
GHC_PKG=/usr/bin/ghc-pkg
fi
case $MODE in
--provides) FIELD=id ;;
@ -45,7 +52,7 @@ for i in $files; do
esac
if [ "$META" ]; then
PKGVER=$(echo $LIB_FILE | sed -e "s%$PKGBASEDIR/\([^/]\+\)/libHS.*%\1%")
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER $FIELD | sed -e "s/^$FIELD: \+//")
HASHS=$(${GHC_PKG} -f $PKGCONFDIR field $PKGVER $FIELD | sed -e "s/^$FIELD: \+//")
for i in $HASHS; do
case $i in
*-*) echo $i | sed -e "s/\(.*\)-\(.*\)/$META(\1) = \2/" ;;
@ -53,7 +60,7 @@ for i in $files; do
esac
done
if [ "$MODE" = "--requires" -a "$SELF" ]; then
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER id | sed -e "s/^id: \+//")
HASHS=$(${GHC_PKG} -f $PKGCONFDIR field $PKGVER id | sed -e "s/^id: \+//")
for i in $HASHS; do
echo $i | sed -e "s/\(.*\)-\(.*\)/$SELF(\1) = \2/"
done
@ -64,7 +71,7 @@ for i in $files; do
if file $i | grep -q 'executable, .* dynamically linked'; then
BIN_DEPS=$(ldd $i | grep libHS | grep -v libHSrts | sed -e "s%^\\tlibHS\(.*\)-ghc${GHCVERSION}.so =.*%\1%")
for p in ${BIN_DEPS}; do
HASH=$(ghc-pkg --global field $p id | sed -e "s/^id: \+//")
HASH=$(${GHC_PKG} --global field $p id | sed -e "s/^id: \+//")
echo $HASH | sed -e "s/\(.*\)-\(.*\)/ghc(\1) = \2/"
done
fi

View File

@ -221,7 +221,9 @@ find %{buildroot} -type f -exec sh -c "file {} | grep -q 'dynamically linked'" \
%global ghc_without_dynamic 1\
%global without_prof 1\
%global without_haddock 1\
%global without_manual 1
%global without_manual 1\
# needs to be set also in ghc.spec\
%global ghc_bootstrapping 1
# skip prof libs, and documentation
# - without_hscolour needs to be set locally in the spec file

View File

@ -3,7 +3,7 @@
%global macros_file %{_sysconfdir}/rpm/macros.ghc
Name: ghc-rpm-macros
Version: 0.13.12
Version: 0.13.13
Release: 1%{?dist}
Summary: Macros for building packages for GHC
@ -60,6 +60,10 @@ EOF
%changelog
* Mon Oct 17 2011 Jens Petersen <petersen@redhat.com> - 0.13.13-1
- add ghc_bootstrapping to ghc_bootstrap for packages other than ghc
- make ghc-deps.sh also work when bootstrapping a new ghc version
* Sat Oct 15 2011 Jens Petersen <petersen@redhat.com> - 0.13.12-1
- add ghc_exclude_docdir to exclude docdir from filelists