Browse Source

haskell/ghc: Updated for version 8.4.3.

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
pull/53/head
David Spencer 7 years ago
committed by Willy Sudiarto Raharjo
parent
commit
3d5d0ac568
No known key found for this signature in database GPG Key ID: 887B8374D7333381
  1. 6
      haskell/ghc/README
  2. 2061
      haskell/ghc/ghc.1
  3. 105
      haskell/ghc/ghc.SlackBuild
  4. 24
      haskell/ghc/ghc.info
  5. 2
      haskell/ghc/slack-desc

6
haskell/ghc/README

@ -4,8 +4,4 @@ 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.
Optional dependency: Sphinx (for building the documentation).

2061
haskell/ghc/ghc.1
File diff suppressed because it is too large
View File

105
haskell/ghc/ghc.SlackBuild

@ -3,6 +3,7 @@
# Slackware build script for ghc
# Copyright 2015 Mikko Värri, Finland
# Updated 2018 David Spencer, Baildon, West Yorkshire, U.K.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -23,13 +24,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ghc
VERSION=${VERSION:-7.10.3}
VERSION=${VERSION:-8.4.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@ -40,8 +41,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
TARARCH=i386
elif [ "$ARCH" = "i686" ]; then
@ -62,45 +63,45 @@ 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-deb8-linux.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
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-deb8-linux.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 )
BOOTSTRAPGHC=$( which ghc 2>/dev/null )
fi
cd $TMP
@ -117,18 +118,28 @@ find -L . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-ghc=$BOOTSTRAPGHC
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--with-ghc=$BOOTSTRAPGHC
make
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# If docs were not built and installed, let's install the prebuilt manpage
# (taken from ghc-8.4.3-x86_64-deb8-linux.tar.xz)
if [ ! -d $PKG/usr/man ]; then
install -D -m0644 $CWD/ghc.1 $PKG/usr/man/man1
fi
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

24
haskell/ghc/ghc.info

@ -1,14 +1,14 @@
PRGNAM="ghc"
VERSION="7.10.3"
HOMEPAGE="http://haskell.org/ghc/"
DOWNLOAD="https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-deb8-linux.tar.xz \
https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-src.tar.xz"
MD5SUM="e695560e45251e70ae1fd433044ae120 \
00104e629bfda9f956c23752b5f38613"
DOWNLOAD_x86_64="https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-deb8-linux.tar.xz \
https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-src.tar.xz"
MD5SUM_x86_64="c9ea458e25a90bcce5fe1269e014bfed \
00104e629bfda9f956c23752b5f38613"
VERSION="8.4.3"
HOMEPAGE="https://haskell.org/ghc/"
DOWNLOAD="https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-i386-deb8-linux.tar.xz \
https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-src.tar.xz"
MD5SUM="fcd2b5c34a3276146731dc34d0dc4694 \
5aebdda828eb544578b80132a1658315"
DOWNLOAD_x86_64="https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb8-linux.tar.xz \
https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-src.tar.xz"
MD5SUM_x86_64="99b63b934ed9f9659ac4adc3b711a3c0 \
5aebdda828eb544578b80132a1658315"
REQUIRES=""
MAINTAINER="Mikko Värri"
EMAIL="vmj@linuxbox.fi"
MAINTAINER="David Spencer"
EMAIL="baildon.research@googlemail.com"

2
haskell/ghc/slack-desc

@ -13,7 +13,7 @@ ghc: environment for the functional language Haskell.
ghc: This is a complete build, including interactive system, profiling
ghc: libraries and documentation.
ghc:
ghc: Homepage: http://haskell.org/ghc/
ghc: Homepage: https://haskell.org/ghc/
ghc:
ghc:
ghc:
Loading…
Cancel
Save