haskell/ghc: Updated for version 7.8.4.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Mikko Värri 2015-03-29 22:04:27 +07:00 committed by Willy Sudiarto Raharjo
parent dc653d708e
commit 7cfb6ccc32
3 changed files with 73 additions and 18 deletions

View file

@ -1,3 +1,11 @@
GHC is a state-of-the-art, open source, compiler and interactive environment
for the functional language Haskell. This is a complete build, including
interactive system and profiling libraries and documentation.
You will need 4.3G of free space in /tmp/SBo to build this package.
In theory, if you already have ghc 7.4 or newer on your build host,
you can skip the bootstrapping done by this script by passing
BOOTSTRAP=no environment variable to this script. In that case, you
also do not have to download the bindist, just the ghc-*-src.tar.xz.
This is not recommended, though, since it is poorly tested.

View file

@ -2,7 +2,7 @@
# Slackware build script for ghc
# Copyright 2013 Mikko Värri, Finland
# Copyright 2015 Mikko Värri, Finland
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ghc
VERSION=${VERSION:-7.6.2}
VERSION=${VERSION:-7.8.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -61,25 +61,68 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
if [ "${BOOTSTRAP:-yes}" == "yes" ] ; then
BOOTSTRAPDIR=$TMP/$PRGNAM-$VERSION-bootstrap
rm -rf $BOOTSTRAPDIR
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION-$TARARCH-unknown-linux-deb7.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=$BOOTSTRAPDIR/usr \
--mandir=$BOOTSTRAPDIR/usr/man \
--docdir=$BOOTSTRAPDIR/usr/doc/$PRGNAM-$VERSION \
--libdir=$BOOTSTRAPDIR/usr/lib${LIBDIRSUFFIX}
# GHC binary distributions are compiled in an environment where
# libncurses is compiled as two separate libraries: libncurses and
# libtinfo. Slackware has all the symbols of libtinfo in libncurses,
# so we can soft link libtinfo to libncurses. But let's not do that
# system wide. The link is needed both during build ('make install')
# and during runtime (/usr/bin/ghc*).
LIBTINFO_DIR=$BOOTSTRAPDIR/usr/lib$LIBDIRSUFFIX
mkdir -p $LIBTINFO_DIR
ln -s /lib$LIBDIRSUFFIX/libncurses.so.5 $LIBTINFO_DIR/libtinfo.so.5
LD_LIBRARY_PATH=$LIBTINFO_DIR \
make install
sed -i -r -e "s|^exec |LD_LIBRARY_PATH=$LIBTINFO_DIR exec |" $BOOTSTRAPDIR/usr/bin/ghc{,-pkg}-$VERSION
BOOTSTRAPGHC=$BOOTSTRAPDIR/usr/bin/ghc
else
BOOTSTRAPGHC=$( which ghc 2>/dev/null )
fi
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION-$TARARCH-unknown-linux.tar.bz2
tar xvf $CWD/$PRGNAM-$VERSION-src.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--libdir=/usr/lib${LIBDIRSUFFIX}
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-ghc=$BOOTSTRAPGHC
make
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
@ -87,7 +130,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
find $PKG/usr/man -type f -exec gzip -9 {} \;
cp -a INSTALL LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install

View file

@ -1,10 +1,14 @@
PRGNAM="ghc"
VERSION="7.6.2"
VERSION="7.8.4"
HOMEPAGE="http://haskell.org/ghc/"
DOWNLOAD="http://www.haskell.org/ghc/dist/7.6.2/ghc-7.6.2-i386-unknown-linux.tar.bz2"
MD5SUM="287d6c934f325a34fa4fcd96d26eb0e6"
DOWNLOAD_x86_64="http://www.haskell.org/ghc/dist/7.6.2/ghc-7.6.2-x86_64-unknown-linux.tar.bz2"
MD5SUM_x86_64="230270a985c522af939d9c71aa76343f"
DOWNLOAD="http://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz \
http://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-src.tar.xz"
MD5SUM="33aa682a0c6db4b5c78a24f1c693d59b \
91f74cf9d813603cc3145528db4bbead"
DOWNLOAD_x86_64="http://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz \
http://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-src.tar.xz"
MD5SUM_x86_64="a8e26cbf09c1764c92b971d1192e7bfa \
91f74cf9d813603cc3145528db4bbead"
REQUIRES=""
MAINTAINER="Mikko Värri"
EMAIL="vmj@linuxbox.fi"