Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 65 lines (46 sloc) 1.73 KB
#! /bin/bash
PKG=haskell
VERSION=8.10.2
BUILD=0
PREFIX=/pkg/$PKG-$VERSION-$BUILD
if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi
set -xe
umask 022
BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp
test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR )
mkdir -p $BUILD_TMPDIR/home
export TMPDIR=$BUILD_TMPDIR
export HOME=$BUILD_TMPDIR/home
exec </dev/null
mkdir -p $PREFIX
cat >$PREFIX/profile <<-EOF
PATH=$PREFIX/bin:$PREFIX/.ghcup/bin:\$PATH
export LD_LIBRARY_PATH=$PREFIX/lib\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi
EOF
. $PREFIX/profile
export MAKEFLAGS="-j $(nproc)"
BUILDDIR=$PREFIX/build
mkdir -p $BUILDDIR
cd $BUILDDIR
# https://www.haskell.org/platform/linux.html#linux-generic:
# The recommended way to install the components of the generic platform is using ghcup to install ghc and cabal-install
# and following the instructions at haskellstack.org to install stack
# https://www.haskell.org/ghcup/:
# if you don't like curl | sh, see other installation method
# ---> https://gitlab.haskell.org/haskell/ghcup-hs#manual-install
mkdir -p $PREFIX/bin
test -e $PREFIX/bin/ghcup || wget -O $PREFIX/bin/ghcup https://downloads.haskell.org/~ghcup/0.1.11/x86_64-linux-ghcup-0.1.11
chmod +x $PREFIX/bin/ghcup
mkdir -p $PREFIX/lib
cp /usr/lib/libncursesw.so $PREFIX/lib/
ln -sf libncursesw.so $PREFIX/lib/libtinfo.so.6
export GHCUP_INSTALL_BASE_PREFIX=$PREFIX
# ghcup list shows available and recomended versions
ghcup install ghc $VERSION
ghcup set ghc $VERSION
ghcup install cabal 3.2.0.0
ghcup set cabal 3.2.0.0
ghcup install hls 0.5.1
ghcup set hls 0.5.1
exit