Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Sep 2023 18:58:47 GMT
From:      Robert Clausecker <fuz@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 7fa7c89ce006 - main - www/hs-gitit: Restore and update to 0.15.1.1
Message-ID:  <202309241858.38OIwl8G045587@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7fa7c89ce00609a13b933c096eda065d3eb578c7

commit 7fa7c89ce00609a13b933c096eda065d3eb578c7
Author:     Johannes 5 Joemann <joemann@beefree.free.de>
AuthorDate: 2023-08-20 18:16:05 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-09-24 18:57:13 +0000

    www/hs-gitit: Restore and update to 0.15.1.1
    
    Gitit is a wiki program written in Haskell. It uses Happstack for the
    web server and pandoc for markup processing. Pages and uploaded files
    are stored in a git, darcs, or mercurial repository and may be
    modified either by using the VCS's command-line tools or through
    the wiki's web interface. By default, pandoc's extended version of
    markdown is used as a markup language, but reStructuredText, LaTeX,
    HTML, DocBook, or Emacs Org-mode markup can also be used. Gitit can
    be configured to display TeX math (using texmath) and highlighted
    source code (using highlighting-kate).
    
    Other features include
    
     * plugins: dynamically loaded page transformations written in
       Haskell (see "Network.Gitit.Interface")
     * categories
     * caching
     * Atom feeds (site-wide and per-page)
     * a library, "Network.Gitit", that makes it simple to include
       a gitit wiki in any happstack application
    
    WWW: https://github.com/jgm/gitit
    
    PR:             273260
---
 MOVED                                              |   1 -
 www/Makefile                                       |   1 +
 www/hs-gitit/Makefile                              | 244 +++++++
 www/hs-gitit/distinfo                              | 513 ++++++++++++++
 www/hs-gitit/files/extra-patch-data_default.conf   |  22 +
 www/hs-gitit/files/extra-patch-exports             | 612 +++++++++++++++++
 .../files/extra-patch-src_Network_Gitit_Config.hs  |  22 +
 .../files/extra-patch-src_Network_Gitit_Export.hs  |  31 +
 .../files/extra-patch-src_Network_Gitit_Layout.hs  |  11 +
 .../files/extra-patch-src_Network_Gitit_Types.hs   |  15 +
 www/hs-gitit/files/gitit.in                        | 236 +++++++
 ...l__deps_filestore-0.6.5_Data_FileStore_Darcs.hs |  22 +
 .../patch-__cabal__deps_pandoc-3.1.4_pandoc.cabal  |  11 +
 www/hs-gitit/files/patch-data_markup.DocBook       | 748 +++++++++++++++++++++
 www/hs-gitit/files/patch-data_markupHelp_DocBook   | 125 ++++
 www/hs-gitit/files/patch-gitit.cabal               |  31 +
 .../files/patch-src_Network_Gitit_Initialize.hs    |  14 +
 www/hs-gitit/files/patch-src_Network_Gitit_Util.hs |  10 +
 www/hs-gitit/pkg-descr                             |  19 +
 www/hs-gitit/pkg-plist                             |  71 ++
 20 files changed, 2758 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index 3a1b2b999822..b425875f54dc 100644
--- a/MOVED
+++ b/MOVED
@@ -66,7 +66,6 @@ x11-toolkits/hs-wxcore||2018-10-23|Has expired: Doesn't build with recent GHC ve
 devel/hs-TypeCompose||2018-10-23|Has expired: Doesn't build with recent GHC version
 devel/hs-PSQueue||2018-10-23|Has expired: Doesn't build with recent GHC version
 devel/hs-blaze-builder-enumerator||2018-10-23|Has expired: Doesn't build with recent GHC version
-www/hs-gitit||2018-10-23|Has expired: Doesn't build with newest packages
 cad/kicad-library||2018-10-25|Has expired: KiCad has been upgraded to 5.0.0
 devel/linux-kernel||2018-10-29|Has expired: no longer useful
 audio/py-musicbrainz2||2018-10-29|Has expired: Musicbrainz Web Service 1.0 support ended 2018-08-01
diff --git a/www/Makefile b/www/Makefile
index 8447e307aa86..fce00506ceff 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -252,6 +252,7 @@
     SUBDIR += hiawatha-monitor
     SUBDIR += hotcrp
     SUBDIR += hs-DAV
+    SUBDIR += hs-gitit
     SUBDIR += hs-hjsmin
     SUBDIR += hs-postgrest
     SUBDIR += hs-wai-app-static
diff --git a/www/hs-gitit/Makefile b/www/hs-gitit/Makefile
new file mode 100644
index 000000000000..d2aa255c5174
--- /dev/null
+++ b/www/hs-gitit/Makefile
@@ -0,0 +1,244 @@
+PORTNAME=	gitit
+PORTVERSION=	0.15.1.1
+CATEGORIES=	www haskell
+
+MAINTAINER=	joemann@beefree.free.de
+COMMENT=	Wiki using happstack and pandoc, and git or darcs or mercurial
+WWW=		https://github.com/jgm/gitit
+
+LICENSE=	GPLv2
+
+USES=		cabal
+
+OPTIONS_DEFINE=		PLUGINS EXPORTS
+OPTIONS_DEFAULT=	PLUGINS
+
+# "Plugin support makes the gitit executable considerably larger
+#  and more memory-hungry". (jgm)
+PLUGINS_DESC=		Enable support for plugins
+PLUGINS_CABAL_FLAGS=	plugins
+
+# "This feature is a security risk; it provided multiple
+#  vectors by which contents of files could be exposed". (jgm)
+EXPORTS_DESC=		Enable page exports to many formats (insecure!)
+# This is the commit which removed the export options:
+# https://github.com/jgm/gitit/commit/eed32638f4f6e3b2f4b8a9a04c4b72001acf9ad8
+# To re-enable exports in gitit we have to revert it:
+# git diff --no-prefix eed3263 735096f > extra-patch-exports
+EXPORTS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-exports \
+		${PATCHDIR}/extra-patch-data_default.conf \
+		${PATCHDIR}/extra-patch-src_Network_Gitit_Config.hs \
+		${PATCHDIR}/extra-patch-src_Network_Gitit_Export.hs \
+		${PATCHDIR}/extra-patch-src_Network_Gitit_Layout.hs \
+		${PATCHDIR}/extra-patch-src_Network_Gitit_Types.hs
+# Besides applying the above patches one also has to set "exports: yes"
+# in a gitit instance's config file to enable exports for that instance.
+
+USE_CABAL=	ConfigFile-1.1.4_1 \
+		Diff-0.4.1 \
+		Glob-0.10.2_3 \
+		HStringTemplate-0.8.8_5 \
+		HTTP-4000.4.1_2 \
+		JuicyPixels-3.3.8 \
+		MissingH-1.6.0.0 \
+		OneTuple-0.4.1.1 \
+		Only-0.1_1 \
+		QuickCheck-2.14.3 \
+		SHA-1.6.4.4 \
+		StateVar-1.2.2 \
+		aeson-2.1.2.1_3 \
+		aeson-pretty-0.8.10 \
+		ansi-terminal-1.0 \
+		ansi-terminal-types-0.11.5_1 \
+		appar-0.1.8 \
+		asn1-encoding-0.9.6_2 \
+		asn1-parse-0.9.5 \
+		asn1-types-0.3.4 \
+		assoc-1.1 \
+		async-2.2.4_3 \
+		attoparsec-0.14.4_3 \
+		base-compat-0.12.2 \
+		base-compat-batteries-0.12.2 \
+		base-orphans-0.9.0 \
+		base16-bytestring-1.0.2.0 \
+		base64-0.4.2.4_3 \
+		base64-bytestring-1.2.1.0 \
+		basement-0.0.16 \
+		bifunctors-5.6.1 \
+		bitvec-1.1.4.0 \
+		blaze-builder-0.4.2.2_1 \
+		blaze-html-0.9.1.2_2 \
+		blaze-markup-0.8.2.8_4 \
+		byteorder-1.0.4 \
+		cabal-doctest-1.0.9_3 \
+		case-insensitive-1.2.1.0 \
+		cassava-0.5.3.0_1 \
+		cereal-0.5.8.3 \
+		citeproc-0.8.1 \
+		colour-2.3.6 \
+		commonmark-0.2.3 \
+		commonmark-extensions-0.2.3.4 \
+		commonmark-pandoc-0.2.1.3 \
+		comonad-5.0.8_1 \
+		conduit-1.3.5 \
+		conduit-extra-1.3.6 \
+		contravariant-1.5.5 \
+		cookie-0.4.6 \
+		cryptohash-md5-0.11.101.0_2 \
+		cryptohash-sha1-0.11.101.0_2 \
+		crypton-0.33 \
+		crypton-connection-0.3.1 \
+		crypton-x509-1.7.6_1 \
+		crypton-x509-store-1.6.9 \
+		crypton-x509-system-1.6.7 \
+		crypton-x509-validation-1.6.12 \
+		cryptonite-0.30 \
+		css-text-0.1.3.0 \
+		data-default-0.7.1.1 \
+		data-default-class-0.1.2.0 \
+		data-default-instances-containers-0.0.1 \
+		data-default-instances-dlist-0.0.1 \
+		data-default-instances-old-locale-0.0.1 \
+		data-fix-0.3.2_4 \
+		digest-0.0.1.7 \
+		distributive-0.6.2.1_1 \
+		dlist-1.0 \
+		doclayout-0.4.0.1 \
+		doctemplates-0.11 \
+		emojis-0.1.2 \
+		entropy-0.4.1.10_1 \
+		extensible-exceptions-0.1.1.4 \
+		feed-1.3.2.1_1 \
+		file-embed-0.0.15.0 \
+		filestore-0.6.5_1 \
+		foldable1-classes-compat-0.1_2 \
+		generically-0.1.1_1 \
+		ghc-paths-0.1.0.12_5 \
+		gridtables-0.1.0.0 \
+		haddock-library-1.11.0_2 \
+		happstack-server-7.8.0.2 \
+		happy-1.20.1.1 \
+		hashable-1.4.2.0_1 \
+		haskell-lexer-1.1.1 \
+		hoauth2-2.8.0 \
+		hourglass-0.2.12 \
+		hsc2hs-0.68.9 \
+		hslogger-1.3.1.0_7 \
+		html-1.0.1.2 \
+		http-client-0.7.13.1_1 \
+		http-client-tls-0.3.6.2 \
+		http-conduit-2.3.8.2 \
+		http-types-0.12.3 \
+		indexed-traversable-0.1.2.1 \
+		indexed-traversable-instances-0.1.1.2_1 \
+		integer-logarithms-1.0.3.1_4 \
+		iproute-1.7.12 \
+		ipynb-0.2_1 \
+		jira-wiki-markup-1.5.1 \
+		json-0.10_1 \
+		libyaml-0.1.2_1 \
+		memory-0.18.0 \
+		microlens-0.4.13.1 \
+		mime-types-0.1.1.0 \
+		monad-control-1.0.3.1 \
+		mono-traversable-1.0.15.3 \
+		network-3.1.4.0 \
+		network-bsd-2.8.1.0_4 \
+		network-info-0.2.1 \
+		network-uri-2.6.4.2 \
+		old-locale-1.0.0.7_2 \
+		old-time-1.1.0.3_2 \
+		ordered-containers-0.2.3 \
+		pandoc-3.1.4 \
+		pandoc-types-1.23 \
+		pem-0.2.4 \
+		pretty-show-1.10 \
+		primitive-0.8.0.0 \
+		random-1.2.1.1 \
+		recaptcha-0.1.0.4 \
+		regex-base-0.94.0.2_1 \
+		regex-compat-0.95.2.1_2 \
+		regex-posix-0.96.0.1_1 \
+		regex-tdfa-1.3.2.1 \
+		resourcet-1.3.0 \
+		safe-0.3.19 \
+		scientific-0.3.7.0_5 \
+		semialign-1.3 \
+		semigroupoids-6.0.0.1 \
+		semigroups-0.20 \
+		sendfile-0.7.11.4 \
+		skylighting-0.13.3 \
+		skylighting-core-0.13.3 \
+		skylighting-format-ansi-0.1 \
+		skylighting-format-blaze-html-0.1.1 \
+		skylighting-format-context-0.1.0.2 \
+		skylighting-format-latex-0.1 \
+		socks-0.6.1 \
+		split-0.2.3.5 \
+		splitmix-0.1.0.4_2 \
+		streaming-commons-0.2.2.6 \
+		strict-0.5 \
+		syb-0.7.2.3 \
+		system-filepath-0.4.14_1 \
+		tagged-0.8.7 \
+		tagsoup-0.14.8 \
+		temporary-1.3 \
+		texmath-0.12.8 \
+		text-conversions-0.3.1.1 \
+		text-short-0.1.5_2 \
+		th-abstraction-0.5.0.0 \
+		th-compat-0.1.4_2 \
+		th-lift-0.8.3 \
+		th-lift-instances-0.1.20 \
+		these-1.2 \
+		threads-0.5.1.7_1 \
+		time-compat-1.9.6.1_5 \
+		time-locale-compat-0.1.1.5 \
+		tls-1.7.0 \
+		transformers-base-0.4.6 \
+		transformers-compat-0.7.2 \
+		typed-process-0.2.11.0 \
+		typst-0.1.0.0 \
+		typst-symbols-0.1.2 \
+		unicode-collation-0.1.3.4 \
+		unicode-data-0.4.0.1_1 \
+		unicode-transforms-0.4.0.1_3 \
+		uniplate-1.6.13_1 \
+		unix-time-0.4.10 \
+		unliftio-core-0.2.1.0_2 \
+		unordered-containers-0.2.19.1_2 \
+		uri-bytestring-0.3.3.1 \
+		uri-bytestring-aeson-0.1.0.8 \
+		url-2.1.3 \
+		utf8-string-1.0.2 \
+		uuid-1.3.15_2 \
+		uuid-types-1.0.5_4 \
+		vector-0.13.0.0_3 \
+		vector-algorithms-0.9.0.1_2 \
+		vector-stream-0.1.0.0_2 \
+		void-0.7.3 \
+		witherable-0.4.2_4 \
+		xml-1.3.14_2 \
+		xml-conduit-1.9.1.3 \
+		xml-types-0.3.8 \
+		xss-sanitize-0.3.7.2 \
+		yaml-0.11.11.2_2 \
+		zip-archive-0.4.3 \
+		zlib-0.6.3.0_1
+
+# Switch off idle GC using -with_rtsopts=-I0 in gitit.cabal
+CABAL_FLAGS=	with_rtsopts
+
+CABAL_EXECUTABLES=	gitit expireGititCache
+CABAL_WRAPPER_SCRIPTS=	gitit
+
+USE_RC_SUBR=	gitit
+
+post-install:
+	cd ${WRKSRC} && \
+		${COPYTREE_SHARE} README.markdown ${STAGEDIR}${DATADIR} && \
+		${COPYTREE_SHARE} data ${STAGEDIR}${DATADIR}
+	cd ${STAGEDIR}${DATADIR} && \
+		${FIND} data -name '*.orig' -exec ${RM} {} ";"
+
+.include <bsd.port.mk>
diff --git a/www/hs-gitit/distinfo b/www/hs-gitit/distinfo
new file mode 100644
index 000000000000..61e515f67cdf
--- /dev/null
+++ b/www/hs-gitit/distinfo
@@ -0,0 +1,513 @@
+TIMESTAMP = 1688557589
+SHA256 (cabal/gitit-0.15.1.1/gitit-0.15.1.1.tar.gz) = 90bc0d30386be90f11e4a6e67963738580327da0646a4c79ea45e16eda02d55d
+SIZE (cabal/gitit-0.15.1.1/gitit-0.15.1.1.tar.gz) = 275402
+SHA256 (cabal/ConfigFile-1.1.4/ConfigFile-1.1.4.tar.gz) = ae087b359ff2945a62b671449227e0a811d143ee651179f4e7e9c66548e0f514
+SIZE (cabal/ConfigFile-1.1.4/ConfigFile-1.1.4.tar.gz) = 28969
+SHA256 (cabal/ConfigFile-1.1.4/revision/1.cabal) = 4cb481f88bbbbba5a61d2c1aa76fda01ae3d8ba9d11439a6cf56a86bfa791883
+SIZE (cabal/ConfigFile-1.1.4/revision/1.cabal) = 2097
+SHA256 (cabal/Diff-0.4.1/Diff-0.4.1.tar.gz) = fd5e4aaac7219bcbb14834fb8580ebe0aae905958d0ad74f5338ea290b372670
+SIZE (cabal/Diff-0.4.1/Diff-0.4.1.tar.gz) = 8759
+SHA256 (cabal/Glob-0.10.2/Glob-0.10.2.tar.gz) = 6af672ac8427d35cbd42d64142dc288feab266f0be92dae3c696e8860d8173c0
+SIZE (cabal/Glob-0.10.2/Glob-0.10.2.tar.gz) = 30226
+SHA256 (cabal/Glob-0.10.2/revision/3.cabal) = dd2ddbecae8f84e8f4cacb5b856901a19c25ceaa11f2525d3ee88d034acb0081
+SIZE (cabal/Glob-0.10.2/revision/3.cabal) = 2938
+SHA256 (cabal/HStringTemplate-0.8.8/HStringTemplate-0.8.8.tar.gz) = 717df416550bdc62f2070c1a86238efe535b0fa41c5fd708c4f631f927880cd9
+SIZE (cabal/HStringTemplate-0.8.8/HStringTemplate-0.8.8.tar.gz) = 18043
+SHA256 (cabal/HStringTemplate-0.8.8/revision/5.cabal) = 8cf2c140b0f7c6357dc21d0a9c218233309220278e836208f4b8e911be1d1492
+SIZE (cabal/HStringTemplate-0.8.8/revision/5.cabal) = 1985
+SHA256 (cabal/HTTP-4000.4.1/HTTP-4000.4.1.tar.gz) = df31d8efec775124dab856d7177ddcba31be9f9e0836ebdab03d94392f2dd453
+SIZE (cabal/HTTP-4000.4.1/HTTP-4000.4.1.tar.gz) = 74330
+SHA256 (cabal/HTTP-4000.4.1/revision/2.cabal) = d9220cc1b8c1f287248d650910710b96e62e54530772e3bcd19dbdec6547f8ae
+SIZE (cabal/HTTP-4000.4.1/revision/2.cabal) = 5862
+SHA256 (cabal/JuicyPixels-3.3.8/JuicyPixels-3.3.8.tar.gz) = d3a0f6ca3515a1b3d526cbf79f2e0b0aab57f208ab216f9c26437bbcd86fb63e
+SIZE (cabal/JuicyPixels-3.3.8/JuicyPixels-3.3.8.tar.gz) = 132479
+SHA256 (cabal/MissingH-1.6.0.0/MissingH-1.6.0.0.tar.gz) = fc3b9684a0a14fc9a0afdd9c8ffb1ae93db122c7150b1eea1769065658092d4f
+SIZE (cabal/MissingH-1.6.0.0/MissingH-1.6.0.0.tar.gz) = 109652
+SHA256 (cabal/OneTuple-0.4.1.1/OneTuple-0.4.1.1.tar.gz) = c9e764d4ee1e57cad8341bd5d0de33ba3a52b6793fc1309679f2bf60c030bb2b
+SIZE (cabal/OneTuple-0.4.1.1/OneTuple-0.4.1.1.tar.gz) = 5601
+SHA256 (cabal/Only-0.1/Only-0.1.tar.gz) = ab7aa193e8c257d3bda6b0b3c1cbcf74cdaa85ab08cb20c2dd62ba248c1ab265
+SIZE (cabal/Only-0.1/Only-0.1.tar.gz) = 1960
+SHA256 (cabal/Only-0.1/revision/1.cabal) = f92f5da97e647451f1ee7f5bf44914fb75062d08ccd3f36b2000d649c63d13aa
+SIZE (cabal/Only-0.1/revision/1.cabal) = 1373
+SHA256 (cabal/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz) = 5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501
+SIZE (cabal/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz) = 76849
+SHA256 (cabal/SHA-1.6.4.4/SHA-1.6.4.4.tar.gz) = 6bd950df6b11a3998bb1452d875d2da043ee43385459afc5f16d471d25178b44
+SIZE (cabal/SHA-1.6.4.4/SHA-1.6.4.4.tar.gz) = 2715144
+SHA256 (cabal/StateVar-1.2.2/StateVar-1.2.2.tar.gz) = 5e4b39da395656a59827b0280508aafdc70335798b50e5d6fd52596026251825
+SIZE (cabal/StateVar-1.2.2/StateVar-1.2.2.tar.gz) = 5048
+SHA256 (cabal/aeson-2.1.2.1/aeson-2.1.2.1.tar.gz) = 5d4042b903ce181ee023bbf908f37a3f55e820c5f0df102683b87f963e3522c6
+SIZE (cabal/aeson-2.1.2.1/aeson-2.1.2.1.tar.gz) = 335908
+SHA256 (cabal/aeson-2.1.2.1/revision/3.cabal) = 5b8d62a60963a925c4d123a46e42a8e235a32188522c9f119f64ac228c2612a7
+SIZE (cabal/aeson-2.1.2.1/revision/3.cabal) = 6359
+SHA256 (cabal/aeson-pretty-0.8.10/aeson-pretty-0.8.10.tar.gz) = 2a21f2cd78adcb149ceba770239ed664519552911e7680172b18ff695cfa7ae5
+SIZE (cabal/aeson-pretty-0.8.10/aeson-pretty-0.8.10.tar.gz) = 5894
+SHA256 (cabal/ansi-terminal-1.0/ansi-terminal-1.0.tar.gz) = 0798a98f79189e62b5ff0aa247ba95fc3845f0f6f1e14ecceb37facfbdd5cfc9
+SIZE (cabal/ansi-terminal-1.0/ansi-terminal-1.0.tar.gz) = 31745
+SHA256 (cabal/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz) = bf7b230389f43105100a6d5740822598a88b38eaaf7d042de595ccf72db4fdd1
+SIZE (cabal/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz) = 4660
+SHA256 (cabal/ansi-terminal-types-0.11.5/revision/1.cabal) = f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a
+SIZE (cabal/ansi-terminal-types-0.11.5/revision/1.cabal) = 1482
+SHA256 (cabal/appar-0.1.8/appar-0.1.8.tar.gz) = c4ceeddc26525b58d82c41b6d3e32141371a200a6794aae185b6266ccc81631f
+SIZE (cabal/appar-0.1.8/appar-0.1.8.tar.gz) = 4037
+SHA256 (cabal/asn1-encoding-0.9.6/asn1-encoding-0.9.6.tar.gz) = d9f8deabd3b908e5cf83c0d813c08dc0143b3ec1c0d97f660d2cfa02c1c8da0a
+SIZE (cabal/asn1-encoding-0.9.6/asn1-encoding-0.9.6.tar.gz) = 17343
+SHA256 (cabal/asn1-encoding-0.9.6/revision/2.cabal) = 27ed8f6043aed79630313bb931f7c8e2b510f0b4586cd55c16ae040c7d1ea098
+SIZE (cabal/asn1-encoding-0.9.6/revision/2.cabal) = 2060
+SHA256 (cabal/asn1-parse-0.9.5/asn1-parse-0.9.5.tar.gz) = 8f1fe1344d30b39dc594d74df2c55209577722af1497204b4c2b6d6e8747f39e
+SIZE (cabal/asn1-parse-0.9.5/asn1-parse-0.9.5.tar.gz) = 2951
+SHA256 (cabal/asn1-types-0.3.4/asn1-types-0.3.4.tar.gz) = 78ee92a251379298ca820fa53edbf4b33c539b9fcd887c86f520c30e3b4e21a8
+SIZE (cabal/asn1-types-0.3.4/asn1-types-0.3.4.tar.gz) = 6472
+SHA256 (cabal/assoc-1.1/assoc-1.1.tar.gz) = 7aa2e6548b3d9d49a286ac20639479aaf6c47a1446113ed784d98737c5f60df4
+SIZE (cabal/assoc-1.1/assoc-1.1.tar.gz) = 3193
+SHA256 (cabal/async-2.2.4/async-2.2.4.tar.gz) = 484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725
+SIZE (cabal/async-2.2.4/async-2.2.4.tar.gz) = 14148
+SHA256 (cabal/async-2.2.4/revision/3.cabal) = 46367dc0c8326dcbeb7b93f200b567491c2f6029bccf822b8bb26ee660397e08
+SIZE (cabal/async-2.2.4/revision/3.cabal) = 3112
+SHA256 (cabal/attoparsec-0.14.4/attoparsec-0.14.4.tar.gz) = 3f337fe58624565de12426f607c23e60c7b09c86b4e3adfc827ca188c9979e6c
+SIZE (cabal/attoparsec-0.14.4/attoparsec-0.14.4.tar.gz) = 160701
+SHA256 (cabal/attoparsec-0.14.4/revision/3.cabal) = 50475b722305175f57a3ee3dbaee10aa4b91f61c9717b85b718a7df37c223fb2
+SIZE (cabal/attoparsec-0.14.4/revision/3.cabal) = 5679
+SHA256 (cabal/base-compat-0.12.2/base-compat-0.12.2.tar.gz) = a62adc883a5ac436f80e4ae02c3c56111cf1007492f267c291139a668d2150bd
+SIZE (cabal/base-compat-0.12.2/base-compat-0.12.2.tar.gz) = 36393
+SHA256 (cabal/base-compat-batteries-0.12.2/base-compat-batteries-0.12.2.tar.gz) = ede9092e07f904e0759160bf1ecd3fb7eb043bae6dc89a37c3dc94829ec5eb99
+SIZE (cabal/base-compat-batteries-0.12.2/base-compat-batteries-0.12.2.tar.gz) = 17645
+SHA256 (cabal/base-orphans-0.9.0/base-orphans-0.9.0.tar.gz) = 613ed4d8241ed5a648a59ae6569a6962990bb545711d020d49fb83fa12d16e62
+SIZE (cabal/base-orphans-0.9.0/base-orphans-0.9.0.tar.gz) = 26025
+SHA256 (cabal/base16-bytestring-1.0.2.0/base16-bytestring-1.0.2.0.tar.gz) = 1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784
+SIZE (cabal/base16-bytestring-1.0.2.0/base16-bytestring-1.0.2.0.tar.gz) = 7219
+SHA256 (cabal/base64-0.4.2.4/base64-0.4.2.4.tar.gz) = 640a2d0afcb07e1de2e0a13a5e942b0265781c5942bd642a8793e7b019be3585
+SIZE (cabal/base64-0.4.2.4/base64-0.4.2.4.tar.gz) = 22065
+SHA256 (cabal/base64-0.4.2.4/revision/3.cabal) = 10103a0b30d5028b8e1ee9811b76b946ca7713bf8234549191b69f55ee0599d5
+SIZE (cabal/base64-0.4.2.4/revision/3.cabal) = 2862
+SHA256 (cabal/base64-bytestring-1.2.1.0/base64-bytestring-1.2.1.0.tar.gz) = fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9
+SIZE (cabal/base64-bytestring-1.2.1.0/base64-bytestring-1.2.1.0.tar.gz) = 13743
+SHA256 (cabal/basement-0.0.16/basement-0.0.16.tar.gz) = 7fb77e249aef76ba5aed3059d556800ce02b614597c488ba01f0a16449146300
+SIZE (cabal/basement-0.0.16/basement-0.0.16.tar.gz) = 134837
+SHA256 (cabal/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz) = 06381471b5be16516a1b2c4b21a5101a3d991038bface8e0cad144c0044d57fc
+SIZE (cabal/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz) = 38170
+SHA256 (cabal/bitvec-1.1.4.0/bitvec-1.1.4.0.tar.gz) = 68f0b1e01604ca8bdeaef47b3621faec456d6f76d6820a321eccd4d3749454a8
+SIZE (cabal/bitvec-1.1.4.0/bitvec-1.1.4.0.tar.gz) = 35559
+SHA256 (cabal/blaze-builder-0.4.2.2/blaze-builder-0.4.2.2.tar.gz) = 2cdc998c021d3a5f2a66a95138b93386271c26a117e7676d78264a90e536af67
+SIZE (cabal/blaze-builder-0.4.2.2/blaze-builder-0.4.2.2.tar.gz) = 60707
+SHA256 (cabal/blaze-builder-0.4.2.2/revision/1.cabal) = f0017df374c330de0ebe0eb15eae8c48427bddefa1d81a3cb31c0a4812ecdb08
+SIZE (cabal/blaze-builder-0.4.2.2/revision/1.cabal) = 3685
+SHA256 (cabal/blaze-html-0.9.1.2/blaze-html-0.9.1.2.tar.gz) = 60503f42546c6c1b954014d188ea137e43d74dcffd2bf6157c113fd91a0c394c
+SIZE (cabal/blaze-html-0.9.1.2/blaze-html-0.9.1.2.tar.gz) = 81617
+SHA256 (cabal/blaze-html-0.9.1.2/revision/2.cabal) = 74b89ffa665891f528f571ce9e3c2dce24f698563f14b6f5e9e0512eccdf5dc2
+SIZE (cabal/blaze-html-0.9.1.2/revision/2.cabal) = 3062
+SHA256 (cabal/blaze-markup-0.8.2.8/blaze-markup-0.8.2.8.tar.gz) = 43fc3f6872dc8d1be8d0fe091bd4775139b42179987f33d6490a7c5f1e07a349
+SIZE (cabal/blaze-markup-0.8.2.8/blaze-markup-0.8.2.8.tar.gz) = 14519
+SHA256 (cabal/blaze-markup-0.8.2.8/revision/4.cabal) = a8fe050fb93397df36c3f5b19c22628e0e54446382e0f6775e2b45c1ad999eee
+SIZE (cabal/blaze-markup-0.8.2.8/revision/4.cabal) = 2271
+SHA256 (cabal/byteorder-1.0.4/byteorder-1.0.4.tar.gz) = bd20bbb586947f99c38a4c93d9d0266f49f6fc581767b51ba568f6d5d52d2919
+SIZE (cabal/byteorder-1.0.4/byteorder-1.0.4.tar.gz) = 2030
+SHA256 (cabal/cabal-doctest-1.0.9/cabal-doctest-1.0.9.tar.gz) = 5556088496111d33810c4ae6c4a065bb37fa3315e9e8891e8000b1ab6707ba73
+SIZE (cabal/cabal-doctest-1.0.9/cabal-doctest-1.0.9.tar.gz) = 10770
+SHA256 (cabal/cabal-doctest-1.0.9/revision/3.cabal) = 6dea0dbd1457f43d96ce1cfb1bab8b9f55d4fb82940e2bfa5aad78e6e2260656
+SIZE (cabal/cabal-doctest-1.0.9/revision/3.cabal) = 1517
+SHA256 (cabal/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz) = 296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406
+SIZE (cabal/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz) = 53609
+SHA256 (cabal/cassava-0.5.3.0/cassava-0.5.3.0.tar.gz) = b4c8451f433ad7725cb8b9f7a7efe598ba103b16584713c91f48ae023829e9be
+SIZE (cabal/cassava-0.5.3.0/cassava-0.5.3.0.tar.gz) = 38224
+SHA256 (cabal/cassava-0.5.3.0/revision/1.cabal) = 3e5a702f0194968ddf2ef38343318334e7c7de44b90c7822e9e20a7e98685bd1
+SIZE (cabal/cassava-0.5.3.0/revision/1.cabal) = 6121
+SHA256 (cabal/cereal-0.5.8.3/cereal-0.5.8.3.tar.gz) = 99905220661b26e5bd91130bd9772554938608a5b1d717240a6eb331121e0f6a
+SIZE (cabal/cereal-0.5.8.3/cereal-0.5.8.3.tar.gz) = 20166
+SHA256 (cabal/citeproc-0.8.1/citeproc-0.8.1.tar.gz) = 33523bbd8c38f72c6d606e02d11b93254171f801be4f2a0cb4d34d6626426400
+SIZE (cabal/citeproc-0.8.1/citeproc-0.8.1.tar.gz) = 549947
+SHA256 (cabal/colour-2.3.6/colour-2.3.6.tar.gz) = 2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871
+SIZE (cabal/colour-2.3.6/colour-2.3.6.tar.gz) = 20675
+SHA256 (cabal/commonmark-0.2.3/commonmark-0.2.3.tar.gz) = 745ade908c7cd8a61538d9c3e60363d5e1175fd7f544f557ff52517c8408d905
+SIZE (cabal/commonmark-0.2.3/commonmark-0.2.3.tar.gz) = 102342
+SHA256 (cabal/commonmark-extensions-0.2.3.4/commonmark-extensions-0.2.3.4.tar.gz) = a084efe90311f8a0d83d8622ef76f17dfdb974a84b74df454cf906b0ee64665e
+SIZE (cabal/commonmark-extensions-0.2.3.4/commonmark-extensions-0.2.3.4.tar.gz) = 37768
+SHA256 (cabal/commonmark-pandoc-0.2.1.3/commonmark-pandoc-0.2.1.3.tar.gz) = 77adcf9074299a5b318901d057ebf49a7f032245f2aee783ef475539b0897f21
+SIZE (cabal/commonmark-pandoc-0.2.1.3/commonmark-pandoc-0.2.1.3.tar.gz) = 4907
+SHA256 (cabal/comonad-5.0.8/comonad-5.0.8.tar.gz) = ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13
+SIZE (cabal/comonad-5.0.8/comonad-5.0.8.tar.gz) = 15227
+SHA256 (cabal/comonad-5.0.8/revision/1.cabal) = 1f1aabd73ec7f80f20cf078a748a60cd48d8e57277802fdf6a9ab3601a9b8f7e
+SIZE (cabal/comonad-5.0.8/revision/1.cabal) = 3631
+SHA256 (cabal/conduit-1.3.5/conduit-1.3.5.tar.gz) = 2bb0d3e0eecc43e3d1d8cfc2125914f9175cde752be2d5908a1e120f321c782d
+SIZE (cabal/conduit-1.3.5/conduit-1.3.5.tar.gz) = 88893
+SHA256 (cabal/conduit-extra-1.3.6/conduit-extra-1.3.6.tar.gz) = 8950c38049d892c38590d389bed49ecf880671f58ec63dd4709d9fe3d4b8f153
+SIZE (cabal/conduit-extra-1.3.6/conduit-extra-1.3.6.tar.gz) = 33321
+SHA256 (cabal/contravariant-1.5.5/contravariant-1.5.5.tar.gz) = 062fd66580d7aad0b5ba93e644ffa7feee69276ef50f20d4ed9f1deb7642dffa
+SIZE (cabal/contravariant-1.5.5/contravariant-1.5.5.tar.gz) = 13815
+SHA256 (cabal/cookie-0.4.6/cookie-0.4.6.tar.gz) = 8c41a956c32b9733d525a53d43b0338a236a34d36658ecc4364c8249a6664baa
+SIZE (cabal/cookie-0.4.6/cookie-0.4.6.tar.gz) = 6219
+SHA256 (cabal/cryptohash-md5-0.11.101.0/cryptohash-md5-0.11.101.0.tar.gz) = 3b08db0ae39df2b44e83053ad30d7546a4c6200a852c22a240a7e03ae1080f05
+SIZE (cabal/cryptohash-md5-0.11.101.0/cryptohash-md5-0.11.101.0.tar.gz) = 11872
+SHA256 (cabal/cryptohash-md5-0.11.101.0/revision/2.cabal) = 8d8172dfca073406d6d50a122a8a8caa53a0ea8f3827232a40b3fd7c4de85484
+SIZE (cabal/cryptohash-md5-0.11.101.0/revision/2.cabal) = 3104
+SHA256 (cabal/cryptohash-sha1-0.11.101.0/cryptohash-sha1-0.11.101.0.tar.gz) = a4042c97ad02eb68e766577ca35c01970c33e96cfd74ccb4dd403e3476a23241
+SIZE (cabal/cryptohash-sha1-0.11.101.0/cryptohash-sha1-0.11.101.0.tar.gz) = 11563
+SHA256 (cabal/cryptohash-sha1-0.11.101.0/revision/2.cabal) = 25be9e5bb979c1b96d7695d9cbb6a40ec345025e7a100b2d71d499812c2e89ec
+SIZE (cabal/cryptohash-sha1-0.11.101.0/revision/2.cabal) = 3094
+SHA256 (cabal/crypton-0.33/crypton-0.33.tar.gz) = e66fa0a75c2afe149205df9f496f05d31fa94d8116551632d39e37e58fe60520
+SIZE (cabal/crypton-0.33/crypton-0.33.tar.gz) = 618064
+SHA256 (cabal/crypton-connection-0.3.1/crypton-connection-0.3.1.tar.gz) = 03073694f6525f975db78dbc67c34e89bb27b95cf863d4a3a77dc6ef49d81dcc
+SIZE (cabal/crypton-connection-0.3.1/crypton-connection-0.3.1.tar.gz) = 9112
+SHA256 (cabal/crypton-x509-1.7.6/crypton-x509-1.7.6.tar.gz) = ebb74aca2d00261e2fb4927d211ba1a174e190e5257f309e190f019727f8caff
+SIZE (cabal/crypton-x509-1.7.6/crypton-x509-1.7.6.tar.gz) = 21557
+SHA256 (cabal/crypton-x509-1.7.6/revision/1.cabal) = c567657a705b6d6521f9dd2de999bf530d618ec00f3b939df76a41fb0fe94281
+SIZE (cabal/crypton-x509-1.7.6/revision/1.cabal) = 2339
+SHA256 (cabal/crypton-x509-store-1.6.9/crypton-x509-store-1.6.9.tar.gz) = 3e6218af12e039cc291d19792db044df1647b5cf0bbc60b909a027e7595a256f
+SIZE (cabal/crypton-x509-store-1.6.9/crypton-x509-store-1.6.9.tar.gz) = 12735
+SHA256 (cabal/crypton-x509-system-1.6.7/crypton-x509-system-1.6.7.tar.gz) = a436261e5f5e83d85080f57a5509c8224c9e75a6e56d0c43a7d2967052b634ca
+SIZE (cabal/crypton-x509-system-1.6.7/crypton-x509-system-1.6.7.tar.gz) = 3496
+SHA256 (cabal/crypton-x509-validation-1.6.12/crypton-x509-validation-1.6.12.tar.gz) = 0e60b7e237a4fd5e7e6e7200018c7947314292ef63751cbb51877836ebe650f6
+SIZE (cabal/crypton-x509-validation-1.6.12/crypton-x509-validation-1.6.12.tar.gz) = 19573
+SHA256 (cabal/cryptonite-0.30/cryptonite-0.30.tar.gz) = 56099c8a8aa01d2ee914b670c97c1f818186dbb886e2025b73d9c2afe3496b1d
+SIZE (cabal/cryptonite-0.30/cryptonite-0.30.tar.gz) = 621062
+SHA256 (cabal/css-text-0.1.3.0/css-text-0.1.3.0.tar.gz) = 5ff507bf3863219f41e7f2d215e5511fe15ee13d1e28bd3ee64e0b0b894bcd7a
+SIZE (cabal/css-text-0.1.3.0/css-text-0.1.3.0.tar.gz) = 4594
+SHA256 (cabal/data-default-0.7.1.1/data-default-0.7.1.1.tar.gz) = b0f95d279cd75cacaa8152a01590dc3460f7134f6840b37052abb3ba3cb2a511
+SIZE (cabal/data-default-0.7.1.1/data-default-0.7.1.1.tar.gz) = 1627
+SHA256 (cabal/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz) = 4f01b423f000c3e069aaf52a348564a6536797f31498bb85c3db4bd2d0973e56
+SIZE (cabal/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz) = 2522
+SHA256 (cabal/data-default-instances-containers-0.0.1/data-default-instances-containers-0.0.1.tar.gz) = a55e07af005c9815d82f3fc95e125db82994377c9f4a769428878701d4ec081a
+SIZE (cabal/data-default-instances-containers-0.0.1/data-default-instances-containers-0.0.1.tar.gz) = 1659
+SHA256 (cabal/data-default-instances-dlist-0.0.1/data-default-instances-dlist-0.0.1.tar.gz) = 7d683711cbf08abd7adcd5ac2be825381308d220397315a5570fe61b719b5959
+SIZE (cabal/data-default-instances-dlist-0.0.1/data-default-instances-dlist-0.0.1.tar.gz) = 1503
+SHA256 (cabal/data-default-instances-old-locale-0.0.1/data-default-instances-old-locale-0.0.1.tar.gz) = 60d3b02922958c4908d7bf2b24ddf61511665745f784227d206745784b0c0802
+SIZE (cabal/data-default-instances-old-locale-0.0.1/data-default-instances-old-locale-0.0.1.tar.gz) = 1519
+SHA256 (cabal/data-fix-0.3.2/data-fix-0.3.2.tar.gz) = 3a172d3bc0639c327345e965f9d9023e099425814b28dcdb7b60ff66d66219cc
+SIZE (cabal/data-fix-0.3.2/data-fix-0.3.2.tar.gz) = 5842
+SHA256 (cabal/data-fix-0.3.2/revision/4.cabal) = c27b354476175581925217323e0f559d35ceff26907ceaa03cb65c6df38e3de9
+SIZE (cabal/data-fix-0.3.2/revision/4.cabal) = 1720
+SHA256 (cabal/digest-0.0.1.7/digest-0.0.1.7.tar.gz) = b23d6c804e6fed0ac9bb0d35b7aed5785330d63efebe296cf0073dab17e05f0a
+SIZE (cabal/digest-0.0.1.7/digest-0.0.1.7.tar.gz) = 4067
+SHA256 (cabal/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz) = d7351392e078f58caa46630a4b9c643e1e2e9dddee45848c5c8358e7b1316b91
+SIZE (cabal/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz) = 8140
+SHA256 (cabal/distributive-0.6.2.1/revision/1.cabal) = 0f99f5541cca04acf89b64432b03422b6408e830a8dff30e6c4334ef1a48680c
+SIZE (cabal/distributive-0.6.2.1/revision/1.cabal) = 2996
+SHA256 (cabal/dlist-1.0/dlist-1.0.tar.gz) = 173d637328bb173fcc365f30d29ff4a94292a1e0e5558aeb3dfc11de81510115
+SIZE (cabal/dlist-1.0/dlist-1.0.tar.gz) = 18667
+SHA256 (cabal/doclayout-0.4.0.1/doclayout-0.4.0.1.tar.gz) = f7d3515d41abdfd7a5b69f28bf9520f591881364262698fd49686506b570b30b
+SIZE (cabal/doclayout-0.4.0.1/doclayout-0.4.0.1.tar.gz) = 38465
+SHA256 (cabal/doctemplates-0.11/doctemplates-0.11.tar.gz) = e0080c7f030e98ce6156fd31e77df4c83b8f3ee049beee5006ce923a0169546b
+SIZE (cabal/doctemplates-0.11/doctemplates-0.11.tar.gz) = 25255
+SHA256 (cabal/emojis-0.1.2/emojis-0.1.2.tar.gz) = 3cfe9c2ea3efbbdb9b7fc24ee6707a839d272c1deee7e39319f17a7e6feea227
+SIZE (cabal/emojis-0.1.2/emojis-0.1.2.tar.gz) = 49333
+SHA256 (cabal/entropy-0.4.1.10/entropy-0.4.1.10.tar.gz) = 85ac1d53f1d1c095aedd23fdb20c8e3ada04a7fd8aa6d7e6445ae6a59a277de5
+SIZE (cabal/entropy-0.4.1.10/entropy-0.4.1.10.tar.gz) = 9060
+SHA256 (cabal/entropy-0.4.1.10/revision/1.cabal) = 82bd7b600fb8df540dd292ed91dc781f4523eecef3bb588b14787b4851722cb1
+SIZE (cabal/entropy-0.4.1.10/revision/1.cabal) = 2952
+SHA256 (cabal/extensible-exceptions-0.1.1.4/extensible-exceptions-0.1.1.4.tar.gz) = 6ce5e8801760385a408dab71b53550f87629e661b260bdc2cd41c6a439b6e388
+SIZE (cabal/extensible-exceptions-0.1.1.4/extensible-exceptions-0.1.1.4.tar.gz) = 8531
+SHA256 (cabal/feed-1.3.2.1/feed-1.3.2.1.tar.gz) = a8f54072edaaf7e978062b9de94733e8cc43e31b2dda3446f901bf57f1815955
+SIZE (cabal/feed-1.3.2.1/feed-1.3.2.1.tar.gz) = 107015
+SHA256 (cabal/feed-1.3.2.1/revision/1.cabal) = 193ed27062b2fd9bc0c9967748b9dd1e657196f922d955573cecd086193a450c
+SIZE (cabal/feed-1.3.2.1/revision/1.cabal) = 4651
+SHA256 (cabal/file-embed-0.0.15.0/file-embed-0.0.15.0.tar.gz) = f066b85d537a20252faa59489f6a854e4e8f39080f08730c9e195e418cec5bdd
+SIZE (cabal/file-embed-0.0.15.0/file-embed-0.0.15.0.tar.gz) = 7119
+SHA256 (cabal/filestore-0.6.5/filestore-0.6.5.tar.gz) = b0052e1149e582d55078f8fd84ffb4e97111dab90ff8b589cc5ae2b6c711497c
+SIZE (cabal/filestore-0.6.5/filestore-0.6.5.tar.gz) = 32338
+SHA256 (cabal/filestore-0.6.5/revision/1.cabal) = c7926f679e7f31af247f52c13e2060b9d94641180e17a0bed9768a1040c53ded
+SIZE (cabal/filestore-0.6.5/revision/1.cabal) = 3247
+SHA256 (cabal/foldable1-classes-compat-0.1/foldable1-classes-compat-0.1.tar.gz) = d057c3f358e1a6b72c73519bc64ba6aa959f066c08fed69f73258555ef95ff12
+SIZE (cabal/foldable1-classes-compat-0.1/foldable1-classes-compat-0.1.tar.gz) = 10484
+SHA256 (cabal/foldable1-classes-compat-0.1/revision/2.cabal) = 851225c0d4ccf6ca5e4df17347490945c9928548e431f15e7e7d80c240bc4d17
+SIZE (cabal/foldable1-classes-compat-0.1/revision/2.cabal) = 3782
+SHA256 (cabal/generically-0.1.1/generically-0.1.1.tar.gz) = 04c5a436bec4b041f71a733f56a1bd7f435f63dde8d3eb5c1f48d55b4dbc43cf
+SIZE (cabal/generically-0.1.1/generically-0.1.1.tar.gz) = 2870
+SHA256 (cabal/generically-0.1.1/revision/1.cabal) = 2b9b5efb6eea2fb65377565d53d85b0ccc5b37404fba4bef1d60277caa877e5e
+SIZE (cabal/generically-0.1.1/revision/1.cabal) = 1155
+SHA256 (cabal/ghc-paths-0.1.0.12/ghc-paths-0.1.0.12.tar.gz) = 6ecbe676d073cb07989c61ce4c5709c4e67cbefdd2d55a4095f9388b6fe2c484
+SIZE (cabal/ghc-paths-0.1.0.12/ghc-paths-0.1.0.12.tar.gz) = 2565
+SHA256 (cabal/ghc-paths-0.1.0.12/revision/5.cabal) = 2cedd51fe0e85bd7c7edee768c229db74e071a15a1dfb9bf94bd4b0f3a0ec78b
+SIZE (cabal/ghc-paths-0.1.0.12/revision/5.cabal) = 699
+SHA256 (cabal/gridtables-0.1.0.0/gridtables-0.1.0.0.tar.gz) = d6ac341bc7997d39a3b1f6cd811f70ab69689d9c3117ce3bc44bfb2ec55ab0ea
+SIZE (cabal/gridtables-0.1.0.0/gridtables-0.1.0.0.tar.gz) = 12279
+SHA256 (cabal/haddock-library-1.11.0/haddock-library-1.11.0.tar.gz) = 7c075ec9a378b0a2d9d605e72135201e6c7ff316564f2c974113582f43bea20a
+SIZE (cabal/haddock-library-1.11.0/haddock-library-1.11.0.tar.gz) = 32833
+SHA256 (cabal/haddock-library-1.11.0/revision/2.cabal) = debbb2e62f4af08a116e6f95497a478bc3034c50ddd9e9c32f47a22e70991b12
+SIZE (cabal/haddock-library-1.11.0/revision/2.cabal) = 4023
+SHA256 (cabal/happstack-server-7.8.0.2/happstack-server-7.8.0.2.tar.gz) = 3a5653b2e2fea383eb3c3bfecbd60348a0913c682eec9c9e133b17d80b379795
+SIZE (cabal/happstack-server-7.8.0.2/happstack-server-7.8.0.2.tar.gz) = 86256
+SHA256 (cabal/happy-1.20.1.1/happy-1.20.1.1.tar.gz) = 8b4e7dc5a6c5fd666f8f7163232931ab28746d0d17da8fa1cbd68be9e878881b
+SIZE (cabal/happy-1.20.1.1/happy-1.20.1.1.tar.gz) = 183409
+SHA256 (cabal/hashable-1.4.2.0/hashable-1.4.2.0.tar.gz) = 1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8
+SIZE (cabal/hashable-1.4.2.0/hashable-1.4.2.0.tar.gz) = 25094
+SHA256 (cabal/hashable-1.4.2.0/revision/1.cabal) = 585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a
+SIZE (cabal/hashable-1.4.2.0/revision/1.cabal) = 4520
+SHA256 (cabal/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz) = c8eeda569a30f115244c17920247ba2c45d11b3e30805f648a878f7855d8f349
+SIZE (cabal/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz) = 14499
+SHA256 (cabal/hoauth2-2.8.0/hoauth2-2.8.0.tar.gz) = f73ad909ea4571f5958cee5cfb1ff87427ed333b37cb4751b035484059a2cdf6
+SIZE (cabal/hoauth2-2.8.0/hoauth2-2.8.0.tar.gz) = 16225
+SHA256 (cabal/hourglass-0.2.12/hourglass-0.2.12.tar.gz) = 44335b5c402e80c60f1db6a74462be4ea29d1a9043aa994334ffee1164f1ca4a
+SIZE (cabal/hourglass-0.2.12/hourglass-0.2.12.tar.gz) = 25797
+SHA256 (cabal/hsc2hs-0.68.9/hsc2hs-0.68.9.tar.gz) = c95b10ce0b2c881480e35118d738dcc9cefc435ec72baa0031af81d0d4d3bc0a
+SIZE (cabal/hsc2hs-0.68.9/hsc2hs-0.68.9.tar.gz) = 40442
+SHA256 (cabal/hslogger-1.3.1.0/hslogger-1.3.1.0.tar.gz) = 7f2364f6c0b9c5b85a257267a335816126ef2471c817a42797a5d3c57acaca5b
+SIZE (cabal/hslogger-1.3.1.0/hslogger-1.3.1.0.tar.gz) = 37468
+SHA256 (cabal/hslogger-1.3.1.0/revision/7.cabal) = 53e421418634df83ac5a0143b8d7da0fa865875b09df55d039c40a05f43f70cb
+SIZE (cabal/hslogger-1.3.1.0/revision/7.cabal) = 2978
+SHA256 (cabal/html-1.0.1.2/html-1.0.1.2.tar.gz) = 0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061
+SIZE (cabal/html-1.0.1.2/html-1.0.1.2.tar.gz) = 11021
+SHA256 (cabal/http-client-0.7.13.1/http-client-0.7.13.1.tar.gz) = c98e86a0382fa877e320d83dbbd173c41c966a60a32c9bc597058929a7aa0e27
+SIZE (cabal/http-client-0.7.13.1/http-client-0.7.13.1.tar.gz) = 95306
+SHA256 (cabal/http-client-0.7.13.1/revision/1.cabal) = 6480749144f27919547733262f06a6ae3c759b57b692af53f9beb309d05a1699
+SIZE (cabal/http-client-0.7.13.1/revision/1.cabal) = 5777
+SHA256 (cabal/http-client-tls-0.3.6.2/http-client-tls-0.3.6.2.tar.gz) = 28438ebeee2b97b2354c9cf6d3cb1fb73ac7ebc6cb1f4d54aedf10980394aba6
+SIZE (cabal/http-client-tls-0.3.6.2/http-client-tls-0.3.6.2.tar.gz) = 7852
+SHA256 (cabal/http-conduit-2.3.8.2/http-conduit-2.3.8.2.tar.gz) = ed457713884ced61a905b48db29f73f710ae894cb8060a07d3736ac20aa23a05
+SIZE (cabal/http-conduit-2.3.8.2/http-conduit-2.3.8.2.tar.gz) = 29007
+SHA256 (cabal/http-types-0.12.3/http-types-0.12.3.tar.gz) = 4e8a4a66477459fa436a331c75e46857ec8026283df984d54f90576cd3024016
+SIZE (cabal/http-types-0.12.3/http-types-0.12.3.tar.gz) = 13547
+SHA256 (cabal/indexed-traversable-0.1.2.1/indexed-traversable-0.1.2.1.tar.gz) = fe854c10285debc7d6fe3e09da0928a740ebc091ad2911ae695bb007e6f746a4
+SIZE (cabal/indexed-traversable-0.1.2.1/indexed-traversable-0.1.2.1.tar.gz) = 8905
+SHA256 (cabal/indexed-traversable-instances-0.1.1.2/indexed-traversable-instances-0.1.1.2.tar.gz) = 0f9b4e895ccc819f74d15f913c93613cc74cab74dbb05d7e305aa387bdbe374a
+SIZE (cabal/indexed-traversable-instances-0.1.1.2/indexed-traversable-instances-0.1.1.2.tar.gz) = 3769
+SHA256 (cabal/indexed-traversable-instances-0.1.1.2/revision/1.cabal) = b493ed83623a7cba498d31a9d36beec233406f20377f1be3bb51d4ce3bd2ceef
+SIZE (cabal/indexed-traversable-instances-0.1.1.2/revision/1.cabal) = 2536
+SHA256 (cabal/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz) = 9b0a9f9fab609b15cd015865721fb05f744a1bc77ae92fd133872de528bbea7f
+SIZE (cabal/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz) = 9023
+SHA256 (cabal/integer-logarithms-1.0.3.1/revision/4.cabal) = 336fb40c3af19a59dbeb4e5b7bffe4b4c7fa04ab06006a8d4b70b1febc1bb4ca
+SIZE (cabal/integer-logarithms-1.0.3.1/revision/4.cabal) = 3262
+SHA256 (cabal/iproute-1.7.12/iproute-1.7.12.tar.gz) = f1751d1579fcbc1d9f86d9d1c9ede48cb71cbeb1d7b2043491c6216e4f236b63
+SIZE (cabal/iproute-1.7.12/iproute-1.7.12.tar.gz) = 17864
+SHA256 (cabal/ipynb-0.2/ipynb-0.2.tar.gz) = 9a743d74e95ccccfadca4a734f44c7b3e2a5b838da3f9044231590d7355191c7
+SIZE (cabal/ipynb-0.2/ipynb-0.2.tar.gz) = 632962
+SHA256 (cabal/ipynb-0.2/revision/1.cabal) = d3ec93f44fac7ddeb06e5419d0577321831cc903ecb176ca6be5015c55e9893a
+SIZE (cabal/ipynb-0.2/revision/1.cabal) = 1906
+SHA256 (cabal/jira-wiki-markup-1.5.1/jira-wiki-markup-1.5.1.tar.gz) = 9ca23d369c3ccf1b3ffb209dda8e6288a5f5901fb8235113825fa48d3ae8e520
+SIZE (cabal/jira-wiki-markup-1.5.1/jira-wiki-markup-1.5.1.tar.gz) = 25459
+SHA256 (cabal/json-0.10/json-0.10.tar.gz) = 0c046a3c03c9332816d3c9e50319b1d1eb3c2c1baba1123a7650d047b26856ba
+SIZE (cabal/json-0.10/json-0.10.tar.gz) = 22622
+SHA256 (cabal/json-0.10/revision/1.cabal) = d9fc6b07ce92b8894825a17d2cf14799856767eb30c8bf55962baa579207d799
+SIZE (cabal/json-0.10/revision/1.cabal) = 3210
+SHA256 (cabal/libyaml-0.1.2/libyaml-0.1.2.tar.gz) = 8f42d66f199fcaee255326f8f770d88b0670df56b5eb78002d6058f3a45e97b5
+SIZE (cabal/libyaml-0.1.2/libyaml-0.1.2.tar.gz) = 63635
+SHA256 (cabal/libyaml-0.1.2/revision/1.cabal) = 7fb663b11fcdb86503c14aa81763106ea79b1048fc29a1fe44ec346d9ecac101
+SIZE (cabal/libyaml-0.1.2/revision/1.cabal) = 2222
+SHA256 (cabal/memory-0.18.0/memory-0.18.0.tar.gz) = fd4eb6f638e24b81b4e6cdd68772a531726f2f67686c8969d3407d82f7862e3e
+SIZE (cabal/memory-0.18.0/memory-0.18.0.tar.gz) = 41957
+SHA256 (cabal/microlens-0.4.13.1/microlens-0.4.13.1.tar.gz) = 0a54abee8ff4f6aeb4bea0783409a3dbd28a4e7a892bac916b0fb6a71382d7fc
+SIZE (cabal/microlens-0.4.13.1/microlens-0.4.13.1.tar.gz) = 27436
+SHA256 (cabal/mime-types-0.1.1.0/mime-types-0.1.1.0.tar.gz) = ebd01ed4e37142cb3233d4ffe55fe879b64d4a0b5802c8bc6afa1c7670f9e11b
+SIZE (cabal/mime-types-0.1.1.0/mime-types-0.1.1.0.tar.gz) = 11818
+SHA256 (cabal/monad-control-1.0.3.1/monad-control-1.0.3.1.tar.gz) = ae0baea04d99375ef788140367179994a7178d400a8ce0d9026846546772713c
+SIZE (cabal/monad-control-1.0.3.1/monad-control-1.0.3.1.tar.gz) = 13985
+SHA256 (cabal/mono-traversable-1.0.15.3/mono-traversable-1.0.15.3.tar.gz) = 98b220f3313d74227a4249210c8818e839678343e62b3ebb1b8c867cf2b974b7
+SIZE (cabal/mono-traversable-1.0.15.3/mono-traversable-1.0.15.3.tar.gz) = 40461
+SHA256 (cabal/network-3.1.4.0/network-3.1.4.0.tar.gz) = b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e
+SIZE (cabal/network-3.1.4.0/network-3.1.4.0.tar.gz) = 139988
+SHA256 (cabal/network-bsd-2.8.1.0/network-bsd-2.8.1.0.tar.gz) = d94961ca15c42c798d19cde540ec12b25cc43435fb95e682399d6c1a02022d4e
+SIZE (cabal/network-bsd-2.8.1.0/network-bsd-2.8.1.0.tar.gz) = 8584
+SHA256 (cabal/network-bsd-2.8.1.0/revision/4.cabal) = cd945ea08818281e4a8fa6f0a0640a1502aad3748546a3c197e071772452a9bd
+SIZE (cabal/network-bsd-2.8.1.0/revision/4.cabal) = 3738
+SHA256 (cabal/network-info-0.2.1/network-info-0.2.1.tar.gz) = 9b2d88312fc8280351d5003200cc07decbb865f85d3aa7b1094b238bd6a8b404
+SIZE (cabal/network-info-0.2.1/network-info-0.2.1.tar.gz) = 6387
+SHA256 (cabal/network-uri-2.6.4.2/network-uri-2.6.4.2.tar.gz) = 9c188973126e893250b881f20e8811dca06c223c23402b06f7a1f2e995797228
+SIZE (cabal/network-uri-2.6.4.2/network-uri-2.6.4.2.tar.gz) = 31309
+SHA256 (cabal/old-locale-1.0.0.7/old-locale-1.0.0.7.tar.gz) = dbaf8bf6b888fb98845705079296a23c3f40ee2f449df7312f7f7f1de18d7b50
+SIZE (cabal/old-locale-1.0.0.7/old-locale-1.0.0.7.tar.gz) = 3384
+SHA256 (cabal/old-locale-1.0.0.7/revision/2.cabal) = fa998be2c7e00cd26a6e9075bea790caaf3932caa3e9497ad69bc20380dd6911
+SIZE (cabal/old-locale-1.0.0.7/revision/2.cabal) = 1071
+SHA256 (cabal/old-time-1.1.0.3/old-time-1.1.0.3.tar.gz) = 1ccb158b0f7851715d36b757c523b026ca1541e2030d02239802ba39b4112bc1
+SIZE (cabal/old-time-1.1.0.3/old-time-1.1.0.3.tar.gz) = 74219
+SHA256 (cabal/old-time-1.1.0.3/revision/2.cabal) = c91fbb3ee73d20ccd015842b30f1f29a304893ebe0ae3128b7bbc13d5bb0d4c8
+SIZE (cabal/old-time-1.1.0.3/revision/2.cabal) = 1328
+SHA256 (cabal/ordered-containers-0.2.3/ordered-containers-0.2.3.tar.gz) = 36849705752f3bc367fa1d172e1ec57375418341e9d74de572ae1b6fb56a81a3
+SIZE (cabal/ordered-containers-0.2.3/ordered-containers-0.2.3.tar.gz) = 7404
+SHA256 (cabal/pandoc-3.1.4/pandoc-3.1.4.tar.gz) = 15b67fad7e7b9bf72b1c9dfea0010326cf8b115c009783b406db954fdb0b7997
+SIZE (cabal/pandoc-3.1.4/pandoc-3.1.4.tar.gz) = 7266894
+SHA256 (cabal/pandoc-types-1.23/pandoc-types-1.23.tar.gz) = 5e6721410219c0a39b05fc732de9864745592fffa8287ad6e87c66138a51162d
+SIZE (cabal/pandoc-types-1.23/pandoc-types-1.23.tar.gz) = 35901
+SHA256 (cabal/pem-0.2.4/pem-0.2.4.tar.gz) = 770c4c1b9cd24b3db7f511f8a48404a0d098999e28573c3743a8a296bb96f8d4
+SIZE (cabal/pem-0.2.4/pem-0.2.4.tar.gz) = 4717
+SHA256 (cabal/pretty-show-1.10/pretty-show-1.10.tar.gz) = 307f9086e0b063d439dc4f513e36a145e8a57f23de448aefae2a6c00f6da6fd2
+SIZE (cabal/pretty-show-1.10/pretty-show-1.10.tar.gz) = 42233
+SHA256 (cabal/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz) = 5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f
+SIZE (cabal/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz) = 57222
+SHA256 (cabal/random-1.2.1.1/random-1.2.1.1.tar.gz) = 3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76
+SIZE (cabal/random-1.2.1.1/random-1.2.1.1.tar.gz) = 47109
+SHA256 (cabal/recaptcha-0.1.0.4/recaptcha-0.1.0.4.tar.gz) = a26172c3f5797e402de95b92edcb56a828cb791849b92b4238683446c970430d
+SIZE (cabal/recaptcha-0.1.0.4/recaptcha-0.1.0.4.tar.gz) = 2724
+SHA256 (cabal/regex-base-0.94.0.2/regex-base-0.94.0.2.tar.gz) = 7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1
+SIZE (cabal/regex-base-0.94.0.2/regex-base-0.94.0.2.tar.gz) = 10488
+SHA256 (cabal/regex-base-0.94.0.2/revision/1.cabal) = 4ff4425c710cddf440dfbac6cd52310bb6b23e17902390ff71c9fc7eaafc4fcc
+SIZE (cabal/regex-base-0.94.0.2/revision/1.cabal) = 2643
+SHA256 (cabal/regex-compat-0.95.2.1/regex-compat-0.95.2.1.tar.gz) = 8f7b386c72fd605a292edfb809b8620245b4a3ab7af192ad79e36778596e7947
+SIZE (cabal/regex-compat-0.95.2.1/regex-compat-0.95.2.1.tar.gz) = 4285
+SHA256 (cabal/regex-compat-0.95.2.1/revision/2.cabal) = 96c83b06280ebfb6fef01864b2af9eb9e136a9832c563773f327d4197bbbb851
+SIZE (cabal/regex-compat-0.95.2.1/revision/2.cabal) = 1705
+SHA256 (cabal/regex-posix-0.96.0.1/regex-posix-0.96.0.1.tar.gz) = c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c
+SIZE (cabal/regex-posix-0.96.0.1/regex-posix-0.96.0.1.tar.gz) = 12853
+SHA256 (cabal/regex-posix-0.96.0.1/revision/1.cabal) = 9dbba4b65a3bb6975d9740814be5593c6b2d2d6a0b3febc8ec940edb9a9bbdf4
+SIZE (cabal/regex-posix-0.96.0.1/revision/1.cabal) = 2954
+SHA256 (cabal/regex-tdfa-1.3.2.1/regex-tdfa-1.3.2.1.tar.gz) = 5c8bf8b5274dd45a9afa72bb4f51602df429b4dfd2a05275da5d78c00e7b8295
+SIZE (cabal/regex-tdfa-1.3.2.1/regex-tdfa-1.3.2.1.tar.gz) = 82890
+SHA256 (cabal/resourcet-1.3.0/resourcet-1.3.0.tar.gz) = ec601785ee42a201f32adb205b8685c983f18757b1bd33d2e806d571e0f9996b
+SIZE (cabal/resourcet-1.3.0/resourcet-1.3.0.tar.gz) = 17620
+SHA256 (cabal/safe-0.3.19/safe-0.3.19.tar.gz) = 25043442c8f8aa95955bb17467d023630632b961aaa61e807e325d9b2c33f7a2
+SIZE (cabal/safe-0.3.19/safe-0.3.19.tar.gz) = 11267
+SHA256 (cabal/scientific-0.3.7.0/scientific-0.3.7.0.tar.gz) = a3a121c4b3d68fb8b9f8c709ab012e48f090ed553609247a805ad070d6b343a9
+SIZE (cabal/scientific-0.3.7.0/scientific-0.3.7.0.tar.gz) = 24723
+SHA256 (cabal/scientific-0.3.7.0/revision/5.cabal) = 26d8109106963a345368011081453d25ee1dfa6afae2b1f57b426b4bcd392d91
+SIZE (cabal/scientific-0.3.7.0/revision/5.cabal) = 4854
+SHA256 (cabal/semialign-1.3/semialign-1.3.tar.gz) = 628e43319f584a8dd46c124ee0685cac586e0f6f877c5ceff37c3dbb2e3cc56c
+SIZE (cabal/semialign-1.3/semialign-1.3.tar.gz) = 10543
+SHA256 (cabal/semigroupoids-6.0.0.1/semigroupoids-6.0.0.1.tar.gz) = 7da38a9891bdf8205fd6522cdb712956b8c0bf5c52983da60295c8e057d77934
+SIZE (cabal/semigroupoids-6.0.0.1/semigroupoids-6.0.0.1.tar.gz) = 36222
+SHA256 (cabal/semigroups-0.20/semigroups-0.20.tar.gz) = 902d2e33c96b40a89de5957f2a9e097197afcc35e257e45b32ebe770993673e1
+SIZE (cabal/semigroups-0.20/semigroups-0.20.tar.gz) = 18788
+SHA256 (cabal/sendfile-0.7.11.4/sendfile-0.7.11.4.tar.gz) = 73b0be7cd6e29e859ffae741cb398eb129e0bf1c6953ef5755da0b8a020751c4
+SIZE (cabal/sendfile-0.7.11.4/sendfile-0.7.11.4.tar.gz) = 10721
+SHA256 (cabal/skylighting-0.13.3/skylighting-0.13.3.tar.gz) = b25c63cf342aff3c00742e08f4c80d641ebe5fd20eb7a4970450b8e0576e9b95
+SIZE (cabal/skylighting-0.13.3/skylighting-0.13.3.tar.gz) = 1367538
+SHA256 (cabal/skylighting-core-0.13.3/skylighting-core-0.13.3.tar.gz) = 6c6d0fae4aaa80f4dfca2b516ad8a864a6e8b5be7fdba039bd6fb00cb68c63d5
+SIZE (cabal/skylighting-core-0.13.3/skylighting-core-0.13.3.tar.gz) = 854171
+SHA256 (cabal/skylighting-format-ansi-0.1/skylighting-format-ansi-0.1.tar.gz) = 23dfa86c2ecd2601a2efed4967eb2ec0505a52c14776054ce4d89707c2de0a9b
+SIZE (cabal/skylighting-format-ansi-0.1/skylighting-format-ansi-0.1.tar.gz) = 5350
+SHA256 (cabal/skylighting-format-blaze-html-0.1.1/skylighting-format-blaze-html-0.1.1.tar.gz) = b1139b4df369de93d1ec6d8a2ed02bf11d559f9eaf71c31434fb5b19ba48ef13
+SIZE (cabal/skylighting-format-blaze-html-0.1.1/skylighting-format-blaze-html-0.1.1.tar.gz) = 4769
+SHA256 (cabal/skylighting-format-context-0.1.0.2/skylighting-format-context-0.1.0.2.tar.gz) = 004213e13d89b692ea0912d7ffa6ee98c93146d1a7962a849ad7860697bc88bd
+SIZE (cabal/skylighting-format-context-0.1.0.2/skylighting-format-context-0.1.0.2.tar.gz) = 3249
+SHA256 (cabal/skylighting-format-latex-0.1/skylighting-format-latex-0.1.tar.gz) = 97b66c9ab60451e41a94aa80a684e792fbe69816835f735224222beea22afb78
+SIZE (cabal/skylighting-format-latex-0.1/skylighting-format-latex-0.1.tar.gz) = 3777
+SHA256 (cabal/socks-0.6.1/socks-0.6.1.tar.gz) = 734447558bb061ce768f53a0df1f2401902c6bee396cc96ce627edd986ef6a73
+SIZE (cabal/socks-0.6.1/socks-0.6.1.tar.gz) = 9759
+SHA256 (cabal/split-0.2.3.5/split-0.2.3.5.tar.gz) = bf8aa8d610354a2b576946a6c838251ec5988c8374100638e6b2604513b93159
+SIZE (cabal/split-0.2.3.5/split-0.2.3.5.tar.gz) = 15746
+SHA256 (cabal/splitmix-0.1.0.4/splitmix-0.1.0.4.tar.gz) = 6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa
+SIZE (cabal/splitmix-0.1.0.4/splitmix-0.1.0.4.tar.gz) = 22382
+SHA256 (cabal/splitmix-0.1.0.4/revision/2.cabal) = db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e
+SIZE (cabal/splitmix-0.1.0.4/revision/2.cabal) = 6537
+SHA256 (cabal/streaming-commons-0.2.2.6/streaming-commons-0.2.2.6.tar.gz) = 0180958a882eb0f6262b812fe886c2b1b8285474b5b958f814ae4f05409fbf79
+SIZE (cabal/streaming-commons-0.2.2.6/streaming-commons-0.2.2.6.tar.gz) = 37959
+SHA256 (cabal/strict-0.5/strict-0.5.tar.gz) = 3f4f0995dec2d520d0e321542f71412dac023658fdab603db04364d75269a0fd
+SIZE (cabal/strict-0.5/strict-0.5.tar.gz) = 12564
+SHA256 (cabal/syb-0.7.2.3/syb-0.7.2.3.tar.gz) = d0b72daf16a947c4d9cb2d5774072f2153433224a04fd60fad60be9ffac8d91a
+SIZE (cabal/syb-0.7.2.3/syb-0.7.2.3.tar.gz) = 40018
+SHA256 (cabal/system-filepath-0.4.14/system-filepath-0.4.14.tar.gz) = 1656ce3c0d585650784ceb3f794748286e19fb635f557e7b29b0897f8956d993
+SIZE (cabal/system-filepath-0.4.14/system-filepath-0.4.14.tar.gz) = 16663
+SHA256 (cabal/system-filepath-0.4.14/revision/1.cabal) = e8ce7d24d7008a825e5d03aa672950a0e8178ac54c3de7134f36c3a7e37694a2
+SIZE (cabal/system-filepath-0.4.14/revision/1.cabal) = 1631
+SHA256 (cabal/tagged-0.8.7/tagged-0.8.7.tar.gz) = 6414eeac27a1633f49e2f78199ced99ce8ce3d70b658cf6d55b1d81ff60cb961
+SIZE (cabal/tagged-0.8.7/tagged-0.8.7.tar.gz) = 10082
+SHA256 (cabal/tagsoup-0.14.8/tagsoup-0.14.8.tar.gz) = ba7e5500d853d29f0675b90655b7fdd032a4a7eee82a56e7ee3ef9949fe93ad5
+SIZE (cabal/tagsoup-0.14.8/tagsoup-0.14.8.tar.gz) = 43894
+SHA256 (cabal/temporary-1.3/temporary-1.3.tar.gz) = 8c442993694b5ffca823ce864af95bd2841fb5264ee511c61cf48cc71d879890
+SIZE (cabal/temporary-1.3/temporary-1.3.tar.gz) = 5686
+SHA256 (cabal/texmath-0.12.8/texmath-0.12.8.tar.gz) = 034ff00671d9b8ac4c983df59ccfb4f39fc7d8c2d19f1f39cc00ac5d3f8625c4
+SIZE (cabal/texmath-0.12.8/texmath-0.12.8.tar.gz) = 1479868
+SHA256 (cabal/text-conversions-0.3.1.1/text-conversions-0.3.1.1.tar.gz) = c8770fba789ce80334cae628285103c49abec0fa074773cbb5a88e26f5a7725d
+SIZE (cabal/text-conversions-0.3.1.1/text-conversions-0.3.1.1.tar.gz) = 5258
+SHA256 (cabal/text-short-0.1.5/text-short-0.1.5.tar.gz) = a35ec6cde2ada084c1a050dc5885be5ab01f851b93d744cf0facbc1c18002dda
+SIZE (cabal/text-short-0.1.5/text-short-0.1.5.tar.gz) = 25113
+SHA256 (cabal/text-short-0.1.5/revision/2.cabal) = c296eb2289dc5bf39912989c295cb82ef05ae5f84ee83ea5dc21f48da80e7052
+SIZE (cabal/text-short-0.1.5/revision/2.cabal) = 3202
+SHA256 (cabal/th-abstraction-0.5.0.0/th-abstraction-0.5.0.0.tar.gz) = 8258dc3ab7188af5826e2467032b52a931a3af4d8a93d4a094210e240a8a9964
+SIZE (cabal/th-abstraction-0.5.0.0/th-abstraction-0.5.0.0.tar.gz) = 40093
+SHA256 (cabal/th-compat-0.1.4/th-compat-0.1.4.tar.gz) = d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8
+SIZE (cabal/th-compat-0.1.4/th-compat-0.1.4.tar.gz) = 14838
+SHA256 (cabal/th-compat-0.1.4/revision/2.cabal) = e5ae7c083ef3a22248558f8451669bb1c55ea8090f5908b86b9033743c161730
+SIZE (cabal/th-compat-0.1.4/revision/2.cabal) = 3224
+SHA256 (cabal/th-lift-0.8.3/th-lift-0.8.3.tar.gz) = 25d57bf5f8e7deefeb4ace0539805ae1e90b1ba5a034ebcc36141846408c6b75
+SIZE (cabal/th-lift-0.8.3/th-lift-0.8.3.tar.gz) = 14643
+SHA256 (cabal/th-lift-instances-0.1.20/th-lift-instances-0.1.20.tar.gz) = f533c3f95addcca461a0ccd1aafef75dd801bfa6599c0d1184d54bfffb61d870
+SIZE (cabal/th-lift-instances-0.1.20/th-lift-instances-0.1.20.tar.gz) = 6721
+SHA256 (cabal/these-1.2/these-1.2.tar.gz) = a8ed7174b7f790764360f48aab72fea382a6093ed369c7bc6881fae1abacd4b8
+SIZE (cabal/these-1.2/these-1.2.tar.gz) = 10606
+SHA256 (cabal/threads-0.5.1.7/threads-0.5.1.7.tar.gz) = e0f6fea09b99a2f84c98089c27c011077bf43f1e1977a5c43997e226d23142d0
+SIZE (cabal/threads-0.5.1.7/threads-0.5.1.7.tar.gz) = 7459
+SHA256 (cabal/threads-0.5.1.7/revision/1.cabal) = 97132b14f194d7ce0b15e25498545462a42ad1017b072641622653d4c1aabda3
+SIZE (cabal/threads-0.5.1.7/revision/1.cabal) = 2877
+SHA256 (cabal/time-compat-1.9.6.1/time-compat-1.9.6.1.tar.gz) = ad07bb00eb9678c2136d3680752b00acc4cbc522654bb3199bf31c61ef1e6b80
+SIZE (cabal/time-compat-1.9.6.1/time-compat-1.9.6.1.tar.gz) = 59964
+SHA256 (cabal/time-compat-1.9.6.1/revision/5.cabal) = dd4de1fa0d6b7108982efc7ac41938569e4c9b06230bb87d34aae007c52ddb67
+SIZE (cabal/time-compat-1.9.6.1/revision/5.cabal) = 5062
+SHA256 (cabal/time-locale-compat-0.1.1.5/time-locale-compat-0.1.1.5.tar.gz) = 07ff1566de7d851423a843b2de385442319348c621d4f779b3d365ce91ac502c
+SIZE (cabal/time-locale-compat-0.1.1.5/time-locale-compat-0.1.1.5.tar.gz) = 1956
+SHA256 (cabal/tls-1.7.0/tls-1.7.0.tar.gz) = 3c2a50c902d26864f6af113e59045f049f6c54fb46239ed2d1d4a82bc8524078
+SIZE (cabal/tls-1.7.0/tls-1.7.0.tar.gz) = 158630
+SHA256 (cabal/transformers-base-0.4.6/transformers-base-0.4.6.tar.gz) = 323bf8689eb691b122661cffa41a25e00fea7a768433fe2dde35d3da7d32cf90
+SIZE (cabal/transformers-base-0.4.6/transformers-base-0.4.6.tar.gz) = 2902
+SHA256 (cabal/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz) = b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a
+SIZE (cabal/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz) = 46485
+SHA256 (cabal/typed-process-0.2.11.0/typed-process-0.2.11.0.tar.gz) = 948c59540675d85f35c99e285cdb8686713ec1689f530d5d21813239ea91f625
+SIZE (cabal/typed-process-0.2.11.0/typed-process-0.2.11.0.tar.gz) = 18309
+SHA256 (cabal/typst-0.1.0.0/typst-0.1.0.0.tar.gz) = a40a94476357580cd5197e1a2cd65bfdd29d8bad293667beca01741969a24eef
+SIZE (cabal/typst-0.1.0.0/typst-0.1.0.0.tar.gz) = 6402077
+SHA256 (cabal/typst-symbols-0.1.2/typst-symbols-0.1.2.tar.gz) = c2e6c71e71cff33d464d6dc50276886d616626772d5f57260b2f668c4bcba0ab
+SIZE (cabal/typst-symbols-0.1.2/typst-symbols-0.1.2.tar.gz) = 18076
+SHA256 (cabal/unicode-collation-0.1.3.4/unicode-collation-0.1.3.4.tar.gz) = b08dbe9bb269d6eda2639cdfc63caee136794f46c16a1ad51b5305dd2ea6d429
+SIZE (cabal/unicode-collation-0.1.3.4/unicode-collation-0.1.3.4.tar.gz) = 2056084
+SHA256 (cabal/unicode-data-0.4.0.1/unicode-data-0.4.0.1.tar.gz) = 37a5dea6801940beb65c4ac4b9d0f7e653a686cf773507f0ca61c210e0b06080
+SIZE (cabal/unicode-data-0.4.0.1/unicode-data-0.4.0.1.tar.gz) = 187381
+SHA256 (cabal/unicode-data-0.4.0.1/revision/1.cabal) = 081e269b48f2d8511579a6dd1aa5f5c2f940e63d9bafec5fb911c11e32b27ad3
+SIZE (cabal/unicode-data-0.4.0.1/revision/1.cabal) = 5624
+SHA256 (cabal/unicode-transforms-0.4.0.1/unicode-transforms-0.4.0.1.tar.gz) = 3278e1e1d648da4bcd7368658ae091a89080e88a2f44db9df5136711e99649fc
+SIZE (cabal/unicode-transforms-0.4.0.1/unicode-transforms-0.4.0.1.tar.gz) = 648836
+SHA256 (cabal/unicode-transforms-0.4.0.1/revision/3.cabal) = adffd08a043cbf633e9574c35e206315bb07e73ed3886a91472d3cf208d8a6c3
+SIZE (cabal/unicode-transforms-0.4.0.1/revision/3.cabal) = 5923
+SHA256 (cabal/uniplate-1.6.13/uniplate-1.6.13.tar.gz) = e777c94628445556a71f135a42cf72d2cfbaccba5849cc42fbfec8b2182e3ad2
+SIZE (cabal/uniplate-1.6.13/uniplate-1.6.13.tar.gz) = 29787
+SHA256 (cabal/uniplate-1.6.13/revision/1.cabal) = c8b715570d0b4baa72512e677552dd3f98372a64bf9de000e779bd4162fd7be7
+SIZE (cabal/uniplate-1.6.13/revision/1.cabal) = 3320
+SHA256 (cabal/unix-time-0.4.10/unix-time-0.4.10.tar.gz) = 7e4a4bf8cba87bc7b1e3a1a7c68a44d7780360d6f52628cd84154829a03629bc
+SIZE (cabal/unix-time-0.4.10/unix-time-0.4.10.tar.gz) = 52393
+SHA256 (cabal/unliftio-core-0.2.1.0/unliftio-core-0.2.1.0.tar.gz) = 99384cba8d56d9d61b85e38a313a93ebcdb78be6566367f0930ef580597fe3e3
+SIZE (cabal/unliftio-core-0.2.1.0/unliftio-core-0.2.1.0.tar.gz) = 3865
+SHA256 (cabal/unliftio-core-0.2.1.0/revision/2.cabal) = cb78a95718f9cb2579a8a1208d4a148ea358f0774321c8cb905bfb0b96a2813c
+SIZE (cabal/unliftio-core-0.2.1.0/revision/2.cabal) = 1004
+SHA256 (cabal/unordered-containers-0.2.19.1/unordered-containers-0.2.19.1.tar.gz) = 1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2
+SIZE (cabal/unordered-containers-0.2.19.1/unordered-containers-0.2.19.1.tar.gz) = 58030
+SHA256 (cabal/unordered-containers-0.2.19.1/revision/2.cabal) = 9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00
+SIZE (cabal/unordered-containers-0.2.19.1/revision/2.cabal) = 3822
+SHA256 (cabal/uri-bytestring-0.3.3.1/uri-bytestring-0.3.3.1.tar.gz) = f3e7a0ac26111c426727fed11624efe9ce36ee2e74ca79570ec0985eb6111368
+SIZE (cabal/uri-bytestring-0.3.3.1/uri-bytestring-0.3.3.1.tar.gz) = 23052
+SHA256 (cabal/uri-bytestring-aeson-0.1.0.8/uri-bytestring-aeson-0.1.0.8.tar.gz) = 612accdae921dd7a5d00fedaa377d994be5ab585ae75b1f9f0dcaa10412e7509
+SIZE (cabal/uri-bytestring-aeson-0.1.0.8/uri-bytestring-aeson-0.1.0.8.tar.gz) = 2047
+SHA256 (cabal/url-2.1.3/url-2.1.3.tar.gz) = 5af27e3f8c0a27e52d0dcb98ef06a0fdd01efe8bb21242c29432e1bc380a4f61
+SIZE (cabal/url-2.1.3/url-2.1.3.tar.gz) = 4180
+SHA256 (cabal/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz) = ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a
+SIZE (cabal/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz) = 10726
+SHA256 (cabal/uuid-1.3.15/uuid-1.3.15.tar.gz) = f885958d8934930b7c0f9b91f980722f7f992c9383fc98f075cf9df64c800564
+SIZE (cabal/uuid-1.3.15/uuid-1.3.15.tar.gz) = 8815
+SHA256 (cabal/uuid-1.3.15/revision/2.cabal) = a3d79c5a5e58035e7dc5a08c5910c44a6719aaa38697b249e3f67aaac884411a
+SIZE (cabal/uuid-1.3.15/revision/2.cabal) = 2642
+SHA256 (cabal/uuid-types-1.0.5/uuid-types-1.0.5.tar.gz) = ad68b89b7a64c07dd5c250a11be2033ee929318ff51ec7b4e4b54e1b4deba7dd
+SIZE (cabal/uuid-types-1.0.5/uuid-types-1.0.5.tar.gz) = 11922
+SHA256 (cabal/uuid-types-1.0.5/revision/4.cabal) = e4662609522f093b86c5ae86aa9781afc69338cf102d42e5b5c196c320d95621
+SIZE (cabal/uuid-types-1.0.5/revision/4.cabal) = 2636
+SHA256 (cabal/vector-0.13.0.0/vector-0.13.0.0.tar.gz) = c5d3167d15e12f52e00879ddf304a591672a74e369cc47bc5c7fa1d5a8d15b4f
+SIZE (cabal/vector-0.13.0.0/vector-0.13.0.0.tar.gz) = 154509
+SHA256 (cabal/vector-0.13.0.0/revision/3.cabal) = fa5cac81a17a5af388716792e8b99c24b3b66770086756d0d8b23f8272a0244c
+SIZE (cabal/vector-0.13.0.0/revision/3.cabal) = 9112
+SHA256 (cabal/vector-algorithms-0.9.0.1/vector-algorithms-0.9.0.1.tar.gz) = 2ba7c0d3a8f26ef3ada24ff4abe81609225ecbab3b5754f048f8a0a3ecc33841
+SIZE (cabal/vector-algorithms-0.9.0.1/vector-algorithms-0.9.0.1.tar.gz) = 29149
+SHA256 (cabal/vector-algorithms-0.9.0.1/revision/2.cabal) = f3e5c6695529a94edf762117cafd91c989cb642ad3f8ca4014dbb13c8f6c2a20
+SIZE (cabal/vector-algorithms-0.9.0.1/revision/2.cabal) = 3826
+SHA256 (cabal/vector-stream-0.1.0.0/vector-stream-0.1.0.0.tar.gz) = a888210f6467f155090653734be5cc920406a07227e0d3adb59096716fdb806c
+SIZE (cabal/vector-stream-0.1.0.0/vector-stream-0.1.0.0.tar.gz) = 12377
+SHA256 (cabal/vector-stream-0.1.0.0/revision/2.cabal) = f5d6d5291cd1b5f2f063403593f1f5c8127d692c888eedeb3e1eb40497a88dca
+SIZE (cabal/vector-stream-0.1.0.0/revision/2.cabal) = 1404
+SHA256 (cabal/void-0.7.3/void-0.7.3.tar.gz) = 53af758ddc37dc63981671e503438d02c6f64a2d8744e9bec557a894431f7317
+SIZE (cabal/void-0.7.3/void-0.7.3.tar.gz) = 6741
+SHA256 (cabal/witherable-0.4.2/witherable-0.4.2.tar.gz) = 790d2bb274283419173bd89104439860675a9410f70f21912973ecd9098b4104
+SIZE (cabal/witherable-0.4.2/witherable-0.4.2.tar.gz) = 11876
+SHA256 (cabal/witherable-0.4.2/revision/4.cabal) = cec516b35df0ff53ab0068e70a912a0ba7b65c672fbc554727183faa195ad3b8
+SIZE (cabal/witherable-0.4.2/revision/4.cabal) = 2342
+SHA256 (cabal/xml-1.3.14/xml-1.3.14.tar.gz) = 32d1a1a9f21a59176d84697f96ae3a13a0198420e3e4f1c48abbab7d2425013d
+SIZE (cabal/xml-1.3.14/xml-1.3.14.tar.gz) = 12048
+SHA256 (cabal/xml-1.3.14/revision/2.cabal) = c7a33d37c968c769723931a33e4e795f0aadda6cb62e7073ded8a2db52509d95
+SIZE (cabal/xml-1.3.14/revision/2.cabal) = 952
+SHA256 (cabal/xml-conduit-1.9.1.3/xml-conduit-1.9.1.3.tar.gz) = d8e9169562c71c9e6bc616f15832f521a68c362aa4fc03682748a809755f1bf4
+SIZE (cabal/xml-conduit-1.9.1.3/xml-conduit-1.9.1.3.tar.gz) = 44653
+SHA256 (cabal/xml-types-0.3.8/xml-types-0.3.8.tar.gz) = dad5e4ce602b7d1f4be37c0cfd99a261a4573746bfd80d917dc955b72da84c80
+SIZE (cabal/xml-types-0.3.8/xml-types-0.3.8.tar.gz) = 4054
+SHA256 (cabal/xss-sanitize-0.3.7.2/xss-sanitize-0.3.7.2.tar.gz) = 1bbb7f5be1f4590124c76458fb798bfd9bf8114dce338d5881ad89188a9dc946
+SIZE (cabal/xss-sanitize-0.3.7.2/xss-sanitize-0.3.7.2.tar.gz) = 12002
+SHA256 (cabal/yaml-0.11.11.2/yaml-0.11.11.2.tar.gz) = ee74923ee5b0fef74413c58aaa20ea59baf5d29d256a62fb47cc279570d9dc2f
+SIZE (cabal/yaml-0.11.11.2/yaml-0.11.11.2.tar.gz) = 31926
+SHA256 (cabal/yaml-0.11.11.2/revision/2.cabal) = 6f0a1859e0fb3068e50dbc7fe9bf9a26847741bc24344e35e16a03711a18f88d
+SIZE (cabal/yaml-0.11.11.2/revision/2.cabal) = 5178
+SHA256 (cabal/zip-archive-0.4.3/zip-archive-0.4.3.tar.gz) = 68050fa0f139848db0ea422ea9af1a65b652abf5168db7dafaf1bded5b045d05
+SIZE (cabal/zip-archive-0.4.3/zip-archive-0.4.3.tar.gz) = 22161
+SHA256 (cabal/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz) = 9eaa989ad4534438b5beb51c1d3a4c8f6a088fdff0b259a5394fbf39aaee04da
+SIZE (cabal/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz) = 369595
+SHA256 (cabal/zlib-0.6.3.0/revision/1.cabal) = 9adce39e4ca0b7a87d45df0a243134816c57059a08e28cff5469c98ae1f54dfc
+SIZE (cabal/zlib-0.6.3.0/revision/1.cabal) = 5367
diff --git a/www/hs-gitit/files/extra-patch-data_default.conf b/www/hs-gitit/files/extra-patch-data_default.conf
new file mode 100644
index 000000000000..96e71c4b5458
--- /dev/null
+++ b/www/hs-gitit/files/extra-patch-data_default.conf
@@ -0,0 +1,22 @@
+--- data/default.conf.orig	2023-07-10 14:38:47 UTC
++++ data/default.conf
+@@ -266,10 +266,19 @@ feed-days: 14
+ feed-refresh-time: 60
+ # number of minutes to cache feeds before refreshing
+ 
++exports: no
++# if yes, export options will be enabled. Beware, this might disclose
++# any file contents readable by the gitit process by maliciously 
++# crafting pages that include files!
++
+ pdf-export: no
+ # if yes, PDF will appear in export options. PDF will be created using
+ # pdflatex, which must be installed and in the path. Note that PDF
+ # exports create significant additional server load.
++
++pdf-engine: pdflatex
++# change this to have pandoc use a different engine for PDF creation,
++# like xelatex, wkhtmltopdf, pdfroff, etc.
+ 
+ pandoc-user-data:
+ # if a directory is specified, this will be searched for pandoc
diff --git a/www/hs-gitit/files/extra-patch-exports b/www/hs-gitit/files/extra-patch-exports
new file mode 100644
index 000000000000..7b2cb45ac0c3
--- /dev/null
+++ b/www/hs-gitit/files/extra-patch-exports
@@ -0,0 +1,612 @@
+diff --git README.markdown README.markdown
+index d49e0cc..c5a4ada 100644
+--- README.markdown
++++ README.markdown
+@@ -7,9 +7,10 @@ files are stored in a [git], [darcs], or [mercurial] repository
+ and may be modified either by using the VCS's command-line tools or
+ through the wiki's web interface. By default, pandoc's extended version
+ of markdown is used as a markup language, but reStructuredText, LaTeX, HTML,
+-DocBook, or Emacs Org-mode markup can also be used.  Gitit can
+-be configured to display TeX math (using [texmath]) and
+-highlighted source code (using [highlighting-kate]).
++DocBook, or Emacs Org-mode markup can also be used. Pages can be exported in a
++number of different formats, including LaTeX, RTF, OpenOffice ODT, and
++MediaWiki markup.  Gitit can be configured to display TeX math (using
++[texmath]) and highlighted source code (using [highlighting-kate]).
+ 
+ Other features include
+ 
+@@ -410,7 +411,7 @@ Caching
+ By default, gitit does not cache content.  If your wiki receives a lot of
+ traffic or contains pages that are slow to render, you may want to activate
+ caching.  To do this, set the configuration option `use-cache` to `yes`.
+-By default, rendered pages, and highlighted source files
++By default, rendered pages, highlighted source files, and exported PDFs
+ will be cached in the `cache` directory. (Another directory can be
+ specified by setting the `cache-dir` configuration option.)
+ 
+diff --git data/default.conf data/default.conf
+index cd528f9..567bf8f 100644
+--- data/default.conf
++++ data/default.conf
+@@ -266,9 +266,16 @@ feed-days: 14
+ feed-refresh-time: 60
+ # number of minutes to cache feeds before refreshing
+ 
++pdf-export: no
++# if yes, PDF will appear in export options. PDF will be created using
++# pdflatex, which must be installed and in the path. Note that PDF
++# exports create significant additional server load.
++
+ pandoc-user-data:
+ # if a directory is specified, this will be searched for pandoc
+-# customizations.  If no directory is
++# customizations. These can include a templates/ directory for custom
++# templates for various export formats, an S5 directory for custom
++# S5 styles, and a reference.odt for ODT exports. If no directory is
+ # specified, $HOME/.pandoc will be searched. See pandoc's README for
+ # more information.
+ 
+diff --git data/templates/pagetools.st data/templates/pagetools.st
+index a5178f4..2d01dfa 100644
+--- data/templates/pagetools.st
++++ data/templates/pagetools.st
+@@ -9,5 +9,6 @@
+       <li><a href="$base$/_feed$pageUrl$" type="application/atom+xml" rel="alternate" title="This page's ATOM Feed">Atom feed</a> <img alt="feed icon" src="$base$/img/icons/feed.png"/></li>
+       $endif$
+     </ul>
++    $exportbox$
+   </fieldset>
+ </div>
+diff --git gitit.cabal gitit.cabal
+index 3d0d695..361415d 100644
+--- gitit.cabal
++++ gitit.cabal
+@@ -115,6 +115,7 @@ Library
+                      Network.Gitit.Authentication.Github,
+                      Network.Gitit.Util, Network.Gitit.Server
+                      Network.Gitit.Cache, Network.Gitit.State,
++                     Network.Gitit.Export,
+                      Network.Gitit.Handlers,
+                      Network.Gitit.Plugins, Network.Gitit.Rpxnow,
+                      Network.Gitit.Page, Network.Gitit.Feed,
+diff --git src/Network/Gitit.hs src/Network/Gitit.hs
+index 3ad25f8..032cc9d 100644
+--- src/Network/Gitit.hs
++++ src/Network/Gitit.hs
+@@ -199,6 +199,7 @@ wikiHandlers =
+           authenticate ForModify (unlessNoDelete deletePage showPage) ]
+   , dir "_preview" preview
+   , guardIndex >> indexPage
++  , guardCommand "export" >> exportPage
+   , method POST >> guardCommand "cancel" >> showPage
+   , method POST >> guardCommand "update" >>
+       authenticate ForModify (unlessNoEdit updatePage showPage)
+diff --git src/Network/Gitit/Cache.hs src/Network/Gitit/Cache.hs
+index 3334d07..91b6c0a 100644
+--- src/Network/Gitit/Cache.hs
++++ src/Network/Gitit/Cache.hs
+@@ -41,13 +41,23 @@ import Control.Monad.Trans (liftIO)
+ import Text.Pandoc.UTF8 (encodePath)
+ 
+ -- | Expire a cached file, identified by its filename in the filestore.
++-- If there is an associated exported PDF, expire it too.
+ -- Returns () after deleting a file from the cache, fails if no cached file.
+ expireCachedFile :: String -> GititServerPart ()
+ expireCachedFile file = do
+   cfg <- getConfig
+   let target = encodePath $ cacheDir cfg </> file
+   exists <- liftIO $ doesFileExist target
+-  when exists $ liftIO $ liftIO $ removeFile target
++  when exists $ liftIO $ do
*** 1961 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202309241858.38OIwl8G045587>