2017-10-27 20:46:27 +02:00
|
|
|
|
# Tanım: Glasgow Haskell derleyicisi
|
2017-09-08 00:24:35 +02:00
|
|
|
|
# URL: http://www.haskell.org/haskellwiki/Glasgow_Haskell_Compiler
|
2017-10-27 20:46:27 +02:00
|
|
|
|
# Paketçi: milisarge
|
|
|
|
|
# Gerekler: docbook-xsl libedit libffi
|
2017-09-08 00:24:35 +02:00
|
|
|
|
|
|
|
|
|
name=ghc
|
|
|
|
|
version=8.0.2
|
|
|
|
|
release=1
|
|
|
|
|
source=(https://downloads.haskell.org/~ghc/$version/$name-$version-src.tar.xz)
|
|
|
|
|
|
2017-10-27 23:59:41 +02:00
|
|
|
|
derle() {
|
2017-09-08 00:24:35 +02:00
|
|
|
|
# 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 "$DERLEME_KAYNAKDIZIN/$name-$version-x86_64-centos67-linux.tar.xz" ]; then
|
|
|
|
|
|
|
|
|
|
wget http://downloads.haskell.org/~ghc/$version/$name-$version-x86_64-centos67-linux.tar.xz \
|
|
|
|
|
--output-document="$DERLEME_KAYNAKDIZIN/$name-$version-x86_64-centos67-linux.tar.xz"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
install -d tmp
|
|
|
|
|
cd tmp
|
|
|
|
|
|
|
|
|
|
bsdtar -xf "$DERLEME_KAYNAKDIZIN/$name-$version-x86_64-centos67-linux.tar.xz"
|
|
|
|
|
mv $name-$version ../$name-$version-binary
|
|
|
|
|
cd -
|
|
|
|
|
rmdir tmp
|
|
|
|
|
|
|
|
|
|
cd $name-$version-binary
|
|
|
|
|
|
|
|
|
|
# hack for gmp and ncurses for bootstrap binary ghc
|
|
|
|
|
ln -s /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
|
|
|
|
|
}
|