contrib/ghc/Pkgfile

65 lines
2.0 KiB
Plaintext

# Description: Glasgow Haskell compiler.
# URL: https://www.haskell.org/haskellwiki/Glasgow_Haskell_Compiler
# Maintainer: Danny Rawlins, crux at romster dot me
# Depends on: docbook-xsl libedit libffi libgmp readline
name=ghc
version=8.6.5
_bversion=8.6.3
release=1
_bootstrapsum=355bd85c69933c31bbe99b4269ce719acfd0aad0b45e359ac39b9bb13996acc6
#curl -s http://downloads.haskell.org/~ghc/$version/SHA256SUMS | grep ./ghc-$version-x86_64-centos7-linux.tar.xz | cut -d' ' -f1
source=(https://downloads.haskell.org/~ghc/$version/$name-$version-src.tar.xz)
build() {
# if ghc is not previously installed bootstrap it
if [ ! -e '/usr/bin/ghc' ]; then
# download binary bootstrap file if it does not exist
if [ ! -f "$PKGMK_SOURCE_DIR/$name-$_bversion-x86_64-centos7-linux.tar.xz" ]; then
wget "http://downloads.haskell.org/~ghc/$_bversion/$name-$_bversion-x86_64-centos7-linux.tar.xz" \
--output-document="$PKGMK_SOURCE_DIR/$name-$_bversion-x86_64-centos7-linux.tar.xz"
fi
if [ $_bootstrapsum != $(sha256sum "$PKGMK_SOURCE_DIR/$name-$_bversion-x86_64-centos7-linux.tar.xz" | cut -d' ' -f1) ]; then
echo "Error Bootstrap file $PKGMK_SOURCE_DIR/$name-$_bversion-x86_64-centos7-linux.tar.xz failed sha256sum"
exit $E_GENERAL
fi
mkdir tmp
cd tmp
bsdtar -xf "$PKGMK_SOURCE_DIR/$name-$_bversion-x86_64-centos7-linux.tar.xz"
mv $name-$_bversion ../$name-$_bversion-binary
cd -
rmdir tmp
cd $name-$_bversion-binary
# hack for gmp and ncurses for bootstrap binary ghc
ln -s /usr/lib/libgmp.so.10 libgmp.so.3
ln -s /lib/libncurses.so.6 libtinfo.so.5
export LD_LIBRARY_PATH="$(pwd):$LD_LIBRARY_PATH"
./configure --prefix=$SRC/binary
make install
cd $SRC
export PATH="$SRC/binary/bin:$PATH"
fi
cd $name-$version
./configure \
--prefix=/usr \
--docdir=/usr/share/doc/ghc \
--with-system-libffi \
--with-ffi-includes=$(pkg-config --variable=includedir libffi)
make
make -j1 DESTDIR=$PKG install
rm -r $PKG/usr/share/doc
}