From 272d05187e9ad17834e63cb98da97fcc3345ef98 Mon Sep 17 00:00:00 2001 From: Palle Girgensohn Date: Tue, 26 May 2020 06:55:36 +0000 Subject: [PATCH] Introducing PostgREST Using PostgREST is an alternative to manual CRUD programming. Custom API servers suffer problems. Writing business logic often duplicates, ignores or hobbles database structure. Object-relational mapping is a leaky abstraction leading to slow imperative code. The PostgREST philosophy establishes a single declarative source of truth: the data itself. WWW: http://postgrest.org/en/v7.0.0/ PR: 246383 Submitted by: Dmitry Wagin --- GIDs | 2 +- UIDs | 2 +- www/Makefile | 1 + www/hs-postgrest/Makefile | 224 ++++++++++++ www/hs-postgrest/distinfo | 463 +++++++++++++++++++++++++ www/hs-postgrest/files/default.conf.in | 42 +++ www/hs-postgrest/files/postgrest.in | 167 +++++++++ www/hs-postgrest/pkg-descr | 5 + www/hs-postgrest/pkg-plist | 2 + 9 files changed, 906 insertions(+), 2 deletions(-) create mode 100644 www/hs-postgrest/Makefile create mode 100644 www/hs-postgrest/distinfo create mode 100644 www/hs-postgrest/files/default.conf.in create mode 100644 www/hs-postgrest/files/postgrest.in create mode 100644 www/hs-postgrest/pkg-descr create mode 100644 www/hs-postgrest/pkg-plist diff --git a/GIDs b/GIDs index f6b445b5cc25..9e8d389ce27d 100644 --- a/GIDs +++ b/GIDs @@ -712,7 +712,7 @@ c-lightning:*:735: # free: 769 postgres:*:770: cockroach:*:771: -# free: 772 +postgrest:*:772: # free: 773 # free: 774 # free: 775 diff --git a/UIDs b/UIDs index 61b0847e9781..b07e4cf774da 100644 --- a/UIDs +++ b/UIDs @@ -717,7 +717,7 @@ c-lightning:*:735:735::0:0:c-lightning Daemon:/var/db/c-lightning:/usr/sbin/nolo # free: 769 postgres:*:770:770::0:0:PostgreSQL Daemon:/var/db/postgres:/bin/sh cockroach:*:771:771::0:0:CockroachDB Daemon:/var/db/cockroach:/usr/sbin/nologin -# free: 772 +postgrest:*:772:772::0:0:PostgREST Daemon:/nonexistent:/usr/sbin/nologin # free: 773 # free: 774 # free: 775 diff --git a/www/Makefile b/www/Makefile index 541a98792b0b..5f680e1059dd 100644 --- a/www/Makefile +++ b/www/Makefile @@ -233,6 +233,7 @@ SUBDIR += hotcrp SUBDIR += hs-DAV SUBDIR += hs-hjsmin + SUBDIR += hs-postgrest SUBDIR += hs-wai-app-static SUBDIR += hs-yesod-bin SUBDIR += htdigest diff --git a/www/hs-postgrest/Makefile b/www/hs-postgrest/Makefile new file mode 100644 index 000000000000..fc2b32b7eb24 --- /dev/null +++ b/www/hs-postgrest/Makefile @@ -0,0 +1,224 @@ +# $FreeBSD$ + +PORTNAME= postgrest +PORTVERSION= 7.0.1 +CATEGORIES= www databases haskell + +MAINTAINER= dmitry.wagin@ya.ru +COMMENT= PostgREST create a REST API to an existing Postgres database + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +ONLY_FOR_ARCHS= amd64 i386 + +USES= cabal pgsql + +USE_CABAL= HTTP-4000.3.14_1 \ + HUnit-1.6.0.0 \ + Only-0.1_1 \ + QuickCheck-2.14 \ + Ranged-sets-0.4.0_2 \ + StateVar-1.2 \ + adjunctions-4.4_2 \ + aeson-1.4.7.1_1 \ + aeson-pretty-0.8.8 \ + ansi-terminal-0.10.3 \ + ansi-wl-pprint-0.6.9_1 \ + appar-0.1.8 \ + asn1-encoding-0.9.6_1 \ + asn1-parse-0.9.5 \ + asn1-types-0.3.4 \ + async-2.2.2_1 \ + attoparsec-0.13.2.4 \ + auto-update-0.1.6 \ + base-compat-0.11.1 \ + base-compat-batteries-0.11.1 \ + base-orphans-0.8.2 \ + base-prelude-1.3 \ + base-unicode-symbols-0.2.4.2 \ + base64-bytestring-1.1.0.0 \ + basement-0.0.11_2 \ + bifunctors-5.5.7 \ + binary-parser-0.5.5_3 \ + bsb-http-chunked-0.0.0.4_2 \ + byteorder-1.0.4 \ + bytestring-strict-builder-0.4.5.3_1 \ + bytestring-tree-builder-0.2.7.3 \ + cabal-doctest-1.0.8_1 \ + call-stack-0.2.0 \ + case-insensitive-1.2.1.0 \ + cassava-0.5.2.0_1 \ + cereal-0.5.8.1 \ + charset-0.3.7.1_1 \ + colour-2.3.5 \ + comonad-5.0.6 \ + concise-0.1.0.1 \ + configurator-pg-0.2.3 \ + contravariant-1.5.2 \ + contravariant-extras-0.3.5.1 \ + cookie-0.4.5 \ + cryptohash-md5-0.11.100.1_5 \ + cryptohash-sha1-0.11.100.1_5 \ + cryptonite-0.26 \ + data-bword-0.1.0.1 \ + data-checked-0.3 \ + data-default-class-0.1.2.0 \ + data-dword-0.3.2 \ + data-endian-0.1.1 \ + data-serializer-0.3.4.1 \ + data-textual-0.3.0.3 \ + deferred-folds-0.9.10.1 \ + distributive-0.6.2 \ + dlist-0.8.0.8 \ + easy-file-0.2.2 \ + either-5.0.1.1_1 \ + entropy-0.4.1.6 \ + exceptions-0.10.4_1 \ + expiring-cache-map-0.0.6.1 \ + fast-logger-3.0.1 \ + foldl-1.4.6 \ + free-5.1.3 \ + generics-sop-0.5.1.0 \ + gitrev-1.3.1 \ + hashable-1.3.0.0_1 \ + hashtables-1.2.3.4 \ + haskell-src-exts-1.23.0 \ + haskell-src-meta-0.8.5_1 \ + hasql-1.4.2 \ + hasql-pool-0.5.2 \ + hasql-transaction-1.0.0.1 \ + heredoc-0.2.0.0 \ + hourglass-0.2.12 \ + http-date-0.0.8 \ + http-media-0.8.0.0_3 \ + http-types-0.12.3 \ + http2-2.0.4 \ + indexed-profunctors-0.1 \ + insert-ordered-containers-0.2.3.1 \ + integer-logarithms-1.0.3_2 \ + interpolatedstring-perl6-1.0.2 \ + invariant-0.5.3_1 \ + iproute-1.7.9_1 \ + jose-0.8.3 \ + kan-extensions-5.2 \ + lens-4.19.2 \ + lens-aeson-1.1 \ + loch-th-0.2.2 \ + math-functions-0.3.4.0_1 \ + megaparsec-8.0.0 \ + memory-0.15.0_1 \ + mime-types-0.1.0.9 \ + monad-control-1.0.2.3 \ + monad-time-0.3.1.0 \ + mtl-compat-0.2.2 \ + mwc-random-0.14.0.0 \ + network-3.1.1.1 \ + network-byte-order-0.1.5 \ + network-info-0.2.0.10_1 \ + network-ip-0.3.0.3 \ + network-uri-2.6.3.0 \ + old-locale-1.0.0.7_2 \ + old-time-1.1.0.3_2 \ + optics-core-0.3 \ + optics-extra-0.3 \ + optics-th-0.3 \ + optparse-applicative-0.15.1.0_1 \ + parallel-3.2.2.0_2 \ + parser-combinators-1.2.1 \ + parsers-0.12.10 \ + pem-0.2.4 \ + placeholders-0.1 \ + postgresql-binary-0.12.2 \ + postgresql-libpq-0.9.4.2_2 \ + primitive-0.7.0.1 \ + profunctors-5.5.2 \ + protolude-0.3.0 \ + psqueues-0.2.7.2_1 \ + quickcheck-instances-0.3.22_4 \ + random-1.1_1 \ + reflection-2.1.6 \ + regex-base-0.94.0.0_1 \ + regex-tdfa-1.3.1.0_1 \ + resource-pool-0.2.3.2 \ + resourcet-1.2.4 \ + retry-0.8.1.2 \ + safe-0.3.18_1 \ + scientific-0.3.6.2 \ + semigroupoids-5.3.4 \ + semigroups-0.19.1 \ + simple-sendfile-0.2.30 \ + sop-core-0.5.0.1 \ + split-0.2.3.4 \ + splitmix-0.0.4 \ + streaming-commons-0.2.1.2 \ + swagger2-2.6_1 \ + syb-0.7.1 \ + tagged-0.8.6_2 \ + template-haskell-compat-v0208-0.1.2.1 \ + text-builder-0.6.6.1 \ + text-latin1-0.3.1 \ + text-printer-0.5.0.1 \ + text-short-0.1.3_2 \ + th-abstraction-0.3.2.0 \ + th-expand-syns-0.4.6.0 \ + th-lift-0.8.1 \ + th-lift-instances-0.1.16 \ + th-orphans-0.13.10 \ + th-reify-many-0.1.9 \ + time-compat-1.9.3 \ + time-manager-0.0.0 \ + transformers-base-0.4.5.2 \ + transformers-compat-0.6.5 \ + type-hint-0.1 \ + unix-compat-0.5.2_1 \ + unix-time-0.4.7 \ + unliftio-core-0.2.0.1_1 \ + unordered-containers-0.2.10.0_1 \ + utf8-string-1.0.1.1_3 \ + uuid-1.3.13_3 \ + uuid-types-1.0.3_2 \ + vault-0.3.1.4 \ + vector-0.12.1.2 \ + vector-builder-0.3.8 \ + void-0.7.3 \ + wai-3.2.2.1 \ + wai-cors-0.2.7 \ + wai-extra-3.0.29.1 \ + wai-logger-2.3.6 \ + wai-middleware-static-0.8.3_1 \ + warp-3.3.11 \ + word8-0.1.3 \ + x509-1.7.5_1 \ + zlib-0.6.2.1_1 \ + \ + happy-1.19.12 \ + hsc2hs-0.68.7 + +POSTGREST_USER?= postgrest +POSTGREST_GROUP?= postgrest + +USERS= ${POSTGREST_USER} +GROUPS= ${POSTGREST_GROUP} + +SUB_FILES= default.conf +SUB_LIST= ETCDIR=${ETCDIR} \ + POSTGREST_USER=${POSTGREST_USER} \ + POSTGREST_GROUP=${POSTGREST_GROUP} + +PLIST_SUB= ETCDIR=${ETCDIR} \ + POSTGREST_USER=${POSTGREST_USER} \ + POSTGREST_GROUP=${POSTGREST_GROUP} + +USE_RC_SUBR= postgrest + +SKIP_CABAL_PLIST= yes + +do-install: + @${MKDIR} ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${WRKDIR}/default.conf ${STAGEDIR}${ETCDIR}/default.conf.sample + ${INSTALL_PROGRAM} \ + $$(find ${WRKSRC}/dist-newstyle -name ${EXECUTABLES} -type f -perm +111) \ + ${STAGEDIR}${PREFIX}/sbin/${EXECUTABLES} + +.include diff --git a/www/hs-postgrest/distinfo b/www/hs-postgrest/distinfo new file mode 100644 index 000000000000..2f499cd84eec --- /dev/null +++ b/www/hs-postgrest/distinfo @@ -0,0 +1,463 @@ +TIMESTAMP = 1589981688 +SHA256 (cabal/postgrest-7.0.1.tar.gz) = eee92b13da69555fd5132035ab007a6d780a565ac40ca5ab477e6c67634bc6b2 +SIZE (cabal/postgrest-7.0.1.tar.gz) = 119530 +SHA256 (cabal/HTTP-4000.3.14/HTTP-4000.3.14.tar.gz) = a602d7f30e917164c6a634f8cb1f5df4849048858db01380a0875e16e5aa687b +SIZE (cabal/HTTP-4000.3.14/HTTP-4000.3.14.tar.gz) = 72938 +SHA256 (cabal/HTTP-4000.3.14/revision/1.cabal) = 3c19975fdfd8d057eae58847bda6a79514ad882fd6f8ead72ac0247af34bdfc6 +SIZE (cabal/HTTP-4000.3.14/revision/1.cabal) = 5843 +SHA256 (cabal/HUnit-1.6.0.0/HUnit-1.6.0.0.tar.gz) = 7448e6b966e98e84b7627deba23f71b508e9a61e7bc571d74304a25d30e6d0de +SIZE (cabal/HUnit-1.6.0.0/HUnit-1.6.0.0.tar.gz) = 21937 +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/QuickCheck-2.14.tar.gz) = 52be1407fb19f5f3b5aa06d41fac745536d08306adaf6dde46a62255d16c384a +SIZE (cabal/QuickCheck-2.14/QuickCheck-2.14.tar.gz) = 73915 +SHA256 (cabal/Ranged-sets-0.4.0/Ranged-sets-0.4.0.tar.gz) = 4b25a843f0fbbeda9bf218e3f4be7f1ac58704e433a08ef02ead1dee8d126dea +SIZE (cabal/Ranged-sets-0.4.0/Ranged-sets-0.4.0.tar.gz) = 13826 +SHA256 (cabal/Ranged-sets-0.4.0/revision/2.cabal) = 04bb4ce482fbdc052c9ee3346ba210986b33002b8c3440b714d62750144f86b6 +SIZE (cabal/Ranged-sets-0.4.0/revision/2.cabal) = 1373 +SHA256 (cabal/StateVar-1.2/StateVar-1.2.tar.gz) = afc036021fcd38f15fcc4af392a3e57017d5ddcc926e99391dbfc8c4e6375f8b +SIZE (cabal/StateVar-1.2/StateVar-1.2.tar.gz) = 4770 +SHA256 (cabal/adjunctions-4.4/adjunctions-4.4.tar.gz) = 507c2ef55337ae61c805f8cbc1213dfd7d2b85187342675d662254b8d8a16ae9 +SIZE (cabal/adjunctions-4.4/adjunctions-4.4.tar.gz) = 19891 +SHA256 (cabal/adjunctions-4.4/revision/2.cabal) = 2738dd5f5d5e93749adb14a05472e58a96a75d0f299e46371c6f46dc4e97daf9 +SIZE (cabal/adjunctions-4.4/revision/2.cabal) = 3067 +SHA256 (cabal/aeson-1.4.7.1/aeson-1.4.7.1.tar.gz) = 07e746655fd9bec81c59927c5617877ff4fcd81d0df45c5fb8ef154fb8f40294 +SIZE (cabal/aeson-1.4.7.1/aeson-1.4.7.1.tar.gz) = 277911 +SHA256 (cabal/aeson-1.4.7.1/revision/1.cabal) = 6d8d2fd959b7122a1df9389cf4eca30420a053d67289f92cdc0dbc0dab3530ba +SIZE (cabal/aeson-1.4.7.1/revision/1.cabal) = 7098 +SHA256 (cabal/aeson-pretty-0.8.8/aeson-pretty-0.8.8.tar.gz) = 81cea61cb6dcf32c3f0529ea5cfc98dbea3894152d7f2d9fe1cb051f927ec726 +SIZE (cabal/aeson-pretty-0.8.8/aeson-pretty-0.8.8.tar.gz) = 5600 +SHA256 (cabal/ansi-terminal-0.10.3/ansi-terminal-0.10.3.tar.gz) = fa2e2e32dfad29835aa7fd442bbe233e07d97e933223a001fe5efa562535b57c +SIZE (cabal/ansi-terminal-0.10.3/ansi-terminal-0.10.3.tar.gz) = 35863 +SHA256 (cabal/ansi-wl-pprint-0.6.9/ansi-wl-pprint-0.6.9.tar.gz) = a7b2e8e7cd3f02f2954e8b17dc60a0ccd889f49e2068ebb15abfa1d42f7a4eac +SIZE (cabal/ansi-wl-pprint-0.6.9/ansi-wl-pprint-0.6.9.tar.gz) = 16723 +SHA256 (cabal/ansi-wl-pprint-0.6.9/revision/1.cabal) = f6fd6dbd4adcad0432bf75e5f5b19bb1deda00a1d8056faf18090026e577652d +SIZE (cabal/ansi-wl-pprint-0.6.9/revision/1.cabal) = 2388 +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/1.cabal) = 3655d9a68c8c082e0d22f33456d968ad8c484d4e95308ad9217788b1c343d8a6 +SIZE (cabal/asn1-encoding-0.9.6/revision/1.cabal) = 2067 +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/async-2.2.2/async-2.2.2.tar.gz) = 4b4ab1ac82c45144d82c6daf6cb6ba45eab9957dad44787fa5e869e23d73bbff +SIZE (cabal/async-2.2.2/async-2.2.2.tar.gz) = 12927 +SHA256 (cabal/async-2.2.2/revision/1.cabal) = a178c166856da7ff22fe4500337b54812e94fd2059409452187d72e057ede9cd +SIZE (cabal/async-2.2.2/revision/1.cabal) = 2934 +SHA256 (cabal/attoparsec-0.13.2.4/attoparsec-0.13.2.4.tar.gz) = ba66cd6de1749ec92568db1b9c905b43a849f0ad918d45d7b594407a02ebefb2 +SIZE (cabal/attoparsec-0.13.2.4/attoparsec-0.13.2.4.tar.gz) = 163431 +SHA256 (cabal/auto-update-0.1.6/auto-update-0.1.6.tar.gz) = f4e023dc8713c387ecf20d851247597fd012cabea3872310b35e911105eb66c4 +SIZE (cabal/auto-update-0.1.6/auto-update-0.1.6.tar.gz) = 10929 +SHA256 (cabal/base-compat-0.11.1/base-compat-0.11.1.tar.gz) = 356f1542ec93e7192a9073d32a8ef1e48194275495dcec7fb0d241f4baaf6d36 +SIZE (cabal/base-compat-0.11.1/base-compat-0.11.1.tar.gz) = 33691 +SHA256 (cabal/base-compat-batteries-0.11.1/base-compat-batteries-0.11.1.tar.gz) = caf66fed3c0a3b0437692cad18c93a7074e8524a86b8be1ce04d0a18cbf6aed8 +SIZE (cabal/base-compat-batteries-0.11.1/base-compat-batteries-0.11.1.tar.gz) = 16748 +SHA256 (cabal/base-orphans-0.8.2/base-orphans-0.8.2.tar.gz) = 2a8062385e5d5dee418428a22c72b9391557bc1fe2f93bd643f7754b36b9eb01 +SIZE (cabal/base-orphans-0.8.2/base-orphans-0.8.2.tar.gz) = 20727 +SHA256 (cabal/base-prelude-1.3/base-prelude-1.3.tar.gz) = e3cc66e99d6c83aac548c4d8e6a166e5bd9cf557947cde49161026d0341267fe +SIZE (cabal/base-prelude-1.3/base-prelude-1.3.tar.gz) = 4323 +SHA256 (cabal/base-unicode-symbols-0.2.4.2/base-unicode-symbols-0.2.4.2.tar.gz) = 4364d6c403616e9ec0c240c4cb450c66af43ea8483d73c315e96f4ba3cb97062 +SIZE (cabal/base-unicode-symbols-0.2.4.2/base-unicode-symbols-0.2.4.2.tar.gz) = 6584 +SHA256 (cabal/base64-bytestring-1.1.0.0/base64-bytestring-1.1.0.0.tar.gz) = 210d6c9042241ca52ee5d89cf221dbeb4d0e64b37391345369035ad2d9b4aca9 +SIZE (cabal/base64-bytestring-1.1.0.0/base64-bytestring-1.1.0.0.tar.gz) = 12076 +SHA256 (cabal/basement-0.0.11/basement-0.0.11.tar.gz) = 67582b3475a5547925399f719df21f8bbbd0ca4d4db27795c22a474f8ee6346b +SIZE (cabal/basement-0.0.11/basement-0.0.11.tar.gz) = 134032 +SHA256 (cabal/basement-0.0.11/revision/2.cabal) = af43e2e334e515b52ca309919b135c51b5e9411e6d4c68d0e8950d61eb5f25d1 +SIZE (cabal/basement-0.0.11/revision/2.cabal) = 5711 +SHA256 (cabal/bifunctors-5.5.7/bifunctors-5.5.7.tar.gz) = 88b3a2d4504e1139a3aef7027913faa0870631477d0a2ebb6fa67d494cdb3532 +SIZE (cabal/bifunctors-5.5.7/bifunctors-5.5.7.tar.gz) = 45689 +SHA256 (cabal/binary-parser-0.5.5/binary-parser-0.5.5.tar.gz) = 1dab718e06a978118cd28d2412bceaa0b6ec8d67785bdb0982e259fb60fe43b3 +SIZE (cabal/binary-parser-0.5.5/binary-parser-0.5.5.tar.gz) = 4760 +SHA256 (cabal/binary-parser-0.5.5/revision/3.cabal) = 4ec2771d498dc996c1c7a08df2856f1c303538663d4fb201c742cffa950fc492 +SIZE (cabal/binary-parser-0.5.5/revision/3.cabal) = 2656 +SHA256 (cabal/bsb-http-chunked-0.0.0.4/bsb-http-chunked-0.0.0.4.tar.gz) = 148309e23eb8b261c1de374712372d62d8c8dc8ee504c392809c7ec33c0a0e7c +SIZE (cabal/bsb-http-chunked-0.0.0.4/bsb-http-chunked-0.0.0.4.tar.gz) = 6630 +SHA256 (cabal/bsb-http-chunked-0.0.0.4/revision/2.cabal) = 191a52daa2e5ee41a0d1e1ec455dbbcd064f6247f559d2427693dbd53a15e62f +SIZE (cabal/bsb-http-chunked-0.0.0.4/revision/2.cabal) = 2678 +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/bytestring-strict-builder-0.4.5.3/bytestring-strict-builder-0.4.5.3.tar.gz) = adcc72c11187604db87d1f7f9f679f8d40102a1ab904dcbbb1524cd445849e5c +SIZE (cabal/bytestring-strict-builder-0.4.5.3/bytestring-strict-builder-0.4.5.3.tar.gz) = 6497 +SHA256 (cabal/bytestring-strict-builder-0.4.5.3/revision/1.cabal) = 068e467e10304281776e46a324795505099a1cf36fad5fbaf41dd226d6b76f44 +SIZE (cabal/bytestring-strict-builder-0.4.5.3/revision/1.cabal) = 4331 +SHA256 (cabal/bytestring-tree-builder-0.2.7.3/bytestring-tree-builder-0.2.7.3.tar.gz) = 26cca5f48754d3d9435370fc2ee946c975c760a73345907d24fcc65b3f97e86c +SIZE (cabal/bytestring-tree-builder-0.2.7.3/bytestring-tree-builder-0.2.7.3.tar.gz) = 4812 +SHA256 (cabal/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz) = 2026a6a87d410202ce091412ca6bc33c5aca787025326b4a3d13425a23392e0e +SIZE (cabal/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz) = 10812 +SHA256 (cabal/cabal-doctest-1.0.8/revision/1.cabal) = 34dff6369d417df2699af4e15f06bc181d495eca9c51efde173deae2053c197c +SIZE (cabal/cabal-doctest-1.0.8/revision/1.cabal) = 1491 +SHA256 (cabal/call-stack-0.2.0/call-stack-0.2.0.tar.gz) = 95c693c93958758d714dee22edc56d4ebb2dcefa4412264e941e32ccd6e4e0c7 +SIZE (cabal/call-stack-0.2.0/call-stack-0.2.0.tar.gz) = 2565 +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.2.0/cassava-0.5.2.0.tar.gz) = b30d2ad5894519e364130c0510f167a4ffaf0e08a1e24c9a64238c855bfe0106 +SIZE (cabal/cassava-0.5.2.0/cassava-0.5.2.0.tar.gz) = 37411 +SHA256 (cabal/cassava-0.5.2.0/revision/1.cabal) = 64badd9305134176676bdcaa2ae6a312253c437b4427987d0ece921f92cb08de +SIZE (cabal/cassava-0.5.2.0/revision/1.cabal) = 5769 +SHA256 (cabal/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz) = 2d9e88ac934b9ebc058097c72011ff59f3f146176310e1c957a0e4cf63681bd7 +SIZE (cabal/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz) = 20114 +SHA256 (cabal/charset-0.3.7.1/charset-0.3.7.1.tar.gz) = 3d415d2883bd7bf0cc9f038e8323f19c71e07dd12a3c712f449ccb8b4daac0be +SIZE (cabal/charset-0.3.7.1/charset-0.3.7.1.tar.gz) = 12507 +SHA256 (cabal/charset-0.3.7.1/revision/1.cabal) = feeb8e992c080205ad2f3b96f8fbe71419c92b9a3a95f00096faedf404efd6fc +SIZE (cabal/charset-0.3.7.1/revision/1.cabal) = 1419 +SHA256 (cabal/colour-2.3.5/colour-2.3.5.tar.gz) = 3b8d471979617dce7c193523743c9782df63433d8e87e3ef6d97922e0da104e7 +SIZE (cabal/colour-2.3.5/colour-2.3.5.tar.gz) = 20485 +SHA256 (cabal/comonad-5.0.6/comonad-5.0.6.tar.gz) = 77cfb016acd1747b892c31b82daf0de93f508ba775d62562d376b354adb88fae +SIZE (cabal/comonad-5.0.6/comonad-5.0.6.tar.gz) = 18154 +SHA256 (cabal/concise-0.1.0.1/concise-0.1.0.1.tar.gz) = 5c27df5a3e1fe820548e90abc4a0e326b6d0fb286218619aa22d3af90c7b9925 +SIZE (cabal/concise-0.1.0.1/concise-0.1.0.1.tar.gz) = 3415 +SHA256 (cabal/configurator-pg-0.2.3/configurator-pg-0.2.3.tar.gz) = ca4d2dc649ab1d1d51db25aaa3028f77c99a98780a81a72cf2bd6aa2be287a6d +SIZE (cabal/configurator-pg-0.2.3/configurator-pg-0.2.3.tar.gz) = 12115 +SHA256 (cabal/contravariant-1.5.2/contravariant-1.5.2.tar.gz) = c4262c24e3dcc2ba8ca221ed52a6390818a715301e4f13135d8d732e0c7dc60c +SIZE (cabal/contravariant-1.5.2/contravariant-1.5.2.tar.gz) = 16006 +SHA256 (cabal/contravariant-extras-0.3.5.1/contravariant-extras-0.3.5.1.tar.gz) = e9037c990ec8c5d92f75d99e0dde0667dac59f1235dd6be3d990979aab792b65 +SIZE (cabal/contravariant-extras-0.3.5.1/contravariant-extras-0.3.5.1.tar.gz) = 5324 +SHA256 (cabal/cookie-0.4.5/cookie-0.4.5.tar.gz) = 707f94d1b31018b91d6a1e9e19ef5413e20d02cab00ad93a5fd7d7b3b46a3583 +SIZE (cabal/cookie-0.4.5/cookie-0.4.5.tar.gz) = 6048 +SHA256 (cabal/cryptohash-md5-0.11.100.1/cryptohash-md5-0.11.100.1.tar.gz) = 710bd48770fa3e9a3b05428c6dc77fb72c91956d334a1eb89ded11bb843e18f9 +SIZE (cabal/cryptohash-md5-0.11.100.1/cryptohash-md5-0.11.100.1.tar.gz) = 10472 +SHA256 (cabal/cryptohash-md5-0.11.100.1/revision/5.cabal) = a4a528bf378bf747eed3748459acf02ed35b9200ec0403d34dbba55b7c9eaab7 +SIZE (cabal/cryptohash-md5-0.11.100.1/revision/5.cabal) = 3964 +SHA256 (cabal/cryptohash-sha1-0.11.100.1/cryptohash-sha1-0.11.100.1.tar.gz) = 3c79af33542512442f8f87f6abb1faef7cd43bbfb2859260a33251d861eb0dab +SIZE (cabal/cryptohash-sha1-0.11.100.1/cryptohash-sha1-0.11.100.1.tar.gz) = 10198 +SHA256 (cabal/cryptohash-sha1-0.11.100.1/revision/5.cabal) = 14d814cd88f5fd47641bef414668f3a5bba8b27fa8f960b1a6f4f2ba29265ee1 +SIZE (cabal/cryptohash-sha1-0.11.100.1/revision/5.cabal) = 4363 +SHA256 (cabal/cryptonite-0.26/cryptonite-0.26.tar.gz) = c47390df555295fdb1fb8161c190e208f43b8d334b2da3e96f0c64b7fe07aedd +SIZE (cabal/cryptonite-0.26/cryptonite-0.26.tar.gz) = 581153 +SHA256 (cabal/data-bword-0.1.0.1/data-bword-0.1.0.1.tar.gz) = 70f01f857865edcf1d1d20128b0202320b1635cc03b00954b6d1447cd699db7d +SIZE (cabal/data-bword-0.1.0.1/data-bword-0.1.0.1.tar.gz) = 5025 +SHA256 (cabal/data-checked-0.3/data-checked-0.3.tar.gz) = dc87d09c7c8587c9e6e372166e8de3b42c2cd804a493ff100c253e4d713c5676 +SIZE (cabal/data-checked-0.3/data-checked-0.3.tar.gz) = 2464 +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-dword-0.3.2/data-dword-0.3.2.tar.gz) = dacb39233cc56712e8ced34d82961fb3c991d51553c7404751495d7c517077ab +SIZE (cabal/data-dword-0.3.2/data-dword-0.3.2.tar.gz) = 16411 +SHA256 (cabal/data-endian-0.1.1/data-endian-0.1.1.tar.gz) = 8c1d4f30374f8331d31f4d7c6b39284331b6b9436e7b50f86547417bd05f2ac0 +SIZE (cabal/data-endian-0.1.1/data-endian-0.1.1.tar.gz) = 2788 +SHA256 (cabal/data-serializer-0.3.4.1/data-serializer-0.3.4.1.tar.gz) = d33e4c43079ca47871220d1f04def858f5f18a475cd26a14f3b5631ff6fca6d5 +SIZE (cabal/data-serializer-0.3.4.1/data-serializer-0.3.4.1.tar.gz) = 11157 +SHA256 (cabal/data-textual-0.3.0.3/data-textual-0.3.0.3.tar.gz) = 4b9ee8ccd03f24203dd9307bf9aa67180ff0f07b45c3a01e33d8185ff275ec9a +SIZE (cabal/data-textual-0.3.0.3/data-textual-0.3.0.3.tar.gz) = 15626 +SHA256 (cabal/deferred-folds-0.9.10.1/deferred-folds-0.9.10.1.tar.gz) = 1bea510e31d1d5a8ba2068db468922df3ac0f13966aa3ae70bb1f2130f639c96 +SIZE (cabal/deferred-folds-0.9.10.1/deferred-folds-0.9.10.1.tar.gz) = 8612 +SHA256 (cabal/distributive-0.6.2/distributive-0.6.2.tar.gz) = 824ee271ded433ce6c61fe890c784642b7e20ffa4082fca609da54e7dcfc23c9 +SIZE (cabal/distributive-0.6.2/distributive-0.6.2.tar.gz) = 11308 +SHA256 (cabal/dlist-0.8.0.8/dlist-0.8.0.8.tar.gz) = 7129cf18068d3384e305708a10426ab8f573bee1030b023a114f45f1d0ec496d +SIZE (cabal/dlist-0.8.0.8/dlist-0.8.0.8.tar.gz) = 9262 +SHA256 (cabal/easy-file-0.2.2/easy-file-0.2.2.tar.gz) = 52f52e72ba48d60935932401c233a72bf45c582871238aecc5a18021ce67b47e +SIZE (cabal/easy-file-0.2.2/easy-file-0.2.2.tar.gz) = 12667 +SHA256 (cabal/either-5.0.1.1/either-5.0.1.1.tar.gz) = 0243d51d6a02ecb541e4854a588a9b6219a4690ebcbdb79387dd14ad519cdf27 +SIZE (cabal/either-5.0.1.1/either-5.0.1.1.tar.gz) = 10162 +SHA256 (cabal/either-5.0.1.1/revision/1.cabal) = 41167573bf575b7e0e24283a52fba8ce7bed5a7cc2984bba0dce305a0ab66f0d +SIZE (cabal/either-5.0.1.1/revision/1.cabal) = 1973 +SHA256 (cabal/entropy-0.4.1.6/entropy-0.4.1.6.tar.gz) = adc759ff756a6d71a450422ba511177632f43a33bf673901fd2334f53ef8bf62 +SIZE (cabal/entropy-0.4.1.6/entropy-0.4.1.6.tar.gz) = 9464 +SHA256 (cabal/exceptions-0.10.4/exceptions-0.10.4.tar.gz) = 4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf +SIZE (cabal/exceptions-0.10.4/exceptions-0.10.4.tar.gz) = 20819 +SHA256 (cabal/exceptions-0.10.4/revision/1.cabal) = 1729ef26a611ae78aa58cdd34192aff710cbaa6d631dd042ddfb63556d00b52c +SIZE (cabal/exceptions-0.10.4/revision/1.cabal) = 2796 +SHA256 (cabal/expiring-cache-map-0.0.6.1/expiring-cache-map-0.0.6.1.tar.gz) = 0e3bc294978b46ee59bf0b4a7e7a5bd7ed5da7bc261ffebdb0cb1b60353c64b9 +SIZE (cabal/expiring-cache-map-0.0.6.1/expiring-cache-map-0.0.6.1.tar.gz) = 16452 +SHA256 (cabal/fast-logger-3.0.1/fast-logger-3.0.1.tar.gz) = 45080ca54a3862ed22f78c2bcb56d023695c4f4fd37dbbac418248c07cdca53b +SIZE (cabal/fast-logger-3.0.1/fast-logger-3.0.1.tar.gz) = 11700 +SHA256 (cabal/foldl-1.4.6/foldl-1.4.6.tar.gz) = 2a14aae99eb30344c983b8a07e0c2e5999d097042951e9349eb32d0f388a04aa +SIZE (cabal/foldl-1.4.6/foldl-1.4.6.tar.gz) = 21396 +SHA256 (cabal/free-5.1.3/free-5.1.3.tar.gz) = 2c70d66e3a1ad52ce4b22d5510ffc6d7b3db950bd7f43bc61801cfe7b24c2e2d +SIZE (cabal/free-5.1.3/free-5.1.3.tar.gz) = 64257 +SHA256 (cabal/generics-sop-0.5.1.0/generics-sop-0.5.1.0.tar.gz) = eac657aa743282a81e03438744ac93053d989b829f6b3ca4837c70bbca041f3c +SIZE (cabal/generics-sop-0.5.1.0/generics-sop-0.5.1.0.tar.gz) = 29797 +SHA256 (cabal/gitrev-1.3.1/gitrev-1.3.1.tar.gz) = a89964db24f56727b0e7b10c98fe7c116d721d8c46f52d6e77088669aaa38332 +SIZE (cabal/gitrev-1.3.1/gitrev-1.3.1.tar.gz) = 3756 +SHA256 (cabal/happy-1.19.12/happy-1.19.12.tar.gz) = fb9a23e41401711a3b288f93cf0a66db9f97da1ce32ec4fffea4b78a0daeb40f +SIZE (cabal/happy-1.19.12/happy-1.19.12.tar.gz) = 183254 +SHA256 (cabal/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz) = 822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4 +SIZE (cabal/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz) = 29835 +SHA256 (cabal/hashable-1.3.0.0/revision/1.cabal) = 4c70f1407881059e93550d3742191254296b2737b793a742bd901348fb3e1fb1 +SIZE (cabal/hashable-1.3.0.0/revision/1.cabal) = 5206 +SHA256 (cabal/hashtables-1.2.3.4/hashtables-1.2.3.4.tar.gz) = 125ce62701fba3f666609f5c75f452005aa5d32dff4eeee3f3903c30b2ed55e6 +SIZE (cabal/hashtables-1.2.3.4/hashtables-1.2.3.4.tar.gz) = 58458 +SHA256 (cabal/haskell-src-exts-1.23.0/haskell-src-exts-1.23.0.tar.gz) = 9509fb800bbe4d9b6bb5c7fa4109bbc216b37c21e4ab4fa5d54eaab3e1420424 +SIZE (cabal/haskell-src-exts-1.23.0/haskell-src-exts-1.23.0.tar.gz) = 1264182 +SHA256 (cabal/haskell-src-meta-0.8.5/haskell-src-meta-0.8.5.tar.gz) = 331271554ba42e4938da1417df1e3192737c3e19dceb9a5484198c71ecb858b3 +SIZE (cabal/haskell-src-meta-0.8.5/haskell-src-meta-0.8.5.tar.gz) = 24027 +SHA256 (cabal/haskell-src-meta-0.8.5/revision/1.cabal) = 67730e4772f0dd11e66389cf33e7b3055f8176168811be8205d62f9a2bcaf603 +SIZE (cabal/haskell-src-meta-0.8.5/revision/1.cabal) = 2656 +SHA256 (cabal/hasql-1.4.2/hasql-1.4.2.tar.gz) = dc49aa5f5e3fb54195a7bd81f805d9aef8236d34ffde6797e7183205e03ac158 +SIZE (cabal/hasql-1.4.2/hasql-1.4.2.tar.gz) = 24442 +SHA256 (cabal/hasql-pool-0.5.2/hasql-pool-0.5.2.tar.gz) = 9ff2140407f88ca46769069d00314a85e18a7e759de5f7179f6a14854a030751 +SIZE (cabal/hasql-pool-0.5.2/hasql-pool-0.5.2.tar.gz) = 3159 +SHA256 (cabal/hasql-transaction-1.0.0.1/hasql-transaction-1.0.0.1.tar.gz) = 149739aba03a0a2c40e965cc3b7b995ae60be95a1f06e26dbca6c82bf552db49 +SIZE (cabal/hasql-transaction-1.0.0.1/hasql-transaction-1.0.0.1.tar.gz) = 6395 +SHA256 (cabal/heredoc-0.2.0.0/heredoc-0.2.0.0.tar.gz) = c90d9fc61cb8cd812be510845493b6a6eddcc4b772581fd40a9433ed8f130f40 +SIZE (cabal/heredoc-0.2.0.0/heredoc-0.2.0.0.tar.gz) = 2449 +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.7/hsc2hs-0.68.7.tar.gz) = fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a +SIZE (cabal/hsc2hs-0.68.7/hsc2hs-0.68.7.tar.gz) = 38630 +SHA256 (cabal/http-date-0.0.8/http-date-0.0.8.tar.gz) = 0f4c6348487abe4f9d58e43d3c23bdefc7fd1fd5672effd3c7d84aaff05f5427 +SIZE (cabal/http-date-0.0.8/http-date-0.0.8.tar.gz) = 5322 +SHA256 (cabal/http-media-0.8.0.0/http-media-0.8.0.0.tar.gz) = 398279d1dff5b60cd8b8c650caceca248ea1184d694bedf5df5426963b2b9c53 +SIZE (cabal/http-media-0.8.0.0/http-media-0.8.0.0.tar.gz) = 18895 +SHA256 (cabal/http-media-0.8.0.0/revision/3.cabal) = a81152de722f01acd0d2671a1bc4dbd69386d5c586151ac7816550694d2fbfd9 +SIZE (cabal/http-media-0.8.0.0/revision/3.cabal) = 4244 +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/http2-2.0.4/http2-2.0.4.tar.gz) = 4708635ffc7342e951bfb77ad046e04bb7ddc7fc98f6c235619166b6b7e90e67 +SIZE (cabal/http2-2.0.4/http2-2.0.4.tar.gz) = 5211910 +SHA256 (cabal/indexed-profunctors-0.1/indexed-profunctors-0.1.tar.gz) = 31dfb4319dff84199344000b1efad75158eeac17ddcbb27f91735e958591bb65 +SIZE (cabal/indexed-profunctors-0.1/indexed-profunctors-0.1.tar.gz) = 6360 +SHA256 (cabal/insert-ordered-containers-0.2.3.1/insert-ordered-containers-0.2.3.1.tar.gz) = ea87f204f7baa6c840e58032169c0e759c4a040955e093669ab2578084290a08 +SIZE (cabal/insert-ordered-containers-0.2.3.1/insert-ordered-containers-0.2.3.1.tar.gz) = 10047 +SHA256 (cabal/integer-logarithms-1.0.3/integer-logarithms-1.0.3.tar.gz) = 5ae262018698af35bb74916fad170d96d3eb44669c72ed36db9a19a3392cec16 +SIZE (cabal/integer-logarithms-1.0.3/integer-logarithms-1.0.3.tar.gz) = 8840 +SHA256 (cabal/integer-logarithms-1.0.3/revision/2.cabal) = 63d42595ec92b71ac98a07b984b0a2eb3d4956f4ad2d856c3bf6fc3dc218d228 +SIZE (cabal/integer-logarithms-1.0.3/revision/2.cabal) = 2820 +SHA256 (cabal/interpolatedstring-perl6-1.0.2/interpolatedstring-perl6-1.0.2.tar.gz) = 5a8b1e8b65253ce1e1b07b9de1075e9306483160a7b419d5f126d7e2744b7bb7 +SIZE (cabal/interpolatedstring-perl6-1.0.2/interpolatedstring-perl6-1.0.2.tar.gz) = 6512 +SHA256 (cabal/invariant-0.5.3/invariant-0.5.3.tar.gz) = d73e5def38da9fdd85def073857aa5f4b1d3b0c2df05c43d58a677cca02d440c +SIZE (cabal/invariant-0.5.3/invariant-0.5.3.tar.gz) = 24394 +SHA256 (cabal/invariant-0.5.3/revision/1.cabal) = e430340b5f4248159f9fd217c506946887b4ff8f2c7a3819c3d4f06bcb195e6a +SIZE (cabal/invariant-0.5.3/revision/1.cabal) = 3323 +SHA256 (cabal/iproute-1.7.9/iproute-1.7.9.tar.gz) = 5547fa599c46b854c98625d7d3b745557193704096d3a947c1d8c534a23360d4 +SIZE (cabal/iproute-1.7.9/iproute-1.7.9.tar.gz) = 17732 +SHA256 (cabal/iproute-1.7.9/revision/1.cabal) = b0ff62c56568b9f25e3fad10b538f740813f4147bf54df7c01d4464513647fed +SIZE (cabal/iproute-1.7.9/revision/1.cabal) = 3108 +SHA256 (cabal/jose-0.8.3/jose-0.8.3.tar.gz) = dbcbb1007e92bb317ae179a8b927d0fb1e61bfad0fc7ba453b66475d995cf947 +SIZE (cabal/jose-0.8.3/jose-0.8.3.tar.gz) = 62514 +SHA256 (cabal/kan-extensions-5.2/kan-extensions-5.2.tar.gz) = 6b727e586f744b96529415eeabc745dfe05feea61f6b6bad90c224c879f4dbd3 +SIZE (cabal/kan-extensions-5.2/kan-extensions-5.2.tar.gz) = 24151 +SHA256 (cabal/lens-4.19.2/lens-4.19.2.tar.gz) = 52f858ae3971a5104cdba5e81a27d154fda11fe65a54a4ac328c85904bdec23b +SIZE (cabal/lens-4.19.2/lens-4.19.2.tar.gz) = 705314 +SHA256 (cabal/lens-aeson-1.1/lens-aeson-1.1.tar.gz) = f7bc9c6f95735b523afac6316195d06b31f9b85c84918960096e4eecdb6cc90e +SIZE (cabal/lens-aeson-1.1/lens-aeson-1.1.tar.gz) = 11022 +SHA256 (cabal/loch-th-0.2.2/loch-th-0.2.2.tar.gz) = cc059372b12a79375a0f268db7dc5a2973307a200440d4112e665b9a3d9b6dc3 +SIZE (cabal/loch-th-0.2.2/loch-th-0.2.2.tar.gz) = 3242 +SHA256 (cabal/math-functions-0.3.4.0/math-functions-0.3.4.0.tar.gz) = 8ad8d5dec77d969d9865a79ea821c4f71d2528f4ef3d4993531ce52eb18be7e4 +SIZE (cabal/math-functions-0.3.4.0/math-functions-0.3.4.0.tar.gz) = 425119 +SHA256 (cabal/math-functions-0.3.4.0/revision/1.cabal) = 05965e844d0d6a8aba3b8272778fe03ee9ae31beb907d10445c9b5a03ffbd9bf +SIZE (cabal/math-functions-0.3.4.0/revision/1.cabal) = 4200 +SHA256 (cabal/megaparsec-8.0.0/megaparsec-8.0.0.tar.gz) = b5d7c64646016d12f540a6948396a86e0cd39865569d68fe2018fe9e3fce6318 +SIZE (cabal/megaparsec-8.0.0/megaparsec-8.0.0.tar.gz) = 59692 +SHA256 (cabal/memory-0.15.0/memory-0.15.0.tar.gz) = e3ff892c1a94708954d0bb2c4f4ab81bc0f505352d95095319c462db1aeb3529 +SIZE (cabal/memory-0.15.0/memory-0.15.0.tar.gz) = 42299 +SHA256 (cabal/memory-0.15.0/revision/1.cabal) = be7024b50e876a9c3b7febaefdd81d5dc67268c58a7b4e6b3825bdc58274d88c +SIZE (cabal/memory-0.15.0/revision/1.cabal) = 5002 +SHA256 (cabal/mime-types-0.1.0.9/mime-types-0.1.0.9.tar.gz) = 0a32435169ef4ba59f4a4b8addfd0c04479410854d1b8d69a1e38fb389ba71d2 +SIZE (cabal/mime-types-0.1.0.9/mime-types-0.1.0.9.tar.gz) = 11384 +SHA256 (cabal/monad-control-1.0.2.3/monad-control-1.0.2.3.tar.gz) = 6c1034189d237ae45368c70f0e68f714dd3beda715dd265b6c8a99fcc64022b1 +SIZE (cabal/monad-control-1.0.2.3/monad-control-1.0.2.3.tar.gz) = 13864 +SHA256 (cabal/monad-time-0.3.1.0/monad-time-0.3.1.0.tar.gz) = 0af450bfc710a9653e008de3df4cff094423e434d54ac5b7419fe2552660607c +SIZE (cabal/monad-time-0.3.1.0/monad-time-0.3.1.0.tar.gz) = 2513 +SHA256 (cabal/mtl-compat-0.2.2/mtl-compat-0.2.2.tar.gz) = 1955398fe2115674f47f553b2caaf928c6aa3424271a5cd13bc191e54bfe3a9e +SIZE (cabal/mtl-compat-0.2.2/mtl-compat-0.2.2.tar.gz) = 5128 +SHA256 (cabal/mwc-random-0.14.0.0/mwc-random-0.14.0.0.tar.gz) = 00370edaa60a51c86663868ecc2b1995824970001875cec458e9acc13511efa2 +SIZE (cabal/mwc-random-0.14.0.0/mwc-random-0.14.0.0.tar.gz) = 19674 +SHA256 (cabal/network-3.1.1.1/network-3.1.1.1.tar.gz) = d7ef590173fff2ab522fbc167f3fafb867e4ecfca279eb3ef0d137b51f142c9a +SIZE (cabal/network-3.1.1.1/network-3.1.1.1.tar.gz) = 118478 +SHA256 (cabal/network-byte-order-0.1.5/network-byte-order-0.1.5.tar.gz) = ccf8b8475e7563de72a20e673fe55c32b6d3550ee6004b585bc13175bc560011 +SIZE (cabal/network-byte-order-0.1.5/network-byte-order-0.1.5.tar.gz) = 6519 +SHA256 (cabal/network-info-0.2.0.10/network-info-0.2.0.10.tar.gz) = 5680f6975d34cf4f81fa7ca0c8efd682261d6a1119e06dece0f67c7bd97fd52a +SIZE (cabal/network-info-0.2.0.10/network-info-0.2.0.10.tar.gz) = 6278 +SHA256 (cabal/network-info-0.2.0.10/revision/1.cabal) = cda87030e0e7adc56696006035fc322d5a6b8b0b41dd6d339ea630484de1711e +SIZE (cabal/network-info-0.2.0.10/revision/1.cabal) = 1717 +SHA256 (cabal/network-ip-0.3.0.3/network-ip-0.3.0.3.tar.gz) = e01dcc4389f3800536066ca150b6b5130d9d4b7fe7ed8e98ae7d92f3f7b1955c +SIZE (cabal/network-ip-0.3.0.3/network-ip-0.3.0.3.tar.gz) = 11525 +SHA256 (cabal/network-uri-2.6.3.0/network-uri-2.6.3.0.tar.gz) = a01c1389f15d2cc2e847914737f706133bb11f0c5f8ee89711a36a25b7afa723 +SIZE (cabal/network-uri-2.6.3.0/network-uri-2.6.3.0.tar.gz) = 31997 +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/optics-core-0.3/optics-core-0.3.tar.gz) = 165ddaffd7bd0c14a4ee01cfc5d9cfcd91552fa85044810e2033b1735f5e5d3e +SIZE (cabal/optics-core-0.3/optics-core-0.3.tar.gz) = 424405 +SHA256 (cabal/optics-extra-0.3/optics-extra-0.3.tar.gz) = a4d6155814111a5c6ce89640915ba5987296fec3cecc766ece3d4112abfd7697 +SIZE (cabal/optics-extra-0.3/optics-extra-0.3.tar.gz) = 22858 +SHA256 (cabal/optics-th-0.3/optics-th-0.3.tar.gz) = 6580c3089c7d575a343a5325a033fae91ebc7d91e51e37b9962f589962e413cd +SIZE (cabal/optics-th-0.3/optics-th-0.3.tar.gz) = 29304 +SHA256 (cabal/optparse-applicative-0.15.1.0/optparse-applicative-0.15.1.0.tar.gz) = 4db3675fd1e0594afdf079db46f4cd412d483835d703e7c07e1a1a37d6f046f3 +SIZE (cabal/optparse-applicative-0.15.1.0/optparse-applicative-0.15.1.0.tar.gz) = 56203 +SHA256 (cabal/optparse-applicative-0.15.1.0/revision/1.cabal) = 29ff6146aabf54d46c4c8788e8d1eadaea27c94f6d360c690c5f6c93dac4b07e +SIZE (cabal/optparse-applicative-0.15.1.0/revision/1.cabal) = 4810 +SHA256 (cabal/parallel-3.2.2.0/parallel-3.2.2.0.tar.gz) = 170453a71a2a8b31cca63125533f7771d7debeb639700bdabdd779c34d8a6ef6 +SIZE (cabal/parallel-3.2.2.0/parallel-3.2.2.0.tar.gz) = 14681 +SHA256 (cabal/parallel-3.2.2.0/revision/2.cabal) = c69372af9a39a06739e1d0eaa1f2d8be6b86493a53dbbc455e7b30479c491c6a +SIZE (cabal/parallel-3.2.2.0/revision/2.cabal) = 1763 +SHA256 (cabal/parser-combinators-1.2.1/parser-combinators-1.2.1.tar.gz) = 03162e40cde50253529fa452165b681d5064d03ad07992800702156adfb6254d +SIZE (cabal/parser-combinators-1.2.1/parser-combinators-1.2.1.tar.gz) = 10915 +SHA256 (cabal/parsers-0.12.10/parsers-0.12.10.tar.gz) = 17b91f1318ca54679395b382a056df633fdb44fbb962eca66b1787f957af1a6c +SIZE (cabal/parsers-0.12.10/parsers-0.12.10.tar.gz) = 26215 +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/placeholders-0.1/placeholders-0.1.tar.gz) = 652a78553dcaf6e11b4cd8f0e60010b32da299fbe57721df4bf9157e852d0346 +SIZE (cabal/placeholders-0.1/placeholders-0.1.tar.gz) = 3219 +SHA256 (cabal/postgresql-binary-0.12.2/postgresql-binary-0.12.2.tar.gz) = 68af247669bdb9303e40d4efd5f8a57f3f6e328050f665df0f3790f010e570fe +SIZE (cabal/postgresql-binary-0.12.2/postgresql-binary-0.12.2.tar.gz) = 21004 +SHA256 (cabal/postgresql-libpq-0.9.4.2/postgresql-libpq-0.9.4.2.tar.gz) = cea053c79ef1505c30518db7b9fb2ee68c9e2915d48b22f01f8eb9a9b49f06f9 +SIZE (cabal/postgresql-libpq-0.9.4.2/postgresql-libpq-0.9.4.2.tar.gz) = 31349 +SHA256 (cabal/postgresql-libpq-0.9.4.2/revision/2.cabal) = 4ab11ceee8feb725ddb02f7451279b9855483cfa25bfe72628e014d3001b1fc4 +SIZE (cabal/postgresql-libpq-0.9.4.2/revision/2.cabal) = 2693 +SHA256 (cabal/primitive-0.7.0.1/primitive-0.7.0.1.tar.gz) = dd8bb7d829f492d6200fca4a839a7563b80571c5f76b4d0fa76700ebe897f7dd +SIZE (cabal/primitive-0.7.0.1/primitive-0.7.0.1.tar.gz) = 66023 +SHA256 (cabal/profunctors-5.5.2/profunctors-5.5.2.tar.gz) = 5f1579aab8afae377c7c7c0d0ed95b0bc58003b6dad2d494045f7472a398af7c +SIZE (cabal/profunctors-5.5.2/profunctors-5.5.2.tar.gz) = 30041 +SHA256 (cabal/protolude-0.3.0/protolude-0.3.0.tar.gz) = 4083385a9e03fab9201f63ce198b9ced3fbc1c50d6d42574db5e36c757bedcac +SIZE (cabal/protolude-0.3.0/protolude-0.3.0.tar.gz) = 19645 +SHA256 (cabal/psqueues-0.2.7.2/psqueues-0.2.7.2.tar.gz) = 26263b555d943f9b18bbebda6a090848fdba3c1b403a9b7c848f6bac99e893f9 +SIZE (cabal/psqueues-0.2.7.2/psqueues-0.2.7.2.tar.gz) = 27455 +SHA256 (cabal/psqueues-0.2.7.2/revision/1.cabal) = dbefb35cff7f85ecbe846aed9d6362a3ce1c45260885fb9d562d8c8ed8a81534 +SIZE (cabal/psqueues-0.2.7.2/revision/1.cabal) = 4926 +SHA256 (cabal/quickcheck-instances-0.3.22/quickcheck-instances-0.3.22.tar.gz) = 5d65bf81895b7af2d36f105d0b3afa5600b0bce0a14809c93d7ca87672ca5a91 +SIZE (cabal/quickcheck-instances-0.3.22/quickcheck-instances-0.3.22.tar.gz) = 9939 +SHA256 (cabal/quickcheck-instances-0.3.22/revision/4.cabal) = fbd11e6a41a5510428f3c2e69312d9ab0890a4a0c47191188fc3991d2b93a473 +SIZE (cabal/quickcheck-instances-0.3.22/revision/4.cabal) = 4034 +SHA256 (cabal/random-1.1/random-1.1.tar.gz) = b718a41057e25a3a71df693ab0fe2263d492e759679b3c2fea6ea33b171d3a5a +SIZE (cabal/random-1.1/random-1.1.tar.gz) = 10870 +SHA256 (cabal/random-1.1/revision/1.cabal) = 7b67624fd76ddf97c206de0801dc7e888097e9d572974be9b9ea6551d76965df +SIZE (cabal/random-1.1/revision/1.cabal) = 1777 +SHA256 (cabal/reflection-2.1.6/reflection-2.1.6.tar.gz) = bf3e14917ebb329a53701a3cce0afe670f20037a0148dbfa5cbfa574ed6ba6cd +SIZE (cabal/reflection-2.1.6/reflection-2.1.6.tar.gz) = 19976 +SHA256 (cabal/regex-base-0.94.0.0/regex-base-0.94.0.0.tar.gz) = c41f82f5fc1157c961a4cbdc0cd5561e5aa44f339ce6e706d978d97e0ca6b914 +SIZE (cabal/regex-base-0.94.0.0/regex-base-0.94.0.0.tar.gz) = 9679 +SHA256 (cabal/regex-base-0.94.0.0/revision/1.cabal) = 44aa95ca762294ffbb28cf0af9c567d93b5d2c56e4f38ce5385a257d899f968e +SIZE (cabal/regex-base-0.94.0.0/revision/1.cabal) = 2253 +SHA256 (cabal/regex-tdfa-1.3.1.0/regex-tdfa-1.3.1.0.tar.gz) = 15c376783d397b3b9933cf35980808feddde273bd6f2445babbccb2f76a42ec0 +SIZE (cabal/regex-tdfa-1.3.1.0/regex-tdfa-1.3.1.0.tar.gz) = 77767 +SHA256 (cabal/regex-tdfa-1.3.1.0/revision/1.cabal) = bec13812a56a904ff3510caa19fe1b3ce3939e303604b1bcb3162771c52311ba +SIZE (cabal/regex-tdfa-1.3.1.0/revision/1.cabal) = 6324 +SHA256 (cabal/resource-pool-0.2.3.2/resource-pool-0.2.3.2.tar.gz) = 8627eea2bea8824af2723646e74e2af0c73f583dd0c496c9fd242cd9d242bc12 +SIZE (cabal/resource-pool-0.2.3.2/resource-pool-0.2.3.2.tar.gz) = 6527 +SHA256 (cabal/resourcet-1.2.4/resourcet-1.2.4.tar.gz) = 1d45f46616bfb9f2be7f913e8124262d4c0f1f7c03b046406ba791895306fb04 +SIZE (cabal/resourcet-1.2.4/resourcet-1.2.4.tar.gz) = 16604 +SHA256 (cabal/retry-0.8.1.2/retry-0.8.1.2.tar.gz) = c5415ed7928d81611fa570fef9dd6c009f3d722a16a36f1177bdde2e888e9e5b +SIZE (cabal/retry-0.8.1.2/retry-0.8.1.2.tar.gz) = 15818 +SHA256 (cabal/safe-0.3.18/safe-0.3.18.tar.gz) = d7775be28af83beeee2fa8921201c6b93358ba6a23a2967d53e5f382a9ec0fed +SIZE (cabal/safe-0.3.18/safe-0.3.18.tar.gz) = 11208 +SHA256 (cabal/safe-0.3.18/revision/1.cabal) = 6aa17f30b93a39f60e132fca490a3995db43bf32cf868708327a2f4b526c217f +SIZE (cabal/safe-0.3.18/revision/1.cabal) = 2405 +SHA256 (cabal/scientific-0.3.6.2/scientific-0.3.6.2.tar.gz) = 278d0afc87450254f8a76eab21b5583af63954efc9b74844a17a21a68013140f +SIZE (cabal/scientific-0.3.6.2/scientific-0.3.6.2.tar.gz) = 23510 +SHA256 (cabal/semigroupoids-5.3.4/semigroupoids-5.3.4.tar.gz) = 00d2e48973c3ab0a5d52616728ed63d0509454c8328148f698720014d7c58964 +SIZE (cabal/semigroupoids-5.3.4/semigroupoids-5.3.4.tar.gz) = 26307 +SHA256 (cabal/semigroups-0.19.1/semigroups-0.19.1.tar.gz) = 79e761e64b862564a3470d5d356cb6b060b14452d675859aed3b2d1e14646648 +SIZE (cabal/semigroups-0.19.1/semigroups-0.19.1.tar.gz) = 21124 +SHA256 (cabal/simple-sendfile-0.2.30/simple-sendfile-0.2.30.tar.gz) = b6864d2b3c62ff8ea23fa24e9e26f751bfe5253c8efb1f1e4fee2ba91d065284 +SIZE (cabal/simple-sendfile-0.2.30/simple-sendfile-0.2.30.tar.gz) = 343470 +SHA256 (cabal/sop-core-0.5.0.1/sop-core-0.5.0.1.tar.gz) = dac367f1608c9bd6c5dd1697e2a30e1b760617023b96e1df7d44c6c017999db0 +SIZE (cabal/sop-core-0.5.0.1/sop-core-0.5.0.1.tar.gz) = 28666 +SHA256 (cabal/split-0.2.3.4/split-0.2.3.4.tar.gz) = 271fe5104c9f40034aa9a1aad6269bcecc9454bc5a57c247e69e17de996c1f2a +SIZE (cabal/split-0.2.3.4/split-0.2.3.4.tar.gz) = 15942 +SHA256 (cabal/splitmix-0.0.4/splitmix-0.0.4.tar.gz) = aaa1b31a5320fd6a7d69a7f485ba8facdccf2253a1431feddaacc08ab2943091 +SIZE (cabal/splitmix-0.0.4/splitmix-0.0.4.tar.gz) = 13821 +SHA256 (cabal/streaming-commons-0.2.1.2/streaming-commons-0.2.1.2.tar.gz) = ea2a6d4b2dfabe8cdf3b4e0a29db9b14170f59d3554b70e0377779867efcfc16 +SIZE (cabal/streaming-commons-0.2.1.2/streaming-commons-0.2.1.2.tar.gz) = 86776 +SHA256 (cabal/swagger2-2.6/swagger2-2.6.tar.gz) = 682afe3b43d6b7c394cab330bb48692b8045dff8db3e8913bbfabee0fa8c706e +SIZE (cabal/swagger2-2.6/swagger2-2.6.tar.gz) = 66048 +SHA256 (cabal/swagger2-2.6/revision/1.cabal) = 359228368376311ad61592e23b023b76ddca838a307e05f08a67e318db4d31fd +SIZE (cabal/swagger2-2.6/revision/1.cabal) = 4578 +SHA256 (cabal/syb-0.7.1/syb-0.7.1.tar.gz) = e04a9c7ae48d9fe25e9b7a064f7122d39c710753544511e15df7a6e87fdfe700 +SIZE (cabal/syb-0.7.1/syb-0.7.1.tar.gz) = 39594 +SHA256 (cabal/tagged-0.8.6/tagged-0.8.6.tar.gz) = ad16def0884cf6f05ae1ae8e90192cf9d8d9673fa264b249499bd9e4fac791dd +SIZE (cabal/tagged-0.8.6/tagged-0.8.6.tar.gz) = 11759 +SHA256 (cabal/tagged-0.8.6/revision/2.cabal) = 1f7ca84e6c88cbb923641c60041c9f56c34f1a889759cc073cdf10542b441ff9 +SIZE (cabal/tagged-0.8.6/revision/2.cabal) = 2606 +SHA256 (cabal/template-haskell-compat-v0208-0.1.2.1/template-haskell-compat-v0208-0.1.2.1.tar.gz) = 06b0928ad61902236e1115c9f1b8ebcbe07756362767685adf5f1969c80f15b1 +SIZE (cabal/template-haskell-compat-v0208-0.1.2.1/template-haskell-compat-v0208-0.1.2.1.tar.gz) = 2892 +SHA256 (cabal/text-builder-0.6.6.1/text-builder-0.6.6.1.tar.gz) = b5fa52a4a33bc6ba727996607ccdff0c35b951d1d522e786c96e59f16dafd20d +SIZE (cabal/text-builder-0.6.6.1/text-builder-0.6.6.1.tar.gz) = 7725 +SHA256 (cabal/text-latin1-0.3.1/text-latin1-0.3.1.tar.gz) = 6c7482ae0cfde06fe6ad8f0e6ea6b0d082d27a075370b5c018c31e53aad9abf3 +SIZE (cabal/text-latin1-0.3.1/text-latin1-0.3.1.tar.gz) = 6217 +SHA256 (cabal/text-printer-0.5.0.1/text-printer-0.5.0.1.tar.gz) = 58a7680fc75a058ef8a03a6d519d5266f204bae2eb30021663de135a1c31b518 +SIZE (cabal/text-printer-0.5.0.1/text-printer-0.5.0.1.tar.gz) = 11196 +SHA256 (cabal/text-short-0.1.3/text-short-0.1.3.tar.gz) = bf5b9fedb7d0301e8fdf33e3223d10ca940e9e72c18bac135be80b6016edd977 +SIZE (cabal/text-short-0.1.3/text-short-0.1.3.tar.gz) = 24435 +SHA256 (cabal/text-short-0.1.3/revision/2.cabal) = a1f0797b4674b0977ebf8259300be5a9d9a9f55818bd81b36ec2718fc13d8b9d +SIZE (cabal/text-short-0.1.3/revision/2.cabal) = 3214 +SHA256 (cabal/th-abstraction-0.3.2.0/th-abstraction-0.3.2.0.tar.gz) = 36fef33ad0f34b9b8fb5552fe6187579a00d5f90d938e9bc24d382a9919feb79 +SIZE (cabal/th-abstraction-0.3.2.0/th-abstraction-0.3.2.0.tar.gz) = 35111 +SHA256 (cabal/th-expand-syns-0.4.6.0/th-expand-syns-0.4.6.0.tar.gz) = b26b5556091d2bc840d4dfa98768d2dc271f84ea78573bc9d1519be5095de8b7 +SIZE (cabal/th-expand-syns-0.4.6.0/th-expand-syns-0.4.6.0.tar.gz) = 8228 +SHA256 (cabal/th-lift-0.8.1/th-lift-0.8.1.tar.gz) = 3fa1f4193794d8d6dc7864e20a2f89ab268c321a4b3d254fd38282619f8e5ed7 +SIZE (cabal/th-lift-0.8.1/th-lift-0.8.1.tar.gz) = 13816 +SHA256 (cabal/th-lift-instances-0.1.16/th-lift-instances-0.1.16.tar.gz) = 5b39e93e818a30b7bac86e79e573992f93b19eb0a417c810f55de478c6a73b22 +SIZE (cabal/th-lift-instances-0.1.16/th-lift-instances-0.1.16.tar.gz) = 5846 +SHA256 (cabal/th-orphans-0.13.10/th-orphans-0.13.10.tar.gz) = 4433573649ccf97e475c58f65eb24af0100a954ce2c801c34b8f53157796c928 +SIZE (cabal/th-orphans-0.13.10/th-orphans-0.13.10.tar.gz) = 8680 +SHA256 (cabal/th-reify-many-0.1.9/th-reify-many-0.1.9.tar.gz) = f889dd029d5ab191ace99fe595f363c60314d536e61c8c58f6167f1a9d29ae43 +SIZE (cabal/th-reify-many-0.1.9/th-reify-many-0.1.9.tar.gz) = 5693 +SHA256 (cabal/time-compat-1.9.3/time-compat-1.9.3.tar.gz) = bb6a44e667945ddca8ded93e041ee91986a4a19f59e149a5dd21fdb1bfa3db88 +SIZE (cabal/time-compat-1.9.3/time-compat-1.9.3.tar.gz) = 50050 +SHA256 (cabal/time-manager-0.0.0/time-manager-0.0.0.tar.gz) = 90a616ed20b2119bb64f78f84230b6798cde22a35e87bc8d9ee08cdf1d90fcdb +SIZE (cabal/time-manager-0.0.0/time-manager-0.0.0.tar.gz) = 2726 +SHA256 (cabal/transformers-base-0.4.5.2/transformers-base-0.4.5.2.tar.gz) = d0c80c63fdce6a077dd8eda4f1ff289b85578703a3f1272e141d400fe23245e8 +SIZE (cabal/transformers-base-0.4.5.2/transformers-base-0.4.5.2.tar.gz) = 2849 +SHA256 (cabal/transformers-compat-0.6.5/transformers-compat-0.6.5.tar.gz) = da67cf11515da751b32a8ce6e96549f7268f7c435769ad19dc9766b69774620b +SIZE (cabal/transformers-compat-0.6.5/transformers-compat-0.6.5.tar.gz) = 40421 +SHA256 (cabal/type-hint-0.1/type-hint-0.1.tar.gz) = 1161cdbf4b4b43c2953ee60438e948737604193e1bfe2c880ff178538faa99b9 +SIZE (cabal/type-hint-0.1/type-hint-0.1.tar.gz) = 3092 +SHA256 (cabal/unix-compat-0.5.2/unix-compat-0.5.2.tar.gz) = 659a4e442f71505d45b0d0fb28a347aa1ac5e1f39feaea5d58e674e5d2ce0ba9 +SIZE (cabal/unix-compat-0.5.2/unix-compat-0.5.2.tar.gz) = 13281 +SHA256 (cabal/unix-compat-0.5.2/revision/1.cabal) = 5508ebcfaf1a862886cd217178e283d613d47803785d8ab4a3bd2bb9b542a3fb +SIZE (cabal/unix-compat-0.5.2/revision/1.cabal) = 2041 +SHA256 (cabal/unix-time-0.4.7/unix-time-0.4.7.tar.gz) = 19233f8badf921d444c6165689253d877cfed58ce08f28cad312558a9280de09 +SIZE (cabal/unix-time-0.4.7/unix-time-0.4.7.tar.gz) = 52235 +SHA256 (cabal/unliftio-core-0.2.0.1/unliftio-core-0.2.0.1.tar.gz) = 919f0d1297ea2f5373118553c1df2a9405d8b9e31a8307e829da67d4953c299a +SIZE (cabal/unliftio-core-0.2.0.1/unliftio-core-0.2.0.1.tar.gz) = 3696 +SHA256 (cabal/unliftio-core-0.2.0.1/revision/1.cabal) = 9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a +SIZE (cabal/unliftio-core-0.2.0.1/revision/1.cabal) = 1082 +SHA256 (cabal/unordered-containers-0.2.10.0/unordered-containers-0.2.10.0.tar.gz) = 65f117bdbdea9efc75fb9fd539873de7687e005d8898bb21821020a4b383c573 +SIZE (cabal/unordered-containers-0.2.10.0/unordered-containers-0.2.10.0.tar.gz) = 44733 +SHA256 (cabal/unordered-containers-0.2.10.0/revision/1.cabal) = 5e9b095a9283d9e2f064fec73a81a6b6ea0b7fda3f219a8175785d2d2a3de204 +SIZE (cabal/unordered-containers-0.2.10.0/revision/1.cabal) = 5199 +SHA256 (cabal/utf8-string-1.0.1.1/utf8-string-1.0.1.1.tar.gz) = fb0b9e3acbe0605bcd1c63e51f290a7bbbe6628dfa3294ff453e4235fbaef140 +SIZE (cabal/utf8-string-1.0.1.1/utf8-string-1.0.1.1.tar.gz) = 8667 +SHA256 (cabal/utf8-string-1.0.1.1/revision/3.cabal) = 68cc6cf665e7212334a51b63d6936daeaca023b2cfe8637d130acfe95f91700b +SIZE (cabal/utf8-string-1.0.1.1/revision/3.cabal) = 1151 +SHA256 (cabal/uuid-1.3.13/uuid-1.3.13.tar.gz) = dfac808a7026217d018b408eab18facc6a85c6183be308d4ac7877e80599b027 +SIZE (cabal/uuid-1.3.13/uuid-1.3.13.tar.gz) = 8926 +SHA256 (cabal/uuid-1.3.13/revision/3.cabal) = 380b45cfd1d2dfda0b52d414f0040cef3adfc02bf54bd9e61f2ef47755ce5adc +SIZE (cabal/uuid-1.3.13/revision/3.cabal) = 3137 +SHA256 (cabal/uuid-types-1.0.3/uuid-types-1.0.3.tar.gz) = 9276517ab24a9b06f39d6e3c33c6c2b4ace1fc2126dbc1cd9806866a6551b3fd +SIZE (cabal/uuid-types-1.0.3/uuid-types-1.0.3.tar.gz) = 11999 +SHA256 (cabal/uuid-types-1.0.3/revision/2.cabal) = 2cab161f274309cfd9ef62694a6bd1b47525bc4c79a827293b055e4a9eadb4d2 +SIZE (cabal/uuid-types-1.0.3/revision/2.cabal) = 2473 +SHA256 (cabal/vault-0.3.1.4/vault-0.3.1.4.tar.gz) = 5b1cd255de8f4addf7705f7b9bfd586b003bcace0dba0dbe1ae1986b8a0d4359 +SIZE (cabal/vault-0.3.1.4/vault-0.3.1.4.tar.gz) = 5375 +SHA256 (cabal/vector-0.12.1.2/vector-0.12.1.2.tar.gz) = 3b6e27683f6f20b37b8a35d0fab9e34b57dad72ac64cb16f428726780d4011bd +SIZE (cabal/vector-0.12.1.2/vector-0.12.1.2.tar.gz) = 131049 +SHA256 (cabal/vector-builder-0.3.8/vector-builder-0.3.8.tar.gz) = a39afd7ac50c42de77660d235017be38ef50f792b6a98212accf687445a18073 +SIZE (cabal/vector-builder-0.3.8/vector-builder-0.3.8.tar.gz) = 5045 +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/wai-3.2.2.1/wai-3.2.2.1.tar.gz) = fef72486e3a9e01f564abfb680f6eac9b553f8195cae8ed903d960da55380815 +SIZE (cabal/wai-3.2.2.1/wai-3.2.2.1.tar.gz) = 10221 +SHA256 (cabal/wai-cors-0.2.7/wai-cors-0.2.7.tar.gz) = 2597beb56ebd7148f9755ae2661c065a6c532e0a286717061861b149a51cfb81 +SIZE (cabal/wai-cors-0.2.7/wai-cors-0.2.7.tar.gz) = 16248 +SHA256 (cabal/wai-extra-3.0.29.1/wai-extra-3.0.29.1.tar.gz) = 2712d4e9abec73494248f0f00c0578adadd6d80c40b3b1dbcebc9169b3a9aab0 +SIZE (cabal/wai-extra-3.0.29.1/wai-extra-3.0.29.1.tar.gz) = 63831 +SHA256 (cabal/wai-logger-2.3.6/wai-logger-2.3.6.tar.gz) = e2fbd8c74fa0a31f9ea0faa53f4ad4e588644a34d8dfc7cc50d85c245c3c7541 +SIZE (cabal/wai-logger-2.3.6/wai-logger-2.3.6.tar.gz) = 5823 +SHA256 (cabal/wai-middleware-static-0.8.3/wai-middleware-static-0.8.3.tar.gz) = d42e00db4eda497d1ea7a5024561e94849d4cf73e78fcee5d8e0a46c40f8ca50 +SIZE (cabal/wai-middleware-static-0.8.3/wai-middleware-static-0.8.3.tar.gz) = 6479 +SHA256 (cabal/wai-middleware-static-0.8.3/revision/1.cabal) = 8c507a1bd33d59c6fe67ea202b51b58e857878afa442237b0787d29314d7364a +SIZE (cabal/wai-middleware-static-0.8.3/revision/1.cabal) = 2458 +SHA256 (cabal/warp-3.3.11/warp-3.3.11.tar.gz) = 41a863cba9082496b2385a95e75f7d2d4ada40b81257b4521c90cd77fb6b5826 +SIZE (cabal/warp-3.3.11/warp-3.3.11.tar.gz) = 64374 +SHA256 (cabal/word8-0.1.3/word8-0.1.3.tar.gz) = 2630934c75728bfbf390c1f0206b225507b354f68d4047b06c018a36823b5d8a +SIZE (cabal/word8-0.1.3/word8-0.1.3.tar.gz) = 6271 +SHA256 (cabal/x509-1.7.5/x509-1.7.5.tar.gz) = b1b0fcbb4aa0d749ed2b54710c2ebd6d900cb932108ad14f97640cf4ca60c7c8 +SIZE (cabal/x509-1.7.5/x509-1.7.5.tar.gz) = 21457 +SHA256 (cabal/x509-1.7.5/revision/1.cabal) = 01185a9a17bee4e89287d9e32bfaa673133cf2b09a39759627bed1f72ea528fd +SIZE (cabal/x509-1.7.5/revision/1.cabal) = 2305 +SHA256 (cabal/zlib-0.6.2.1/zlib-0.6.2.1.tar.gz) = f0f810ff173560b60392db448455c0513b3239f48e43cb494b3733aa559621d0 +SIZE (cabal/zlib-0.6.2.1/zlib-0.6.2.1.tar.gz) = 143424 +SHA256 (cabal/zlib-0.6.2.1/revision/1.cabal) = d34ddf5fece4d1e9d471b5298f36335bb3cfe12cb5a1b8525c42f0b665382f45 +SIZE (cabal/zlib-0.6.2.1/revision/1.cabal) = 4547 diff --git a/www/hs-postgrest/files/default.conf.in b/www/hs-postgrest/files/default.conf.in new file mode 100644 index 000000000000..9a39f70e4d91 --- /dev/null +++ b/www/hs-postgrest/files/default.conf.in @@ -0,0 +1,42 @@ +db-uri = "postgres://user:pass@localhost:5432/dbname" +db-schema = "public" # this schema gets added to the search_path of every request +db-anon-role = "postgres" +db-pool = 10 +db-pool-timeout = 10 + +server-host = "127.0.0.1" +server-port = 3000 + +## unix socket location +## if specified it takes precedence over server-port +# server-unix-socket = "/tmp/pgrst.sock" +## unix socket file mode +# server-unix-socket-mode = "660" + +## base url for swagger output +# server-proxy-uri = "" + +## choose a secret, JSON Web Key (or set) to enable JWT auth +## (use "@filename" to load from separate file) +# jwt-secret = "foo" +# secret-is-base64 = false +# jwt-aud = "your_audience_claim" + +## limit rows in response +# max-rows = 1000 + +## stored proc to exec immediately after auth +# pre-request = "stored_proc_name" + +## jspath to the role claim key +# role-claim-key = ".role" + +## extra schemas to add to the search_path of every request +# db-extra-search-path = "extensions, util" + +## stored proc that overrides the root "/" spec +## it must be inside the db-schema +# root-spec = "stored_proc_name" + +## content types to produce raw output +# raw-media-types="image/png, image/jpg" diff --git a/www/hs-postgrest/files/postgrest.in b/www/hs-postgrest/files/postgrest.in new file mode 100644 index 000000000000..1848ab90152c --- /dev/null +++ b/www/hs-postgrest/files/postgrest.in @@ -0,0 +1,167 @@ +#!/bin/sh +# $FreeBSD$ +# +# PROVIDE: postgrest +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add postgrest_enable="YES" to /etc/rc.conf to enable PostgREST: +# +# Additional variables you can define are: +# +# postgrest_user: Username to run PostgREST +# Default: %%POSTGREST_USER%% +# postgrest_group: Group to run PostgREST +# Default: %%POSTGREST_GROUP%% +# postgrest_profile: Profile list +# Default: default +# postgrest_syslog_output_enable: Set to enable syslog output. +# Default: YES +# postgrest_syslog_output_tag Set syslog tag if syslog enabled. +# Default: postgrest +# postgrest_syslog_output_priority: Set syslog priority if syslog enabled. +# Default: info +# postgrest_syslog_output_facility: Set syslog facility if syslog enabled. +# Default: daemon +# postgrest_{{ profile }}_config: Configuration file to run PostgREST +# Default: %%ETCDIR%%/default.conf +# postgrest_{{ profile }}_syslog_output_enable Set to enable syslog output. +# Default: YES +# postgrest_{{ profile }}_syslog_output_tag Set syslog tag if syslog enabled. +# Default: postgrest +# postgrest_{{ profile }}_syslog_output_priority: Set syslog priority if syslog enabled. +# Default: info +# postgrest_{{ profile }}_syslog_output_facility: Set syslog facility if syslog enabled. +# Default: daemon + +. /etc/rc.subr + +name="postgrest" +rcvar="postgrest_enable" +start_precmd="postgrest_start_precmd" +start_cmd="postgrest_start" +stop_cmd="postgrest_stop" +reload_cmd="postgrest_reload" +extra_commands="reload" + +load_rc_config $name + +: ${postgrest_enable:="NO"} +: ${postgrest_user:="%%POSTGREST_USER%%"} +: ${postgrest_group:="%%POSTGREST_GROUP%%"} +: ${postgrest_profile:="default"} +: ${postgrest_default_config:="%%ETCDIR%%/default.conf"} +: ${postgrest_syslog_output_enable:="YES"} + +postgrest_start_profile() +{ + local _profile _pidfile _child_pidfile _config + local _syslog_output_enable _syslog_output_tag _syslog_output_priority _syslog_output_facility _syslog_output_flags + local procname command command_args + + _profile=$1 + + _pidfile="/var/run/${name}/${_profile}.pid" + _child_pidfile="/var/run/${name}/${_profile}.child.pid" + + eval _config=\${${name}_${_profile}_config} + eval _syslog_output_enable=\${${name}_syslog_output_enable} + eval _syslog_output_enable=\${${name}_${_profile}_syslog_output_enable:-${_syslog_output_enable}} + eval _syslog_output_tag=\${${name}_syslog_output_tag:-${name}} + eval _syslog_output_tag=\${${name}_${_profile}_syslog_output_tag:-"${_syslog_output_tag}"} + eval _syslog_output_priority=\${${name}_syslog_output_priority} + eval _syslog_output_priority=\${${name}_${_profile}_syslog_output_priority:-"${_syslog_output_priority}"} + eval _syslog_output_facility=\${${name}_syslog_output_facility} + eval _syslog_output_facility=\${${name}_${_profile}_syslog_output_facility:-"${_syslog_output_facility}"} + + if [ ! -r "${_config}" ]; then + warn "${name}.${_profile}: config file does not exist" + return 1 + fi + + if checkyesno _syslog_output_enable; then + if [ -n "${_syslog_output_tag}" ]; then + _syslog_output_flags="-T ${_syslog_output_tag}" + fi + if [ -n "${_syslog_output_priority}" ]; then + _syslog_output_flags="${_syslog_output_flags} -s ${_syslog_output_priority}" + fi + if [ -n "${_syslog_output_facility}" ]; then + _syslog_output_flags="${_syslog_output_flags} -l ${_syslog_output_facility}" + fi + fi + + procname="%%PREFIX%%/sbin/postgrest" + command="/usr/sbin/daemon" + command_args="-f ${_syslog_output_flags} -p ${_child_pidfile} -P ${_pidfile} -t ${name}.${_profile} ${procname} ${_config}" + + su -m ${postgrest_user} -c "${command} ${rc_flags} ${command_args}" + rc=$? + + return ${rc} +} + +postgrest_start_precmd() +{ + if [ ! -d "/var/run/${name}" ]; then + install -d -m 0750 -o ${postgrest_user} -g ${postgrest_group} "/var/run/${name}" + fi +} + +postgrest_start() +{ + local _ok _profile + + if [ -n "$*" ]; then + _ok= + for _profile in $@; do + postgrest_start_profile ${_profile} || continue + _ok="${_ok} ${_profile}" + done + + if [ -n "${_ok}" ]; then + echo "Starting ${name}:${_ok}." + fi + fi +} + +postgrest_stop() +{ + local _ok _profile _pidfile + + if [ -n "$*" ]; then + _ok= + for _profile in $@; do + _pidfile="/var/run/${name}/${_profile}.pid" + /bin/pkill -F "${_pidfile}" 2>/dev/null || continue + _ok="${_ok} ${_profile}" + done + + if [ -n "${_ok}" ]; then + echo "Stopping ${name}:${_ok}." + fi + fi +} + +postgrest_reload() +{ + local _ok _profile _pidfile + + if [ -n "$*" ]; then + _ok= + for _profile in $@; do + _pidfile="/var/run/${name}/${_profile}.child.pid" + /bin/pkill -USR1 -F "${_pidfile}" 2>/dev/null || continue + _ok="${_ok} ${_profile}" + done + + if [ -n "${_ok}" ]; then + echo "Reloading ${name}:${_ok}." + fi + fi +} + +case $# in +1) run_rc_command $@ ${postgrest_profile} ;; +*) run_rc_command $@ ;; +esac diff --git a/www/hs-postgrest/pkg-descr b/www/hs-postgrest/pkg-descr new file mode 100644 index 000000000000..28a429c41d89 --- /dev/null +++ b/www/hs-postgrest/pkg-descr @@ -0,0 +1,5 @@ +PostgREST is a standalone web server that turns your PostgreSQL database +directly into a RESTful API. The structural constraints and permissions +in the database determine the API endpoints and operations. + +WWW: http://postgrest.org diff --git a/www/hs-postgrest/pkg-plist b/www/hs-postgrest/pkg-plist new file mode 100644 index 000000000000..57a62545511d --- /dev/null +++ b/www/hs-postgrest/pkg-plist @@ -0,0 +1,2 @@ +sbin/postgrest +@sample %%ETCDIR%%/default.conf.sample