diff --git a/.gitignore b/.gitignore index 83c6a98..35a982e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,68 @@ haskell-platform-2010.2.0.0.tar.gz /haskell-platform-2014.2.0.0-srcdist.tar.gz /haskell-platform-7.10.3.tar.gz /haskell-platform-8.0.2.tar.gz +/haskell-platform-8.2.2.tar.gz +/filelock-0.1.1.4.tar.gz +/hi-file-parser-0.1.0.0.tar.gz +/hpack-0.31.2.tar.gz +/http-download-0.1.0.1.tar.gz +/infer-license-0.2.0.tar.gz +/mintty-0.1.2.tar.gz +/mustache-2.3.1.tar.gz +/neat-interpolation-0.3.2.6.tar.gz +/open-browser-0.2.1.0.tar.gz +/pantry-0.1.1.2.tar.gz +/project-template-0.2.0.1.tar.gz +/regex-applicative-text-0.1.0.1.tar.gz +/retry-0.8.1.0.tar.gz +/rio-orphans-0.1.1.0.tar.gz +/stack-2.1.3.1.tar.gz +/th-utilities-0.2.3.1.tar.gz +/casa-client-0.0.1.tar.gz +/casa-types-0.0.1.tar.gz +/hpack-0.34.2.tar.gz +/http-download-0.2.0.0.tar.gz +/pantry-0.4.0.1.tar.gz +/retry-0.8.1.2.tar.gz +/stack-2.3.1.tar.gz +/th-utilities-0.2.4.0.tar.gz +/filelock-0.1.1.5.tar.gz +/project-template-0.2.1.0.tar.gz +/pantry-0.4.0.2.tar.gz +/stack-2.3.3.tar.gz +/stack-2.7.3.tar.gz +/hi-file-parser-0.1.2.0.tar.gz +/hpack-0.34.4.tar.gz +/neat-interpolation-0.5.1.2.tar.gz +/pantry-0.5.2.3.tar.gz +/rio-orphans-0.1.2.0.tar.gz +/casa-types-0.0.2.tar.gz +/stack-2.7.5.tar.gz +/hpack-0.34.6.tar.gz +/mintty-0.1.3.tar.gz +/mustache-2.3.2.tar.gz +/neat-interpolation-0.5.1.3.tar.gz +/pantry-0.5.3.tar.gz +/stack-2.9.1.tar.gz +/hi-file-parser-0.1.3.0.tar.gz +/hpack-0.35.2.tar.gz +/mintty-0.1.4.tar.gz +/mustache-2.4.1.tar.gz +/pantry-0.5.7.tar.gz +/stack-2.9.3.1.tar.gz +/filelock-0.1.1.6.tar.gz +/hi-file-parser-0.1.4.0.tar.gz +/mustache-2.4.2.tar.gz +/pantry-0.8.3.tar.gz +/stack-2.15.7.tar.gz +/aeson-warning-parser-0.1.1.tar.gz +/casa-client-0.0.2.tar.gz +/companion-0.1.0.tar.gz +/crypton-conduit-0.2.3.tar.gz +/filelock-0.1.1.7.tar.gz +/hi-file-parser-0.1.6.0.tar.gz +/hpack-0.36.1.tar.gz +/http-download-0.2.1.0.tar.gz +/neat-interpolation-0.5.1.4.tar.gz +/pantry-0.9.3.2.tar.gz +/static-bytes-0.1.0.tar.gz diff --git a/haskell-platform.spec b/haskell-platform.spec index b21f04f..b4cbdbd 100644 --- a/haskell-platform.spec +++ b/haskell-platform.spec @@ -1,113 +1,214 @@ -# https://fedoraproject.org/wiki/Packaging:Haskell - -%global pkg_name haskell-platform - -%global upstream_version 8.0.2 - -%global ghc_compiler_version %{upstream_version} -%global alex_version 3.2.1 -%global cabal_install_version 1.24.0.2 -%global happy_version 1.19.5 -%global hscolour_version 1.24.1 - -%global separate_packages QuickCheck|HTTP|HUnit|StateVar|alex|cabal-install|call-stack|fgl|happy|html|integer-logarithms|mtl|network|parallel|parsec|random|regex-base|regex-compat|regex-posix|stm|syb|text|zlib|async|primitive|split|vector|attoparsec|case-insensitive|hashable|unordered-containers|xhtml|hscolour|tf-random|exceptions|transformers-compat|scientific|network-uri|old-locale|old-time +# generated by cabal-rpm-2.2.1 --subpackage +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ Name: haskell-platform -Version: 2017.%{upstream_version} -# Since library subpackages are versioned: -# - release can only be reset if all library versions get bumped simultaneously -# (eg for a major release) -# - minor release numbers should be incremented monotonically -# - haskell-src version unchanged -Release: 6%{?dist} +Version: 2024.1 +Release: 36%{?dist} Summary: Standard Haskell distribution -Group: Development/Tools -License: BSD -URL: http://www.haskell.org/platform/ -Source0: http://www.haskell.org/platform/download/%{upstream_version}/%{name}-%{upstream_version}.tar.gz +License: BSD-3-Clause +URL: https://www.haskell.org/ -BuildRequires: ghc-Cabal-devel -BuildRequires: ghc-rpm-macros-extra >= 1.6.4 - -BuildRequires: alex = %{alex_version} -BuildRequires: cabal-install = %{cabal_install_version} -BuildRequires: ghc-compiler = %{ghc_compiler_version} -BuildRequires: happy = %{happy_version} -BuildRequires: hscolour = %{hscolour_version} -# GLUT -BuildRequires: freeglut-devel%{?_isa} -# OpenGL -BuildRequires: mesa-libGL-devel%{?_isa},mesa-libGLU-devel%{?_isa} -BuildRequires: ghc-StateVar-devel -# ObjectName: -BuildRequires: ghc-transformers-devel -# haskell-src: -BuildRequires: ghc-syb-devel -# OpenGLRaw: -BuildRequires: ghc-text-devel +BuildRequires: ghc +BuildRequires: alex +BuildRequires: cabal-install +BuildRequires: happy +BuildRequires: hscolour +BuildRequires: stack # pull in all of ghc for least surprise -# even though strictly libghc is not formally part of HP -Requires: ghc = %{ghc_compiler_version} -Requires: alex = %{alex_version} -Requires: cabal-install >= %{cabal_install_version} -Requires: happy = %{happy_version} -Requires: hscolour = %{hscolour_version} -# F17: -Obsoletes: ghc-haskell-platform < %{version}-%{release} -# F26: -Obsoletes: ghc-haskell-platform-devel < %{version}-%{release} +# even though strictly libHSghc is not formally part of HP +Requires: ghc +Requires: alex +Requires: cabal-install +Requires: happy +Requires: hscolour +Requires: stack %description -Haskell Platform is a suite of stable and well used Haskell libraries -and tools. It provides a good starting environment for Haskell development. - - -%global BSDHaskellReport BSD%{space}and%{space}HaskellReport - -%global haskell_platform_version %{version} - -%if %{defined ghclibdir} -#%%ghc_lib_subpackage fgl-5.5.3.0 -%ghc_lib_subpackage fixed-0.2.1.1 -#%%ifnarch armv7hl -# OpenGLRaw-2.6.0.0 started failing: -%ghc_lib_subpackage -c mesa-libGLU-devel%{?_isa} GLURaw-2.0.0.3 -%ghc_lib_subpackage -c freeglut-devel%{?_isa} GLUT-2.7.0.10 -%ghc_lib_subpackage OpenGL-3.0.1.0 -%ghc_lib_subpackage -c mesa-libGL-devel%{?_isa} OpenGLRaw-3.2.4.0 -#%%endif -%ghc_lib_subpackage half-0.2.2.3 -%ghc_lib_subpackage haskell-src-1.0.2.0 -%ghc_lib_subpackage ObjectName-1.1.0.1 -#%%ghc_lib_subpackage StateVar-1.1.0.4 -%endif - -%global version %{haskell_platform_version} +Haskell Platform is a set of stable and well used Haskell tools. +It provides a good starting environment for Haskell development. %prep -%setup -q -n %{name}-%{upstream_version} - -mv packages/* . %build -%ghc_libs_build $(grep \-E \-v "^(%{?separate_packages})-[0-9]" etc/build.packages) %install -%ghc_libs_install $(grep \-E \-v "^(%{?separate_packages})-[0-9]" etc/build.packages) -%ghc_strip_dynlinked %files -%license LICENSE -%doc README %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2024.1-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 2024.1-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Dec 6 2024 Jens Petersen - 2024.1-34 +- stack is now packaged separately + +* Thu Aug 1 2024 Jens Petersen - 2024.1-33 +- https://hackage.haskell.org/package/stack-2.15.7/changelog + +* Thu Jul 18 2024 Fedora Release Engineering - 2023.1-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jul 8 2024 Jens Petersen - 2023.1-31 +- update to new stackage snapshots.json url + +* Thu Mar 7 2024 Jens Petersen - 2023.1-30 +- stack-symlink-distro-ghc: workaround for ppc64le and no longer error + for existing dir + +* Wed Jan 24 2024 Fedora Release Engineering - 2023.1-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 2023.1-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 15 2023 Jens Petersen - 2023.1-27 +- patch Stack.Setup to accept PPC64 and S390X Linux platforms + +* Tue Nov 7 2023 Jens Petersen - 2023.1-26 +- make stack-symlink-distro-ghc executable + +* Tue Aug 8 2023 Jens Petersen - 2023.1-25 +- bring back the stack InvalidAbsFile patch updated for 2.9.3 + https://github.com/commercialhaskell/stack/pull/6028 +- disable warnings about untested ghc and Cabal versions + +* Sat Jul 29 2023 Jens Petersen - 2023.1-24 +- stack-2.9.3.1 +- https://hackage.haskell.org/package/stack-2.9.3.1/changelog + +* Thu Jul 20 2023 Fedora Release Engineering - 2022.2-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Apr 11 2023 Jens Petersen - 2022.2-22 +- backport fix for error: InvalidAbsFile "/usr/lib64/ghc-9.2.3/lib/../lib/x86_64-linux-ghc-9.2.3/rts-1.0.2/include/ghcversion.h" (#5866) + +* Tue Feb 21 2023 Jens Petersen - 2022.2-21 +- update to stack 2.9.1 +- https://hackage.haskell.org/package/stack-2.9.1/changelog +- SPDX migration + +* Thu Jul 21 2022 Fedora Release Engineering - 2022.1-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 20 2022 Jens Petersen - 2022.1-19 +- rebuild + +* 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 + +* Sun Mar 20 2022 Jens Petersen - 2022.1-16 +- https://hackage.haskell.org/package/stack-2.7.5/changelog +- drop regex-applicative-text library + +* Thu Jan 20 2022 Fedora Release Engineering - 2021.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Miro HronĨok - 2021.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 + +* Tue Aug 10 2021 Jens Petersen - 2021.1-13 +- stack-2.7.3 +- https://github.com/commercialhaskell/stack/releases/tag/v2.7.3 + +* Thu Jul 22 2021 Fedora Release Engineering - 2020.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 8 2021 Jens Petersen - 2020.2-11 +- use ghc_delete_rpaths + +* Thu Mar 18 2021 Jens Petersen - 2020.2-10 +- retry was packaged in Fedora + +* Tue Jan 26 2021 Fedora Release Engineering - 2020.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Jan 24 2021 Jens Petersen - 2020.2-8 +- infer-license was packaged + +* Sun Jan 17 2021 Jens Petersen - 2020.2-7 +- th-utilities is not longer needed for pantry/store + +* Fri Sep 18 2020 Jens Petersen +- stack: use recommends for zlib-devel + +* Wed Sep 16 2020 Jens Petersen - 2020.2-6 +- stack requires gmp-devel and gcc + https://github.com/commercialhaskell/stack/issues/5388 + +* Tue Aug 11 2020 Jens Petersen - 2020.2-5 +- stack-2.3.3 +- https://github.com/commercialhaskell/stack/releases/tag/v2.3.3 + +* Tue Jul 28 2020 Fedora Release Engineering - 2020.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jun 25 2020 Jens Petersen - 2020.2-3 +- update stack to 2.3.1 + +* Sat May 2 2020 Jens Petersen +- generate bash completions + +* Sun Apr 12 2020 Jens Petersen - 2020.1-2 +- stack requires ghc-zlib-devel for ghc +- stack: silence warnings about ghc-8.8 and Cabal-3.0 + +* Wed Apr 8 2020 Jens Petersen - 2020.1-1 +- subpackage stack package tool + +* Wed Jan 29 2020 Fedora Release Engineering - 2019.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 2019.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 9 2019 Jens Petersen - 2019.1-2 +- move obsoletes to ghc-obsoletes to not pull in this heavy package + +* Wed May 8 2019 Jens Petersen - 2019.1-1 +- haskell-platform is now just a meta-package +- obsolete previous subpackaged Haskell Platform libraries +- package is now noarch + +* Fri Feb 01 2019 Fedora Release Engineering - 2018.8.2.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 28 2018 Jens Petersen - 2018.8.2.2-14 +- refresh to lts-11 + +* Fri Jul 13 2018 Fedora Release Engineering - 2017.8.2.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 15 2018 Jens Petersen - 2017.8.2.2-12 +- remove _isa from buildrequires (#1545187) + +* Wed Feb 07 2018 Fedora Release Engineering - 2017.8.2.2-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Feb 5 2018 Jens Petersen - 2017.8.2.2-10 +- update to upstream 8.2.2 release + +* Fri Jan 26 2018 Jens Petersen - 2017.8.0.2-9 +- rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 2017.8.0.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2017.8.0.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Mon Mar 13 2017 Jens Petersen - 2017.8.0.2-6 - enable prof libraries diff --git a/sources b/sources index 8062565..e69de29 100644 --- a/sources +++ b/sources @@ -1 +0,0 @@ -SHA512 (haskell-platform-8.0.2.tar.gz) = 615be108e878190c97d4b1eaadace86163ca8b334bb19f5a7a2fd13fc837d5bc7a1b22db27a0dac9d095e7269ca3e56c1eded447bfa71c515f9f5bca40ce0199 diff --git a/stack-Setup-Platforms.patch b/stack-Setup-Platforms.patch new file mode 100644 index 0000000..b557d44 --- /dev/null +++ b/stack-Setup-Platforms.patch @@ -0,0 +1,11 @@ +--- stack-2.15.7/src/Stack/Setup.hs~ 2024-05-12 22:50:14.000000000 +0800 ++++ stack-2.15.7/src/Stack/Setup.hs 2024-08-02 01:11:32.252316054 +0800 +@@ -2138,6 +2138,8 @@ + Platform Sparc Cabal.Linux -> pure "linux-sparc" + Platform AArch64 Cabal.OSX -> pure "macosx-aarch64" + Platform AArch64 Cabal.FreeBSD -> pure "freebsd-aarch64" ++ Platform PPC64 Cabal.Linux -> pure "linux-ppc64" ++ Platform S390X Cabal.Linux -> pure "linux-s390x" + Platform arch os -> + prettyThrowM $ UnsupportedSetupCombo os arch tool toolDir programsDir + diff --git a/stack-disable-ghc-Cabal-version-warnings.patch b/stack-disable-ghc-Cabal-version-warnings.patch new file mode 100644 index 0000000..2bedd29 --- /dev/null +++ b/stack-disable-ghc-Cabal-version-warnings.patch @@ -0,0 +1,38 @@ +--- stack-2.9.3.1/src/Stack/Setup.hs~ 2023-06-22 18:40:54.000000000 +0800 ++++ stack-2.9.3.1/src/Stack/Setup.hs 2023-08-08 14:29:43.486062926 +0800 +@@ -719,12 +719,12 @@ + logWarn "For more information, see: https://github.com/commercialhaskell/stack/issues/648" + logWarn "" + pure True +- | ghcVersion >= mkVersion [9, 5] -> do +- logWarn $ +- "Stack has not been tested with GHC versions above 9.4, and using " <> +- fromString (versionString ghcVersion) <> +- ", this may fail" +- pure True ++ -- | ghcVersion >= mkVersion [9, 5] -> do ++ -- logWarn $ ++ -- "Stack has not been tested with GHC versions above 9.4, and using " <> ++ -- fromString (versionString ghcVersion) <> ++ -- ", this may fail" ++ -- pure True + | otherwise -> do + logDebug "Asking for a supported GHC version" + pure False +@@ -746,11 +746,11 @@ + logWarn "This invocation will most likely fail." + logWarn "To fix this, either use an older version of Stack or a newer resolver" + logWarn "Acceptable resolvers: lts-3.0/nightly-2015-05-05 or later" +- | cabalVersion >= mkVersion [3, 9] -> +- logWarn $ +- "Stack has not been tested with Cabal versions above 3.8, but version " <> +- fromString (versionString cabalVersion) <> +- " was found, this may fail" ++ -- | cabalVersion >= mkVersion [3, 9] -> ++ -- logWarn $ ++ -- "Stack has not been tested with Cabal versions above 3.8, but version " <> ++ -- fromString (versionString cabalVersion) <> ++ -- " was found, this may fail" + | otherwise -> pure () + + -- | Ensure that the msys toolchain is installed if necessary and diff --git a/stack-disabled-global-warnings.patch b/stack-disabled-global-warnings.patch new file mode 100644 index 0000000..fd4525d --- /dev/null +++ b/stack-disabled-global-warnings.patch @@ -0,0 +1,49 @@ +diff -up stack-2.15.7/src/Stack/Config.hs~ stack-2.15.7/src/Stack/Config.hs +--- stack-2.15.7/src/Stack/Config.hs~ 2024-05-12 22:50:13.000000000 +0800 ++++ stack-2.15.7/src/Stack/Config.hs 2024-08-02 01:21:01.138918479 +0800 +@@ -435,9 +435,9 @@ configFromConfigMonoid + fromFirst Constants.hackageBaseUrl configMonoid.hackageBaseUrl + hideSourcePaths = fromFirstTrue configMonoid.hideSourcePaths + recommendUpgrade = fromFirstTrue configMonoid.recommendUpgrade +- notifyIfNixOnPath = fromFirstTrue configMonoid.notifyIfNixOnPath +- notifyIfGhcUntested = fromFirstTrue configMonoid.notifyIfGhcUntested +- notifyIfCabalUntested = fromFirstTrue configMonoid.notifyIfCabalUntested ++ notifyIfNixOnPath = fromFirstFalse configMonoid.notifyIfNixOnPath ++ notifyIfGhcUntested = fromFirstFalse configMonoid.notifyIfGhcUntested ++ notifyIfCabalUntested = fromFirstFalse configMonoid.notifyIfCabalUntested + notifyIfArchUnknown = fromFirstTrue configMonoid.notifyIfArchUnknown + noRunCompile = fromFirstFalse configMonoid.noRunCompile + allowDifferentUser <- +diff -up stack-2.15.7/src/Stack/Types/ConfigMonoid.hs~ stack-2.15.7/src/Stack/Types/ConfigMonoid.hs +--- stack-2.15.7/src/Stack/Types/ConfigMonoid.hs~ 2024-05-12 22:50:14.000000000 +0800 ++++ stack-2.15.7/src/Stack/Types/ConfigMonoid.hs 2024-08-02 01:20:22.724711778 +0800 +@@ -170,11 +170,11 @@ data ConfigMonoid = ConfigMonoid + -- ^ See 'configHideSourcePaths' + , recommendUpgrade :: !FirstTrue + -- ^ See 'configRecommendUpgrade' +- , notifyIfNixOnPath :: !FirstTrue ++ , notifyIfNixOnPath :: !FirstFalse + -- ^ See 'configNotifyIfNixOnPath' +- , notifyIfGhcUntested :: !FirstTrue ++ , notifyIfGhcUntested :: !FirstFalse + -- ^ See 'configNotifyIfGhcUntested' +- , notifyIfCabalUntested :: !FirstTrue ++ , notifyIfCabalUntested :: !FirstFalse + -- ^ See 'configNotifyIfCabalUntested' + , notifyIfArchUnknown :: !FirstTrue + -- ^ See 'configNotifyIfArchUnknown' +@@ -317,11 +317,11 @@ parseConfigMonoidObject rootDir obj = do + let styles = fromMaybe mempty $ configMonoidStylesUS <|> configMonoidStylesGB + hideSourcePaths <- FirstTrue <$> obj ..:? configMonoidHideSourcePathsName + recommendUpgrade <- FirstTrue <$> obj ..:? configMonoidRecommendUpgradeName +- notifyIfNixOnPath <- FirstTrue <$> obj ..:? configMonoidNotifyIfNixOnPathName ++ notifyIfNixOnPath <- FirstFalse <$> obj ..:? configMonoidNotifyIfNixOnPathName + notifyIfGhcUntested <- +- FirstTrue <$> obj ..:? configMonoidNotifyIfGhcUntestedName ++ FirstFalse <$> obj ..:? configMonoidNotifyIfGhcUntestedName + notifyIfCabalUntested <- +- FirstTrue <$> obj ..:? configMonoidNotifyIfCabalUntestedName ++ FirstFalse <$> obj ..:? configMonoidNotifyIfCabalUntestedName + notifyIfArchUnknown <- + FirstTrue <$> obj ..:? configMonoidNotifyIfArchUnknownName + casaOpts <- jsonSubWarnings (obj ..:? configMonoidCasaOptsName ..!= mempty) diff --git a/stack-symlink-distro-ghc b/stack-symlink-distro-ghc new file mode 100755 index 0000000..894dba8 --- /dev/null +++ b/stack-symlink-distro-ghc @@ -0,0 +1,51 @@ +#!/bin/sh + +VERSION=$1 + +if [ -z "$VERSION" ]; then + echo "Usage: $0 X.Y.Z" + exit 1 +fi + +#set +x + +#FIXME lib +LIBDIR=/usr/lib64/ghc-$VERSION +if [ ! -d "$LIBDIR" ]; then + echo "$0: $LIBDIR does not exist: please install ghcX.Y first" + exit 1 +fi + +ARCH=$(arch) + +# stack/Cabal doesn't know ppc64le +if [ "$ARCH" = "ppc64le" ]; then + ARCH=ppc64 +fi + +STACK_PROGRAMS=$HOME/.stack/programs/$ARCH-linux + +STACK_GHCDIR=${STACK_PROGRAMS}/ghc-tinfo6-$VERSION + +if [ -e "$STACK_GHCDIR" ]; then + echo "$0: $STACK_GHCDIR exists: to replace, please remove first" + exit 0 +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 + elif [ -x /usr/bin/$i-ghc-$VERSION ]; then + ln -s /usr/bin/$i-ghc-$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