commit:     e4d79c149e867ad4e3deff96032c6a14cca368cd
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 14 09:56:33 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Mar 15 22:32:51 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4d79c14

dev-haskell/haddock-api: bump up to 2.24.0

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-haskell/haddock-api/Manifest                   |   1 +
 .../files/haddock-api-2.24.0-ghc-8.10.2.patch      | 147 +++++++++++++++++++++
 dev-haskell/haddock-api/haddock-api-2.24.0.ebuild  |  39 ++++++
 3 files changed, 187 insertions(+)

diff --git a/dev-haskell/haddock-api/Manifest b/dev-haskell/haddock-api/Manifest
index 3e5c5f97313..de50c543982 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 00000000000..84c275fbb34
--- /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 <[email protected]>
+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 <[email protected]>
+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 00000000000..d17fc17abb3
--- /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'
+}

Reply via email to