From f1d7e398a620b25c20b0a30bf2173284ccb19c7a Mon Sep 17 00:00:00 2001 From: Alias Qli <2576814881@qq.com> Date: Sat, 20 Aug 2022 03:09:23 +0800 Subject: [PATCH 1/3] update dep --- hackage-server.cabal | 4 ++-- .../Server/Features/BuildReports/BuildReport.hs | 4 ++-- .../Server/Features/Search/ExtractDescriptionTerms.hs | 2 +- src/Distribution/Server/Framework/Instances.hs | 6 ++++++ src/Distribution/Server/Pages/Package/HaddockHtml.hs | 2 +- src/Distribution/Server/Util/CabalRevisions.hs | 8 ++++---- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/hackage-server.cabal b/hackage-server.cabal index ba6b86341..c58b05f20 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -117,7 +117,7 @@ common defaults -- other dependencies shared by most components build-depends: , aeson ^>= 2.0.3.0 - , Cabal ^>= 3.6.3.0 + , Cabal ^>= 3.8 , fail ^>= 4.9.0 -- we use Control.Monad.Except, introduced in mtl-2.2.1 , network >= 3 && < 3.2 @@ -392,7 +392,7 @@ library lib-server , ed25519 ^>= 0.0.5 , hackage-security ^>= 0.6 , hackage-security-HTTP ^>= 0.1.1 - , haddock-library > 1.7 && < 2 + , haddock-library >= 1.11 && < 2 , happstack-server ^>= 7.7.1 , hashable ^>= 1.3 || ^>= 1.4 , hslogger ^>= 1.3.1 diff --git a/src/Distribution/Server/Features/BuildReports/BuildReport.hs b/src/Distribution/Server/Features/BuildReports/BuildReport.hs index 1d85cce5f..dfe00395a 100644 --- a/src/Distribution/Server/Features/BuildReports/BuildReport.hs +++ b/src/Distribution/Server/Features/BuildReports/BuildReport.hs @@ -71,7 +71,7 @@ import Distribution.FieldGrammar import Distribution.Fields.Parser ( readFields ) import Distribution.Fields.Pretty - ( showFields ) + ( showFields, CommentPosition (..) ) import Distribution.Fields.ParseResult (ParseResult, parseFatalFailure, runParseResult ) import Distribution.Server.Framework.Instances () @@ -311,7 +311,7 @@ intPair = do -- Pretty-printing show :: BuildReport -> String -show = showFields (const []) . prettyFieldGrammar CabalSpecV2_4 fieldDescrs +show = showFields (const NoComment) . prettyFieldGrammar CabalSpecV2_4 fieldDescrs -- ----------------------------------------------------------------------------- -- Description of the fields, for parsing/printing diff --git a/src/Distribution/Server/Features/Search/ExtractDescriptionTerms.hs b/src/Distribution/Server/Features/Search/ExtractDescriptionTerms.hs index 24a8334df..d07ed63e3 100644 --- a/src/Distribution/Server/Features/Search/ExtractDescriptionTerms.hs +++ b/src/Distribution/Server/Features/Search/ExtractDescriptionTerms.hs @@ -78,7 +78,7 @@ termsMarkup = Markup { markupBold = id, markupMonospaced = \s -> if length s > 1 then [] else s, markupUnorderedList = concat, - markupOrderedList = concat, + markupOrderedList = concat . map snd, markupDefList = concatMap (\(d,t) -> d ++ t), markupCodeBlock = const [], markupTable = concat . F.toList, diff --git a/src/Distribution/Server/Framework/Instances.hs b/src/Distribution/Server/Framework/Instances.hs index 442e9c15f..d2a68cf57 100644 --- a/src/Distribution/Server/Framework/Instances.hs +++ b/src/Distribution/Server/Framework/Instances.hs @@ -136,6 +136,7 @@ instance SafeCopy OS where putCopy Ghcjs = contain $ putWord8 14 putCopy Hurd = contain $ putWord8 15 putCopy Android = contain $ putWord8 16 + putCopy Wasi = contain $ putWord8 17 getCopy = contain $ do tag <- getWord8 @@ -157,6 +158,7 @@ instance SafeCopy OS where 14 -> return Ghcjs 15 -> return Hurd 16 -> return Android + 17 -> return Wasi _ -> fail "SafeCopy OS getCopy: unexpected tag" instance SafeCopy Arch where @@ -180,6 +182,8 @@ instance SafeCopy Arch where putCopy Vax = contain $ putWord8 15 putCopy JavaScript = contain $ putWord8 16 putCopy AArch64 = contain $ putWord8 17 + putCopy S390X = contain $ putWord8 18 + putCopy Wasm32 = contain $ putWord8 19 getCopy = contain $ do tag <- getWord8 @@ -202,6 +206,8 @@ instance SafeCopy Arch where 15 -> return Vax 16 -> return JavaScript 17 -> return AArch64 + 18 -> return S390X + 19 -> return Wasm32 _ -> fail "SafeCopy Arch getCopy: unexpected tag" instance SafeCopy CompilerFlavor where diff --git a/src/Distribution/Server/Pages/Package/HaddockHtml.hs b/src/Distribution/Server/Pages/Package/HaddockHtml.hs index dba250b9f..8b5b3f0d5 100644 --- a/src/Distribution/Server/Pages/Package/HaddockHtml.hs +++ b/src/Distribution/Server/Pages/Package/HaddockHtml.hs @@ -24,7 +24,7 @@ htmlMarkup modResolv = Markup { markupBold = strong, markupMonospaced = thecode, markupUnorderedList = unordList, - markupOrderedList = ordList, + markupOrderedList = ordList . map snd, markupDefList = defList, markupCodeBlock = pre, markupHyperlink = \(Hyperlink url mLabel) -> anchor ! [href url] << maybe url showHtmlFragment mLabel, diff --git a/src/Distribution/Server/Util/CabalRevisions.hs b/src/Distribution/Server/Util/CabalRevisions.hs index f417dee1e..a342fb80f 100644 --- a/src/Distribution/Server/Util/CabalRevisions.hs +++ b/src/Distribution/Server/Util/CabalRevisions.hs @@ -38,7 +38,7 @@ import Distribution.Pretty (Pretty (..), prettyShow) import Distribution.Version import Distribution.Compiler (CompilerFlavor) import Distribution.FieldGrammar (prettyFieldGrammar) -import Distribution.Fields.Pretty (PrettyField (..), showFields) +import Distribution.Fields.Pretty (PrettyField (..), showFields, CommentPosition (..)) import Distribution.PackageDescription import Distribution.PackageDescription.Parsec (parseGenericPackageDescription, runParseResult) import Distribution.PackageDescription.FieldGrammar (sourceRepoFieldGrammar) @@ -340,7 +340,7 @@ checkPackageDescriptions checkXRevision checkSame "The package-url field is unused, don't bother changing it." pkgUrlA pkgUrlB changesOk "bug-reports" fromShortText bugReportsA bugReportsB - changesOkList changesOk "source-repository" (showFields (const []) . (:[]) . ppSourceRepo) + changesOkList changesOk "source-repository" (showFields (const NoComment) . (:[]) . ppSourceRepo) sourceReposA sourceReposB changesOk "synopsis" fromShortText synopsisA synopsisB changesOk "description" fromShortText descriptionA descriptionB @@ -625,8 +625,8 @@ checkExecutable componentName checkTestSuite :: ComponentName -> Check TestSuite checkTestSuite componentName - (TestSuite _nameA interfaceA buildInfoA) - (TestSuite _nameB interfaceB buildInfoB) = do + (TestSuite _nameA interfaceA buildInfoA _codeGenA) + (TestSuite _nameB interfaceB buildInfoB _codeGenB) = do checkSame "Cannot change test-suite type" interfaceA interfaceB checkBuildInfo componentName buildInfoA buildInfoB From 3ac0f69bf749925db2646b1b5652c6855689dbed Mon Sep 17 00:00:00 2001 From: Alias Qli <2576814881@qq.com> Date: Tue, 23 Aug 2022 00:12:38 +0800 Subject: [PATCH 2/3] use Cabal 3.6 --- hackage-server.cabal | 5 +++-- .../Server/Features/BuildReports/BuildReport.hs | 4 ++-- src/Distribution/Server/Framework/Instances.hs | 6 ------ src/Distribution/Server/Util/CabalRevisions.hs | 8 ++++---- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/hackage-server.cabal b/hackage-server.cabal index c58b05f20..7c2a3ebda 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -117,7 +117,8 @@ common defaults -- other dependencies shared by most components build-depends: , aeson ^>= 2.0.3.0 - , Cabal ^>= 3.8 + , Cabal ^>= 3.6.3.0 + , Cabal-syntax ^>= 3.6 , fail ^>= 4.9.0 -- we use Control.Monad.Except, introduced in mtl-2.2.1 , network >= 3 && < 3.2 @@ -392,7 +393,7 @@ library lib-server , ed25519 ^>= 0.0.5 , hackage-security ^>= 0.6 , hackage-security-HTTP ^>= 0.1.1 - , haddock-library >= 1.11 && < 2 + , haddock-library > 1.7 && < 2 , happstack-server ^>= 7.7.1 , hashable ^>= 1.3 || ^>= 1.4 , hslogger ^>= 1.3.1 diff --git a/src/Distribution/Server/Features/BuildReports/BuildReport.hs b/src/Distribution/Server/Features/BuildReports/BuildReport.hs index dfe00395a..1d85cce5f 100644 --- a/src/Distribution/Server/Features/BuildReports/BuildReport.hs +++ b/src/Distribution/Server/Features/BuildReports/BuildReport.hs @@ -71,7 +71,7 @@ import Distribution.FieldGrammar import Distribution.Fields.Parser ( readFields ) import Distribution.Fields.Pretty - ( showFields, CommentPosition (..) ) + ( showFields ) import Distribution.Fields.ParseResult (ParseResult, parseFatalFailure, runParseResult ) import Distribution.Server.Framework.Instances () @@ -311,7 +311,7 @@ intPair = do -- Pretty-printing show :: BuildReport -> String -show = showFields (const NoComment) . prettyFieldGrammar CabalSpecV2_4 fieldDescrs +show = showFields (const []) . prettyFieldGrammar CabalSpecV2_4 fieldDescrs -- ----------------------------------------------------------------------------- -- Description of the fields, for parsing/printing diff --git a/src/Distribution/Server/Framework/Instances.hs b/src/Distribution/Server/Framework/Instances.hs index d2a68cf57..442e9c15f 100644 --- a/src/Distribution/Server/Framework/Instances.hs +++ b/src/Distribution/Server/Framework/Instances.hs @@ -136,7 +136,6 @@ instance SafeCopy OS where putCopy Ghcjs = contain $ putWord8 14 putCopy Hurd = contain $ putWord8 15 putCopy Android = contain $ putWord8 16 - putCopy Wasi = contain $ putWord8 17 getCopy = contain $ do tag <- getWord8 @@ -158,7 +157,6 @@ instance SafeCopy OS where 14 -> return Ghcjs 15 -> return Hurd 16 -> return Android - 17 -> return Wasi _ -> fail "SafeCopy OS getCopy: unexpected tag" instance SafeCopy Arch where @@ -182,8 +180,6 @@ instance SafeCopy Arch where putCopy Vax = contain $ putWord8 15 putCopy JavaScript = contain $ putWord8 16 putCopy AArch64 = contain $ putWord8 17 - putCopy S390X = contain $ putWord8 18 - putCopy Wasm32 = contain $ putWord8 19 getCopy = contain $ do tag <- getWord8 @@ -206,8 +202,6 @@ instance SafeCopy Arch where 15 -> return Vax 16 -> return JavaScript 17 -> return AArch64 - 18 -> return S390X - 19 -> return Wasm32 _ -> fail "SafeCopy Arch getCopy: unexpected tag" instance SafeCopy CompilerFlavor where diff --git a/src/Distribution/Server/Util/CabalRevisions.hs b/src/Distribution/Server/Util/CabalRevisions.hs index a342fb80f..f417dee1e 100644 --- a/src/Distribution/Server/Util/CabalRevisions.hs +++ b/src/Distribution/Server/Util/CabalRevisions.hs @@ -38,7 +38,7 @@ import Distribution.Pretty (Pretty (..), prettyShow) import Distribution.Version import Distribution.Compiler (CompilerFlavor) import Distribution.FieldGrammar (prettyFieldGrammar) -import Distribution.Fields.Pretty (PrettyField (..), showFields, CommentPosition (..)) +import Distribution.Fields.Pretty (PrettyField (..), showFields) import Distribution.PackageDescription import Distribution.PackageDescription.Parsec (parseGenericPackageDescription, runParseResult) import Distribution.PackageDescription.FieldGrammar (sourceRepoFieldGrammar) @@ -340,7 +340,7 @@ checkPackageDescriptions checkXRevision checkSame "The package-url field is unused, don't bother changing it." pkgUrlA pkgUrlB changesOk "bug-reports" fromShortText bugReportsA bugReportsB - changesOkList changesOk "source-repository" (showFields (const NoComment) . (:[]) . ppSourceRepo) + changesOkList changesOk "source-repository" (showFields (const []) . (:[]) . ppSourceRepo) sourceReposA sourceReposB changesOk "synopsis" fromShortText synopsisA synopsisB changesOk "description" fromShortText descriptionA descriptionB @@ -625,8 +625,8 @@ checkExecutable componentName checkTestSuite :: ComponentName -> Check TestSuite checkTestSuite componentName - (TestSuite _nameA interfaceA buildInfoA _codeGenA) - (TestSuite _nameB interfaceB buildInfoB _codeGenB) = do + (TestSuite _nameA interfaceA buildInfoA) + (TestSuite _nameB interfaceB buildInfoB) = do checkSame "Cannot change test-suite type" interfaceA interfaceB checkBuildInfo componentName buildInfoA buildInfoB From 7490f70eeca2b1000531fc97a044bccb7e8ae4cd Mon Sep 17 00:00:00 2001 From: Alias Qli <2576814881@qq.com> Date: Wed, 24 Aug 2022 15:20:24 +0800 Subject: [PATCH 3/3] restrict version bounds --- hackage-server.cabal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hackage-server.cabal b/hackage-server.cabal index 03f61896e..74e511955 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -111,8 +111,8 @@ common defaults , process >= 1.6 && < 1.7 , text ^>= 1.2.5.0 || ^>= 2.0 , time >= 1.9 && < 1.13 - , transformers >= 0.5 && < 0.7 - , unix >= 2.7 && < 2.9 + , transformers >= 0.5 && < 0.6 + , unix >= 2.7 && < 2.8 , scientific -- other dependencies shared by most components build-depends: @@ -398,7 +398,7 @@ library lib-server -- see https://github.com/haskell/hackage-server/issues/1130 -- Thus, we need to include Cabal-syntax as dependency explicitly , hackage-security-HTTP ^>= 0.1.1 - , haddock-library ^>= 1.11 + , haddock-library ^>= 1.11.0 -- haddock-library-1.11.0 changed type of markupOrderedList -- see https://github.com/haskell/hackage-server/issues/1128 , happstack-server ^>= 7.7.1 || ^>= 7.8.0