diff options
Diffstat (limited to 'development/ghc/ghc.SlackBuild')
-rw-r--r-- | development/ghc/ghc.SlackBuild | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/development/ghc/ghc.SlackBuild b/development/ghc/ghc.SlackBuild index 5b7b3c12ab..8d4f600d77 100644 --- a/development/ghc/ghc.SlackBuild +++ b/development/ghc/ghc.SlackBuild @@ -6,7 +6,7 @@ # Public domain. PRGNAM=ghc -VERSION=${VERSION:-6.12.3} +VERSION=${VERSION:-7.0.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -46,7 +46,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION-$TARARCH-unknown-linux-n.tar.bz2 +tar xvf $CWD/$PRGNAM-$VERSION-$TARARCH-unknown-linux.tar.bz2 cd $PRGNAM-$VERSION chown -R root:root . find . \ @@ -55,6 +55,23 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +if [ "$TARARCH" = "i386" ] ; then + # In i386 binary distribution, the prebuilt binaries used to install GHC + # are linked against libffi.so.5, but slackware ships with libffi.so.4 + # (in d/gcc-java). + # Luckily, GHC includes its own copy of libffi. It's only under different + # name (to avoid conflicts with system libffi). + # For the duration of the "configure && make install", let's copy the + # bundled libffi to expected name. + cp libffi/dist-install/build/libHSffi-ghc${VERSION}.so libffi/libffi.so.5 + if [ "x$LD_LIBRARY_PATH" = "x" ] ; then + LD_LIBRARY_PATH=$TMP/$PRGNAM-$VERSION/libffi/ + else + LD_LIBRARY_PATH=$TMP/$PRGNAM-$VERSION/libffi/:$LD_LIBRARY_PATH + fi + export LD_LIBRARY_PATH +fi + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ |