summaryrefslogtreecommitdiff
path: root/development/ghc/ghc.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/ghc/ghc.SlackBuild')
-rw-r--r--development/ghc/ghc.SlackBuild21
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 \