fix ghc-deps.sh for without_shared libraries
This commit is contained in:
parent
ee9ff3e826
commit
1f4312aeaa
76
ghc-deps.sh
76
ghc-deps.sh
|
@ -18,6 +18,8 @@ case $MODE in
|
||||||
*) echo "`basename $0`: Need --provides or --requires" ; exit 1
|
*) echo "`basename $0`: Need --provides or --requires" ; exit 1
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
SHARED=$(find $PKGBASEDIR -type f -name '*.so')
|
||||||
|
|
||||||
GHCVERSION=$(ghc --numeric-version)
|
GHCVERSION=$(ghc --numeric-version)
|
||||||
|
|
||||||
files=$(cat)
|
files=$(cat)
|
||||||
|
@ -25,42 +27,46 @@ files=$(cat)
|
||||||
#set -x
|
#set -x
|
||||||
|
|
||||||
for i in $files; do
|
for i in $files; do
|
||||||
LIB_FILE=$(echo $i | grep /libHS | egrep -v "$PKGBASEDIR/libHS")
|
LIB_FILE=$(echo $i | grep /libHS | egrep -v "$PKGBASEDIR/libHS")
|
||||||
if [ -n "$LIB_FILE" ]; then
|
if [ -n "$LIB_FILE" ]; then
|
||||||
if [ -d "$PKGCONFDIR" ]; then
|
if [ -d "$PKGCONFDIR" ]; then
|
||||||
META=""
|
META=""
|
||||||
SELF=""
|
SELF=""
|
||||||
case $LIB_FILE in
|
case $LIB_FILE in
|
||||||
*.so) META=ghc ;;
|
*.so) META=ghc ;;
|
||||||
*_p.a) META=ghc-prof SELF=ghc-devel ;;
|
*_p.a) META=ghc-prof SELF=ghc-devel ;;
|
||||||
*.a) META=ghc-devel SELF=ghc ;;
|
*.a) META=ghc-devel
|
||||||
esac
|
if [ -n "$SHARED" ]; then
|
||||||
if [ -n "$META" ]; then
|
SELF=ghc
|
||||||
PKGVER=$(echo $LIB_FILE | sed -e "s%$PKGBASEDIR/\([^/]\+\)/libHS.*%\1%")
|
fi
|
||||||
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER $FIELD | sed -e "s/^$FIELD: \+//")
|
;;
|
||||||
for i in $HASHS; do
|
esac
|
||||||
case $i in
|
if [ -n "$META" ]; then
|
||||||
*-*) echo $i | sed -e "s/\(.*\)-\(.*\)/$META(\1) = \2/" ;;
|
PKGVER=$(echo $LIB_FILE | sed -e "s%$PKGBASEDIR/\([^/]\+\)/libHS.*%\1%")
|
||||||
*) ;;
|
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER $FIELD | sed -e "s/^$FIELD: \+//")
|
||||||
esac
|
for i in $HASHS; do
|
||||||
done
|
case $i in
|
||||||
if [ "$MODE" = "--requires" -a -n "$SELF" ]; then
|
*-*) echo $i | sed -e "s/\(.*\)-\(.*\)/$META(\1) = \2/" ;;
|
||||||
HASHS=$(ghc-pkg -f $PKGCONFDIR field $PKGVER id | sed -e "s/^id: \+//")
|
*) ;;
|
||||||
for i in $HASHS; do
|
esac
|
||||||
echo $i | sed -e "s/\(.*\)-\(.*\)/$SELF(\1) = \2/"
|
done
|
||||||
done
|
if [ "$MODE" = "--requires" -a -n "$SELF" ]; then
|
||||||
fi
|
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
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif [ "$MODE" = "--requires" ]; then
|
||||||
|
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: \+//")
|
||||||
|
echo $HASH | sed -e "s/\(.*\)-\(.*\)/ghc(\1) = \2/"
|
||||||
|
done
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
elif [ "$MODE" = "--requires" ]; then
|
|
||||||
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: \+//")
|
|
||||||
echo $HASH | sed -e "s/\(.*\)-\(.*\)/ghc(\1) = \2/"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo $files | tr [:blank:] '\n' | /usr/lib/rpm/rpmdeps $MODE
|
echo $files | tr [:blank:] '\n' | /usr/lib/rpm/rpmdeps $MODE
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# RPM Macros for packaging Haskell cabalized packages
|
||||||
|
# see https://fedoraproject.org/wiki/PackagingDrafts/Haskell for more details
|
||||||
|
|
||||||
# "cabal"
|
# "cabal"
|
||||||
%cabal [ -x Setup ] || ghc --make -dynamic Setup\
|
%cabal [ -x Setup ] || ghc --make -dynamic Setup\
|
||||||
./Setup
|
./Setup
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Name: ghc-rpm-macros
|
Name: ghc-rpm-macros
|
||||||
Version: 0.11.6
|
Version: 0.11.7
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Macros for building packages for GHC
|
Summary: Macros for building packages for GHC
|
||||||
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
|
@ -47,6 +47,9 @@ install -p %{SOURCE3} ${RPM_BUILD_ROOT}/%{_prefix}/lib/rpm
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 10 2011 Jens Petersen <petersen@redhat.com> - 0.11.7-1
|
||||||
|
- fix ghc-deps.sh for without_shared libraries
|
||||||
|
|
||||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.6-2
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.6-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue