diff --git a/haskell-platform.spec b/haskell-platform.spec index 73c51f8..50181c4 100644 --- a/haskell-platform.spec +++ b/haskell-platform.spec @@ -24,7 +24,7 @@ Name: haskell-platform Version: 2022.1 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Standard Haskell distribution License: BSD @@ -45,6 +45,7 @@ Source10: https://hackage.haskell.org/package/%{projecttemplate}/%{project Source11: https://hackage.haskell.org/package/%{rioorphans}/%{rioorphans}.tar.gz Source12: https://hackage.haskell.org/package/%{casaclient}/%{casaclient}.tar.gz Source13: https://hackage.haskell.org/package/%{casatypes}/%{casatypes}.tar.gz +Source20: stack-symlink-distro-ghc # End cabal-rpm sources Patch0: stack-2.7.5-ghc-Cabal-version-warnings.patch @@ -257,6 +258,8 @@ echo %{_bindir}/haskell-mustache >> %{mustache}/ghc-mustache.files mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/ %{buildroot}%{_bindir}/stack --bash-completion-script stack | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/stack +install -p -m 644 %{SOURCE20} %{buildroot}%{_bindir}/stack-symlink-distro-ghc + %files @@ -266,11 +269,15 @@ mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/ %license %{stack}/LICENSE %doc %{stack}/CONTRIBUTING.md %{stack}/ChangeLog.md %{stack}/README.md %{_bindir}/stack +%{_bindir}/stack-symlink-distro-ghc # End cabal-rpm files %{_datadir}/bash-completion/completions/stack %changelog +* Sat Apr 30 2022 Jens Petersen - 2022.1-18 +- stack-symlink-distro-ghc script for setting up stack to use ghcX.Y + * Mon Mar 21 2022 Jens Petersen - 2022.1-17 - silence the warnings about ghc-9.2 and Cabal-3.6 diff --git a/stack-symlink-distro-ghc b/stack-symlink-distro-ghc new file mode 100755 index 0000000..b5a39ce --- /dev/null +++ b/stack-symlink-distro-ghc @@ -0,0 +1,41 @@ +#!/bin/sh + +VERSION=$1 + +if [ -z "$VERSION" ]; then + echo "Usage: $0 X.Y.Z" + exit 1 +fi + +#FIXME lib +LIBDIR=/usr/lib64/ghc-$VERSION +if [ ! -d "$LIBDIR" ]; then + echo "$LIBDIR does not exist: please install ghcX.Y first" + exit 1 +fi + +# FIXME arch +STACK_PROGRAMS=$HOME/.stack/programs/$(arch)-linux + +STACK_GHCDIR=${STACK_PROGRAMS}/ghc-tinfo6-$VERSION + +if [ -e "$STACK_GHCDIR" ]; then + echo "$STACK_GHCDIR exists: please remove first" + exit 1 +fi + +mkdir -p $STACK_GHCDIR/bin + +for i in ghc ghc-pkg ghci hp2ps hpc hsc2hs runghc runhaskell; do + if [ -x /usr/bin/$i-$VERSION ]; then + ln -s /usr/bin/$i-$VERSION $STACK_GHCDIR/bin/$i + else + ln -s /usr/bin/$i $STACK_GHCDIR/bin/$i + fi +done + +ln -s /usr/bin/haddock-ghc-$VERSION $STACK_GHCDIR/bin/haddock + +if [ ! -f "${STACK_GHCDIR}.installed" ]; then + echo "installed" > $STACK_GHCDIR.installed +fi