diff options
-rw-r--r-- | dev-haskell/haddock-api/Manifest | 1 | ||||
-rw-r--r-- | dev-haskell/haddock-api/files/haddock-api-2.24.0-ghc-8.10.2.patch | 147 | ||||
-rw-r--r-- | dev-haskell/haddock-api/haddock-api-2.24.0.ebuild | 39 |
3 files changed, 187 insertions, 0 deletions
diff --git a/dev-haskell/haddock-api/Manifest b/dev-haskell/haddock-api/Manifest index 3e5c5f973133..de50c543982e 100644 --- a/dev-haskell/haddock-api/Manifest +++ b/dev-haskell/haddock-api/Manifest @@ -1 +1,2 @@ DIST haddock-api-2.23.1.tar.gz 200096 BLAKE2B 0635881e198c1df3690f07185da7cc49f8eb92283d99c581756c86fb9f293b28608ac3eea9090abcc3afa12c646e584939df9b8c38b4844e9c462824426019f5 SHA512 fb7826102476a3f292da336f8f16c7a647df7c4432bed905815509fff0df164255c0856cc17663bb42479114ed9a418e6bcd214fb8594b245d401c9e091ac4ef +DIST haddock-api-2.24.0.tar.gz 200478 BLAKE2B 5c4f7be45066583e3d3afa0b1866070f2c05d71685526b0d915461f75208f13cf6bbf2b91cc820e1f229df9dbf240cfef150fb3a9929878cfdc02db9dc124c99 SHA512 dfbe5bcfd722dc92ec70aca2dd681da9e122f60ec3da5c9583c188f65b11bade314c64d4af1a3a51cf8f618d8bea943bd4052aa9860ece38ab10717b484ed057 diff --git a/dev-haskell/haddock-api/files/haddock-api-2.24.0-ghc-8.10.2.patch b/dev-haskell/haddock-api/files/haddock-api-2.24.0-ghc-8.10.2.patch new file mode 100644 index 000000000000..84c275fbb348 --- /dev/null +++ b/dev-haskell/haddock-api/files/haddock-api-2.24.0-ghc-8.10.2.patch @@ -0,0 +1,147 @@ +From e455bc18e15adf05a1f32bc7c4512eedb7ab889f Mon Sep 17 00:00:00 2001 +From: Alex Biehl <alexbiehl@gmail.com> +Date: Tue, 8 Dec 2020 19:42:52 +0100 +Subject: [PATCH 1/2] Changes for GHC#17566 + +See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469 +--- + haddock-api/src/Haddock/Backends/LaTeX.hs | 2 +- + haddock-api/src/Haddock/Backends/Xhtml.hs | 2 +- + .../src/Haddock/Backends/Xhtml/Decl.hs | 4 ++- + haddock-api/src/Haddock/GhcUtils.hs | 29 +++++++++++++++++-- + haddock-api/src/Haddock/Types.hs | 1 + + 5 files changed, 32 insertions(+), 6 deletions(-) + +diff --git a/haddock-api/src/Haddock/Backends/LaTeX.hs b/haddock-api/src/Haddock/Backends/LaTeX.hs +index 647812f93..024a6c513 100644 +--- a/src/Haddock/Backends/LaTeX.hs ++++ b/src/Haddock/Backends/LaTeX.hs +@@ -255,7 +255,7 @@ declNames :: LHsDecl DocNameI + , [DocName] -- names being declared + ) + declNames (L _ decl) = case decl of +- TyClD _ d -> (empty, [tcdName d]) ++ TyClD _ d -> (empty, [tcdNameI d]) + SigD _ (TypeSig _ lnames _ ) -> (empty, map unLoc lnames) + SigD _ (PatSynSig _ lnames _) -> (text "pattern", map unLoc lnames) + ForD _ (ForeignImport _ (L _ n) _ _) -> (empty, [n]) +diff --git a/haddock-api/src/Haddock/Backends/Xhtml.hs b/haddock-api/src/Haddock/Backends/Xhtml.hs +index f80a9c05f..541f40c4f 100644 +--- a/src/Haddock/Backends/Xhtml.hs ++++ b/src/Haddock/Backends/Xhtml.hs +@@ -407,7 +407,7 @@ ppJsonIndex odir maybe_source_url maybe_wiki_url unicode pkg qual_opt ifaces = d + exportSubs _ = [] + + exportName :: ExportItem DocNameI -> [IdP DocNameI] +- exportName ExportDecl { expItemDecl } = getMainDeclBinder (unLoc expItemDecl) ++ exportName ExportDecl { expItemDecl } = getMainDeclBinderI (unLoc expItemDecl) + exportName ExportNoDecl { expItemName } = [expItemName] + exportName _ = [] + +diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs +index ef0ba1b67..30b8d43eb 100644 +--- a/src/Haddock/Backends/Xhtml/Decl.hs ++++ b/src/Haddock/Backends/Xhtml/Decl.hs +@@ -536,6 +536,8 @@ ppClassDecl summary links instances fixities loc d subdocs + -- Only the fixity relevant to the class header + fixs = ppFixities [ f | f@(n,_) <- fixities, n == unLoc lname ] qual + ++ nm = tcdNameI decl ++ + hdr = ppClassHdr summary lctxt (unLoc lname) ltyvars lfds + + -- Associated types +@@ -794,7 +796,7 @@ ppDataDecl summary links instances fixities subdocs loc doc dataDecl pats + | otherwise = header_ +++ docSection curname pkg qual doc +++ constrBit +++ patternBit +++ instancesBit + + where +- docname = tcdName dataDecl ++ docname = tcdNameI dataDecl + curname = Just $ getName docname + cons = dd_cons (tcdDataDefn dataDecl) + isH98 = case unLoc (head cons) of +diff --git a/haddock-api/src/Haddock/GhcUtils.hs b/haddock-api/src/Haddock/GhcUtils.hs +index 0874e7b4d..43fe3e774 100644 +--- a/src/Haddock/GhcUtils.hs ++++ b/src/Haddock/GhcUtils.hs +@@ -58,8 +58,7 @@ moduleString = moduleNameString . moduleName + isNameSym :: Name -> Bool + isNameSym = isSymOcc . nameOccName + +-getMainDeclBinder :: (SrcSpanLess (LPat p) ~ Pat p , HasSrcSpan (LPat p)) => +- HsDecl p -> [IdP p] ++getMainDeclBinder :: HsDecl (GhcPass p) -> [IdP (GhcPass p)] + getMainDeclBinder (TyClD _ d) = [tcdName d] + getMainDeclBinder (ValD _ d) = + case collectHsBindBinders d of +@@ -221,6 +220,31 @@ getGADTConType (ConDeclH98 {}) = panic "getGADTConType" + -- Should only be called on ConDeclGADT + getGADTConType (XConDecl nec) = noExtCon nec + ++getMainDeclBinderI :: HsDecl DocNameI -> [IdP DocNameI] ++getMainDeclBinderI (TyClD _ d) = [tcdNameI d] ++getMainDeclBinderI (ValD _ d) = ++ case collectHsBindBinders d of ++ [] -> [] ++ (name:_) -> [name] ++getMainDeclBinderI (SigD _ d) = sigNameNoLoc d ++getMainDeclBinderI (ForD _ (ForeignImport _ name _ _)) = [unLoc name] ++getMainDeclBinderI (ForD _ (ForeignExport _ _ _ _)) = [] ++getMainDeclBinderI _ = [] ++ ++familyDeclLNameI :: FamilyDecl DocNameI -> Located DocName ++familyDeclLNameI (FamilyDecl { fdLName = n }) = n ++familyDeclLNameI (XFamilyDecl nec) = noExtCon nec ++ ++tyClDeclLNameI :: TyClDecl DocNameI -> Located DocName ++tyClDeclLNameI (FamDecl { tcdFam = fd }) = familyDeclLNameI fd ++tyClDeclLNameI (SynDecl { tcdLName = ln }) = ln ++tyClDeclLNameI (DataDecl { tcdLName = ln }) = ln ++tyClDeclLNameI (ClassDecl { tcdLName = ln }) = ln ++tyClDeclLNameI (XTyClDecl nec) = noExtCon nec ++ ++tcdNameI :: TyClDecl DocNameI -> DocName ++tcdNameI = unLoc . tyClDeclLNameI ++ + -- ------------------------------------- + + getGADTConTypeG :: ConDecl (GhcPass p) -> LHsType (GhcPass p) +@@ -761,4 +785,3 @@ defaultRuntimeRepVars = go emptyVarEnv + + go _ ty@(LitTy {}) = ty + go _ ty@(CoercionTy {}) = ty +- +diff --git a/haddock-api/src/Haddock/Types.hs b/haddock-api/src/Haddock/Types.hs +index c2cf08bb2..853f4b1b2 100644 +--- a/src/Haddock/Types.hs ++++ b/src/Haddock/Types.hs +@@ -789,6 +789,7 @@ type instance XDataDecl DocNameI = NoExtField + type instance XSynDecl DocNameI = NoExtField + type instance XFamDecl DocNameI = NoExtField + type instance XXFamilyDecl DocNameI = NoExtCon ++type instance XXTyClDecl DocNameI = NoExtCon + + type instance XHsIB DocNameI _ = NoExtField + type instance XHsWC DocNameI _ = NoExtField + +From e1fe49e9458a5d5161adc8b5b8bfea6437a9eedf Mon Sep 17 00:00:00 2001 +From: alexbiehl <alexbiehl@gmail.com> +Date: Tue, 8 Dec 2020 20:03:49 +0100 +Subject: [PATCH 2/2] Import intercalate + +--- + haddock-api/src/Haddock/Interface/Rename.hs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs +index 78c585814..4d9eadac5 100644 +--- a/src/Haddock/Interface/Rename.hs ++++ b/src/Haddock/Interface/Rename.hs +@@ -29,6 +29,7 @@ import TysWiredIn (eqTyCon_RDR) + import Control.Applicative + import Control.Arrow ( first ) + import Control.Monad hiding (mapM) ++import Data.List (intercalate) + import qualified Data.Map as Map hiding ( Map ) + import qualified Data.Set as Set + import Prelude hiding (mapM) diff --git a/dev-haskell/haddock-api/haddock-api-2.24.0.ebuild b/dev-haskell/haddock-api/haddock-api-2.24.0.ebuild new file mode 100644 index 000000000000..d17fc17abb38 --- /dev/null +++ b/dev-haskell/haddock-api/haddock-api-2.24.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CABAL_FEATURES="lib hoogle hscolour profile test-suite" # haddock +inherit haskell-cabal + +DESCRIPTION="A documentation-generation tool for Haskell libraries" +HOMEPAGE="https://www.haskell.org/haddock/" +SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +# keep in sync with ghc-8.10 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="" + +RDEPEND=">=dev-haskell/ghc-paths-0.1.0.9:=[profile?] <dev-haskell/ghc-paths-0.2:=[profile?] + >=dev-haskell/haddock-library-1.9.0:=[profile?] <dev-haskell/haddock-library-1.10:=[profile?] + >=dev-haskell/xhtml-3000.2.2:=[profile?] <dev-haskell/xhtml-3000.3:=[profile?] + >=dev-lang/ghc-8.10.1:= +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-3.0.0.0 + test? ( >=dev-haskell/ghc-paths-0.1.0.12 <dev-haskell/ghc-paths-0.2 + >=dev-haskell/hspec-2.4.4 <dev-haskell/hspec-2.8 + >=dev-haskell/quickcheck-2.11 + ) +" + +PATCHES=("${FILESDIR}"/${P}-ghc-8.10.2.patch ) + +src_prepare () { + default + + cabal_chdeps \ + 'QuickCheck >= 2.11 && < 2.14' 'QuickCheck >= 2.11' +} |