Skip to content

Add haskell-8.10.2-0 #133

Merged
merged 1 commit into from
Oct 23, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions haskell-8.10.2-0.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#! /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
Comment on lines +48 to +50
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thomas, as you can see here, the shared library from the current Ncurses in MarIuX is used. So, that’s not the reason. ;-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How should the bee file look which installs libtinfo.so from ncurses?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A dedicated compatibility package.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean an update to curses v.6 (or even 5.9 would be a big jump), and try on an compat package for the old one. I guess this is going to be sporty.


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