mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-haskell/citeproc-hs: port to pandoc-1.16
Package-Manager: portage-2.2.28
This commit is contained in:
55
dev-haskell/citeproc-hs/citeproc-hs-0.3.10-r1.ebuild
Normal file
55
dev-haskell/citeproc-hs/citeproc-hs-0.3.10-r1.ebuild
Normal file
@@ -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)
|
||||
}
|
||||
@@ -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;\">" ++
|
||||
Reference in New Issue
Block a user