diff options
Diffstat (limited to 'dev-haskell/hakyll')
-rw-r--r-- | dev-haskell/hakyll/Manifest | 7 | ||||
-rw-r--r-- | dev-haskell/hakyll/files/hakyll-4.13.4.1-pandoc-2.11.patch | 209 | ||||
-rw-r--r-- | dev-haskell/hakyll/hakyll-4.13.4.0.ebuild | 76 | ||||
-rw-r--r-- | dev-haskell/hakyll/hakyll-4.14.0.0-r1.ebuild (renamed from dev-haskell/hakyll/hakyll-4.13.4.1.ebuild) | 17 |
4 files changed, 10 insertions, 299 deletions
diff --git a/dev-haskell/hakyll/Manifest b/dev-haskell/hakyll/Manifest index ef2ecba20b06..d3fa2d5b47d0 100644 --- a/dev-haskell/hakyll/Manifest +++ b/dev-haskell/hakyll/Manifest @@ -1,6 +1,3 @@ -AUX hakyll-4.13.4.1-pandoc-2.11.patch 8213 BLAKE2B f30c9f5260ab834395d10358419e9b0d4bfe91acd80b1a45a7e432e92c480097138cd2e430257af2c24934d8bce1d377f8b84b6acd99036fe321f12b0f065063 SHA512 6e4c5f4440619e19d03a591b8771f810ecfb18ddbd9b4961fae64ef36defcb89191cd9b84998f61f3538854ebd2d9c1c8bda986a323d37ebf8361504fc126bc6 -DIST hakyll-4.13.4.0.tar.gz 105151 BLAKE2B a17ddcc7846d4c50f3ade0d430a0208c6c85d9827e5daa69b1652050313cb62fc87fd8b1547cacacbca5562f4cf172eacd7e641d3921516c4578e0684ae55ee9 SHA512 4ade6776cfee7a8293ba4a659cf8633c0e6641ee2c33db9cdddeaca996ff092d027ce4165e174d7acdeb8485904394d9a899351d9e3c065e4ce7cb5af61ee08a -DIST hakyll-4.13.4.1.tar.gz 105251 BLAKE2B 6a2c83f2784aad1c80ecce7d01ade1d1bde0546c3f828acc74c88df95b4217f191eb516bf57cc1993bdaebd76629d86d3963bf386f7df68ca5dc17288f3f2b3f SHA512 6045a1461855d46f57a20f7a84636f90e6d151bcbaf09511f10ab66fa0567062e355ff580d1f12a4432bbe517bc9e162d65927f3c343f8f077e81981e7c7973c -EBUILD hakyll-4.13.4.0.ebuild 4079 BLAKE2B bdd468381be955fa43da8b5596e4e0c521936f4d51d922717da71d9c48d12edc5c0ad2e570c42805772018acd5e0d8f32803c419f2dab402412453dda801c90c SHA512 7a14b03e850212f32e1a66f9be83d9b6e9e51650d5a158b7889908d65aba2570d277fc42a2957e0a90fec554fc623f2268ea64af41a7a3116ea8f892403018f3 -EBUILD hakyll-4.13.4.1.ebuild 4333 BLAKE2B 82665d4629e697ac65494402797742f4d20f65e15b3ab34b860529be82799477c62f7129126514974dd46099b8ea41572b8220c5f65d0f0bcd2a1ce4b6674290 SHA512 90d97380fe9a629fb2a3cc38de12a959ea299b80e34b5d35c1f0e19a0082892a05fd8aafb4833ea8c3c20ba76d0a5a0d8f9d49c4b7177b7682b16b7446f34b05 +DIST hakyll-4.14.0.0.tar.gz 109807 BLAKE2B e1e6e541f5783571740744b9eee1bcd9edd79eec69b5556de39ef7a47f86e23fa0284ccb83ff9212ff4b07b7e2519eff67946ebdbf90663421cf98ea9761c529 SHA512 5f3f7a952b085cf1a59a646c15e42f29c89d4ed0a5a96f55156d19b86340c2361da6c19ff7a70bde98122423e237dc7082bfcc84bc5e96ab9421fdaef84a8cce +EBUILD hakyll-4.14.0.0-r1.ebuild 4319 BLAKE2B 97d6aedc4e496f7696f6c1f306d07af9730f56749c54f65f45dabc2246491c700da386b566d2aefa715bf1d1c9f7cb0088b40354805eaa4375c4b26497860d0e SHA512 be78272f30ccb8188f6834a2ce4dd86966b32db04ec164c790fdfbc7bb92fd5bd45f521dac51dc0f24ba5ae32b8c65a892038214aec1d9aa9d67ca5282932cbc MISC metadata.xml 1181 BLAKE2B a22ae826a948f6941e935e93f5381bffb53ec0c532e571d5c903ce5670cdc615a1a4915b2b0b66530e21877e57eb55d2947a5d54da18df8e0030aeb6e369dd8b SHA512 104a8d369da505e931d184a37661832fa99c27412b4e4e8c2dca8b857aaba48258a0fa52d47fafeb964b1633255a38b72383fa439038e948631730da02f07a8d diff --git a/dev-haskell/hakyll/files/hakyll-4.13.4.1-pandoc-2.11.patch b/dev-haskell/hakyll/files/hakyll-4.13.4.1-pandoc-2.11.patch deleted file mode 100644 index 1598c89c8995..000000000000 --- a/dev-haskell/hakyll/files/hakyll-4.13.4.1-pandoc-2.11.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 77afcbc2937a4ee5db9666c1f3e0c090914d3980 Mon Sep 17 00:00:00 2001 -From: Jasper Van der Jeugt <m@jaspervdj.be> -Date: Sun, 6 Dec 2020 19:24:06 +0100 -Subject: [PATCH] Pandoc 2.11 compatibility (#826) - -* Pandoc 2.11 compatibility - -* Bump stack.yaml - -* Bump stack dependencies ---- - lib/Hakyll/Web/Pandoc/Biblio.hs | 102 +++++++++++++++++--------------- - lib/Hakyll/Web/Pandoc/Binary.hs | 12 ---- - 5 files changed, 123 insertions(+), 86 deletions(-) -diff --git a/lib/Hakyll/Web/Pandoc/Biblio.hs b/lib/Hakyll/Web/Pandoc/Biblio.hs -index 5127d881..567f478b 100644 ---- a/lib/Hakyll/Web/Pandoc/Biblio.hs -+++ b/lib/Hakyll/Web/Pandoc/Biblio.hs -@@ -12,6 +12,7 @@ - {-# LANGUAGE Arrows #-} - {-# LANGUAGE DeriveDataTypeable #-} - {-# LANGUAGE GeneralizedNewtypeDeriving #-} -+{-# LANGUAGE OverloadedStrings #-} - module Hakyll.Web.Pandoc.Biblio - ( CSL - , cslCompiler -@@ -23,33 +24,31 @@ module Hakyll.Web.Pandoc.Biblio - - - -------------------------------------------------------------------------------- --import Control.Monad (liftM, replicateM) --import Data.Binary (Binary (..)) --import Data.Typeable (Typeable) -+import Control.Monad (liftM) -+import Data.Binary (Binary (..)) -+import qualified Data.ByteString as B -+import qualified Data.ByteString.Lazy as BL -+import qualified Data.Map as Map -+import qualified Data.Time as Time -+import Data.Typeable (Typeable) - import Hakyll.Core.Compiler - import Hakyll.Core.Compiler.Internal - import Hakyll.Core.Identifier - import Hakyll.Core.Item --import Hakyll.Core.Provider - import Hakyll.Core.Writable - import Hakyll.Web.Pandoc --import Hakyll.Web.Pandoc.Binary () --import qualified Text.CSL as CSL --import Text.CSL.Pandoc (processCites) --import Text.Pandoc (Pandoc, ReaderOptions (..), -- enableExtension, Extension (..)) -+import Text.Pandoc (Extension (..), Pandoc, -+ ReaderOptions (..), -+ enableExtension) -+import qualified Text.Pandoc as Pandoc -+import qualified Text.Pandoc.Citeproc as Pandoc (processCitations) - - - -------------------------------------------------------------------------------- --data CSL = CSL -- deriving (Show, Typeable) -+newtype CSL = CSL {unCSL :: B.ByteString} -+ deriving (Binary, Show, Typeable) - - ---------------------------------------------------------------------------------- --instance Binary CSL where -- put CSL = return () -- get = return CSL -- - - -------------------------------------------------------------------------------- - instance Writable CSL where -@@ -59,21 +58,12 @@ instance Writable CSL where - - -------------------------------------------------------------------------------- - cslCompiler :: Compiler (Item CSL) --cslCompiler = makeItem CSL -- -- ---------------------------------------------------------------------------------- --newtype Biblio = Biblio [CSL.Reference] -- deriving (Show, Typeable) -+cslCompiler = fmap (CSL . BL.toStrict) <$> getResourceLBS - - - -------------------------------------------------------------------------------- --instance Binary Biblio where -- -- Ugly. -- get = do -- len <- get -- Biblio <$> replicateM len get -- put (Biblio rs) = put (length rs) >> mapM_ put rs -+newtype Biblio = Biblio {unBiblio :: B.ByteString} -+ deriving (Binary, Show, Typeable) - - - -------------------------------------------------------------------------------- -@@ -84,12 +74,7 @@ instance Writable Biblio where - - -------------------------------------------------------------------------------- - biblioCompiler :: Compiler (Item Biblio) --biblioCompiler = do -- filePath <- getResourceFilePath -- makeItem =<< unsafeCompiler (Biblio <$> CSL.readBiblioFile idpred filePath) -- where -- -- This is a filter on citations. We include all citations. -- idpred = const True -+biblioCompiler = fmap (Biblio . BL.toStrict) <$> getResourceLBS - - - -------------------------------------------------------------------------------- -@@ -99,19 +84,42 @@ readPandocBiblio :: ReaderOptions - -> (Item String) - -> Compiler (Item Pandoc) - readPandocBiblio ropt csl biblio item = do -- -- Parse CSL file, if given -- provider <- compilerProvider <$> compilerAsk -- style <- unsafeCompiler $ -- CSL.readCSLFile Nothing . (resourceFilePath provider) . itemIdentifier $ csl -- -- -- We need to know the citation keys, add then *before* actually parsing the -- -- actual page. If we don't do this, pandoc won't even consider them -- -- citations! -- let Biblio refs = itemBody biblio -- pandoc <- itemBody <$> readPandocWith ropt item -- let pandoc' = processCites style refs pandoc -- -- return $ fmap (const pandoc') item -+ -- It's not straightforward to use the Pandoc API as of 2.11 to deal with -+ -- citations, since it doesn't export many things in 'Text.Pandoc.Citeproc'. -+ -- The 'citeproc' package is also hard to use. -+ -- -+ -- So instead, we try treating Pandoc as a black box. Pandoc can read -+ -- specific csl and bilbio files based on metadata keys. -+ -- -+ -- So we load the CSL and Biblio files and pass them to Pandoc using the -+ -- ersatz filesystem. -+ Pandoc.Pandoc (Pandoc.Meta meta) blocks <- itemBody <$> -+ readPandocWith ropt item -+ -+ let cslFile = Pandoc.FileInfo zeroTime . unCSL $ itemBody csl -+ bibFile = Pandoc.FileInfo zeroTime . unBiblio $ itemBody biblio -+ addBiblioFiles = \st -> st -+ { Pandoc.stFiles = -+ Pandoc.insertInFileTree "_hakyll/style.csl" cslFile . -+ Pandoc.insertInFileTree "_hakyll/refs.bib" bibFile $ -+ Pandoc.stFiles st -+ } -+ biblioMeta = Pandoc.Meta . -+ Map.insert "csl" (Pandoc.MetaString "_hakyll/style.csl") . -+ Map.insert "bibliography" (Pandoc.MetaString "_hakyll/refs.bib") $ -+ meta -+ errOrPandoc = Pandoc.runPure $ do -+ Pandoc.modifyPureState addBiblioFiles -+ Pandoc.processCitations $ Pandoc.Pandoc biblioMeta blocks -+ -+ pandoc <- case errOrPandoc of -+ Left e -> compilerThrow ["Error during processCitations: " ++ show e] -+ Right x -> return x -+ -+ return $ fmap (const pandoc) item -+ -+ where -+ zeroTime = Time.UTCTime (toEnum 0) 0 - - -------------------------------------------------------------------------------- - pandocBiblioCompiler :: String -> String -> Compiler (Item String) -diff --git a/lib/Hakyll/Web/Pandoc/Binary.hs b/lib/Hakyll/Web/Pandoc/Binary.hs -index 5d3efead..3f7f4fb5 100644 ---- a/lib/Hakyll/Web/Pandoc/Binary.hs -+++ b/lib/Hakyll/Web/Pandoc/Binary.hs -@@ -4,9 +4,6 @@ module Hakyll.Web.Pandoc.Binary where - - import Data.Binary (Binary (..)) - --import qualified Text.CSL as CSL --import qualified Text.CSL.Reference as REF --import qualified Text.CSL.Style as STY - import Text.Pandoc - - -------------------------------------------------------------------------------- -@@ -18,7 +15,6 @@ instance Binary Caption - instance Binary Cell - instance Binary ColSpan - instance Binary ColWidth --instance Binary CSL.Reference - instance Binary Citation - instance Binary CitationMode - instance Binary Format -@@ -27,17 +23,9 @@ instance Binary ListNumberDelim - instance Binary ListNumberStyle - instance Binary MathType - instance Binary QuoteType --instance Binary REF.CLabel --instance Binary REF.CNum --instance Binary REF.Literal --instance Binary REF.RefDate --instance Binary REF.RefType --instance Binary REF.Season - instance Binary Row - instance Binary RowHeadColumns - instance Binary RowSpan --instance Binary STY.Agent --instance Binary STY.Formatted - instance Binary TableBody - instance Binary TableFoot - instance Binary TableHead diff --git a/dev-haskell/hakyll/hakyll-4.13.4.0.ebuild b/dev-haskell/hakyll/hakyll-4.13.4.0.ebuild deleted file mode 100644 index 0cf1b6bd90e5..000000000000 --- a/dev-haskell/hakyll/hakyll-4.13.4.0.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# ebuild generated by hackport 0.6.4.9999 - -CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" -inherit haskell-cabal - -DESCRIPTION="A static website compiler library" -HOMEPAGE="https://jaspervdj.be/hakyll/" -SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0/${PV}" -KEYWORDS="~amd64 ~x86" -IUSE="buildwebsite +checkexternal +previewserver +usepandoc +watchserver" - -RDEPEND=">=dev-haskell/blaze-html-0.5:=[profile?] <dev-haskell/blaze-html-0.10:=[profile?] - >=dev-haskell/blaze-markup-0.5.1:=[profile?] <dev-haskell/blaze-markup-0.9:=[profile?] - >=dev-haskell/cryptonite-0.25:=[profile?] <dev-haskell/cryptonite-0.28:=[profile?] - >=dev-haskell/data-default-0.4:=[profile?] <dev-haskell/data-default-0.8:=[profile?] - >=dev-haskell/file-embed-0.0.10.1:=[profile?] <dev-haskell/file-embed-0.0.12:=[profile?] - >=dev-haskell/lrucache-1.1.1:=[profile?] <dev-haskell/lrucache-1.3:=[profile?] - >=dev-haskell/memory-0.14.18:=[profile?] <dev-haskell/memory-0.16:=[profile?] - >=dev-haskell/mtl-1:=[profile?] <dev-haskell/mtl-2.3:=[profile?] - >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] - >=dev-haskell/optparse-applicative-0.12:=[profile?] <dev-haskell/optparse-applicative-0.16:=[profile?] - >=dev-haskell/parsec-3.0:=[profile?] <dev-haskell/parsec-3.2:=[profile?] - >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?] - >=dev-haskell/regex-tdfa-1.1:=[profile?] <dev-haskell/regex-tdfa-1.4:=[profile?] - >=dev-haskell/resourcet-1.1:=[profile?] <dev-haskell/resourcet-1.3:=[profile?] - >=dev-haskell/scientific-0.3.4:=[profile?] <dev-haskell/scientific-0.4:=[profile?] - >=dev-haskell/tagsoup-0.13.1:=[profile?] <dev-haskell/tagsoup-0.15:=[profile?] - >=dev-haskell/text-0.11:=[profile?] <dev-haskell/text-1.3:=[profile?] - >=dev-haskell/time-locale-compat-0.1:=[profile?] <dev-haskell/time-locale-compat-0.2:=[profile?] - >=dev-haskell/unordered-containers-0.2:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?] - >=dev-haskell/vector-0.11:=[profile?] <dev-haskell/vector-0.13:=[profile?] - >=dev-haskell/yaml-0.8.11:=[profile?] <dev-haskell/yaml-0.12:=[profile?] - >=dev-lang/ghc-8.6.3:= - buildwebsite? ( >=app-text/pandoc-2.0.5:=[profile?] <app-text/pandoc-2.10:=[profile?] ) - checkexternal? ( >=dev-haskell/http-conduit-2.2:=[profile?] <dev-haskell/http-conduit-2.4:=[profile?] ) - previewserver? ( >=dev-haskell/fsnotify-0.2:=[profile?] <dev-haskell/fsnotify-0.4:=[profile?] - >=dev-haskell/http-types-0.9:=[profile?] <dev-haskell/http-types-0.13:=[profile?] - >=dev-haskell/wai-3.2:=[profile?] <dev-haskell/wai-3.3:=[profile?] - >=dev-haskell/wai-app-static-3.1:=[profile?] <dev-haskell/wai-app-static-3.2:=[profile?] - >=dev-haskell/warp-3.2:=[profile?] <dev-haskell/warp-3.4:=[profile?] ) - !previewserver? ( checkexternal? ( >=dev-haskell/http-types-0.7:=[profile?] <dev-haskell/http-types-0.13:=[profile?] ) - watchserver? ( >=dev-haskell/fsnotify-0.2:=[profile?] <dev-haskell/fsnotify-0.4:=[profile?] ) ) - usepandoc? ( >=app-text/pandoc-2.0.5:=[profile?] <app-text/pandoc-2.10:=[profile?] - >=dev-haskell/pandoc-citeproc-0.14:=[profile?] <dev-haskell/pandoc-citeproc-0.18:=[profile?] ) -" -DEPEND="${RDEPEND} - >=dev-haskell/cabal-2.4.0.1 - test? ( >=dev-haskell/quickcheck-2.8 <dev-haskell/quickcheck-2.14 - >=dev-haskell/tasty-0.11 <dev-haskell/tasty-1.4 - >=dev-haskell/tasty-hunit-0.9 <dev-haskell/tasty-hunit-0.11 - >=dev-haskell/tasty-quickcheck-0.8 <dev-haskell/tasty-quickcheck-0.11 ) -" - -src_configure() { - haskell-cabal_src_configure \ - $(cabal_flag buildwebsite buildwebsite) \ - $(cabal_flag checkexternal checkexternal) \ - $(cabal_flag previewserver previewserver) \ - $(cabal_flag usepandoc usepandoc) \ - $(cabal_flag watchserver watchserver) -} - -src_test() { - # unixFilter test expects 'option' output in error message - # But it's a localized string that: - # https://github.com/jaspervdj/hakyll/issues/607 - LANGUAGE=en haskell-cabal_src_test -} diff --git a/dev-haskell/hakyll/hakyll-4.13.4.1.ebuild b/dev-haskell/hakyll/hakyll-4.14.0.0-r1.ebuild index 87f239ca1460..a9d1b64fa5f2 100644 --- a/dev-haskell/hakyll/hakyll-4.13.4.1.ebuild +++ b/dev-haskell/hakyll/hakyll-4.14.0.0-r1.ebuild @@ -28,7 +28,7 @@ RDEPEND=">=dev-haskell/blaze-html-0.5:=[profile?] <dev-haskell/blaze-html-0.10:= >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] >=dev-haskell/optparse-applicative-0.12:=[profile?] <dev-haskell/optparse-applicative-0.16:=[profile?] >=dev-haskell/parsec-3.0:=[profile?] <dev-haskell/parsec-3.2:=[profile?] - >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?] + >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.3:=[profile?] >=dev-haskell/regex-tdfa-1.1:=[profile?] <dev-haskell/regex-tdfa-1.4:=[profile?] >=dev-haskell/resourcet-1.1:=[profile?] <dev-haskell/resourcet-1.3:=[profile?] >=dev-haskell/scientific-0.3.4:=[profile?] <dev-haskell/scientific-0.4:=[profile?] @@ -39,7 +39,7 @@ RDEPEND=">=dev-haskell/blaze-html-0.5:=[profile?] <dev-haskell/blaze-html-0.10:= >=dev-haskell/vector-0.11:=[profile?] <dev-haskell/vector-0.13:=[profile?] >=dev-haskell/yaml-0.8.11:=[profile?] <dev-haskell/yaml-0.12:=[profile?] >=dev-lang/ghc-8.6.3:= - buildwebsite? ( >=app-text/pandoc-2.11:=[profile?] <app-text/pandoc-2.12:=[profile?] ) + buildwebsite? ( >=app-text/pandoc-2.11:=[profile?] <app-text/pandoc-2.14:=[profile?] ) checkexternal? ( >=dev-haskell/http-conduit-2.2:=[profile?] <dev-haskell/http-conduit-2.4:=[profile?] ) previewserver? ( >=dev-haskell/fsnotify-0.2:=[profile?] <dev-haskell/fsnotify-0.4:=[profile?] >=dev-haskell/http-types-0.9:=[profile?] <dev-haskell/http-types-0.13:=[profile?] @@ -48,26 +48,25 @@ RDEPEND=">=dev-haskell/blaze-html-0.5:=[profile?] <dev-haskell/blaze-html-0.10:= >=dev-haskell/warp-3.2:=[profile?] <dev-haskell/warp-3.4:=[profile?] ) !previewserver? ( checkexternal? ( >=dev-haskell/http-types-0.7:=[profile?] <dev-haskell/http-types-0.13:=[profile?] ) watchserver? ( >=dev-haskell/fsnotify-0.2:=[profile?] <dev-haskell/fsnotify-0.4:=[profile?] ) ) - usepandoc? ( >=app-text/pandoc-2.11:=[profile?] <app-text/pandoc-2.12:=[profile?] ) + usepandoc? ( >=app-text/pandoc-2.11:=[profile?] <app-text/pandoc-2.14:=[profile?] ) " DEPEND="${RDEPEND} >=dev-haskell/cabal-2.4.0.1 test? ( >=dev-haskell/quickcheck-2.8 <dev-haskell/quickcheck-2.15 >=dev-haskell/tasty-0.11 <dev-haskell/tasty-1.4 + >=dev-haskell/tasty-golden-2.3 <dev-haskell/tasty-golden-2.4 >=dev-haskell/tasty-hunit-0.9 <dev-haskell/tasty-hunit-0.11 >=dev-haskell/tasty-quickcheck-0.8 <dev-haskell/tasty-quickcheck-0.11 ) " -PATCHES=( "${FILESDIR}"/${P}-pandoc-2.11.patch ) - src_prepare() { default + # See upstream commit making this change: + # https://github.com/jaspervdj/hakyll/commit/0dc6127d81ff688e27c36ce469230320eee60246 cabal_chdeps \ - 'pandoc >= 2.10 && < 2.11,' 'pandoc >= 2.11' \ - 'pandoc >= 2.10 && < 2.11' 'pandoc >= 2.11' \ - 'pandoc-citeproc >= 0.14 && < 0.18' ' ' \ - 'file-embed >= 0.0.10.1 && < 0.0.12' 'file-embed >= 0.0.10.1' + 'pandoc >= 2.11 && < 2.12' 'pandoc >= 2.11' \ + 'pandoc >= 2.11 && < 2.12' 'pandoc >= 2.11' } src_configure() { |