summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2016-05-11 08:10:08 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2016-05-11 09:48:03 +0100
commit11b4ff84d46a61af8e9057d050c129cf904cbd6d (patch)
tree5d46f5af33bb41f355e915c2ca61216b436a4988 /dev-haskell/citeproc-hs
parentdev-haskell/classy-prelude: bump up to 0.12.7 (diff)
downloadgentoo-11b4ff84d46a61af8e9057d050c129cf904cbd6d.tar.gz
gentoo-11b4ff84d46a61af8e9057d050c129cf904cbd6d.tar.bz2
gentoo-11b4ff84d46a61af8e9057d050c129cf904cbd6d.zip
dev-haskell/citeproc-hs: port to pandoc-1.16
Package-Manager: portage-2.2.28
Diffstat (limited to 'dev-haskell/citeproc-hs')
-rw-r--r--dev-haskell/citeproc-hs/citeproc-hs-0.3.10-r1.ebuild55
-rw-r--r--dev-haskell/citeproc-hs/files/citeproc-hs-0.3.10-pandoc-1.16.patch126
2 files changed, 181 insertions, 0 deletions
diff --git a/dev-haskell/citeproc-hs/citeproc-hs-0.3.10-r1.ebuild b/dev-haskell/citeproc-hs/citeproc-hs-0.3.10-r1.ebuild
new file mode 100644
index 000000000000..cf78e8c070bb
--- /dev/null
+++ b/dev-haskell/citeproc-hs/citeproc-hs-0.3.10-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.3
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="A Citation Style Language implementation in Haskell"
+HOMEPAGE="http://istitutocolli.org/repos/citeproc-hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bibutils embed_data_files +hexpat +network +small_base unicode_collation"
+
+RDEPEND="dev-haskell/json:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pandoc-types-1.8:=[profile?]
+ dev-haskell/parsec:=[profile?]
+ dev-haskell/syb:=[profile?]
+ dev-haskell/utf8-string:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ bibutils? ( >=dev-haskell/hs-bibutils-0.3:=[profile?] )
+ embed_data_files? ( dev-haskell/file-embed:=[profile?] )
+ hexpat? ( >=dev-haskell/hexpat-0.20.2:=[profile?] )
+ !hexpat? ( dev-haskell/xml:=[profile?] )
+ network? ( >=dev-haskell/http-4000.0.9:=[profile?]
+ >=dev-haskell/network-2.6:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] )
+ unicode_collation? ( dev-haskell/text:=[profile?]
+ dev-haskell/text-icu:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.6
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-ghc-7.10.patch
+ epatch "${FILESDIR}"/${P}-pandoc-1.16.patch
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag bibutils bibutils) \
+ $(cabal_flag embed_data_files embed_data_files) \
+ $(cabal_flag hexpat hexpat) \
+ $(cabal_flag network network) \
+ $(cabal_flag small_base small_base) \
+ $(cabal_flag unicode_collation unicode_collation)
+}
diff --git a/dev-haskell/citeproc-hs/files/citeproc-hs-0.3.10-pandoc-1.16.patch b/dev-haskell/citeproc-hs/files/citeproc-hs-0.3.10-pandoc-1.16.patch
new file mode 100644
index 000000000000..ab95388748d4
--- /dev/null
+++ b/dev-haskell/citeproc-hs/files/citeproc-hs-0.3.10-pandoc-1.16.patch
@@ -0,0 +1,126 @@
+diff --git a/citeproc-hs.cabal b/citeproc-hs.cabal
+index 542f893..606ec05 100644
+--- a/citeproc-hs.cabal
++++ b/citeproc-hs.cabal
+@@ -119,3 +119,3 @@ library
+ build-depends: containers, directory, mtl, json, utf8-string,
+- bytestring, filepath, pandoc-types >= 1.8 && < 1.13
++ bytestring, filepath, pandoc-types >= 1.8
+
+diff --git a/src/Text/CSL/Output/Pandoc.hs b/src/Text/CSL/Output/Pandoc.hs
+index 0f2cdfb..74e698f 100644
+--- a/src/Text/CSL/Output/Pandoc.hs
++++ b/src/Text/CSL/Output/Pandoc.hs
+@@ -1,2 +1,2 @@
+-{-# LANGUAGE PatternGuards, DeriveDataTypeable #-}
++{-# LANGUAGE PatternGuards, DeriveDataTypeable, CPP #-}
+ -----------------------------------------------------------------------------
+@@ -78,2 +78,10 @@ tailFO (f:fs)
+
++#if MIN_VERSION_pandoc_types(1,16,0)
++# define P16_ATTRS nullAttr
++# define P16_ATTRS_ _attrs
++#else
++# define P16_ATTRS
++# define P16_ATTRS_
++#endif
++
+ renderFo :: Style -> FormattedOutput -> [Inline]
+@@ -85,3 +93,3 @@ renderFo sty fo
+ | FO fm xs <- fo = toPandoc fm $ rest xs
+- | FUrl u fm <- fo = toPandoc fm [Link (toStr $ snd u) u]
++ | FUrl u fm <- fo = toPandoc fm [Link P16_ATTRS (toStr $ snd u) u]
+ | otherwise = []
+@@ -109,3 +117,3 @@ renderFo sty fo
+ setCase' f i
+- | Link s r <- i = Link (map (setCase f) s) r
++ | Link P16_ATTRS_ s r <- i = Link P16_ATTRS_ (map (setCase f) s) r
+ | otherwise = setCase f i
+@@ -148,3 +156,3 @@ renderFo sty fo
+ rmZeros = dropWhile (== '0')
+- escape s x = Link x (s,s) -- we use a link to store some data
++ escape s x = Link P16_ATTRS x (s,s) -- we use a link to store some data
+
+@@ -181,3 +189,4 @@ clean s b (i:is)
+ | Strong x <- i = split (isLink' "strong" ) (return . Strong ) x ++ clean s b is
+- | Link x t <- i = clean' s b (Link x t : clean s b is)
++ | Link P16_ATTRS_ x t <- i = clean'
++ s b (Link P16_ATTRS_ x t : clean s b is)
+ | otherwise = clean' s b (i : clean s b is)
+@@ -185,10 +194,10 @@ clean s b (i:is)
+ unwrap f ls
+- | Link x _ : _ <- ls = clean' s b x
+- | _ : _ <- ls = f ls
++ | Link P16_ATTRS_ x _ : _ <- ls = clean' s b x
++ | _ : _ <- ls = f ls
+ | otherwise = []
+ isLink l il
+- | Link _ (x,y) <- il = x == l && x == y
++ | Link P16_ATTRS_ _ (x,y) <- il = x == l && x == y
+ | otherwise = False
+ isLink' l il
+- | Link _ (x,y) <- il = (x == l || x == "nodecor") && x == y
++ | Link P16_ATTRS_ _ (x,y) <- il = (x == l || x == "nodecor") && x == y
+ | otherwise = False
+@@ -201,3 +210,3 @@ clean' _ _ [] = []
+ clean' s b (i:is)
+- | Link inls (y,z) <- i, y == "inquote"
++ | Link P16_ATTRS_ inls (y,z) <- i, y == "inquote"
+ , y == z = case headInline is of
+@@ -235,7 +244,7 @@ flipFlop (i:is)
+ reverseEmph' e
+- | bo, Emph inls <- e = Link (reverseEmph False inls) ("emph","emph")
++ | bo, Emph inls <- e = Link P16_ATTRS (reverseEmph False inls) ("emph","emph")
+ | Emph inls <- e = Emph (reverseEmph True inls)
+- | Link ls (x,y) <- e = if x == "nodecor" && x == y
+- then Link ls ("emph","emph")
+- else e
++ | Link P16_ATTRS_ ls (x,y) <- e = if x == "nodecor" && x == y
++ then Link P16_ATTRS_ ls ("emph","emph")
++ else e
+ | otherwise = e
+@@ -244,7 +253,7 @@ flipFlop (i:is)
+ reverseStrong' e
+- | bo, Strong inls <- e = Link (reverseStrong False inls) ("strong","strong")
++ | bo, Strong inls <- e = Link P16_ATTRS (reverseStrong False inls) ("strong","strong")
+ | Strong inls <- e = Strong (reverseStrong True inls)
+- | Link ls (x,y) <- e = if x == "nodecor" && x == y
+- then Link ls ("strong","strong")
+- else e
++ | Link P16_ATTRS_ ls (x,y) <- e = if x == "nodecor" && x == y
++ then Link P16_ATTRS_ ls ("strong","strong")
++ else e
+ | otherwise = e
+@@ -306,3 +315,3 @@ initInline (i:[])
+ | Strikeout is <- i = return $ Strikeout (initInline is)
+- | Link is t <- i = return $ Link (initInline is) t
++ | Link P16_ATTRS_ is t <- i = return $ Link P16_ATTRS_ (initInline is) t
+ | otherwise = []
+@@ -336,3 +345,3 @@ mapHeadInline f (i:xs)
+ | Strikeout is <- i = Strikeout (mapHeadInline f is) : xs
+- | Link is t <- i = Link (mapHeadInline f is) t : xs
++ | Link P16_ATTRS_ is t <- i = Link P16_ATTRS_ (mapHeadInline f is) t : xs
+ | otherwise = i : xs
+@@ -348,3 +357,3 @@ getInline i
+ | SmallCaps is <- i = is
+- | Link is _ <- i = is
++ | Link P16_ATTRS_ is _ <- i = is
+ | otherwise = []
+diff --git a/src/Text/CSL/Test.hs b/src/Text/CSL/Test.hs
+index 1a470cf..2d9befa 100644
+--- a/src/Text/CSL/Test.hs
++++ b/src/Text/CSL/Test.hs
+@@ -166,2 +166,8 @@ pandocBib s
+
++#if MIN_VERSION_pandoc_types(1,16,0)
++# define P16_ATTRS_ _attrs
++#else
++# define P16_ATTRS_
++#endif
++
+ pandocToHTML :: [Inline] -> String
+@@ -179,3 +185,3 @@ pandocToHTML (i:xs)
+ SingleQuote -> "‘" ++ pandocToHTML is ++ "’" ++ pandocToHTML xs
+- | Link is x <- i = case snd x of
++ | Link P16_ATTRS_ is x <- i = case snd x of
+ "emph" -> "<span style=\"font-style:normal;\">" ++