diff --git a/.gitignore b/.gitignore index 939929b..35a982e 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,15 @@ haskell-platform-2010.2.0.0.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/6028-2.9.3.1.patch b/6028-2.9.3.1.patch deleted file mode 100644 index 59005a8..0000000 --- a/6028-2.9.3.1.patch +++ /dev/null @@ -1,130 +0,0 @@ -diff -ur stack-2.9.3.1/src/Path/Extra.hs stack-2.9.3.1.new/src/Path/Extra.hs ---- stack-2.9.3.1/src/Path/Extra.hs 2023-06-22 18:40:54.000000000 +0800 -+++ stack-2.9.3.1.new/src/Path/Extra.hs 2023-08-08 13:55:22.550467487 +0800 -@@ -15,6 +15,8 @@ - , pathToLazyByteString - , pathToText - , tryGetModificationTime -+ ,forgivingResolveFile -+ ,forgivingResolveFile' - ) where - - import Data.Time ( UTCTime ) -@@ -27,6 +29,7 @@ - import qualified Data.ByteString.Lazy.Char8 as BSL - import qualified Data.Text as T - import qualified Data.Text.Encoding as T -+import qualified System.Directory as D - import qualified System.FilePath as FP - - -- | Convert to FilePath but don't add a trailing slash. -@@ -121,3 +124,30 @@ - - tryGetModificationTime :: MonadIO m => Path Abs File -> m (Either () UTCTime) - tryGetModificationTime = liftIO . tryJust (guard . isDoesNotExistError) . getModificationTime -+ -+-- | 'Path.IO.resolveFile' (@path-io@ package) throws 'InvalidAbsFile' (@path@ -+-- package) if the file does not exist; this function yields 'Nothing'. -+forgivingResolveFile :: -+ MonadIO m -+ => Path Abs Dir -+ -- ^ Base directory -+ -> FilePath -+ -- ^ Path to resolve -+ -> m (Maybe (Path Abs File)) -+forgivingResolveFile b p = liftIO $ -+ D.canonicalizePath (toFilePath b FP. p) >>= \cp -> -+ catch -+ (Just <$> parseAbsFile cp) -+ ( \e -> case e of -+ InvalidAbsFile _ -> pure Nothing -+ _ -> throwIO e -+ ) -+ -+-- | 'Path.IO.resolveFile'' (@path-io@ package) throws 'InvalidAbsFile' (@path@ -+-- package) if the file does not exist; this function yields 'Nothing'. -+forgivingResolveFile' :: -+ MonadIO m -+ => FilePath -+ -- ^ Path to resolve -+ -> m (Maybe (Path Abs File)) -+forgivingResolveFile' p = getCurrentDir >>= flip forgivingResolveFile p -diff -ur stack-2.9.3.1/src/Stack/Build/Execute.hs stack-2.9.3.1.new/src/Stack/Build/Execute.hs ---- stack-2.9.3.1/src/Stack/Build/Execute.hs 2023-06-22 18:40:54.000000000 +0800 -+++ stack-2.9.3.1.new/src/Stack/Build/Execute.hs 2023-08-08 13:57:36.831258806 +0800 -@@ -66,6 +66,10 @@ - import Path - import Path.CheckInstall - import Path.Extra ( toFilePathNoTrailingSep, rejectMissingFile ) -+import Path.Extra -+ ( forgivingResolveFile, rejectMissingFile -+ , toFilePathNoTrailingSep -+ ) - import Path.IO - hiding ( findExecutable, makeAbsolute, withSystemTempDir ) - import RIO.Process -@@ -548,7 +552,7 @@ - case loc of - Snap -> snapBin - Local -> localBin -- mfp <- liftIO $ forgivingAbsence (resolveFile bindir $ T.unpack name ++ ext) -+ mfp <- liftIO $ forgivingResolveFile bindir (T.unpack name ++ ext) - >>= rejectMissingFile - case mfp of - Nothing -> do -@@ -2195,7 +2199,7 @@ - mabs <- - if isValidSuffix y - then liftIO $ liftM (fmap ((T.takeWhile isSpace x <>) . T.pack . toFilePath)) $ -- forgivingAbsence (resolveFile pkgDir (T.unpack $ T.dropWhile isSpace x)) `catch` -+ forgivingResolveFile pkgDir (T.unpack $ T.dropWhile isSpace x) `catch` - \(_ :: PathException) -> pure Nothing - else pure Nothing - case mabs of -diff -ur stack-2.9.3.1/src/Stack/ComponentFile.hs stack-2.9.3.1.new/src/Stack/ComponentFile.hs ---- stack-2.9.3.1/src/Stack/ComponentFile.hs 2023-06-22 18:40:54.000000000 +0800 -+++ stack-2.9.3.1.new/src/Stack/ComponentFile.hs 2023-08-08 14:04:52.914859026 +0800 -@@ -283,8 +283,8 @@ - Iface.unList . Iface.dmods . Iface.deps - resolveFileDependency file = do - resolved <- -- liftIO (forgivingAbsence (resolveFile dir file)) >>= -- rejectMissingFile -+ liftIO (forgivingResolveFile dir file) >>= -+ rejectMissingFile - when (isNothing resolved) $ - prettyWarnL - [ flow "Dependent file listed in:" -diff -ur stack-2.9.3.1/src/Stack/Ghci.hs stack-2.9.3.1.new/src/Stack/Ghci.hs ---- stack-2.9.3.1/src/Stack/Ghci.hs 2023-06-22 18:40:54.000000000 +0800 -+++ stack-2.9.3.1.new/src/Stack/Ghci.hs 2023-08-08 13:58:43.393651047 +0800 -@@ -29,7 +29,7 @@ - import qualified Data.Text.Lazy.Encoding as TLE - import qualified Distribution.PackageDescription as C - import Path --import Path.Extra ( toFilePathNoTrailingSep ) -+import Path.Extra (forgivingResolveFile', toFilePathNoTrailingSep) - import Path.IO hiding ( withSystemTempDir ) - import RIO.Process - ( HasProcessContext, exec, proc, readProcess_ -@@ -225,7 +225,7 @@ - then do - fileTargets <- forM fileTargetsRaw $ \fp0 -> do - let fp = T.unpack fp0 -- mpath <- liftIO $ forgivingAbsence (resolveFile' fp) -+ mpath <- liftIO $ forgivingResolveFile' fp - case mpath of - Nothing -> throwM (MissingFileTarget fp) - Just path -> pure path -diff -ur stack-2.9.3.1/src/Stack/PackageFile.hs stack-2.9.3.1.new/src/Stack/PackageFile.hs ---- stack-2.9.3.1/src/Stack/PackageFile.hs 2023-06-22 18:40:54.000000000 +0800 -+++ stack-2.9.3.1.new/src/Stack/PackageFile.hs 2023-08-08 14:06:21.163396729 +0800 -@@ -34,7 +34,7 @@ - -> RIO GetPackageFileContext (Maybe (Path Abs File)) - resolveFileOrWarn = resolveOrWarn "File" f - where -- f p x = liftIO (forgivingAbsence (resolveFile p x)) >>= rejectMissingFile -+ f p x = liftIO (forgivingResolveFile p x) >>= rejectMissingFile - - -- | Get all files referenced by the package. - packageDescModulesAndFiles diff --git a/haskell-platform.spec b/haskell-platform.spec index aa7fb01..b4cbdbd 100644 --- a/haskell-platform.spec +++ b/haskell-platform.spec @@ -1,326 +1,20 @@ -# generated by cabal-rpm-2.1.2 --subpackage +# generated by cabal-rpm-2.2.1 --subpackage # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ -%global pkg_name stack -%global stack_ver 2.9.3.1 -%global pkgver %{pkg_name}-%{stack_ver} - -%global casaclient casa-client-0.0.1 -%global casatypes casa-types-0.0.2 -%global filelock filelock-0.1.1.6 -%global hifileparser hi-file-parser-0.1.4.0 -%global hpack hpack-0.35.2 -%global httpdownload http-download-0.2.0.0 -%global mintty mintty-0.1.4 -%global mustache mustache-2.4.2 -%global neatinterpolation neat-interpolation-0.5.1.3 -%global openbrowser open-browser-0.2.1.0 -%global pantry pantry-0.8.3 -%global projecttemplate project-template-0.2.1.0 -%global rioorphans rio-orphans-0.1.2.0 -%global subpkgs %{filelock} %{hifileparser} %{hpack} %{httpdownload} %{mintty} %{mustache} %{neatinterpolation} %{openbrowser} %{rioorphans} %{casatypes} %{casaclient} %{pantry} %{projecttemplate} - -# testsuite missing deps: raw-strings-qq - Name: haskell-platform -Version: 2023.1 -Release: 31%{?dist} +Version: 2024.1 +Release: 36%{?dist} Summary: Standard Haskell distribution License: BSD-3-Clause URL: https://www.haskell.org/ -# for stack: -# Begin cabal-rpm sources: -Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz -Source1: https://hackage.haskell.org/package/%{casaclient}/%{casaclient}.tar.gz -Source2: https://hackage.haskell.org/package/%{casatypes}/%{casatypes}.tar.gz -Source3: https://hackage.haskell.org/package/%{filelock}/%{filelock}.tar.gz -Source4: https://hackage.haskell.org/package/%{hifileparser}/%{hifileparser}.tar.gz -Source5: https://hackage.haskell.org/package/%{hpack}/%{hpack}.tar.gz -Source6: https://hackage.haskell.org/package/%{httpdownload}/%{httpdownload}.tar.gz -Source7: https://hackage.haskell.org/package/%{mintty}/%{mintty}.tar.gz -Source8: https://hackage.haskell.org/package/%{mustache}/%{mustache}.tar.gz -Source9: https://hackage.haskell.org/package/%{neatinterpolation}/%{neatinterpolation}.tar.gz -Source10: https://hackage.haskell.org/package/%{openbrowser}/%{openbrowser}.tar.gz -Source11: https://hackage.haskell.org/package/%{pantry}/%{pantry}.tar.gz -Source12: https://hackage.haskell.org/package/%{projecttemplate}/%{projecttemplate}.tar.gz -Source13: https://hackage.haskell.org/package/%{rioorphans}/%{rioorphans}.tar.gz -Source20: stack-symlink-distro-ghc -# End cabal-rpm sources -# https://github.com/commercialhaskell/stack/issues/5866 -# https://github.com/commercialhaskell/stack/pull/6028 -Patch0: 6028-2.9.3.1.patch -Patch1: stack-disable-ghc-Cabal-version-warnings.patch -# https://github.com/commercialhaskell/stack/issues/6379 -Patch2: stack-Setup-Platforms.patch -# https://discourse.haskell.org/t/ann-stack-2-15-3-and-earliers-default-source-for-list-of-stackage-snapshots-not-up-to-date/9023 -Patch3: stack-snapshots-json.patch BuildRequires: ghc BuildRequires: alex BuildRequires: cabal-install BuildRequires: happy BuildRequires: hscolour - -# Begin cabal-rpm deps: -BuildRequires: ghc-rpm-macros-extra -BuildRequires: ghc-Cabal-devel -BuildRequires: ghc-aeson-devel -BuildRequires: ghc-annotated-wl-pprint-devel -BuildRequires: ghc-ansi-terminal-devel -BuildRequires: ghc-array-devel -BuildRequires: ghc-async-devel -BuildRequires: ghc-attoparsec-devel -BuildRequires: ghc-base-devel -BuildRequires: ghc-base64-bytestring-devel -BuildRequires: ghc-bytestring-devel -#BuildRequires: ghc-casa-client-devel -#BuildRequires: ghc-casa-types-devel -BuildRequires: ghc-colour-devel -BuildRequires: ghc-conduit-devel -BuildRequires: ghc-conduit-extra-devel -BuildRequires: ghc-containers-devel -BuildRequires: ghc-cryptonite-devel -BuildRequires: ghc-cryptonite-conduit-devel -BuildRequires: ghc-deepseq-devel -BuildRequires: ghc-directory-devel -BuildRequires: ghc-echo-devel -BuildRequires: ghc-exceptions-devel -BuildRequires: ghc-extra-devel -BuildRequires: ghc-file-embed-devel -#BuildRequires: ghc-filelock-devel -BuildRequires: ghc-filepath-devel -BuildRequires: ghc-fsnotify-devel -BuildRequires: ghc-generic-deriving-devel -BuildRequires: ghc-githash-devel -BuildRequires: ghc-hackage-security-devel -BuildRequires: ghc-hashable-devel -#BuildRequires: ghc-hi-file-parser-devel -#BuildRequires: ghc-hpack-devel -BuildRequires: ghc-hpc-devel -BuildRequires: ghc-http-client-devel -BuildRequires: ghc-http-client-tls-devel -BuildRequires: ghc-http-conduit-devel -#BuildRequires: ghc-http-download-devel -BuildRequires: ghc-http-types-devel -BuildRequires: ghc-memory-devel -BuildRequires: ghc-microlens-devel -#BuildRequires: ghc-mintty-devel -BuildRequires: ghc-mono-traversable-devel -BuildRequires: ghc-mtl-devel -#BuildRequires: ghc-mustache-devel -#BuildRequires: ghc-neat-interpolation-devel -BuildRequires: ghc-network-uri-devel -#BuildRequires: ghc-open-browser-devel -BuildRequires: ghc-optparse-applicative-devel -BuildRequires: ghc-optparse-simple-devel -#BuildRequires: ghc-pantry-devel -BuildRequires: ghc-path-devel -BuildRequires: ghc-path-io-devel -BuildRequires: ghc-persistent-devel -BuildRequires: ghc-persistent-sqlite-devel -BuildRequires: ghc-persistent-template-devel -BuildRequires: ghc-pretty-devel -BuildRequires: ghc-primitive-devel -BuildRequires: ghc-process-devel -#BuildRequires: ghc-project-template-devel -BuildRequires: ghc-random-devel -BuildRequires: ghc-retry-devel -BuildRequires: ghc-rio-devel -BuildRequires: ghc-rio-prettyprint-devel -BuildRequires: ghc-semigroups-devel -BuildRequires: ghc-split-devel -BuildRequires: ghc-stm-devel -BuildRequires: ghc-streaming-commons-devel -BuildRequires: ghc-tar-devel -BuildRequires: ghc-template-haskell-devel -BuildRequires: ghc-temporary-devel -BuildRequires: ghc-text-devel -BuildRequires: ghc-text-metrics-devel -BuildRequires: ghc-th-reify-many-devel -BuildRequires: ghc-time-devel -BuildRequires: ghc-tls-devel -BuildRequires: ghc-transformers-devel -BuildRequires: ghc-typed-process-devel -BuildRequires: ghc-unicode-transforms-devel -BuildRequires: ghc-unix-devel -BuildRequires: ghc-unix-compat-devel -BuildRequires: ghc-unliftio-devel -BuildRequires: ghc-unordered-containers-devel -BuildRequires: ghc-vector-devel -BuildRequires: ghc-yaml-devel -BuildRequires: ghc-zip-archive-devel -BuildRequires: ghc-zlib-devel -%if %{with ghc_prof} -BuildRequires: ghc-Cabal-prof -BuildRequires: ghc-aeson-prof -BuildRequires: ghc-annotated-wl-pprint-prof -BuildRequires: ghc-ansi-terminal-prof -BuildRequires: ghc-array-prof -BuildRequires: ghc-async-prof -BuildRequires: ghc-attoparsec-prof -BuildRequires: ghc-base-prof -BuildRequires: ghc-base64-bytestring-prof -BuildRequires: ghc-bytestring-prof -#BuildRequires: ghc-casa-client-prof -#BuildRequires: ghc-casa-types-prof -BuildRequires: ghc-colour-prof -BuildRequires: ghc-conduit-prof -BuildRequires: ghc-conduit-extra-prof -BuildRequires: ghc-containers-prof -BuildRequires: ghc-cryptonite-prof -BuildRequires: ghc-cryptonite-conduit-prof -BuildRequires: ghc-deepseq-prof -BuildRequires: ghc-directory-prof -BuildRequires: ghc-echo-prof -BuildRequires: ghc-exceptions-prof -BuildRequires: ghc-extra-prof -BuildRequires: ghc-file-embed-prof -#BuildRequires: ghc-filelock-prof -BuildRequires: ghc-filepath-prof -BuildRequires: ghc-fsnotify-prof -BuildRequires: ghc-generic-deriving-prof -BuildRequires: ghc-githash-prof -BuildRequires: ghc-hackage-security-prof -BuildRequires: ghc-hashable-prof -#BuildRequires: ghc-hi-file-parser-prof -#BuildRequires: ghc-hpack-prof -BuildRequires: ghc-hpc-prof -BuildRequires: ghc-http-client-prof -BuildRequires: ghc-http-client-tls-prof -BuildRequires: ghc-http-conduit-prof -#BuildRequires: ghc-http-download-prof -BuildRequires: ghc-http-types-prof -BuildRequires: ghc-memory-prof -BuildRequires: ghc-microlens-prof -#BuildRequires: ghc-mintty-prof -BuildRequires: ghc-mono-traversable-prof -BuildRequires: ghc-mtl-prof -#BuildRequires: ghc-mustache-prof -#BuildRequires: ghc-neat-interpolation-prof -BuildRequires: ghc-network-uri-prof -#BuildRequires: ghc-open-browser-prof -BuildRequires: ghc-optparse-applicative-prof -BuildRequires: ghc-optparse-simple-prof -#BuildRequires: ghc-pantry-prof -BuildRequires: ghc-path-prof -BuildRequires: ghc-path-io-prof -BuildRequires: ghc-persistent-prof -BuildRequires: ghc-persistent-sqlite-prof -# no persistent-template prof: -#BuildRequires: ghc-persistent-template-prof -BuildRequires: ghc-pretty-prof -BuildRequires: ghc-primitive-prof -BuildRequires: ghc-process-prof -#BuildRequires: ghc-project-template-prof -BuildRequires: ghc-random-prof -BuildRequires: ghc-retry-prof -BuildRequires: ghc-rio-prof -BuildRequires: ghc-rio-prettyprint-prof -BuildRequires: ghc-semigroups-prof -BuildRequires: ghc-split-prof -BuildRequires: ghc-stm-prof -BuildRequires: ghc-streaming-commons-prof -BuildRequires: ghc-tar-prof -BuildRequires: ghc-template-haskell-prof -BuildRequires: ghc-temporary-prof -BuildRequires: ghc-text-prof -BuildRequires: ghc-text-metrics-prof -BuildRequires: ghc-th-reify-many-prof -BuildRequires: ghc-time-prof -BuildRequires: ghc-tls-prof -BuildRequires: ghc-transformers-prof -BuildRequires: ghc-typed-process-prof -BuildRequires: ghc-unicode-transforms-prof -BuildRequires: ghc-unix-prof -BuildRequires: ghc-unix-compat-prof -BuildRequires: ghc-unliftio-prof -BuildRequires: ghc-unordered-containers-prof -BuildRequires: ghc-vector-prof -BuildRequires: ghc-yaml-prof -BuildRequires: ghc-zip-archive-prof -BuildRequires: ghc-zlib-prof -%endif -# for missing dep 'casa-client': -BuildRequires: ghc-base16-bytestring-devel -BuildRequires: ghc-resourcet-devel -BuildRequires: ghc-th-lift-devel -BuildRequires: ghc-unliftio-core-devel -%if %{with ghc_prof} -BuildRequires: ghc-base16-bytestring-prof -BuildRequires: ghc-resourcet-prof -BuildRequires: ghc-th-lift-prof -BuildRequires: ghc-unliftio-core-prof -%endif -# for missing dep 'casa-types': -BuildRequires: ghc-base16-bytestring-devel -BuildRequires: ghc-path-pieces-devel -%if %{with ghc_prof} -BuildRequires: ghc-base16-bytestring-prof -BuildRequires: ghc-path-pieces-prof -%endif -# for missing dep 'hi-file-parser': -BuildRequires: ghc-binary-devel -%if %{with ghc_prof} -BuildRequires: ghc-binary-prof -%endif -# for missing dep 'hpack': -BuildRequires: ghc-Glob-devel -BuildRequires: ghc-bifunctors-devel -BuildRequires: ghc-infer-license-devel -BuildRequires: ghc-scientific-devel -%if %{with ghc_prof} -BuildRequires: ghc-Glob-prof -BuildRequires: ghc-bifunctors-prof -BuildRequires: ghc-infer-license-prof -BuildRequires: ghc-scientific-prof -%endif -# for missing dep 'mustache': -BuildRequires: ghc-cmdargs-devel -BuildRequires: ghc-parsec-devel -BuildRequires: ghc-scientific-devel -BuildRequires: ghc-th-lift-devel -%if %{with ghc_prof} -BuildRequires: ghc-cmdargs-prof -BuildRequires: ghc-parsec-prof -BuildRequires: ghc-scientific-prof -BuildRequires: ghc-th-lift-prof -%endif -# for missing dep 'neat-interpolation': -BuildRequires: ghc-megaparsec-devel -%if %{with ghc_prof} -BuildRequires: ghc-megaparsec-prof -%endif -# for missing dep 'pantry': -BuildRequires: ghc-digest-devel -BuildRequires: ghc-resourcet-devel -BuildRequires: ghc-tar-conduit-devel -%if %{with ghc_prof} -BuildRequires: ghc-digest-prof -BuildRequires: ghc-resourcet-prof -BuildRequires: ghc-tar-conduit-prof -%endif -# for missing dep 'project-template': -BuildRequires: ghc-resourcet-devel -%if %{with ghc_prof} -BuildRequires: ghc-resourcet-prof -%endif -# for missing dep 'rio-orphans': -BuildRequires: ghc-fast-logger-devel -BuildRequires: ghc-monad-control-devel -BuildRequires: ghc-monad-logger-devel -BuildRequires: ghc-resourcet-devel -BuildRequires: ghc-transformers-base-devel -BuildRequires: ghc-unliftio-core-devel -%if %{with ghc_prof} -BuildRequires: ghc-fast-logger-prof -BuildRequires: ghc-monad-control-prof -BuildRequires: ghc-monad-logger-prof -BuildRequires: ghc-resourcet-prof -BuildRequires: ghc-transformers-base-prof -BuildRequires: ghc-unliftio-core-prof -%endif -# End cabal-rpm deps +BuildRequires: stack # pull in all of ghc for least surprise # even though strictly libHSghc is not formally part of HP @@ -336,153 +30,34 @@ Haskell Platform is a set of stable and well used Haskell tools. It provides a good starting environment for Haskell development. -%package -n stack -Version: %{stack_ver} -Summary: Haskell package tool -Url: https://docs.haskellstack.org/en/stable/ -Requires: gcc -Requires: gmp-devel -Recommends: zlib-devel - -%description -n stack -Stack is a cross-platform program for developing Haskell projects. - - -%package -n ghc-stack -Version: %{stack_ver} -Summary: Haskell stack library - -%description -n ghc-stack -This package provides the Haskell stack shared library. - - -%package -n ghc-stack-devel -Version: %{stack_ver} -Summary: Haskell stack library development files -Provides: ghc-stack-static = %{version}-%{release} -Provides: ghc-stack-static%{?_isa} = %{version}-%{release} -%if %{defined ghc_version} -Requires: ghc-compiler = %{ghc_version} -%endif -Requires: ghc-stack%{?_isa} = %{version}-%{release} - -%description -n ghc-stack-devel -This package provides the Haskell stack library development files. - - -%if %{with haddock} -%package -n ghc-stack-doc -Version: %{stack_ver} -Summary: Haskell stack library documentation -BuildArch: noarch -Requires: ghc-filesystem - -%description -n ghc-stack-doc -This package provides the Haskell stack library documentation. -%endif - - -%if %{with ghc_prof} -%package -n ghc-stack-prof -Version: %{stack_ver} -Summary: Haskell stack profiling library -Requires: ghc-stack-devel%{?_isa} = %{version}-%{release} -Supplements: (ghc-stack-devel and ghc-prof) - -%description -n ghc-stack-prof -This package provides the Haskell stack profiling library. -%endif - - -%global main_version %{version} - -%if %{defined ghclibdir} -%ghc_lib_subpackage -l BSD-3-Clause %{casaclient} -%ghc_lib_subpackage -l BSD-3-Clause %{casatypes} -%ghc_lib_subpackage -l CC0-1.0 %{filelock} -%ghc_lib_subpackage -l BSD-3-Clause %{hifileparser} -%ghc_lib_subpackage -l MIT %{hpack} -%ghc_lib_subpackage -l BSD-3-Clause %{httpdownload} -%ghc_lib_subpackage -l BSD-3-Clause %{mintty} -%ghc_lib_subpackage -l BSD-3-Clause %{mustache} -%ghc_lib_subpackage -l MIT %{neatinterpolation} -%ghc_lib_subpackage -l BSD-3-Clause %{openbrowser} -%ghc_lib_subpackage -l BSD-3-Clause %{pantry} -%ghc_lib_subpackage -l BSD-3-Clause %{projecttemplate} -%ghc_lib_subpackage -l MIT %{rioorphans} -%endif - -%global version %{main_version} - - %prep -# Begin cabal-rpm setup: -%setup -q -n %{pkgver} -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -# End cabal-rpm setup -%autopatch -p1 %build -# Begin cabal-rpm build: -%ghc_libs_build %{subpkgs} -%ghc_lib_build -# End cabal-rpm build %install -# Begin cabal-rpm install -%ghc_libs_install %{subpkgs} -%ghc_lib_install -mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/ -%{buildroot}%{_bindir}/stack --bash-completion-script stack | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/stack -# End cabal-rpm install - -# open-browser -rm %{buildroot}%{_bindir}/example -echo %{_bindir}/hpack >> %{hpack}/ghc-hpack.files -echo %{_bindir}/haskell-mustache >> %{mustache}/ghc-mustache.files - -install -p %{SOURCE20} %{buildroot}%{_bindir}/stack-symlink-distro-ghc - -rm %{buildroot}%{_licensedir}/%{name}/LICENSE - %files -%files -n stack -# Begin cabal-rpm files: -%license LICENSE -%doc CONTRIBUTING.md ChangeLog.md README.md -%{_bindir}/stack -%{_bindir}/stack-symlink-distro-ghc -%{_datadir}/bash-completion/completions/stack -# End cabal-rpm files - - -%files -n ghc-stack -f ghc-stack.files -# Begin cabal-rpm files: -%license LICENSE -# End cabal-rpm files - - -%files -n ghc-stack-devel -f ghc-stack-devel.files -%doc CONTRIBUTING.md ChangeLog.md README.md - - -%if %{with haddock} -%files -n ghc-stack-doc -f ghc-stack-doc.files -%license LICENSE -%endif - - -%if %{with ghc_prof} -%files -n ghc-stack-prof -f ghc-stack-prof.files -%endif - - %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 diff --git a/sources b/sources index b7dce7f..e69de29 100644 --- a/sources +++ b/sources @@ -1,14 +0,0 @@ -SHA512 (stack-2.9.3.1.tar.gz) = d08c95c6104fbe0e79ef4ed7edf29a00caf54acd05eb1cc412a3114b80785995007fd0e8564d4a716dcf4b78ff32eaa32e8b19c3a288a20827ed2794a51f5573 -SHA512 (casa-client-0.0.1.tar.gz) = 2df03a0b1c2e01f2d24728e96fe446a25b630f5495c4e9995bcbde1ee9da530df1c6b40dde954cfaf6de2af6036fa6cfda7d9957b22106316557cc57d64114fa -SHA512 (casa-types-0.0.2.tar.gz) = a54bb7f15310878e0a4c0524749ba8c8de8537a60892d278941cacefb80ad9d31e9ba16dd236c196b6639758f281f9ae66911d04c39b0ec6e2b75db5127ad5bf -SHA512 (filelock-0.1.1.6.tar.gz) = 859a054d28c6ca915067c36d6764c4c6094aefb359e7082db64a2662f297f5a6c746b911fcdab182691932d58315dccaa5c0f39bb31f95a818c21633b6a88c2c -SHA512 (hi-file-parser-0.1.4.0.tar.gz) = c32adc409a4e7a884e30ed1604927e32bd569174d3bef95b43fa19a0a6f28dbac407cf7f0849ee8e926a5df0b8a5b6d5dbe7c30d1bfc16aee867afaca998a004 -SHA512 (hpack-0.35.2.tar.gz) = 0b07a509bc429199fefecfc6963aee71987540cdb8901b4d26034db426252d9a42f206607ee162c917343b7146a9cd1eb560703f4bb65594537d3f62255d0ca7 -SHA512 (http-download-0.2.0.0.tar.gz) = b31caa48c1ea2a01f1301ca63b2e0c135cd0d3d392b92518c7d70d89fd83da7fd95cffa3cb374900a45fb2da8d17f748de0de72fb4beb8ad11e203676f9864ae -SHA512 (mintty-0.1.4.tar.gz) = f5c3231f342d24d7dc38b0281579aa6f272767451412ea84e1c248f77331d6740186cef0bb4144b7655a80914daa0b1f3573107a76c29c1d2e6a56e793532733 -SHA512 (mustache-2.4.2.tar.gz) = 96e10988f8ccf15cd5939e16cd8d5f551853168a3719cd4717b3bb40c3227f540f4d955614e1d38385fb30f9a97351f260f79cfbc872da30eadb73bac1ebc315 -SHA512 (neat-interpolation-0.5.1.3.tar.gz) = d777ac442d0b32348470b64458a88c76836e84b9fe15f46c6ec05f8a84ebe4a5b79827b85ff9a0e2138bb8db10fc4493c2793e13091ee5f5decf5e28110d86ba -SHA512 (open-browser-0.2.1.0.tar.gz) = 94ba71597c270b518742534b1b9b9a7ca0ede2eeb08a030b03cca6dbe6e5a2de363dc443bae907ca5c90b126aeb7dc5f5dd1eada95ca78a0ba1a8d472df4ada1 -SHA512 (pantry-0.8.3.tar.gz) = d3934bf761f4354f08fdc20cbc320b21c37b83114170ad3a006133122202312f34134ae6d470baef9ea552b2bad2ca2a73af08380ceee108108e395e21728ac5 -SHA512 (project-template-0.2.1.0.tar.gz) = ed70f640e5197f7a6158b851dcd3990e77b7266f716be248ecfb012c4827dc688028aa78d649313203a274357f57e45e94371a09446c4404d3282add0d1a158c -SHA512 (rio-orphans-0.1.2.0.tar.gz) = 85e883977e161161e5ba8f4fa6d13026d71f7367bac262307f9a8cfdc0316b71a490fcb6c15737919a6b4e73b3355b413161e09f5167c95b1f0c5a22c045f7ac diff --git a/stack-2.1-relax_version_warnings.patch b/stack-2.1-relax_version_warnings.patch deleted file mode 100644 index 53bd16e..0000000 --- a/stack-2.1-relax_version_warnings.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- stack-2.1.3.1/src/Stack/Setup.hs~ 2019-07-14 12:22:56.000000000 +0800 -+++ stack-2.1.3.1/src/Stack/Setup.hs 2020-04-12 11:56:39.453839733 +0800 -@@ -482,9 +482,9 @@ - logWarn "For more information, see: https://github.com/commercialhaskell/stack/issues/648" - logWarn "" - pure True -- | ghcVersion >= mkVersion [8, 7] -> do -+ | ghcVersion >= mkVersion [8, 9] -> do - logWarn $ -- "Stack has not been tested with GHC versions above 8.6, and using " <> -+ "Stack has not been tested with GHC versions above 8.8, and using " <> - fromString (versionString ghcVersion) <> - ", this may fail" - pure True -@@ -509,9 +509,9 @@ - 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 [2, 5] -> -+ | cabalVersion >= mkVersion [3, 1] -> - logWarn $ -- "Stack has not been tested with Cabal versions above 2.4, but version " <> -+ "Stack has not been tested with Cabal versions above 3.0, but version " <> - fromString (versionString cabalVersion) <> - " was found, this may fail" - | otherwise -> pure () - -Diff finished. Sun Apr 12 11:56:54 2020 diff --git a/stack-Setup-Platforms.patch b/stack-Setup-Platforms.patch index 8319819..b557d44 100644 --- a/stack-Setup-Platforms.patch +++ b/stack-Setup-Platforms.patch @@ -1,11 +1,11 @@ ---- stack-2.9.3.1/src/Stack/Setup.hs~ 2023-12-15 20:23:43.622387891 +0800 -+++ stack-2.9.3.1/src/Stack/Setup.hs 2023-12-15 22:57:36.515310538 +0800 -@@ -1566,6 +1566,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 -> throwM $ UnsupportedSetupCombo os arch +--- 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 - downloadOrUseLocal 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-snapshots-json.patch b/stack-snapshots-json.patch deleted file mode 100644 index 7ee4bd6..0000000 --- a/stack-snapshots-json.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- stack-2.9.3.1/src/Stack/Config.hs~ 2023-06-23 02:42:33.000000000 +0800 -+++ stack-2.9.3.1/src/Stack/Config.hs 2024-07-08 14:47:57.644375532 +0800 -@@ -214,7 +214,7 @@ - configWorkDir0 <- maybe (pure relDirStackWork) (liftIO . parseRelDir) mstackWorkEnv - let configWorkDir = fromFirst configWorkDir0 configMonoidWorkDir - configLatestSnapshot = fromFirst -- "https://s3.amazonaws.com/haddock.stackage.org/snapshots.json" -+ "https://www.stackage.org/download/snapshots.json" - configMonoidLatestSnapshot - clConnectionCount = fromFirst 8 configMonoidConnectionCount - configHideTHLoading = fromFirstTrue configMonoidHideTHLoading