diff --git a/app/stackage-server-cron.hs b/app/stackage-server-cron.hs index aa4052f..aaebc0c 100644 --- a/app/stackage-server-cron.hs +++ b/app/stackage-server-cron.hs @@ -81,7 +81,7 @@ main = do execParser $ info (optsParser <* - abortOption ShowHelpText (long "help" <> short 'h' <> help "Display this message.")) + abortOption (ShowHelpText Nothing) (long "help" <> short 'h' <> help "Display this message.")) (header "stackage-cron - Keep stackage.org up to date" <> progDesc "Uses github.com/commercialhaskell/stackage-snapshots repository as a source \ diff --git a/package.yaml b/package.yaml index 3d0c1bf..893802c 100644 --- a/package.yaml +++ b/package.yaml @@ -62,7 +62,7 @@ dependencies: - zlib - unordered-containers - hashable -- Cabal +- Cabal >= 3.2 - mono-traversable - process - cmark-gfm diff --git a/src/Stackage/Database/Cron.hs b/src/Stackage/Database/Cron.hs index 7d41133..77ce0cf 100644 --- a/src/Stackage/Database/Cron.hs +++ b/src/Stackage/Database/Cron.hs @@ -25,8 +25,8 @@ import qualified Data.IntMap.Strict as IntMap import Data.Monoid (Any(..)) import Data.Streaming.Network (bindPortTCP) import Data.Yaml (decodeFileEither) -import Database.Persist -import Database.Persist.Postgresql +import Database.Persist hiding (exists) +import Database.Persist.Postgresql hiding (exists) import qualified Hoogle import Network.AWS hiding (Request, Response) import Network.AWS.Data.Text (toText) diff --git a/src/Stackage/Database/PackageInfo.hs b/src/Stackage/Database/PackageInfo.hs index 47eac31..f47a563 100644 --- a/src/Stackage/Database/PackageInfo.hs +++ b/src/Stackage/Database/PackageInfo.hs @@ -38,6 +38,7 @@ import Distribution.Types.Library (exposedModules) import Distribution.Types.PackageDescription (PackageDescription(package)) import Distribution.Types.VersionRange (VersionRange, intersectVersionRanges, normaliseVersionRange, withinRange) +import Distribution.Utils.ShortText (fromShortText) import Distribution.Version (simplifyVersionRange) import RIO import qualified RIO.Map as Map @@ -71,15 +72,15 @@ toPackageInfo :: -> PackageInfo toPackageInfo gpd mreadme mchangelog = PackageInfo - { piSynopsis = T.pack $ synopsis pd - , piDescription = renderHaddock (description pd) + { piSynopsis = T.pack $ fromShortText $ synopsis pd + , piDescription = renderHaddock $ fromShortText (description pd) , piReadme = maybe mempty (\(Readme bs isMarkdown) -> renderContent bs isMarkdown) mreadme , piChangelog = maybe mempty (\(Changelog bs isMarkdown) -> renderContent bs isMarkdown) mchangelog - , piAuthors = parseIdentitiesLiberally $ T.pack $ author pd - , piMaintainers = parseIdentitiesLiberally $ T.pack $ maintainer pd + , piAuthors = parseIdentitiesLiberally $ T.pack . fromShortText $ author pd + , piMaintainers = parseIdentitiesLiberally $ T.pack . fromShortText $ maintainer pd , piHomepage = - case T.strip $ T.pack $ homepage pd of + case T.strip . T.pack . fromShortText $ homepage pd of "" -> Nothing x -> Just x , piLicenseName = T.pack $ prettyShow $ license pd @@ -93,7 +94,7 @@ toPackageInfo gpd mreadme mchangelog = else toHtml $ Textarea txt getSynopsis :: GenericPackageDescription -> Text -getSynopsis = T.pack . synopsis . packageDescription +getSynopsis = T.pack . fromShortText . synopsis . packageDescription extractModuleNames :: GenericPackageDescription -> [ModuleNameP] extractModuleNames = maybe [] (coerce . exposedModules . condTreeData) . condLibrary diff --git a/src/Stackage/Database/Query.hs b/src/Stackage/Database/Query.hs index df7d7e8..7f2b5e5 100644 --- a/src/Stackage/Database/Query.hs +++ b/src/Stackage/Database/Query.hs @@ -78,9 +78,10 @@ module Stackage.Database.Query import qualified Data.Aeson as A import qualified Data.List as L -import Database.Esqueleto -import Database.Esqueleto.Internal.Language (FromPreprocess) -import Database.Esqueleto.Internal.Sql +import Database.Esqueleto.Legacy +import Database.Esqueleto.Internal.Internal (FromPreprocess, SqlSelect, + unsafeSqlCastAs, + unsafeSqlFunction) import Distribution.Types.PackageId (PackageIdentifier(PackageIdentifier)) import Distribution.PackageDescription (packageDescription) import Distribution.Types.PackageDescription (PackageDescription(package)) @@ -604,7 +605,7 @@ getSnapshotPackageLatestVersionQuery :: PackageNameP -> ReaderT SqlBackend (RIO env) (Maybe SnapshotPackageInfo) getSnapshotPackageLatestVersionQuery pname = fmap snd . listToMaybe <$> - (snapshotPackageInfoQuery $ \_sp s pn v spiQ -> do + (snapshotPackageInfoQuery $ \_sp s pn _v spiQ -> do where_ (pn ^. PackageNameName ==. val pname) orderBy [desc (s ^. SnapshotId)] limit 1 diff --git a/src/Types.hs b/src/Types.hs index 4745ddb..2d4de53 100644 --- a/src/Types.hs +++ b/src/Types.hs @@ -55,7 +55,7 @@ import Data.Hashable (hashUsing, hashWithSalt) import qualified Data.Text as T import qualified Data.Text.Read as Reader import Data.Typeable -import Database.Esqueleto.Internal.Language +import Database.Esqueleto.Internal.Internal import Database.Persist import Database.Persist.Sql (PersistFieldSql(sqlType)) import qualified Distribution.ModuleName as DT (components, fromComponents, diff --git a/stack.yaml b/stack.yaml index 5a36ff8..fd33610 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,19 +1,10 @@ -resolver: lts-16.31 +resolver: lts-18.28 extra-deps: -- barrier-0.1.1@sha256:2021f84c3aba67bb635d72825d3bc0371942444dc014bc307b875071e29eea98,3931 -- hackage-security-0.6.0.1 -- hoogle-5.0.18 -- yesod-gitrepo-0.3.0@sha256:7aad996935065726ce615c395d735cc01dcef3993b1788f670f6bfc866085e02,1191 -- github: commercialhaskell/pantry - commit: c4e7c3dff9770e7937c93edfb6564dd6a1acd55e -- github: fpco/casa - commit: fc0ed26858bfc4f2966ed2dfb2871bae9266dda6 - subdirs: - - casa-client - - casa-types -- github: yesodweb/persistent - commit: f66ed6f472ff3faa140db37bf4649e5b80be4c57 - subdirs: [persistent] +- amazonka-1.6.1 +- barrier-0.1.1 +- classy-prelude-yesod-1.5.0 +- unliftio-core-0.1.2.0 +- yesod-gitrepo-0.3.0 drop-packages: - Cabal