Skip to content

Commit

Permalink
haskell: update ghc to 9.2.2 and add pandoc
Browse files Browse the repository at this point in the history
Christmas is there. Pandoc is now in the haskell pkg. Also
some useful libraries are added.

There is already a version 9.2.3 of the ghc but that is not
compatible with the hls. Therefore I decided to take 9.2.2.
  • Loading branch information
niclas committed Jul 8, 2022
1 parent 4bbb6ba commit a6c759c
Showing 1 changed file with 70 additions and 0 deletions.
70 changes: 70 additions & 0 deletions haskell-9.2.2-0.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#! /bin/bash

PKG=haskell
VERSION=9.2.2
BUILD=0

GHCUP_VERSION=0.1.17.8

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/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION
chmod +x $PREFIX/bin/ghcup

mkdir -p $PREFIX/lib
cp /usr/lib/libncursesw.so $PREFIX/lib/

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.6.2.0
ghcup set cabal 3.6.2.0

ghcup install hls 1.7.0.0
ghcup set hls 1.7.0.0

cabal update
cabal install pandoc
cabal install --lib primes rio

exit

0 comments on commit a6c759c

Please sign in to comment.